agentroam-runtime-darwin-arm64 0.2.0-preview.63 → 0.2.0-preview.64

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 (793) hide show
  1. package/manifest.json +2 -2
  2. package/package.json +1 -1
  3. package/runtime/.next/BUILD_ID +1 -1
  4. package/runtime/.next/app-build-manifest.json +8 -8
  5. package/runtime/.next/app-path-routes-manifest.json +1 -1
  6. package/runtime/.next/build-manifest.json +3 -3
  7. package/runtime/.next/prerender-manifest.json +1 -1
  8. package/runtime/.next/required-server-files.json +1 -1
  9. package/runtime/.next/server/app/_not-found/page.js +1 -1
  10. package/runtime/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/runtime/.next/server/app/_not-found.html +1 -1
  12. package/runtime/.next/server/app/_not-found.rsc +1 -1
  13. package/runtime/.next/server/app/api/agent/abort/route.js +1 -1
  14. package/runtime/.next/server/app/api/agent/answer/route.js +1 -1
  15. package/runtime/.next/server/app/api/agent/codex-sharing/route.js +1 -1
  16. package/runtime/.next/server/app/api/agent/harness/status/route.js +1 -1
  17. package/runtime/.next/server/app/api/agent/model/route.js +1 -1
  18. package/runtime/.next/server/app/api/agent/models/route.js +1 -1
  19. package/runtime/.next/server/app/api/agent/run/route.js +2 -2
  20. package/runtime/.next/server/app/api/agent/runtime-health/route.js +1 -1
  21. package/runtime/.next/server/app/api/agent/steer/route.js +1 -1
  22. package/runtime/.next/server/app/api/agent/stream/route.js +3 -3
  23. package/runtime/.next/server/app/api/agent-workspaces/[workspaceId]/sessions/route.js +1 -1
  24. package/runtime/.next/server/app/api/agent-workspaces/route.js +1 -1
  25. package/runtime/.next/server/app/api/auth/verify/route.js +1 -1
  26. package/runtime/.next/server/app/api/business/route.js +1 -1
  27. package/runtime/.next/server/app/api/client-logs/route.js +1 -1
  28. package/runtime/.next/server/app/api/collaboration/route.js +1 -1
  29. package/runtime/.next/server/app/api/flow/v1/catalog/route.js +1 -1
  30. package/runtime/.next/server/app/api/flow/v1/runs/[runId]/cancel/route.js +1 -1
  31. package/runtime/.next/server/app/api/flow/v1/runs/[runId]/events/route.js +3 -3
  32. package/runtime/.next/server/app/api/flow/v1/runs/route.js +1 -1
  33. package/runtime/.next/server/app/api/flow-studio/config/route.js +1 -1
  34. package/runtime/.next/server/app/api/mcp/connect/route.js +1 -1
  35. package/runtime/.next/server/app/api/mcp/disconnect/route.js +1 -1
  36. package/runtime/.next/server/app/api/mcp/servers/route.js +1 -1
  37. package/runtime/.next/server/app/api/memory/[key]/route.js +1 -1
  38. package/runtime/.next/server/app/api/memory/route.js +1 -1
  39. package/runtime/.next/server/app/api/plugins/load/route.js +1 -1
  40. package/runtime/.next/server/app/api/projects/[id]/route.js +1 -1
  41. package/runtime/.next/server/app/api/projects/check/route.js +1 -1
  42. package/runtime/.next/server/app/api/projects/directories/route.js +1 -1
  43. package/runtime/.next/server/app/api/projects/roots/route.js +1 -1
  44. package/runtime/.next/server/app/api/projects/route.js +1 -1
  45. package/runtime/.next/server/app/api/push/subscribe/route.js +2 -2
  46. package/runtime/.next/server/app/api/push/unsubscribe/route.js +2 -2
  47. package/runtime/.next/server/app/api/push/vapid/route.js +2 -2
  48. package/runtime/.next/server/app/api/push/vapid.body +1 -1
  49. package/runtime/.next/server/app/api/remote-tools/register/route.js +1 -1
  50. package/runtime/.next/server/app/api/sessions/[id]/changes/route.js +2 -2
  51. package/runtime/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
  52. package/runtime/.next/server/app/api/sessions/[id]/fork-at/route.js +1 -1
  53. package/runtime/.next/server/app/api/sessions/[id]/goals/route.js +1 -1
  54. package/runtime/.next/server/app/api/sessions/[id]/handoff/route.js +1 -1
  55. package/runtime/.next/server/app/api/sessions/[id]/native-goal/route.js +1 -1
  56. package/runtime/.next/server/app/api/sessions/[id]/query-index/route.js +1 -1
  57. package/runtime/.next/server/app/api/sessions/[id]/release/route.js +1 -1
  58. package/runtime/.next/server/app/api/sessions/[id]/route.js +1 -1
  59. package/runtime/.next/server/app/api/sessions/[id]/thread-goal/route.js +1 -1
  60. package/runtime/.next/server/app/api/sessions/[id]/tool-result/route.js +1 -1
  61. package/runtime/.next/server/app/api/sessions/route.js +1 -1
  62. package/runtime/.next/server/app/api/settings/route.js +1 -1
  63. package/runtime/.next/server/app/api/skills/route.js +1 -1
  64. package/runtime/.next/server/app/api/tool-policies/[policyId]/route.js +1 -1
  65. package/runtime/.next/server/app/api/tool-policies/route.js +1 -1
  66. package/runtime/.next/server/app/api/tools/route.js +1 -1
  67. package/runtime/.next/server/app/api/update/check/route.js +1 -1
  68. package/runtime/.next/server/app/api/update/install/route.js +1 -1
  69. package/runtime/.next/server/app/api/update/status/route.js +1 -1
  70. package/runtime/.next/server/app/api/web-auth/login/route.js +1 -1
  71. package/runtime/.next/server/app/api/web-auth/logout/route.js +1 -1
  72. package/runtime/.next/server/app/api/web-auth/revoke-all/route.js +1 -1
  73. package/runtime/.next/server/app/api/web-auth/setup/route.js +1 -1
  74. package/runtime/.next/server/app/api/web-auth/status/route.js +1 -1
  75. package/runtime/.next/server/app/api/web-console/bootstrap/route.js +1 -1
  76. package/runtime/.next/server/app/api/web-console/computer-settings/route.js +1 -1
  77. package/runtime/.next/server/app/api/web-console/computers/route.js +1 -1
  78. package/runtime/.next/server/app/api/web-console/device-state/route.js +1 -1
  79. package/runtime/.next/server/app/api/web-console/history/route.js +1 -1
  80. package/runtime/.next/server/app/api/web-console/preferences/route.js +1 -1
  81. package/runtime/.next/server/app/web/page.js +4 -4
  82. package/runtime/.next/server/app/web/page_client-reference-manifest.js +1 -1
  83. package/runtime/.next/server/app-paths-manifest.json +33 -33
  84. package/runtime/.next/server/chunks/5303.js +1 -1
  85. package/runtime/.next/server/middleware-build-manifest.js +1 -1
  86. package/runtime/.next/server/pages/404.html +1 -1
  87. package/runtime/.next/server/pages/500.html +1 -1
  88. package/runtime/.next/server/server-reference-manifest.json +1 -1
  89. package/runtime/.next/static/chunks/app/web/{error-7ac82267d3330344.js → error-4d3646f97c1344d3.js} +1 -1
  90. package/runtime/.next/static/chunks/app/web/layout-c8709c08fb7ad857.js +1 -0
  91. package/runtime/.next/static/chunks/app/web/page-b876912c109021db.js +1 -0
  92. package/runtime/.next/static/chunks/{main-app-51ee029f2d3c9d9e.js → main-app-00dfdb2d5c09719c.js} +1 -1
  93. package/runtime/native/Support.noindex/AgentRoam Remote Desktop.app/Contents/MacOS/agentroam-remote-desktop +0 -0
  94. package/runtime/native/Support.noindex/AgentRoam Remote Desktop.app/Contents/Resources/agentroam-component.json +1 -1
  95. package/runtime/native/Support.noindex/AgentRoam Remote Desktop.app/Contents/_CodeSignature/CodeResources +2 -2
  96. package/runtime/node_modules/.package-lock.json +19 -14
  97. package/runtime/node_modules/@agent/native-runtime/dist/index.js +572 -93
  98. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/bridge.mjs +71 -71
  99. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/browser-sdk.js +37 -37
  100. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-36zyfan5.mjs +52 -0
  101. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/{core-p79weg14.mjs → core-5682eevd.mjs} +4 -4
  102. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-nne0e2ds.mjs +40 -0
  103. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/{core-mh5qmqqf.mjs → core-xpxe8nzb.mjs} +1 -1
  104. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core.mjs +10 -10
  105. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/manifest.json +19 -20
  106. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/manifest.zst.json +23 -24
  107. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/package.json +14 -14
  108. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs +74 -74
  109. package/runtime/node_modules/caniuse-lite/data/agents.js +1 -1
  110. package/runtime/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  111. package/runtime/node_modules/caniuse-lite/data/features/aac.js +1 -1
  112. package/runtime/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  113. package/runtime/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  114. package/runtime/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  115. package/runtime/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  116. package/runtime/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  117. package/runtime/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  118. package/runtime/node_modules/caniuse-lite/data/features/apng.js +1 -1
  119. package/runtime/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  120. package/runtime/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  121. package/runtime/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  122. package/runtime/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  123. package/runtime/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  124. package/runtime/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  125. package/runtime/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  126. package/runtime/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  127. package/runtime/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  128. package/runtime/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  129. package/runtime/node_modules/caniuse-lite/data/features/audio.js +1 -1
  130. package/runtime/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  131. package/runtime/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  132. package/runtime/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  133. package/runtime/node_modules/caniuse-lite/data/features/av1.js +1 -1
  134. package/runtime/node_modules/caniuse-lite/data/features/avif.js +1 -1
  135. package/runtime/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  136. package/runtime/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  137. package/runtime/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  138. package/runtime/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  139. package/runtime/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  140. package/runtime/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  141. package/runtime/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  142. package/runtime/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  143. package/runtime/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  144. package/runtime/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  145. package/runtime/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  146. package/runtime/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  147. package/runtime/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  148. package/runtime/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  149. package/runtime/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  150. package/runtime/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  151. package/runtime/node_modules/caniuse-lite/data/features/calc.js +1 -1
  152. package/runtime/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  153. package/runtime/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  154. package/runtime/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  155. package/runtime/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  156. package/runtime/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  157. package/runtime/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  158. package/runtime/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  159. package/runtime/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  160. package/runtime/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  161. package/runtime/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  162. package/runtime/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  163. package/runtime/node_modules/caniuse-lite/data/features/colr.js +1 -1
  164. package/runtime/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  165. package/runtime/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  166. package/runtime/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  167. package/runtime/node_modules/caniuse-lite/data/features/const.js +1 -1
  168. package/runtime/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  169. package/runtime/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  170. package/runtime/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  171. package/runtime/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  172. package/runtime/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  173. package/runtime/node_modules/caniuse-lite/data/features/cors.js +1 -1
  174. package/runtime/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  175. package/runtime/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  176. package/runtime/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  177. package/runtime/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  178. package/runtime/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  179. package/runtime/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  180. package/runtime/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  181. package/runtime/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  182. package/runtime/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  183. package/runtime/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  184. package/runtime/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  185. package/runtime/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  186. package/runtime/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  187. package/runtime/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  188. package/runtime/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  189. package/runtime/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  190. package/runtime/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  191. package/runtime/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  192. package/runtime/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  193. package/runtime/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  194. package/runtime/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  195. package/runtime/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  196. package/runtime/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  197. package/runtime/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  198. package/runtime/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  199. package/runtime/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  200. package/runtime/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  201. package/runtime/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  202. package/runtime/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  203. package/runtime/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  204. package/runtime/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  205. package/runtime/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  206. package/runtime/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  207. package/runtime/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  208. package/runtime/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  209. package/runtime/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  210. package/runtime/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  211. package/runtime/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  212. package/runtime/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  213. package/runtime/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  214. package/runtime/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  215. package/runtime/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  216. package/runtime/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  217. package/runtime/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  218. package/runtime/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  219. package/runtime/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  220. package/runtime/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  221. package/runtime/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  222. package/runtime/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  223. package/runtime/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  224. package/runtime/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  225. package/runtime/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  226. package/runtime/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  227. package/runtime/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  228. package/runtime/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  229. package/runtime/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  230. package/runtime/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  231. package/runtime/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  232. package/runtime/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  233. package/runtime/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  234. package/runtime/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  235. package/runtime/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  236. package/runtime/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  237. package/runtime/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  238. package/runtime/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  239. package/runtime/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  240. package/runtime/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  241. package/runtime/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  242. package/runtime/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  243. package/runtime/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  244. package/runtime/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  245. package/runtime/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  246. package/runtime/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  247. package/runtime/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  248. package/runtime/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  249. package/runtime/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  250. package/runtime/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  251. package/runtime/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  252. package/runtime/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  253. package/runtime/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  254. package/runtime/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  255. package/runtime/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  256. package/runtime/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  257. package/runtime/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  258. package/runtime/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  259. package/runtime/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  260. package/runtime/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  261. package/runtime/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  262. package/runtime/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  263. package/runtime/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  264. package/runtime/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  265. package/runtime/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  266. package/runtime/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  267. package/runtime/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  268. package/runtime/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  269. package/runtime/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  270. package/runtime/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  271. package/runtime/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  272. package/runtime/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  273. package/runtime/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  274. package/runtime/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  275. package/runtime/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  276. package/runtime/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  277. package/runtime/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  278. package/runtime/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  279. package/runtime/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  280. package/runtime/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  281. package/runtime/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  282. package/runtime/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  283. package/runtime/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  284. package/runtime/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  285. package/runtime/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  286. package/runtime/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  287. package/runtime/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  288. package/runtime/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  289. package/runtime/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  290. package/runtime/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  291. package/runtime/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  292. package/runtime/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  293. package/runtime/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  294. package/runtime/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  295. package/runtime/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  296. package/runtime/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  297. package/runtime/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  298. package/runtime/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  299. package/runtime/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  300. package/runtime/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  301. package/runtime/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  302. package/runtime/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  303. package/runtime/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  304. package/runtime/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  305. package/runtime/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  306. package/runtime/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  307. package/runtime/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  308. package/runtime/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  309. package/runtime/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  310. package/runtime/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  311. package/runtime/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  312. package/runtime/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  313. package/runtime/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  314. package/runtime/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  315. package/runtime/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  316. package/runtime/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  317. package/runtime/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  318. package/runtime/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  319. package/runtime/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  320. package/runtime/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  321. package/runtime/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  322. package/runtime/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  323. package/runtime/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  324. package/runtime/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  325. package/runtime/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  326. package/runtime/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  327. package/runtime/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  328. package/runtime/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  329. package/runtime/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  330. package/runtime/node_modules/caniuse-lite/data/features/details.js +1 -1
  331. package/runtime/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  332. package/runtime/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  333. package/runtime/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  334. package/runtime/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  335. package/runtime/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  336. package/runtime/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  337. package/runtime/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  338. package/runtime/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  339. package/runtime/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  340. package/runtime/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  341. package/runtime/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  342. package/runtime/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  343. package/runtime/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  344. package/runtime/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  345. package/runtime/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  346. package/runtime/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  347. package/runtime/node_modules/caniuse-lite/data/features/download.js +1 -1
  348. package/runtime/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  349. package/runtime/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  350. package/runtime/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  351. package/runtime/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  352. package/runtime/node_modules/caniuse-lite/data/features/eme.js +1 -1
  353. package/runtime/node_modules/caniuse-lite/data/features/eot.js +1 -1
  354. package/runtime/node_modules/caniuse-lite/data/features/es5.js +1 -1
  355. package/runtime/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  356. package/runtime/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  357. package/runtime/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  358. package/runtime/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  359. package/runtime/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  360. package/runtime/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  361. package/runtime/node_modules/caniuse-lite/data/features/es6.js +1 -1
  362. package/runtime/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  363. package/runtime/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  364. package/runtime/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  365. package/runtime/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  366. package/runtime/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  367. package/runtime/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  368. package/runtime/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  369. package/runtime/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  370. package/runtime/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  371. package/runtime/node_modules/caniuse-lite/data/features/flac.js +1 -1
  372. package/runtime/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  373. package/runtime/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  374. package/runtime/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  375. package/runtime/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  376. package/runtime/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  377. package/runtime/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  378. package/runtime/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  379. package/runtime/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  380. package/runtime/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  381. package/runtime/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  382. package/runtime/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  383. package/runtime/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  384. package/runtime/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  385. package/runtime/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  386. package/runtime/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  387. package/runtime/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  388. package/runtime/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  389. package/runtime/node_modules/caniuse-lite/data/features/forms.js +1 -1
  390. package/runtime/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  391. package/runtime/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  392. package/runtime/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  393. package/runtime/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  394. package/runtime/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  395. package/runtime/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  396. package/runtime/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  397. package/runtime/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  398. package/runtime/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  399. package/runtime/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  400. package/runtime/node_modules/caniuse-lite/data/features/heif.js +1 -1
  401. package/runtime/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  402. package/runtime/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  403. package/runtime/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  404. package/runtime/node_modules/caniuse-lite/data/features/history.js +1 -1
  405. package/runtime/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  406. package/runtime/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  407. package/runtime/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  408. package/runtime/node_modules/caniuse-lite/data/features/http2.js +1 -1
  409. package/runtime/node_modules/caniuse-lite/data/features/http3.js +1 -1
  410. package/runtime/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  411. package/runtime/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  412. package/runtime/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  413. package/runtime/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  414. package/runtime/node_modules/caniuse-lite/data/features/ime.js +1 -1
  415. package/runtime/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  416. package/runtime/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  417. package/runtime/node_modules/caniuse-lite/data/features/imports.js +1 -1
  418. package/runtime/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  419. package/runtime/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  420. package/runtime/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  421. package/runtime/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  422. package/runtime/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  423. package/runtime/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  424. package/runtime/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  425. package/runtime/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  426. package/runtime/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  427. package/runtime/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  428. package/runtime/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  429. package/runtime/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  430. package/runtime/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  431. package/runtime/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  432. package/runtime/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  433. package/runtime/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  434. package/runtime/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  435. package/runtime/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  436. package/runtime/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  437. package/runtime/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  438. package/runtime/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  439. package/runtime/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  440. package/runtime/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  441. package/runtime/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  442. package/runtime/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  443. package/runtime/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  444. package/runtime/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  445. package/runtime/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  446. package/runtime/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  447. package/runtime/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  448. package/runtime/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  449. package/runtime/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  450. package/runtime/node_modules/caniuse-lite/data/features/json.js +1 -1
  451. package/runtime/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  452. package/runtime/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  453. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  454. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  455. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  456. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  457. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  458. package/runtime/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  459. package/runtime/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  460. package/runtime/node_modules/caniuse-lite/data/features/let.js +1 -1
  461. package/runtime/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  462. package/runtime/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  463. package/runtime/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  464. package/runtime/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  465. package/runtime/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  466. package/runtime/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  467. package/runtime/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  468. package/runtime/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  469. package/runtime/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  470. package/runtime/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  471. package/runtime/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  472. package/runtime/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  473. package/runtime/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  474. package/runtime/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  475. package/runtime/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  476. package/runtime/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  477. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  478. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  479. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  480. package/runtime/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  481. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  482. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  483. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  484. package/runtime/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  485. package/runtime/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  486. package/runtime/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  487. package/runtime/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  488. package/runtime/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  489. package/runtime/node_modules/caniuse-lite/data/features/menu.js +1 -1
  490. package/runtime/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  491. package/runtime/node_modules/caniuse-lite/data/features/meter.js +1 -1
  492. package/runtime/node_modules/caniuse-lite/data/features/midi.js +1 -1
  493. package/runtime/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  494. package/runtime/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  495. package/runtime/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  496. package/runtime/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  497. package/runtime/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  498. package/runtime/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  499. package/runtime/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  500. package/runtime/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  501. package/runtime/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  502. package/runtime/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  503. package/runtime/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  504. package/runtime/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  505. package/runtime/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  506. package/runtime/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  507. package/runtime/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  508. package/runtime/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  509. package/runtime/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  510. package/runtime/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  511. package/runtime/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  512. package/runtime/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  513. package/runtime/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  514. package/runtime/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  515. package/runtime/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  516. package/runtime/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  517. package/runtime/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  518. package/runtime/node_modules/caniuse-lite/data/features/opus.js +1 -1
  519. package/runtime/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  520. package/runtime/node_modules/caniuse-lite/data/features/outline.js +1 -1
  521. package/runtime/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  522. package/runtime/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  523. package/runtime/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  524. package/runtime/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  525. package/runtime/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  526. package/runtime/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  527. package/runtime/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  528. package/runtime/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  529. package/runtime/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  530. package/runtime/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  531. package/runtime/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  532. package/runtime/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  533. package/runtime/node_modules/caniuse-lite/data/features/picture.js +1 -1
  534. package/runtime/node_modules/caniuse-lite/data/features/ping.js +1 -1
  535. package/runtime/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  536. package/runtime/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  537. package/runtime/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  538. package/runtime/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  539. package/runtime/node_modules/caniuse-lite/data/features/portals.js +1 -1
  540. package/runtime/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  541. package/runtime/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  542. package/runtime/node_modules/caniuse-lite/data/features/progress.js +1 -1
  543. package/runtime/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  544. package/runtime/node_modules/caniuse-lite/data/features/promises.js +1 -1
  545. package/runtime/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  546. package/runtime/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  547. package/runtime/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  548. package/runtime/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  549. package/runtime/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  550. package/runtime/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  551. package/runtime/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  552. package/runtime/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  553. package/runtime/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  554. package/runtime/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  555. package/runtime/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  556. package/runtime/node_modules/caniuse-lite/data/features/rem.js +1 -1
  557. package/runtime/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  558. package/runtime/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  559. package/runtime/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  560. package/runtime/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  561. package/runtime/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  562. package/runtime/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  563. package/runtime/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  564. package/runtime/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  565. package/runtime/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  566. package/runtime/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  567. package/runtime/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  568. package/runtime/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  569. package/runtime/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  570. package/runtime/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  571. package/runtime/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  572. package/runtime/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  573. package/runtime/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  574. package/runtime/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  575. package/runtime/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  576. package/runtime/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  577. package/runtime/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  578. package/runtime/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  579. package/runtime/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  580. package/runtime/node_modules/caniuse-lite/data/features/sni.js +1 -1
  581. package/runtime/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  582. package/runtime/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  583. package/runtime/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  584. package/runtime/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  585. package/runtime/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  586. package/runtime/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  587. package/runtime/node_modules/caniuse-lite/data/features/stream.js +1 -1
  588. package/runtime/node_modules/caniuse-lite/data/features/streams.js +1 -1
  589. package/runtime/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  590. package/runtime/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  591. package/runtime/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  592. package/runtime/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  593. package/runtime/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  594. package/runtime/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  595. package/runtime/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  596. package/runtime/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  597. package/runtime/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  598. package/runtime/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  599. package/runtime/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  600. package/runtime/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  601. package/runtime/node_modules/caniuse-lite/data/features/svg.js +1 -1
  602. package/runtime/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  603. package/runtime/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  604. package/runtime/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  605. package/runtime/node_modules/caniuse-lite/data/features/template.js +1 -1
  606. package/runtime/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  607. package/runtime/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  608. package/runtime/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  609. package/runtime/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  610. package/runtime/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  611. package/runtime/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  612. package/runtime/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  613. package/runtime/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  614. package/runtime/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  615. package/runtime/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  616. package/runtime/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  617. package/runtime/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  618. package/runtime/node_modules/caniuse-lite/data/features/touch.js +1 -1
  619. package/runtime/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  620. package/runtime/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  621. package/runtime/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  622. package/runtime/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  623. package/runtime/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  624. package/runtime/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  625. package/runtime/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  626. package/runtime/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  627. package/runtime/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  628. package/runtime/node_modules/caniuse-lite/data/features/url.js +1 -1
  629. package/runtime/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  630. package/runtime/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  631. package/runtime/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  632. package/runtime/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  633. package/runtime/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  634. package/runtime/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  635. package/runtime/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  636. package/runtime/node_modules/caniuse-lite/data/features/video.js +1 -1
  637. package/runtime/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  638. package/runtime/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  639. package/runtime/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  640. package/runtime/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  641. package/runtime/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  642. package/runtime/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  643. package/runtime/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  644. package/runtime/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  645. package/runtime/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  646. package/runtime/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  647. package/runtime/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  648. package/runtime/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  649. package/runtime/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  650. package/runtime/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  651. package/runtime/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  652. package/runtime/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  653. package/runtime/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  654. package/runtime/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  655. package/runtime/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  656. package/runtime/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  657. package/runtime/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  658. package/runtime/node_modules/caniuse-lite/data/features/wav.js +1 -1
  659. package/runtime/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  660. package/runtime/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  661. package/runtime/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  662. package/runtime/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  663. package/runtime/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  664. package/runtime/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  665. package/runtime/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  666. package/runtime/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  667. package/runtime/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  668. package/runtime/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  669. package/runtime/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  670. package/runtime/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  671. package/runtime/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  672. package/runtime/node_modules/caniuse-lite/data/features/webm.js +1 -1
  673. package/runtime/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  674. package/runtime/node_modules/caniuse-lite/data/features/webp.js +1 -1
  675. package/runtime/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  676. package/runtime/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  677. package/runtime/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  678. package/runtime/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  679. package/runtime/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  680. package/runtime/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  681. package/runtime/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  682. package/runtime/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  683. package/runtime/node_modules/caniuse-lite/data/features/woff.js +1 -1
  684. package/runtime/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  685. package/runtime/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  686. package/runtime/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  687. package/runtime/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  688. package/runtime/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  689. package/runtime/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  690. package/runtime/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  691. package/runtime/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  692. package/runtime/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  693. package/runtime/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  694. package/runtime/node_modules/caniuse-lite/data/versionGroups.js +1 -1
  695. package/runtime/node_modules/caniuse-lite/package.json +1 -1
  696. package/runtime/package-lock.json +43 -38
  697. package/runtime/server.js +1 -1
  698. package/runtime/webapp/dist/assets/{AiHubPane-D3O__UGN.js → AiHubPane-D1SGdI6y.js} +1 -1
  699. package/runtime/webapp/dist/assets/{App-DJXr24vO.js → App-Y_UUrP8i.js} +57 -57
  700. package/runtime/webapp/dist/assets/{BrowserLivePanel-DEl_6FZj.js → BrowserLivePanel-CapyOwFL.js} +2 -2
  701. package/runtime/webapp/dist/assets/{CollaborationDashboard-DhLKl7mR.js → CollaborationDashboard-CEF41i5J.js} +1 -1
  702. package/runtime/webapp/dist/assets/CollaborationPage-C8PN5oNe.js +16 -0
  703. package/runtime/webapp/dist/assets/{FilePreview-BQBYZYpb.js → FilePreview-BdB8syBQ.js} +3 -3
  704. package/runtime/webapp/dist/assets/{FileTree-CXiXQO4N.js → FileTree-Cf8wDAVy.js} +1 -1
  705. package/runtime/webapp/dist/assets/{FlowStudioPane-DUjBX_7t.js → FlowStudioPane-DuUmV_ki.js} +1 -1
  706. package/runtime/webapp/dist/assets/{RemoteDesktopPage-BDK0Mq5I.js → RemoteDesktopPage-DBoSlmlh.js} +1 -1
  707. package/runtime/webapp/dist/assets/{TerminalPane-L6DN1Y0T.js → TerminalPane-B2s2ff23.js} +1 -1
  708. package/runtime/webapp/dist/assets/{abnfDiagram-VCTEODGH-Dloq4lbc.js → abnfDiagram-VCTEODGH-CQ78RP8v.js} +1 -1
  709. package/runtime/webapp/dist/assets/{arc-DdmNhDp9.js → arc-B4CNFgtV.js} +1 -1
  710. package/runtime/webapp/dist/assets/{architectureDiagram-5GKGNRK7-BTqm_9oY.js → architectureDiagram-5GKGNRK7-B-pYUJdJ.js} +1 -1
  711. package/runtime/webapp/dist/assets/{artifact-links-BI9xeGhs.js → artifact-links-DrWFmMXT.js} +1 -1
  712. package/runtime/webapp/dist/assets/{blockDiagram-I7D4REHJ-jT-ztA_A.js → blockDiagram-I7D4REHJ-CEEpSPhh.js} +1 -1
  713. package/runtime/webapp/dist/assets/{c4Diagram-7LVT6UL2-DxX89YpZ.js → c4Diagram-7LVT6UL2-Bq7l-OxC.js} +1 -1
  714. package/runtime/webapp/dist/assets/channel-B0Az_kl0.js +1 -0
  715. package/runtime/webapp/dist/assets/{chunk-2Q5K7J3B-BgXNuFPn.js → chunk-2Q5K7J3B-B2yw0jQL.js} +1 -1
  716. package/runtime/webapp/dist/assets/{chunk-5VM5RSS4-Bv7-4JNt.js → chunk-5VM5RSS4-D7AIGjlP.js} +1 -1
  717. package/runtime/webapp/dist/assets/{chunk-F27PBJKO-BNSskrgg.js → chunk-F27PBJKO-_wNxBMaG.js} +1 -1
  718. package/runtime/webapp/dist/assets/{chunk-IMKFNOWR-C166MQKM.js → chunk-IMKFNOWR-bMSiSCLu.js} +1 -1
  719. package/runtime/webapp/dist/assets/{chunk-JWPE2WC7-Bl1a_rZ8.js → chunk-JWPE2WC7-Zu8gSQip.js} +1 -1
  720. package/runtime/webapp/dist/assets/{chunk-POPQ4Y6H-Ck6xvnVw.js → chunk-POPQ4Y6H-8G7L6RqL.js} +1 -1
  721. package/runtime/webapp/dist/assets/{chunk-SVP7TREG-h6j1DDv5.js → chunk-SVP7TREG-a6VVTk08.js} +1 -1
  722. package/runtime/webapp/dist/assets/{chunk-TICWLB2K-BFafTq0K.js → chunk-TICWLB2K-ddeHMudM.js} +1 -1
  723. package/runtime/webapp/dist/assets/{chunk-XXDRQBXY-BQPWRmrg.js → chunk-XXDRQBXY-DSuvta0Q.js} +1 -1
  724. package/runtime/webapp/dist/assets/classDiagram-ZZMXUADV-HNxe_TWF.js +1 -0
  725. package/runtime/webapp/dist/assets/classDiagram-v2-VYDZK3BY-HNxe_TWF.js +1 -0
  726. package/runtime/webapp/dist/assets/{clipboard-B2fwlVD5.js → clipboard-DS4Pu9OB.js} +1 -1
  727. package/runtime/webapp/dist/assets/{codeSyntax-VUYFxRDg.js → codeSyntax-BWSPpoSH.js} +1 -1
  728. package/runtime/webapp/dist/assets/{collaboration-CalhGKdD.js → collaboration-D7MlFa87.js} +1 -1
  729. package/runtime/webapp/dist/assets/{cose-bilkent-JH36ORCC-IgwThNmP.js → cose-bilkent-JH36ORCC-D1TkGbTC.js} +1 -1
  730. package/runtime/webapp/dist/assets/{cynefin-OW5HDTMX-kfamOzdb.js → cynefin-OW5HDTMX-CYPV2qwK.js} +1 -1
  731. package/runtime/webapp/dist/assets/{cynefinDiagram-5FMLGOSQ-TVskTO_2.js → cynefinDiagram-5FMLGOSQ-DH8spH6U.js} +1 -1
  732. package/runtime/webapp/dist/assets/{dagre-GXQ25YYZ-DA85rDs9.js → dagre-GXQ25YYZ-Dkv69aQ5.js} +1 -1
  733. package/runtime/webapp/dist/assets/{diagram-S7CK7UJ4-CK0LkDfU.js → diagram-S7CK7UJ4-Gl094s_z.js} +1 -1
  734. package/runtime/webapp/dist/assets/{diagram-UQ7AKVKN-Bkskt6g2.js → diagram-UQ7AKVKN-DKzCe2K6.js} +1 -1
  735. package/runtime/webapp/dist/assets/{diagram-VSXAHHWV-DN2UO2Hh.js → diagram-VSXAHHWV-Dq1LtLSa.js} +1 -1
  736. package/runtime/webapp/dist/assets/{diagram-VX7I27RA-BLSOCEKl.js → diagram-VX7I27RA-CN9QKehv.js} +1 -1
  737. package/runtime/webapp/dist/assets/{diagram-Z3DM3KII-DNr6MVnd.js → diagram-Z3DM3KII-1J67VxEA.js} +1 -1
  738. package/runtime/webapp/dist/assets/{ebnfDiagram-PWID7BFC-CRASUUeC.js → ebnfDiagram-PWID7BFC-CRyJYtkK.js} +1 -1
  739. package/runtime/webapp/dist/assets/{erDiagram-RLTQ6QDP-1VwQNW79.js → erDiagram-RLTQ6QDP-C0jVGZ7x.js} +1 -1
  740. package/runtime/webapp/dist/assets/{file-types-MDD5RUla.js → file-types-Bi7YTERW.js} +1 -1
  741. package/runtime/webapp/dist/assets/{flowDiagram-HODETNUW-DzhiH-fC.js → flowDiagram-HODETNUW-wm5Kefw0.js} +1 -1
  742. package/runtime/webapp/dist/assets/{ganttDiagram-EL5Y4UJY-DH8HcfJq.js → ganttDiagram-EL5Y4UJY-DN5F7ix3.js} +1 -1
  743. package/runtime/webapp/dist/assets/{gitGraphDiagram-WWUBYQGX-DYOG2d-R.js → gitGraphDiagram-WWUBYQGX-DcpXNY21.js} +1 -1
  744. package/runtime/webapp/dist/assets/{index-Bqpz5--c.js → index-Ddj6oQ7t.js} +3 -3
  745. package/runtime/webapp/dist/assets/index-hju2LxNM.css +1 -0
  746. package/runtime/webapp/dist/assets/{infoDiagram-27XIBGKW-DOjkALCi.js → infoDiagram-27XIBGKW-B1iXrK9c.js} +1 -1
  747. package/runtime/webapp/dist/assets/{ishikawaDiagram-5VMMS53U-DBXZxz82.js → ishikawaDiagram-5VMMS53U-C1jZv655.js} +1 -1
  748. package/runtime/webapp/dist/assets/{journeyDiagram-3NMN7TZE-DEpi9Fbd.js → journeyDiagram-3NMN7TZE-BRSFQ0r1.js} +1 -1
  749. package/runtime/webapp/dist/assets/{kanban-definition-UXKFOSKX-Chbcb2nn.js → kanban-definition-UXKFOSKX-Cl9je8cc.js} +1 -1
  750. package/runtime/webapp/dist/assets/{layout-0ld5oekM.js → layout-CKkSxSc4.js} +1 -1
  751. package/runtime/webapp/dist/assets/{linear-BCRtBckJ.js → linear-CC85eD8_.js} +1 -1
  752. package/runtime/webapp/dist/assets/{loader-circle-DGJsEr0r.js → loader-circle-C63zcjMg.js} +1 -1
  753. package/runtime/webapp/dist/assets/{mermaid.core-ByBSaE2T.js → mermaid.core-DIjc2ZR6.js} +5 -5
  754. package/runtime/webapp/dist/assets/{mindmap-definition-YA3MSWOX-BW9I4Kuv.js → mindmap-definition-YA3MSWOX-mJUtqDVt.js} +1 -1
  755. package/runtime/webapp/dist/assets/{page-DVdz2jp6.js → page-bnT1btVj.js} +6 -6
  756. package/runtime/webapp/dist/assets/{pegDiagram-XKGWAZYB-D9oxCTQA.js → pegDiagram-XKGWAZYB-Dt3xAyl2.js} +1 -1
  757. package/runtime/webapp/dist/assets/{pieDiagram-E7YTZNPT-Ca4vPJj3.js → pieDiagram-E7YTZNPT-DleFmb0m.js} +1 -1
  758. package/runtime/webapp/dist/assets/{quadrantDiagram-AXDQQJYC-DM9Go2ES.js → quadrantDiagram-AXDQQJYC-BpeD8UfU.js} +1 -1
  759. package/runtime/webapp/dist/assets/{railroadDiagram-O6MQD6OU-BinalW7_.js → railroadDiagram-O6MQD6OU-BBQ5ixic.js} +1 -1
  760. package/runtime/webapp/dist/assets/{requirementDiagram-BXWQKSXE-C4KXL_m1.js → requirementDiagram-BXWQKSXE-xO5TSQS3.js} +1 -1
  761. package/runtime/webapp/dist/assets/{rotate-ccw-DrBaBbCR.js → rotate-ccw-AmWkL3kV.js} +1 -1
  762. package/runtime/webapp/dist/assets/{rotate-cw-Ccsl7hB3.js → rotate-cw-DrY9cGmB.js} +1 -1
  763. package/runtime/webapp/dist/assets/{sankeyDiagram-P5KCCOFB-Ba3vi6ln.js → sankeyDiagram-P5KCCOFB-Fyt0-RhU.js} +1 -1
  764. package/runtime/webapp/dist/assets/{send-OgOSXSRs.js → send-ATfKaKHb.js} +1 -1
  765. package/runtime/webapp/dist/assets/{sequenceDiagram-WJ2MYXX4-DJzCQdxN.js → sequenceDiagram-WJ2MYXX4-xkFumv3g.js} +1 -1
  766. package/runtime/webapp/dist/assets/{sizeCapture-INFHLROL-DYsPME1d.js → sizeCapture-INFHLROL-Ch5NIy5j.js} +1 -1
  767. package/runtime/webapp/dist/assets/{smartphone-BaeWE4n-.js → smartphone-BL3ONtnq.js} +1 -1
  768. package/runtime/webapp/dist/assets/{stateDiagram-D77RDMKH-D2prIqK-.js → stateDiagram-D77RDMKH-BYyhiW6f.js} +1 -1
  769. package/runtime/webapp/dist/assets/stateDiagram-v2-MP3YSRHH-BbZH2Sb9.js +1 -0
  770. package/runtime/webapp/dist/assets/{swimlanes-42K2YHIH-NODzX6Rz.js → swimlanes-42K2YHIH-Da71LrsA.js} +1 -1
  771. package/runtime/webapp/dist/assets/swimlanesDiagram-VR7AAH4N-CxBioyEE.js +8 -0
  772. package/runtime/webapp/dist/assets/{timeline-definition-24CTP7MA-CTh1zdtP.js → timeline-definition-24CTP7MA-BaXSS2__.js} +1 -1
  773. package/runtime/webapp/dist/assets/{trash-2-DoqYR_LW.js → trash-2-DBC-hIuM.js} +1 -1
  774. package/runtime/webapp/dist/assets/{vennDiagram-4TSXK5OY-DyjbbvAr.js → vennDiagram-4TSXK5OY-D_V4cbSG.js} +1 -1
  775. package/runtime/webapp/dist/assets/{wardleyDiagram-VM6X3IG4-BFWVhSKh.js → wardleyDiagram-VM6X3IG4-C-31z3KF.js} +1 -1
  776. package/runtime/webapp/dist/assets/{web-W_qr76-r.js → web-C3itPQLn.js} +1 -1
  777. package/runtime/webapp/dist/assets/{web-BeDKAt7R.js → web-Co-fisS2.js} +1 -1
  778. package/runtime/webapp/dist/assets/{x-Dp1u7spG.js → x-qYJy8CK-.js} +1 -1
  779. package/runtime/webapp/dist/assets/{xychartDiagram-S5SC5T6Z-CkRP6Drf.js → xychartDiagram-S5SC5T6Z-DKF--ymA.js} +1 -1
  780. package/runtime/webapp/dist/index.html +2 -2
  781. package/runtime/.next/static/chunks/app/web/layout-4e2120c7c4a57f7c.js +0 -1
  782. package/runtime/.next/static/chunks/app/web/page-aa406cbaa5109651.js +0 -1
  783. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-50f20fv8.mjs +0 -40
  784. package/runtime/node_modules/@anthropic-ai/claude-agent-sdk/core-x5tcx9zy.mjs +0 -52
  785. package/runtime/webapp/dist/assets/CollaborationPage-BCzxWWHA.js +0 -16
  786. package/runtime/webapp/dist/assets/channel-9wfiqrt1.js +0 -1
  787. package/runtime/webapp/dist/assets/classDiagram-ZZMXUADV-CTD9Lt2V.js +0 -1
  788. package/runtime/webapp/dist/assets/classDiagram-v2-VYDZK3BY-CTD9Lt2V.js +0 -1
  789. package/runtime/webapp/dist/assets/index-WGJ3Mevp.css +0 -1
  790. package/runtime/webapp/dist/assets/stateDiagram-v2-MP3YSRHH-tpTQhbGu.js +0 -1
  791. package/runtime/webapp/dist/assets/swimlanesDiagram-VR7AAH4N-CUH3ZqiP.js +0 -8
  792. /package/runtime/.next/static/{wybbbDbeFWOi1186WVCZe → 4yVGaJwabJff1LDiyzYia}/_buildManifest.js +0 -0
  793. /package/runtime/.next/static/{wybbbDbeFWOi1186WVCZe → 4yVGaJwabJff1LDiyzYia}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[541],{4042:function(e,t,r){Promise.resolve().then(r.bind(r,9319))},6411:function(e,t,r){"use strict";function n(e){if(/[\0\r\n]/.test(e))return!1;try{let t=new URL(e);return("http:"===t.protocol||"https:"===t.protocol)&&/\.(mp4|webm|mov|m4v|mp3|wav|m4a|aac|ogg|flac|png|jpe?g|gif|webp|pdf)$/i.test(t.pathname)}catch(e){return!1}}function i(e,t,r){var i,a;return e.origin!==t||e.source!==r?null:!(i=e.data)||"object"!=typeof i||"agent-webapp:artifact-open:v1"!==i.type||!Number.isSafeInteger(i.requestId)||1>Number(i.requestId)?null:"string"!=typeof i.path||!((a=i.path).startsWith("/")||/^[A-Za-z]:[\\/]/.test(a)||/^\\\\[^\\/]+[\\/][^\\/]+/.test(a)||i.path.startsWith("~/")||n(i.path))||i.path.includes("\0")||i.path.includes("\n")||i.path.includes("\r")?null:i}r.d(t,{AU:function(){return n},im:function(){return i}})},7714:function(e,t,r){"use strict";async function n(e){let t="undefined"==typeof navigator?void 0:navigator.clipboard;if("function"==typeof(null==t?void 0:t.writeText)&&("undefined"==typeof isSecureContext||isSecureContext))try{return await t.writeText(e),!0}catch(e){}return function(e){if("undefined"==typeof document||!document.body||"function"!=typeof document.execCommand)return!1;let t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),Object.assign(t.style,{position:"fixed",top:"0",left:"-9999px",width:"1px",height:"1px",fontSize:"16px",opacity:"0",pointerEvents:"none"}),document.body.appendChild(t);try{return t.focus(),t.select(),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){return!1}finally{t.remove()}}(e)}r.d(t,{T:function(){return n}})},8924:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var n=r(1996),i=r(9516),a=r.n(i),o=r(3845);function l(){let{label:e="FLOW STUDIO",title:t="正在打开 Flow Studio",caption:r="即将进入你的创作空间",icon:i=(0,n.jsx)(o.Z,{size:36,strokeWidth:1.5})}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,n.jsxs)("div",{role:"status","aria-live":"polite",className:"jsx-f8b6a4420911d242 flow-loading",children:[(0,n.jsxs)("div",{"aria-hidden":"true",className:"jsx-f8b6a4420911d242 flow-loader-art",children:[(0,n.jsx)("div",{className:"jsx-f8b6a4420911d242 flow-loader-halo"}),(0,n.jsx)("div",{className:"jsx-f8b6a4420911d242 flow-loader-orbit orbit-outer",children:(0,n.jsx)("i",{className:"jsx-f8b6a4420911d242"})}),(0,n.jsx)("div",{className:"jsx-f8b6a4420911d242 flow-loader-orbit orbit-inner",children:(0,n.jsx)("i",{className:"jsx-f8b6a4420911d242"})}),(0,n.jsx)("div",{className:"jsx-f8b6a4420911d242 flow-loader-core",children:i}),(0,n.jsx)("span",{className:"jsx-f8b6a4420911d242 flow-loader-node node-one"}),(0,n.jsx)("span",{className:"jsx-f8b6a4420911d242 flow-loader-node node-two"}),(0,n.jsx)("span",{className:"jsx-f8b6a4420911d242 flow-loader-node node-three"})]}),(0,n.jsxs)("div",{className:"jsx-f8b6a4420911d242 flow-loader-copy",children:[(0,n.jsx)("span",{className:"jsx-f8b6a4420911d242 flow-loader-label",children:e}),(0,n.jsx)("strong",{className:"jsx-f8b6a4420911d242",children:t}),(0,n.jsx)("span",{className:"jsx-f8b6a4420911d242 flow-loader-caption",children:r})]}),(0,n.jsx)("div",{"aria-hidden":"true",className:"jsx-f8b6a4420911d242 flow-loader-track",children:(0,n.jsx)("span",{className:"jsx-f8b6a4420911d242"})}),(0,n.jsx)(a(),{id:"f8b6a4420911d242",children:".flow-loading.jsx-f8b6a4420911d242{position:absolute;inset:0;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;gap:26px;color:var(--ui-text,#e5e7eb);background:var(--ui-term-col-bg,#101014);-webkit-animation:flow-appear 280ms ease-out both;-moz-animation:flow-appear 280ms ease-out both;-o-animation:flow-appear 280ms ease-out both;animation:flow-appear 280ms ease-out both}.flow-loader-art.jsx-f8b6a4420911d242{position:relative;width:200px;height:200px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.flow-loader-halo.jsx-f8b6a4420911d242{position:absolute;inset:-40px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:-webkit-radial-gradient(circle,#54e5cf26,#54e5cf08 45%,transparent 70%);background:-moz-radial-gradient(circle,#54e5cf26,#54e5cf08 45%,transparent 70%);background:-o-radial-gradient(circle,#54e5cf26,#54e5cf08 45%,transparent 70%);background:radial-gradient(circle,#54e5cf26,#54e5cf08 45%,transparent 70%);-webkit-animation:flow-breathe 3s ease-in-out infinite;-moz-animation:flow-breathe 3s ease-in-out infinite;-o-animation:flow-breathe 3s ease-in-out infinite;animation:flow-breathe 3s ease-in-out infinite}.flow-loader-orbit.jsx-f8b6a4420911d242{position:absolute;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;border:1px solid#54e5cf26}.orbit-outer.jsx-f8b6a4420911d242{inset:8px;border-top-color:#54e5cf;border-right-color:#54e5cf70;-webkit-animation:flow-orbit 3.2s linear infinite;-moz-animation:flow-orbit 3.2s linear infinite;-o-animation:flow-orbit 3.2s linear infinite;animation:flow-orbit 3.2s linear infinite}.orbit-inner.jsx-f8b6a4420911d242{inset:30px;border-bottom-color:#8bbcff;border-left-color:#8bbcff60;animation:flow-orbit 2.4s linear infinite reverse}.flow-loader-orbit.jsx-f8b6a4420911d242 i.jsx-f8b6a4420911d242{position:absolute;top:13%;left:13%;width:7px;height:7px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:#77f8df;-webkit-box-shadow:0 0 14px#54e5cf;-moz-box-shadow:0 0 14px#54e5cf;box-shadow:0 0 14px#54e5cf}.orbit-inner.jsx-f8b6a4420911d242 i.jsx-f8b6a4420911d242{background:#8bbcff;-webkit-box-shadow:0 0 14px#8bbcff;-moz-box-shadow:0 0 14px#8bbcff;box-shadow:0 0 14px#8bbcff}.flow-loader-core.jsx-f8b6a4420911d242{position:absolute;inset:62px;display:grid;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;justify-items:center;place-items:center;-webkit-border-radius:24px;-moz-border-radius:24px;border-radius:24px;color:#64e9d3;border:1px solid#54e5cf66;background:-webkit-linear-gradient(305deg,#54e5cf20,#8bbcff0d);background:-moz-linear-gradient(305deg,#54e5cf20,#8bbcff0d);background:-o-linear-gradient(305deg,#54e5cf20,#8bbcff0d);background:linear-gradient(145deg,#54e5cf20,#8bbcff0d);-webkit-box-shadow:0 0 35px#54e5cf15,inset 0 0 18px#54e5cf0d;-moz-box-shadow:0 0 35px#54e5cf15,inset 0 0 18px#54e5cf0d;box-shadow:0 0 35px#54e5cf15,inset 0 0 18px#54e5cf0d;-webkit-animation:flow-breathe 3s ease-in-out infinite;-moz-animation:flow-breathe 3s ease-in-out infinite;-o-animation:flow-breathe 3s ease-in-out infinite;animation:flow-breathe 3s ease-in-out infinite}.flow-loader-node.jsx-f8b6a4420911d242{position:absolute;width:5px;height:5px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:#8bbcff;-webkit-animation:flow-node 2s ease-in-out infinite;-moz-animation:flow-node 2s ease-in-out infinite;-o-animation:flow-node 2s ease-in-out infinite;animation:flow-node 2s ease-in-out infinite}.node-one.jsx-f8b6a4420911d242{left:0;top:100px}.node-two.jsx-f8b6a4420911d242{right:17px;top:38px;-webkit-animation-delay:.5s;-moz-animation-delay:.5s;-o-animation-delay:.5s;animation-delay:.5s}.node-three.jsx-f8b6a4420911d242{bottom:9px;right:57px;-webkit-animation-delay:1s;-moz-animation-delay:1s;-o-animation-delay:1s;animation-delay:1s}.flow-loader-copy.jsx-f8b6a4420911d242{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;text-align:center;padding:0 20px}.flow-loader-label.jsx-f8b6a4420911d242{font:10px ui-monospace,monospace;letter-spacing:.3em;color:#64cbbb}.flow-loader-copy.jsx-f8b6a4420911d242 strong.jsx-f8b6a4420911d242{font-size:18px;font-weight:500;letter-spacing:.02em}.flow-loader-caption.jsx-f8b6a4420911d242{font-size:12px;color:var(--ui-text-muted,#9399aa)}.flow-loader-track.jsx-f8b6a4420911d242{width:128px;height:2px;overflow:hidden;background:#54e5cf20;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.flow-loader-track.jsx-f8b6a4420911d242 span.jsx-f8b6a4420911d242{display:block;width:45%;height:100%;background:-webkit-linear-gradient(left,transparent,#64e9d3,#8bbcff);background:-moz-linear-gradient(left,transparent,#64e9d3,#8bbcff);background:-o-linear-gradient(left,transparent,#64e9d3,#8bbcff);background:linear-gradient(90deg,transparent,#64e9d3,#8bbcff);-webkit-animation:flow-travel 1.8s ease-in-out infinite;-moz-animation:flow-travel 1.8s ease-in-out infinite;-o-animation:flow-travel 1.8s ease-in-out infinite;animation:flow-travel 1.8s ease-in-out infinite}@-webkit-keyframes flow-orbit{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes flow-orbit{to{-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes flow-orbit{to{-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes flow-orbit{to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes flow-breathe{50%{-webkit-transform:scale(1.05);transform:scale(1.05);opacity:.7}}@-moz-keyframes flow-breathe{50%{-moz-transform:scale(1.05);transform:scale(1.05);opacity:.7}}@-o-keyframes flow-breathe{50%{-o-transform:scale(1.05);transform:scale(1.05);opacity:.7}}@keyframes flow-breathe{50%{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05);opacity:.7}}@-webkit-keyframes flow-node{50%{opacity:.25;-webkit-transform:scale(.65);transform:scale(.65)}}@-moz-keyframes flow-node{50%{opacity:.25;-moz-transform:scale(.65);transform:scale(.65)}}@-o-keyframes flow-node{50%{opacity:.25;-o-transform:scale(.65);transform:scale(.65)}}@keyframes flow-node{50%{opacity:.25;-webkit-transform:scale(.65);-moz-transform:scale(.65);-o-transform:scale(.65);transform:scale(.65)}}@-webkit-keyframes flow-travel{from{-webkit-transform:translatex(-110%);transform:translatex(-110%)}to{-webkit-transform:translatex(330%);transform:translatex(330%)}}@-moz-keyframes flow-travel{from{-moz-transform:translatex(-110%);transform:translatex(-110%)}to{-moz-transform:translatex(330%);transform:translatex(330%)}}@-o-keyframes flow-travel{from{-o-transform:translatex(-110%);transform:translatex(-110%)}to{-o-transform:translatex(330%);transform:translatex(330%)}}@keyframes flow-travel{from{-webkit-transform:translatex(-110%);-moz-transform:translatex(-110%);-o-transform:translatex(-110%);transform:translatex(-110%)}to{-webkit-transform:translatex(330%);-moz-transform:translatex(330%);-o-transform:translatex(330%);transform:translatex(330%)}}@-webkit-keyframes flow-appear{from{opacity:0}to{opacity:1}}@-moz-keyframes flow-appear{from{opacity:0}to{opacity:1}}@-o-keyframes flow-appear{from{opacity:0}to{opacity:1}}@keyframes flow-appear{from{opacity:0}to{opacity:1}}@media(max-height:420px){.flow-loading.jsx-f8b6a4420911d242{gap:12px}.flow-loader-art.jsx-f8b6a4420911d242{width:200px;height:200px;zoom:.65}}@media(prefers-reduced-motion:reduce){.flow-loading.jsx-f8b6a4420911d242,.flow-loader-halo.jsx-f8b6a4420911d242,.flow-loader-orbit.jsx-f8b6a4420911d242,.flow-loader-core.jsx-f8b6a4420911d242,.flow-loader-node.jsx-f8b6a4420911d242,.flow-loader-track.jsx-f8b6a4420911d242 span.jsx-f8b6a4420911d242{-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none}}"})]})}},7059:function(e,t,r){"use strict";function n(){return null}function i(){return location.origin}function a(e){return e}function o(e){return e}function l(){let e=new URL("/ws",i());return e.protocol="https:"===e.protocol?"wss:":"ws:",e.href}r.d(t,{Ey:function(){return i},PP:function(){return a},qg:function(){return l},ss:function(){return n},tA:function(){return o}})},9532:function(e,t,r){"use strict";function n(e,t){var r,n,i,a;return{height:Math.round(null!==(r=null==e?void 0:e.height)&&void 0!==r?r:t.height),width:Math.round(null!==(n=null==e?void 0:e.width)&&void 0!==n?n:t.width),top:Math.round(null!==(i=null==e?void 0:e.offsetTop)&&void 0!==i?i:0),left:Math.round(null!==(a=null==e?void 0:e.offsetLeft)&&void 0!==a?a:0)}}function i(e){e&&(e.scrollLeft=0)}r.d(t,{i:function(){return i},x:function(){return n}})},9319:function(e,t,r){"use strict";let n;r.r(t),r.d(t,{default:function(){return e3}});var i=r(1996),a=r(7004),o=r(7059),l=r(6121),s=r(1729),d=r(656),c=r(3797),u=r(341),p=r(9741),f=r(4330),m=r(3845),b=r(1628),h=r(7317),g=r(9149),x=r(7724),v=r(7805);let w={background:"color-mix(in srgb, var(--ui-tab-accent) 88%, var(--ui-text))",borderColor:"color-mix(in srgb, var(--ui-tab-accent) 88%, var(--ui-text))",color:"var(--ui-primary-text)"};function y(){let[e,t]=(0,l.useState)(!1),[r,n]=(0,l.useState)(!1),[a,o]=(0,l.useState)(null),s=(0,l.useRef)(null);return(0,l.useEffect)(()=>{var e;o(null!==(e=document.querySelector(".web-root"))&&void 0!==e?e:document.body);let r=e=>{var r;return t(!!(null===(r=e.detail)||void 0===r?void 0:r.installed))},i=()=>n(!0);return window.addEventListener("agentroam:pwa-state",r),window.addEventListener("agentroam:pwa-guide",i),window.dispatchEvent(new Event("agentroam:pwa-query")),()=>{window.removeEventListener("agentroam:pwa-state",r),window.removeEventListener("agentroam:pwa-guide",i)}},[]),(0,l.useEffect)(()=>{var e,t;!r||(null===(e=s.current)||void 0===e?void 0:e.open)||null===(t=s.current)||void 0===t||t.showModal()},[r]),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle pwa-install-button",title:e?"已添加到主屏幕":"添加到主屏幕","aria-label":e?"已添加到主屏幕":"添加到主屏幕",onClick:()=>e?n(!0):window.dispatchEvent(new Event("agentroam:pwa-install")),children:(0,i.jsxs)("span",{style:{position:"relative",display:"flex"},children:[(0,i.jsx)(x.Z,{size:17,"aria-hidden":"true"}),(0,i.jsx)(v.Z,{size:9,strokeWidth:3,"aria-hidden":"true",style:{position:"absolute",right:-4,bottom:-2}})]})}),r&&a&&(0,g.createPortal)((0,i.jsxs)("dialog",{ref:s,"data-toolbar-overlay":!0,onClose:()=>n(!1),"aria-labelledby":"pwa-install-title",style:{maxWidth:340,width:"calc(100% - 40px)",margin:"auto",padding:24,borderRadius:16,border:"1px solid var(--ui-tabbar-border)",background:"var(--ui-root-bg)",color:"var(--ui-text)",whiteSpace:"normal",font:"14px/1.8 system-ui"},children:[(0,i.jsx)("h2",{id:"pwa-install-title",style:{margin:"0 0 12px",fontSize:18},children:e?"已添加到主屏幕":"添加到主屏幕"}),e&&(0,i.jsx)("p",{children:"当前已在主屏幕应用中打开。"}),(0,i.jsx)("p",{children:"iPhone / iPad:在 Safari 点击分享按钮,选择“添加到主屏幕”,再点“添加”。"}),(0,i.jsx)("p",{children:"Android:打开浏览器菜单,选择“安装应用”或“添加到主屏幕”。"}),(0,i.jsx)("p",{style:{color:"var(--ui-muted-text)"},children:"浏览器需要你确认,网页无法自动添加。从主屏幕打开后,如提示未配对,请重新扫码。"}),(0,i.jsx)("button",{type:"button",style:{...w,width:"100%",padding:"10px 14px",borderStyle:"solid",borderWidth:1,borderRadius:8,cursor:"pointer"},onClick:()=>{var e;return null===(e=s.current)||void 0===e?void 0:e.close()},children:"知道了"})]}),a)]})}var k=r(7880),j=r(4040),E=r(509),S=r(7285),z=r(4267),N=r(1857),C=r(6533),T=r(7402),L=r(2194),I=r(7678),R=r(6930),M=r(2782);let W={shared:"已共享",independent:"独立后台",failed:"连接失败",stopped:"桌面未启动","not-installed":"桌面未安装",unsupported:"暂不支持"};function P(e){let{csrfToken:t}=e,[r,n]=(0,l.useState)(null),[a,o]=(0,l.useState)(!1),s=(0,l.useRef)(!1),d=(0,l.useRef)(0),u=(0,l.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(s.current)return;s.current=!0;let r=d.current;e&&o(!0);try{var i;let a=await fetch("/api/agent/codex-sharing",{method:e?"POST":"GET",credentials:"same-origin",cache:"no-store",headers:e?{"x-csrf-token":t}:void 0,signal:AbortSignal.timeout(5e4)}),o=await a.json();if(!a.ok||!Object.hasOwn(W,null==o?void 0:o.state))throw Error((null==o?void 0:null===(i=o.error)||void 0===i?void 0:i.message)||"共享状态读取失败,请重试。");if(r!==d.current)return;n(o)}catch(e){if(r!==d.current)return;n({state:"failed",configured:!1,autoStart:!1,daemonReachable:!1,runtimeMode:null,message:e instanceof Error?e.message:"无法连接当前电脑。"})}finally{s.current=!1,r===d.current&&o(!1)}},[t]);(0,l.useEffect)(()=>{u();let e=()=>{document.hidden||u()},t=window.setInterval(e,15e3);return window.addEventListener("online",e),()=>{d.current++,window.clearInterval(t),window.removeEventListener("online",e)}},[u]);let p=r?W[r.state]:"检查中",f=r&&"unsupported"!==r.state&&("shared"!==r.state||!r.configured||!r.autoStart||!r.daemonReachable);return(0,i.jsxs)("div",{className:"codex-sharing",children:[(0,i.jsx)("style",{children:A}),(0,i.jsxs)("div",{className:"codex-sharing-title",role:"status",children:[(0,i.jsx)("span",{className:"codex-sharing-indicator","aria-hidden":"true",children:(0,i.jsx)("span",{className:"codex-sharing-dot","data-state":null==r?void 0:r.state})}),(0,i.jsxs)("span",{children:["Codex \xb7 ",p]})]}),f&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{children:"shared"===r.state?"共享连接可用,启动配置需要修复。":r.message}),(0,i.jsxs)("div",{className:"codex-sharing-actions",children:[(0,i.jsxs)("button",{type:"button",disabled:a,onClick:()=>{u()},"aria-label":"刷新 Codex 共享状态",children:[(0,i.jsx)(c.Z,{size:12}),"刷新"]}),(0,i.jsx)("button",{type:"button",disabled:a,onClick:()=>{u(!0)},children:a?"正在修复…":"检查并修复"})]})]})]})}let A="\n.codex-sharing{padding:10px 14px;margin-bottom:6px;border-bottom:1px solid var(--ui-tabbar-border,#303442);color:var(--ui-text,#e8e8ee);font-size:13px;line-height:20px}\n.codex-sharing-title{display:flex;align-items:center;gap:10px}\n.codex-sharing-indicator{display:grid;place-items:center;flex:0 0 17px;height:17px}\n.codex-sharing-dot{width:6px;height:6px;border-radius:50%;background:var(--ui-muted-text,#999dab)}\n.codex-sharing-dot[data-state=shared]{background:var(--ui-success,#22c55e)}\n.codex-sharing-dot[data-state=failed]{background:var(--ui-danger,#ef4444)}\n.codex-sharing-dot[data-state=independent]{background:var(--ui-warning,#f59e0b)}\n.codex-sharing p{margin:6px 0 0;color:var(--ui-muted-text,#999dab);font-size:12px;line-height:18px;overflow-wrap:anywhere}\n.codex-sharing-actions{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}\n.codex-sharing-actions button{display:flex;align-items:center;gap:5px;min-height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}\n.codex-sharing-actions button:focus-visible{outline:2px solid var(--ui-tab-accent,#7aa2f7);outline-offset:3px}\n.codex-sharing-actions button:disabled{opacity:.5;cursor:wait}\n@media(pointer:coarse){.codex-sharing-actions button{min-height:44px}}\n",Z="agentroam.computers.v1",F=/^[A-Za-z0-9_-]{43}$/;function O(e){try{if("string"!=typeof e||e.length>8192)throw Error();let t=new URL(e.trim().replace(/[,。]+$/,""));if(!["http:","https:"].includes(t.protocol)||t.username||t.password)throw Error();return t.href}catch(e){throw Error("请填写有效的 http(s) 页面地址。")}}function D(e){try{let t=new URL(e);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||"/"!==t.pathname||t.search||t.hash)return null;return t.origin}catch(e){return null}}function U(e){if(!Array.isArray(e)||e.length>20)return[];let t=new Map;for(let r of e){let e=r&&"string"==typeof r.origin?D(r.origin):null;if(!e||"string"!=typeof r.name)continue;let n=r.name.trim().slice(0,60)||new URL(e).hostname,i=function(e){if(!Array.isArray(e)||e.length>20)return[];let t=new Map;for(let r of e)if(r&&"string"==typeof r.id&&/^[A-Za-z0-9_-]{1,80}$/.test(r.id)&&"string"==typeof r.name&&r.name.trim()&&["current","new-tab"].includes(r.openMode))try{t.set(r.id,{id:r.id,name:r.name.trim().slice(0,60),url:O(r.url),openMode:r.openMode})}catch(e){}return[...t.values()]}(r.pages);t.set(e,{origin:e,name:n,...!0===r.pagesMigrated?{pagesMigrated:!0}:Array.isArray(r.pages)?{pages:i}:{}})}return[...t.values()]}function B(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:localStorage;try{return U(JSON.parse(e.getItem(Z)||"[]"))}catch(e){return[]}}function q(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];let n=new Map;for(let e of t)for(let t of U(e)){let e={...n.get(t.origin),...t};e.pagesMigrated&&delete e.pages,n.set(t.origin,e)}if(n.size>20)throw Error("最多可添加 20 台电脑。");return[...n.values()]}function H(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:localStorage,r=U(e);try{t.setItem(Z,JSON.stringify(r))}catch(e){throw Error("浏览器无法保存电脑列表,请检查浏览器存储设置。")}return r}function V(e){try{if("string"!=typeof e||e.length>2048)throw Error();if((e=e.trim()).startsWith("{")){let t=JSON.parse(e),r=D(t.server);if("agentroam-pair"!==t.type||1!==t.version||!r||!F.test(t.grant))throw Error();e=r+"/pair#pair="+t.grant}let t=new URL(e);if(!["http:","https:"].includes(t.protocol)||t.username||t.password||"/pair"!==t.pathname||t.search||!/^#pair=[A-Za-z0-9_-]{43}$/.test(t.hash))throw Error();return t}catch(e){throw Error("这不是 AgentRoam 授权二维码,请在电脑上重新生成。")}}function _(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=new URLSearchParams(e.hash.slice(1)),i=U(t).map(t=>{var r;return{origin:t.origin,name:t.name,...t.pagesMigrated?{pagesMigrated:!0}:{},...t.origin===e.origin&&!t.pagesMigrated&&(null===(r=t.pages)||void 0===r?void 0:r.length)?{pages:t.pages}:{}}});if(n.set("computers",JSON.stringify({version:1,computers:i,name:r.trim().slice(0,60)})),n.toString().length>16383)throw Error("电脑列表或待导入页面配置过长,请先导入旧页面后再切换电脑。");return e.hash=n.toString(),e.href}function J(e){var t,r,n;let{computerName:a,page:o,onClose:s,onSave:d}=e,[c,u]=(0,l.useState)(null!==(t=null==o?void 0:o.name)&&void 0!==t?t:""),[p,f]=(0,l.useState)(null!==(r=null==o?void 0:o.url)&&void 0!==r?r:""),[m,b]=(0,l.useState)(null!==(n=null==o?void 0:o.openMode)&&void 0!==n?n:"current"),[g,x]=(0,l.useState)(!!o),[v,w]=(0,l.useState)(""),[y,k]=(0,l.useState)(!1),j=(0,l.useRef)(!1),E=(0,l.useRef)(null);return(0,l.useEffect)(()=>{var e,t;null===(t=E.current)||void 0===t||null===(e=t.querySelector("input"))||void 0===e||e.focus();let r=e=>{var t;if("Escape"!==e.key||j.current||s(),"Tab"!==e.key)return;let r=null===(t=E.current)||void 0===t?void 0:t.querySelectorAll("button:not(:disabled), input:not(:disabled), select:not(:disabled)");if(!(null==r?void 0:r.length))return;let n=r[0],i=r[r.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),i.focus()):e.shiftKey||document.activeElement!==i||(e.preventDefault(),n.focus())};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[s]),(0,i.jsx)("div",{className:"computer-dialog-backdrop","data-toolbar-overlay":!0,onClick:e=>{e.target!==e.currentTarget||j.current||s()},children:(0,i.jsxs)("section",{ref:E,className:"computer-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"computer-page-title",children:[(0,i.jsxs)("div",{className:"computer-dialog-heading",children:[(0,i.jsx)("h2",{id:"computer-page-title",children:o?"编辑页面":"添加页面"}),(0,i.jsx)("button",{type:"button",className:"computer-close","aria-label":"关闭",disabled:y,onClick:s,children:(0,i.jsx)(h.Z,{size:20})})]}),(0,i.jsxs)("p",{className:"computer-hint",children:["所属电脑:",a]}),(0,i.jsxs)("form",{onSubmit:async e=>{if(e.preventDefault(),!j.current){j.current=!0,k(!0),w("");try{var t;let e=O(p),r=null!==(t=null==o?void 0:o.id)&&void 0!==t?t:Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>e.toString(16).padStart(2,"0")).join("");await d({id:r,name:c.trim(),url:e,openMode:m})}catch(e){w(e.message)}finally{j.current=!1,k(!1)}}},children:[(0,i.jsx)("label",{htmlFor:"computer-page-name",children:"页面名称"}),(0,i.jsx)("input",{id:"computer-page-name",maxLength:60,required:!0,disabled:y,value:c,onChange:e=>u(e.target.value),placeholder:"例如:Zcode / Qoder",autoComplete:"off"}),(0,i.jsx)("label",{htmlFor:"computer-page-url",children:"页面地址"}),(0,i.jsx)("input",{id:"computer-page-url",required:!0,disabled:y,value:p,onChange:e=>{f(e.target.value),g||b(function(e){try{let t=new URL(O(e)).hostname;return"qoder.com"===t||t.endsWith(".qoder.com")?"new-tab":"current"}catch(e){return"current"}}(e.target.value))},placeholder:"https://…",autoComplete:"off",spellCheck:!1}),(0,i.jsx)("label",{htmlFor:"computer-page-mode",children:"打开方式"}),(0,i.jsxs)("select",{id:"computer-page-mode",disabled:y,value:m,onChange:e=>{b(e.target.value),x(!0)},children:[(0,i.jsx)("option",{value:"current",children:"当前页面打开,保留顶部图标栏"}),(0,i.jsx)("option",{value:"new-tab",children:"新页面打开,保留原会话页"})]}),(0,i.jsx)("p",{className:"computer-hint",children:"当前页面会显示网站自己的界面。若网站禁止内嵌(如 Qoder),可改为新页面打开。"}),v&&(0,i.jsx)("p",{className:"computer-error",role:"alert",children:v}),(0,i.jsx)("button",{type:"submit",className:"computer-action computer-primary",disabled:y||!c.trim()||!p.trim(),children:y?"正在保存…":"保存页面"})]})]})})}async function K(e,t){let r=new AbortController,n=()=>r.abort();if(null==t?void 0:t.aborted)return"offline";null==t||t.addEventListener("abort",n,{once:!0});let i=setTimeout(n,4e3);try{let t=new URL("/pwa/icon-192.png",e);t.searchParams.set("online",String(Date.now()));let n=await fetch(t,{mode:"no-cors",credentials:"omit",cache:"no-store",referrerPolicy:"no-referrer",signal:r.signal});return"opaque"===n.type||n.ok?"online":"offline"}catch(e){return"offline"}finally{clearTimeout(i),null==t||t.removeEventListener("abort",n)}}function G(e){if(!Array.isArray(e)||e.length>20)throw Error("最多可添加 20 台电脑。");let t=new Set;return e.map(e=>{let r;if(!e||"object"!=typeof e||Array.isArray(e)||Object.keys(e).some(e=>!["origin","name"].includes(e))||"string"!=typeof e.origin||e.origin.length>2048)throw Error("电脑地址无效。");try{r=new URL(e.origin)}catch(e){throw Error("电脑地址无效。")}if(!["http:","https:"].includes(r.protocol)||r.username||r.password||"/"!==r.pathname||r.search||r.hash||t.has(r.origin))throw Error("电脑地址无效或重复。");if("string"!=typeof e.name||!e.name.trim()||e.name.trim().length>60)throw Error("电脑名称需为 1–60 个字符。");return t.add(r.origin),{origin:r.origin,name:e.name.trim()}})}async function X(e){var t,r;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",i=arguments.length>2?arguments[2]:void 0,a=await fetch("/api/web-console/computers",{method:n,credentials:"same-origin",cache:"no-store",headers:i?{"content-type":"application/json","x-csrf-token":e}:void 0,body:i?JSON.stringify(i):void 0,signal:AbortSignal.timeout(15e3)}).catch(()=>{throw Error("无法连接当前电脑,请检查连接后重试。")}),o=await a.json().catch(()=>null);if(!a.ok)throw Error(null!==(r=null==o?void 0:null===(t=o.error)||void 0===t?void 0:t.message)&&void 0!==r?r:"电脑列表保存失败,请重试。");return G(null==o?void 0:o.computers)}function $(){return window.jsQR?Promise.resolve():n||(n=new Promise((e,t)=>{let r=document.createElement("script");r.src="/pwa/qr-decoder.js";let i=()=>{clearTimeout(a),n=null,r.remove(),t(Error("二维码识别器加载失败,请重试。"))},a=setTimeout(i,1e4);r.onload=()=>{clearTimeout(a),e()},r.onerror=i,document.head.append(r)}))}function Q(){var e;return!!(window.isSecureContext&&(null===(e=navigator.mediaDevices)||void 0===e?void 0:e.getUserMedia))}async function Y(e){if(!e||e.type&&!e.type.startsWith("image/"))throw Error("请选择二维码照片。");if(e.size>20971520)throw Error("照片过大,请重新拍摄二维码。");await $();let t=new Image,r=URL.createObjectURL(e);try{await new Promise((e,n)=>{let i=setTimeout(()=>n(Error("照片加载超时,请重新拍摄。")),1e4);t.onload=()=>{clearTimeout(i),e()},t.onerror=()=>{clearTimeout(i),n(Error("无法读取照片,请重新拍摄二维码。"))},t.src=r});let e=document.createElement("canvas"),n=e.getContext("2d",{willReadFrequently:!0});for(let r of[1600,1024,640]){let i=Math.min(1,r/Math.max(t.naturalWidth,t.naturalHeight));e.width=Math.max(1,Math.round(t.naturalWidth*i)),e.height=Math.max(1,Math.round(t.naturalHeight*i)),n.drawImage(t,0,0,e.width,e.height);let a=n.getImageData(0,0,e.width,e.height),o=window.jsQR(a.data,a.width,a.height);if(o)return o.data}throw Error("照片中没有识别到二维码,请靠近电脑屏幕重新拍摄。")}finally{t.onload=null,t.onerror=null,URL.revokeObjectURL(r)}}let ee=[{id:"refresh",name:"刷新",Icon:c.Z},{id:"collaboration",name:"群聊看板",Icon:u.Z},{id:"remote",name:"远程桌面",Icon:p.Z},{id:"theme",name:"皮肤",Icon:k.Z},{id:"files",name:"文件树",Icon:b.Z},{id:"ai-hub",name:"AI Hub",Icon:f.Z},{id:"flow",name:"数字人",Icon:m.Z},{id:"install",name:"添加到主屏幕",Icon:x.Z}];function et(e){var t,r;let{username:n,connected:a,accent:s,accentText:u,selectedPageId:p,onSelectPage:f,onUpdatePage:m,configuration:b,csrfToken:x}=e,w=(0,l.useRef)(null),y=(0,l.useRef)(null),k=function(e){let[t,r]=(0,l.useState)([]),[n,i]=(0,l.useState)(!1),[a,s]=(0,l.useState)(!1),[d,c]=(0,l.useState)(""),u=(0,l.useRef)(!0),p=(0,l.useRef)(!1),f=(0,l.useRef)(0),m=(0,l.useRef)(!1),b=(0,l.useCallback)(e=>{if(u.current){r(t=>t.length===e.length&&t.every((t,r)=>t.origin===e[r].origin&&t.name===e[r].name)?t:e),i(!0);try{let t=B();H(e.map(e=>({...t.find(t=>t.origin===e.origin),...e})))}catch(e){}}},[]),h=(0,l.useCallback)(async()=>{if(p.current)return;let t=++f.current;try{let r=m.current?void 0:(function(e,t){var r;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:B(),i=D(e);if(!i)throw Error("电脑地址无效。");let a=n.find(e=>e.origin===i);return q(n,[{origin:i,name:(null==t?void 0:t.trim())||(null==a?void 0:a.name)||new URL(i).hostname,...(null==a?void 0:null===(r=a.pages)||void 0===r?void 0:r.length)?{pages:a.pages}:{}}])})((0,o.Ey)(),void 0).map(e=>{let{origin:t,name:r}=e;return{origin:t,name:r}}),n=await X(e,r?"POST":"GET",r?{computers:r}:void 0);if(!u.current||t!==f.current)return;m.current=!0,b(n),c("")}catch(e){u.current&&t===f.current&&c(e instanceof Error?e.message:"无法读取电脑列表。")}},[b,e]);(0,l.useEffect)(()=>{u.current=!0,h();let e=()=>{document.hidden||h()};window.addEventListener("focus",e),window.addEventListener("pageshow",e);let t=window.setInterval(e,15e3);return()=>{u.current=!1,f.current++,window.removeEventListener("focus",e),window.removeEventListener("pageshow",e),window.clearInterval(t)}},[h]);let g=(0,l.useCallback)(async(t,r)=>{if(!n||p.current)throw Error("电脑列表尚未就绪,请稍后重试。");p.current=!0,f.current++,s(!0),c("");try{b(await X(e,t,r))}catch(t){let e=t instanceof Error?t.message:"电脑列表保存失败,请重试。";throw u.current&&c(e),Error(e)}finally{p.current=!1,u.current&&s(!1)}},[b,e,n]);return{computers:t,loaded:n,saving:a,error:d,reload:h,rename:(0,l.useCallback)((e,t)=>g("PATCH",G([{origin:e,name:t}])[0]),[g]),remove:(0,l.useCallback)(async e=>{if(new URL(e).origin===(0,o.Ey)())throw Error("不能删除当前连接的电脑。");await g("DELETE",{origin:e})},[g]),add:(0,l.useCallback)((e,t)=>g("POST",{computers:G([{origin:e,name:t}]),restore:!0}),[g])}}(x),M=k.computers,[W,A]=(0,l.useState)(""),[Z,F]=(0,l.useState)(null),[O,U]=(0,l.useState)(!1),[$,Q]=(0,l.useState)("home"),[Y,et]=(0,l.useState)(!1),[ei,ea]=(0,l.useState)({top:48,right:12}),[eo,el]=(0,l.useState)(null),[es,ed]=(0,l.useState)(null),[ec,eu]=(0,l.useState)(""),[ep,ef]=(0,l.useState)({}),em=M.find(e=>e.origin===W),eb=null!==(t=b.settings.savedPages)&&void 0!==t?t:[];(0,l.useEffect)(()=>{var e,t;b.loaded&&p&&m(null!==(t=null===(e=b.settings.savedPages)||void 0===e?void 0:e.find(e=>e.id===p))&&void 0!==t?t:null)},[b.loaded,b.settings.savedPages,p,m]),(0,l.useEffect)(()=>{var e,t;A((0,o.Ey)()),F(null!==(t=null===(e=w.current)||void 0===e?void 0:e.closest(".web-root"))&&void 0!==t?t:document.body);let r=window.matchMedia("(max-width: 600px)"),n=()=>et(r.matches);return n(),r.addEventListener("change",n),()=>{r.removeEventListener("change",n)}},[]),(0,l.useEffect)(()=>{if(!O)return;let e=e=>{var t,r;(null===(t=y.current)||void 0===t?void 0:t.contains(e.target))||(null===(r=w.current)||void 0===r?void 0:r.contains(e.target))||U(!1)},t=e=>{var t,r;if("Escape"===e.key&&(U(!1),null===(r=w.current)||void 0===r||r.focus()),!Y||"Tab"!==e.key)return;let n=null===(t=y.current)||void 0===t?void 0:t.querySelectorAll("button:not(:disabled), input:not(:disabled)");if(!(null==n?void 0:n.length))return;let i=n[0],a=n[n.length-1];e.shiftKey&&document.activeElement===i?(e.preventDefault(),a.focus()):e.shiftKey||document.activeElement!==a||(e.preventDefault(),i.focus())},r=()=>{var e;let t=null===(e=w.current)||void 0===e?void 0:e.getBoundingClientRect();if(!t)return;let r=Math.min(292,innerWidth-24);ea({top:t.bottom+8,right:Math.max(12,Math.min(innerWidth-r-12,innerWidth-t.right))})};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),window.addEventListener("resize",r),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t),window.removeEventListener("resize",r)}},[O,Y]),(0,l.useEffect)(()=>{var e,t;O&&(null===(t=y.current)||void 0===t||null===(e=t.querySelector("button"))||void 0===e||e.focus())},[O,$]),(0,l.useEffect)(()=>{if(!O)return;let e=new AbortController,t=()=>{for(let t of M)t.origin!==W&&K(t.origin,e.signal).then(r=>{e.signal.aborted||ef(e=>({...e,[t.origin]:r}))})};t();let r=window.setInterval(t,15e3);return window.addEventListener("online",t),()=>{e.abort(),window.clearInterval(r),window.removeEventListener("online",t)}},[O,M,W]);let eh=(0,l.useCallback)(()=>{var e;el(null),null===(e=w.current)||void 0===e||e.focus()},[]),eg=(0,l.useCallback)(()=>{var e;ed(null),null===(e=w.current)||void 0===e||e.focus()},[]),ex=(0,l.useCallback)(async(e,t)=>{var r;if((0,o.ss)()){await (0,o.ss)().pair(e);return}let n=V(e),i={origin:n.origin,name:t.trim()||(null===(r=M.find(e=>e.origin===n.origin))||void 0===r?void 0:r.name)||n.hostname},a=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return _(V(e),t,r)}(e,q(B(),M,[i]),t);await k.add(i.origin,i.name),location.assign(a)},[M,k.add]),ev=(0,l.useCallback)(async e=>{await k.rename((0,o.Ey)(),e),eh()},[eh,k.rename]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("style",{children:en}),(0,i.jsxs)("div",{className:"theme-avatar-with-status",children:[(0,i.jsx)("button",{ref:w,type:"button",className:"theme-avatar","aria-label":"电脑与连接状态(".concat(n,")"),title:n,style:{border:"1px solid ".concat(s),background:s,color:u},"aria-expanded":O,"aria-haspopup":"true",onClick:()=>{let e=w.current.getBoundingClientRect(),t=Math.min(292,innerWidth-24);ea({top:e.bottom+8,right:Math.max(12,Math.min(innerWidth-t-12,innerWidth-e.right))}),O||(Q("home"),eu(""),b.reload(),k.reload()),U(e=>!e)},children:(null!==(r=n.trim()[0])&&void 0!==r?r:"?").toUpperCase()}),(0,i.jsx)("span",{className:"theme-avatar-status","data-connected":a,"aria-label":a?"已连接":"未连接"})]}),O&&Z&&(0,g.createPortal)((0,i.jsx)("div",{className:"computer-menu-backdrop","data-toolbar-overlay":!0,children:(0,i.jsxs)("div",{ref:y,className:"computer-menu",style:Y?void 0:ei,role:"dialog","aria-modal":Y,"aria-label":"tools"===$?"配置顶部工具":"computers"===$?"选择电脑":"电脑与保存页面",children:[(0,i.jsx)("div",{className:"computer-menu-grip","aria-hidden":"true"}),(0,i.jsxs)("div",{className:"computer-menu-heading",children:["home"!==$&&(0,i.jsx)("button",{type:"button",className:"computer-close","aria-label":"返回电脑菜单",onClick:()=>Q("home"),children:(0,i.jsx)(j.Z,{size:20})}),"home"===$?(0,i.jsxs)("button",{type:"button",className:"computer-menu-item computer-current","aria-label":"选择电脑",onClick:()=>Q("computers"),children:[(0,i.jsx)(E.Z,{size:17}),(0,i.jsxs)("span",{children:[(0,i.jsx)("strong",{children:(null==em?void 0:em.name)||"当前电脑"}),(0,i.jsx)("small",{children:a?"当前 \xb7 在线":"当前 \xb7 未连接"})]}),(0,i.jsx)(S.Z,{size:16})]}):(0,i.jsx)("strong",{children:"tools"===$?"".concat((null==em?void 0:em.name)||"当前电脑"," \xb7 顶部工具"):"选择电脑"}),(0,i.jsx)("button",{type:"button",className:"computer-close","aria-label":"关闭电脑菜单",onClick:()=>{var e;U(!1),null===(e=w.current)||void 0===e||e.focus()},children:(0,i.jsx)(h.Z,{size:20})})]}),"computers"===$&&(0,i.jsxs)(i.Fragment,{children:[!k.loaded&&(0,i.jsx)("p",{className:"computer-save-status",role:"status",children:k.error?"电脑列表尚未加载":"正在读取电脑列表…"}),M.map(e=>{var t;let r=e.origin===W?a?"online":"offline":null!==(t=ep[e.origin])&&void 0!==t?t:"checking",n="online"===r?"在线":"offline"===r?"无法连接":"检测中";return(0,i.jsxs)("div",{className:"computer-menu-row",children:[(0,i.jsxs)("button",{type:"button",className:"computer-menu-item","data-computer-origin":e.origin,"aria-label":"".concat(e.name,",").concat(n).concat(e.origin===W?",当前电脑":""),"aria-current":e.origin===W?"true":void 0,onClick:()=>{if(e.origin===W)Q("home");else try{let t=(0,o.ss)();t?t.switchComputer(e.origin).catch(e=>eu(e.message)):location.assign(function(e,t){let r=D(e);if(!r)throw Error("电脑地址无效。");return _(new URL(r+"/pair"),t)}(e.origin,q(B(),M)))}catch(e){eu(e.message)}},children:[(0,i.jsx)(E.Z,{size:17,"aria-hidden":"true"}),(0,i.jsxs)("span",{children:[(0,i.jsx)("strong",{children:e.name}),(0,i.jsx)("small",{children:e.origin})]}),(0,i.jsx)("span",{className:"computer-status-dot","data-status":r,role:"img","aria-label":n,title:n}),e.origin===W&&(0,i.jsx)(z.Z,{size:16,"aria-label":"当前电脑"})]}),e.origin!==W&&(0,i.jsx)("button",{type:"button",className:"computer-page-control computer-delete-control","aria-label":"删除电脑:".concat(e.name),title:"删除电脑:".concat(e.name),disabled:k.saving,onClick:()=>{k.remove(e.origin).catch(()=>{})},children:(0,i.jsx)(N.Z,{size:15})})]},e.origin)}),(0,i.jsx)("div",{className:"computer-menu-divider"}),(0,i.jsxs)("button",{type:"button",className:"computer-menu-item",disabled:!k.loaded||k.saving,onClick:()=>{let e=(0,o.ss)();e?e.scan().catch(e=>eu(e.message)):(U(!1),el("add"))},children:[(0,i.jsx)(v.Z,{size:17,"aria-hidden":"true"}),(0,i.jsx)("span",{children:"扫码添加电脑"})]}),(0,i.jsxs)("button",{type:"button",className:"computer-menu-item",disabled:!k.loaded||k.saving||!em,onClick:()=>{U(!1),el("rename")},children:[(0,i.jsx)(C.Z,{size:16,"aria-hidden":"true"}),(0,i.jsx)("span",{children:"修改当前电脑名称"})]}),k.error&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:"computer-error",role:"alert",children:k.error}),(0,i.jsxs)("button",{type:"button",className:"computer-menu-item",onClick:()=>{k.reload()},children:[(0,i.jsx)(c.Z,{size:16}),(0,i.jsx)("span",{children:"重新加载电脑列表"})]})]})]}),"home"===$&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(P,{csrfToken:x}),(0,i.jsxs)("div",{className:"computer-menu-label computer-pages-heading",children:[(0,i.jsx)("span",{children:"保存的页面"}),(0,i.jsx)("button",{type:"button",className:"computer-page-control","aria-label":"添加页面",disabled:!b.loaded||b.saving,onClick:()=>{U(!1),ed({computer:null!=em?em:{origin:W,name:"当前电脑"}})},children:(0,i.jsx)(v.Z,{size:17})})]}),(0,i.jsxs)("button",{type:"button",className:"computer-menu-item","aria-current":p?void 0:"true",onClick:()=>{U(!1),f(null)},children:[(0,i.jsx)(T.Z,{size:17}),(0,i.jsx)("span",{children:"电脑会话"}),!p&&(0,i.jsx)(z.Z,{size:16})]}),eb.map(e=>(0,i.jsxs)("div",{className:"computer-menu-row",children:[(0,i.jsxs)("button",{type:"button",className:"computer-menu-item","aria-label":"打开 ".concat(e.name),"aria-current":p===e.id?"true":void 0,onClick:()=>{U(!1),f(e)},children:[(0,i.jsx)(L.Z,{size:15,"aria-hidden":"true"}),(0,i.jsxs)("span",{children:[(0,i.jsx)("strong",{children:e.name}),(0,i.jsxs)("small",{children:["current"===e.openMode?"当前页面":"新页面"," \xb7 ",new URL(e.url).hostname]})]}),"new-tab"===e.openMode&&(0,i.jsx)(d.Z,{size:13,"aria-hidden":"true"})]}),(0,i.jsx)("button",{type:"button",className:"computer-page-control","aria-label":"编辑 ".concat(e.name),disabled:b.saving,onClick:()=>{U(!1),ed({computer:null!=em?em:{origin:W,name:"当前电脑"},page:e})},children:(0,i.jsx)(C.Z,{size:14})}),(0,i.jsx)("button",{type:"button",className:"computer-page-control","aria-label":"删除 ".concat(e.name),disabled:b.saving,onClick:()=>{b.setSavedPages(eb.filter(t=>t.id!==e.id)).catch(()=>{})},children:(0,i.jsx)(h.Z,{size:15})})]},e.id)),(0,i.jsx)("div",{className:"computer-menu-divider"}),(0,i.jsxs)("button",{type:"button",className:"computer-menu-item",onClick:()=>Q("tools"),children:[(0,i.jsx)(I.Z,{size:17}),(0,i.jsx)("span",{children:"配置顶部工具"}),(0,i.jsx)(R.Z,{size:16})]})]}),"tools"===$&&(0,i.jsx)("div",{className:"computer-tools-list",children:ee.map(e=>{let{id:t,name:r,Icon:n}=e;return(0,i.jsxs)("label",{className:"computer-tool-option",children:[(0,i.jsx)(n,{size:17,"aria-hidden":"true"}),(0,i.jsx)("span",{children:r}),(0,i.jsx)("input",{type:"checkbox","aria-label":"显示".concat(r),checked:b.settings.visibleTools.includes(t),disabled:!b.loaded||b.saving,onChange:e=>{let r=b.settings.visibleTools;b.setVisibleTools(e.target.checked?[...r,t]:r.filter(e=>e!==t)).catch(()=>{})}})]},t)})}),"computers"!==$&&(0,i.jsx)("p",{className:"computer-save-status",role:"status",children:b.loaded?b.saving?"正在保存…":b.notice:b.error?"配置尚未加载":"正在读取电脑配置…"}),b.error&&"computers"!==$&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:"computer-error",role:"alert",children:b.error}),(0,i.jsxs)("button",{type:"button",className:"computer-menu-item",onClick:()=>{b.reload()},children:[(0,i.jsx)(c.Z,{size:16}),(0,i.jsx)("span",{children:"重新加载配置"})]})]}),ec&&(0,i.jsx)("p",{className:"computer-error",role:"alert",children:ec})]})}),Z),eo&&Z&&(0,g.createPortal)((0,i.jsx)(er,{mode:eo,currentName:(null==em?void 0:em.name)||"",onClose:eh,onNavigate:ex,onRename:ev}),Z),es&&Z&&(0,g.createPortal)((0,i.jsx)(J,{computerName:es.computer.name,page:es.page,onClose:eg,onSave:async e=>{if(es.page&&!eb.some(t=>t.id===e.id))throw Error("这个页面已在其他设备删除,请重新添加。");await b.setSavedPages(es.page?eb.map(t=>t.id===e.id?e:t):[...eb,e]),eg()}}),Z)]})}function er(e){let{mode:t,currentName:r,onClose:n,onNavigate:a,onRename:o}=e,[s,d]=(0,l.useState)("rename"===t?r:""),c=(0,l.useRef)(s);c.current=s;let[u,p]=(0,l.useState)(""),[f,m]=(0,l.useState)(""),[b,g]=(0,l.useState)(!1),[x,v]=(0,l.useState)(!1),[w,y]=(0,l.useState)(!1),[k,j]=(0,l.useState)(!1),E=(0,l.useRef)(null),S=(0,l.useRef)(null),z=(0,l.useRef)(0),N=(0,l.useRef)(null),C=(0,l.useRef)(null),T=(0,l.useRef)(null),L=(0,l.useCallback)(async e=>{var t;g(!0),null===(t=T.current)||void 0===t||t.stop(),v(!1),m("");try{await a(e,c.current)}catch(e){m(e.message)}finally{g(!1)}},[a]);return(0,l.useEffect)(()=>{var e,r,i;y(Q()),"rename"===t?null===(e=N.current)||void 0===e||e.focus():null===(i=C.current)||void 0===i||null===(r=i.querySelector("button"))||void 0===r||r.focus();let a=e=>{var t;if("Escape"===e.key&&n(),"Tab"!==e.key)return;let r=null===(t=C.current)||void 0===t?void 0:t.querySelectorAll("button:not(:disabled), input:not(:disabled)");if(!(null==r?void 0:r.length))return;let i=r[0],a=r[r.length-1];e.shiftKey&&document.activeElement===i?(e.preventDefault(),a.focus()):e.shiftKey||document.activeElement!==a||(e.preventDefault(),i.focus())},o=()=>{document.hidden&&v(!1)};return document.addEventListener("keydown",a),document.addEventListener("visibilitychange",o),"add"===t&&E.current&&(T.current=function(e,t,r){let n,i=0,a,o=()=>{i++,clearTimeout(a),null==n||n.getTracks().forEach(e=>e.stop()),n=null,e.srcObject=null},l=(e,t)=>{e===i&&(o(),r((null==t?void 0:t.name)==="NotAllowedError"?"相机权限未开启,请允许相机或粘贴二维码链接。":(null==t?void 0:t.message)||"无法启动扫码,请重试。"))},s=async()=>{o();let s=i;if(!Q()){r("实时扫码需要 HTTPS,请使用拍照扫码。");return}try{let l;if(await $(),s!==i)return;let d=await navigator.mediaDevices.getUserMedia({video:{facingMode:{ideal:"environment"}},audio:!1});if(s!==i){d.getTracks().forEach(e=>e.stop());return}n=d,e.srcObject=d;try{await Promise.race([e.play(),new Promise((e,t)=>{l=setTimeout(()=>t(Error("相机没有返回画面,请重试。")),1e4)})])}finally{clearTimeout(l)}if(s!==i)return;let c=document.createElement("canvas"),u=c.getContext("2d",{willReadFrequently:!0}),p=()=>{if(s===i)try{if(e.videoWidth&&e.videoHeight){c.width=Math.min(e.videoWidth,640),c.height=Math.round(e.videoHeight*c.width/e.videoWidth),u.drawImage(e,0,0,c.width,c.height);let r=u.getImageData(0,0,c.width,c.height),n=window.jsQR(r.data,r.width,r.height);if(n){o(),t(n.data);return}}a=setTimeout(p,250)}catch(e){o(),r((null==e?void 0:e.message)||"二维码识别失败,请重试。")}};p()}catch(e){l(s,e)}},d=()=>{document.hidden&&o()};return window.addEventListener("pagehide",o),document.addEventListener("visibilitychange",d),{start:s,stop:o,dispose(){o(),window.removeEventListener("pagehide",o),document.removeEventListener("visibilitychange",d)}}}(E.current,L,e=>{v(!1),m(e)})),()=>{var e;z.current++,document.removeEventListener("keydown",a),document.removeEventListener("visibilitychange",o),null===(e=T.current)||void 0===e||e.dispose(),T.current=null}},[t,L,n]),(0,i.jsx)("div",{className:"computer-dialog-backdrop","data-toolbar-overlay":!0,onClick:e=>{e.target===e.currentTarget&&n()},children:(0,i.jsxs)("section",{ref:C,className:"computer-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"computer-dialog-title",children:[(0,i.jsxs)("div",{className:"computer-dialog-heading",children:[(0,i.jsx)("h2",{id:"computer-dialog-title",children:"add"===t?"添加电脑":"修改电脑名称"}),(0,i.jsx)("button",{type:"button",className:"computer-close","aria-label":"关闭",onClick:n,children:(0,i.jsx)(h.Z,{size:20})})]}),(0,i.jsxs)("form",{onSubmit:async e=>{if(e.preventDefault(),!b){if("add"===t)await L(u);else{g(!0);try{await o(s.trim())}catch(e){m(e.message)}finally{g(!1)}}}},children:[(0,i.jsxs)("label",{htmlFor:"computer-name",children:["电脑名称","add"===t?"(选填)":""]}),(0,i.jsx)("input",{ref:N,id:"computer-name",maxLength:60,value:s,required:"rename"===t,disabled:b,onChange:e=>d(e.target.value),placeholder:"例如:A 电脑 / 家里的电脑",autoComplete:"off"}),"add"===t&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("p",{className:"computer-hint",children:"扫描另一台电脑上的 AgentRoam 授权二维码,连接后会保留已有电脑。"}),(0,i.jsx)("input",{ref:S,type:"file",accept:"image/*",capture:"environment",hidden:!0,"aria-label":"拍摄授权二维码",onChange:async e=>{var t,r;let n=null===(t=e.currentTarget.files)||void 0===t?void 0:t[0];if(e.currentTarget.value="",!n)return;let i=++z.current;null===(r=T.current)||void 0===r||r.stop(),v(!1),j(!0),m("");try{let e=await Y(n);i===z.current&&L(e)}catch(e){i===z.current&&m(e.message)}finally{i===z.current&&j(!1)}}}),(0,i.jsx)("video",{ref:E,playsInline:!0,muted:!0,hidden:!x,"aria-label":"扫码相机画面"}),(0,i.jsxs)("button",{className:"computer-action",type:"button",disabled:k,onClick:()=>{var e,t,r;m(""),x?(null===(t=T.current)||void 0===t||t.stop(),v(!1)):Q()?(v(!0),null===(r=T.current)||void 0===r||r.start()):null===(e=S.current)||void 0===e||e.click()},children:[(0,i.jsx)(M.Z,{size:17,"aria-hidden":"true"}),k?"正在识别二维码…":x?"取消扫码":w?"打开相机扫码":"拍照扫码"]}),w&&(0,i.jsx)("button",{className:"computer-action",type:"button",disabled:k,onClick:()=>{var e,t;null===(e=T.current)||void 0===e||e.stop(),v(!1),null===(t=S.current)||void 0===t||t.click()},children:"拍照识别二维码"}),(0,i.jsx)("label",{htmlFor:"computer-link",children:"或粘贴授权二维码链接"}),(0,i.jsx)("input",{id:"computer-link",value:u,onChange:e=>p(e.target.value),placeholder:"http(s)://…/pair#pair=…",autoComplete:"off",spellCheck:!1})]}),f&&(0,i.jsx)("p",{className:"computer-error",role:"alert",children:f}),(0,i.jsx)("button",{className:"computer-action computer-primary",type:"submit",disabled:b||("add"===t?!u.trim()||k:!s.trim()),children:"add"===t?"连接这台电脑":b?"正在保存…":"保存名称"})]})]})})}let en="\n.computer-menu-backdrop{position:fixed;inset:0;z-index:10000}\n.computer-menu-heading{display:flex;align-items:center;gap:4px;padding:2px 4px}.computer-menu-heading>strong{flex:1;min-width:0;font-size:14px;font-weight:500;overflow-wrap:anywhere}.computer-menu-heading>.computer-current{flex:1;min-width:0}.computer-menu-heading>.computer-close{flex-shrink:0}\n.computer-menu-grip{display:none}.computer-pages-heading{display:flex;align-items:center;justify-content:space-between}.computer-tool-option{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;cursor:pointer}.computer-tool-option span{flex:1;font-size:14px}.computer-tool-option input{width:18px;height:18px;accent-color:var(--ui-tab-accent,#7aa2f7)}.computer-tool-option svg{flex-shrink:0}.computer-save-status{margin:6px 10px 2px;line-height:18px;color:var(--ui-muted-text,#999dab);font-size:12px}.computer-save-status:empty{display:none}.computer-menu button:disabled,.computer-tool-option:has(input:disabled){opacity:.55;cursor:default}\n@media(max-width:600px){.computer-menu-backdrop{background:#0006}.computer-menu-backdrop .computer-menu{top:auto;bottom:0;left:0;right:0;width:100%;max-height:calc(100dvh - 64px);border-radius:18px 18px 0 0;padding:9px 10px calc(14px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain}.computer-menu-grip{display:block;width:32px;height:4px;border-radius:4px;background:var(--ui-tabbar-border,#303442);margin:0 auto 10px}.computer-menu .computer-page-control,.computer-menu .computer-close{width:44px;height:44px;flex-basis:44px}.computer-menu .computer-menu-item{min-height:44px}}\n.computer-menu,.computer-dialog{background:var(--ui-tree-bg,#121218);color:var(--ui-text,#e8e8ee);border:1px solid var(--ui-tabbar-border,#303442);border-radius:12px;box-shadow:0 12px 40px #0006;font-family:system-ui,sans-serif}\n.computer-menu{position:fixed;z-index:10000;width:min(292px,calc(100vw - 24px));padding:7px;box-sizing:border-box;max-height:calc(100dvh - 76px);overflow-y:auto}\n.computer-menu-label{padding:7px 9px;color:var(--ui-muted-text,#999dab);font-size:12px}.computer-menu-divider{height:1px;background:var(--ui-tabbar-border,#303442);margin:6px}\n.computer-menu-row{display:flex;align-items:center;min-width:0;border-radius:8px}\n.computer-page-row{padding-left:20px}\n.computer-page-control{display:grid;place-items:center;flex:0 0 30px;width:30px;height:36px;border:0;border-radius:6px;color:var(--ui-muted-text,#999dab);background:transparent;cursor:pointer}\n.computer-delete-control{margin-inline-end:8px}\n.computer-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}\n.computer-menu-item svg{flex-shrink:0}.computer-menu-item span{flex:1;min-width:0;font-size:13px}.computer-menu-item strong{display:block;font-weight:500;overflow-wrap:anywhere}.computer-menu-item small{display:block;color:var(--ui-muted-text,#999dab);font-size:11px;font-weight:400;overflow-wrap:anywhere;margin-top:3px}\n.computer-menu-item[aria-current=true],.computer-menu-row:has(>.computer-menu-item[aria-current=true]){background:color-mix(in srgb,var(--ui-tab-accent,#7aa2f7) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-tab-accent,#7aa2f7) 22%,transparent)}\n.computer-menu-item[aria-current=true]>svg{color:var(--ui-tab-accent,#7aa2f7)}.computer-menu-item[aria-current=true]>span{font-weight:600}\n.computer-menu-row>.computer-menu-item{flex:1;min-width:0;background:transparent;box-shadow:none}\n.computer-menu-item:focus-visible,.computer-page-control:focus-visible,.computer-close:focus-visible{outline:2px solid var(--ui-tab-accent,#7aa2f7);outline-offset:-2px}\n@media(hover:hover){\n .computer-menu-item:hover,.computer-menu-row:hover{background:color-mix(in srgb,var(--ui-text,#e8e8ee) 5%,transparent)}\n .computer-menu-item[aria-current=true]:hover,.computer-menu-row:has(>.computer-menu-item[aria-current=true]):hover{background:color-mix(in srgb,var(--ui-tab-accent,#7aa2f7) 12%,transparent)}\n .computer-menu-row>.computer-menu-item:hover{background:transparent}\n .computer-page-control:hover{background:color-mix(in srgb,var(--ui-text,#e8e8ee) 7%,transparent);color:var(--ui-text,#e8e8ee)}\n}\n.computer-menu-item .computer-status-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--ui-connection-text,#777b8c)}.computer-status-dot[data-status=online]{background:var(--ui-success,#7dcf96)}.computer-status-dot[data-status=offline]{background:var(--ui-error,#f7768e)}\n.computer-dialog-backdrop{position:fixed;inset:0;z-index:10001;background:#0008;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}\n.computer-dialog{width:100%;max-width:400px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px;box-sizing:border-box}.computer-dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.computer-dialog h2{margin:0;font-size:18px;font-weight:500}.computer-close{display:grid;place-items:center;border:0;background:transparent;color:inherit;width:36px;height:36px;cursor:pointer}\n.computer-dialog label{display:block;font-size:13px;margin:16px 0 8px}.computer-dialog input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--ui-panel-input-border,#30303a);border-radius:8px;background:var(--ui-panel-input-bg,#0f0f15);color:inherit;font:inherit;font-size:16px}.computer-dialog video{width:100%;max-height:240px;border-radius:8px;background:#000;margin:4px 0}.computer-dialog video[hidden]{display:none}\n.computer-dialog select{width:100%;padding:11px 8px;border:1px solid var(--ui-panel-input-border,#30303a);border-radius:8px;background:var(--ui-panel-input-bg,#0f0f15);color:inherit;font:inherit;font-size:14px}\n.computer-hint{color:var(--ui-muted-text,#999dab);font-size:13px;line-height:1.7}.computer-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;margin-top:12px;border:1px solid var(--ui-panel-input-border,#30303a);border-radius:8px;background:var(--ui-tab-bg,#1b1e28);color:inherit;font:inherit;cursor:pointer}.computer-primary{background:var(--ui-tab-accent,#7aa2f7);color:var(--ui-root-bg,#0b0b10);border-color:transparent}.computer-action:disabled{opacity:.45;cursor:default}.computer-error{font-size:13px;line-height:1.6;color:var(--ui-danger,#ffb2a7);padding:0 8px}\n@media(pointer:coarse){.computer-menu-item{min-height:44px}.computer-close{width:44px;height:44px}.computer-page-control{height:44px;flex-basis:36px;width:36px}}\n";var ei=r(8924);function ea(e){let{page:t,reloadKey:r}=e,[n,a]=(0,l.useState)(!0),[o,s]=(0,l.useState)(!1);return((0,l.useEffect)(()=>{a(!0),s(!1);let e=window.setTimeout(()=>s(!0),12e3);return()=>window.clearTimeout(e)},[t.id,t.url,r]),function(e){let t=new URL(e).hostname;return"qoder.com"===t||t.endsWith(".qoder.com")}(t.url))?(0,i.jsxs)("main",{className:"computer-page-blocked",children:[(0,i.jsx)(L.Z,{size:36,strokeWidth:1.5,"aria-hidden":"true"}),(0,i.jsxs)("h2",{children:[t.name," 不允许内嵌"]}),(0,i.jsx)("p",{children:"这个网站限制了当前页面打开。可以在新页面使用,也可以在电脑菜单中修改打开方式。"}),(0,i.jsxs)("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",children:[(0,i.jsx)(d.Z,{size:16,"aria-hidden":"true"}),"打开新页面"]})]}):(0,i.jsxs)("main",{className:"computer-page-pane","aria-label":t.name,"aria-busy":n,children:[(0,i.jsx)("iframe",{title:t.name,src:t.url,referrerPolicy:"no-referrer",allow:"clipboard-read; clipboard-write; microphone; camera",sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads allow-modals",onLoad:()=>a(!1),onError:()=>{a(!1),s(!0)},style:{visibility:n?"hidden":"visible"}},"".concat(t.id,":").concat(r)),n&&(0,i.jsx)(ei.Z,{label:"REMOTE PAGE",title:"正在打开 ".concat(t.name),caption:"正在连接页面",icon:(0,i.jsx)(L.Z,{size:36,strokeWidth:1.5})}),o&&(0,i.jsx)("a",{className:"computer-page-fallback",href:t.url,target:"_blank",rel:"noopener noreferrer",children:"打开原页面"})]})}var eo=r(4561),el=r(4101);function es(e){let{items:t,avatar:r}=e,n=(0,l.useRef)(null),a=(0,l.useRef)(null),o=(0,l.useRef)(null),s=(0,l.useRef)(null),d=(0,l.useRef)(null),c=(0,l.useRef)(new Map),[u,p]=(0,l.useState)(null),[f,m]=(0,l.useState)(!1),[b,h]=(0,l.useState)(!1),[x,v]=(0,l.useState)({top:-1e3,left:0}),[w,y]=(0,l.useState)({fullFits:!1,inlineIndices:[],overflowIndices:[]}),k=new Set(w.inlineIndices),j=w.fullFits||f,E=j&&w.overflowIndices.length>0;(0,l.useEffect)(()=>{var e,t;p(null!==(t=null===(e=n.current)||void 0===e?void 0:e.closest(".web-root"))&&void 0!==t?t:document.body)},[]),(0,l.useLayoutEffect)(()=>{var e,r;let i=null===(e=n.current)||void 0===e?void 0:e.closest(".terminal-tabs"),l=null==i?void 0:i.querySelector(".terminal-tab-list"),d=null===(r=n.current)||void 0===r?void 0:r.closest(".terminal-connection");if(!i||!l||!d||!u)return;let p=0,m=()=>{var e,r,n,s,u,p;let m=getComputedStyle(i),b=getComputedStyle(d),g=getComputedStyle(l),x=Array.from(l.children),v=x.reduce((e,t)=>e+t.offsetWidth,0)+Math.max(0,x.length-1)*(parseFloat(g.columnGap)||0),w=(parseFloat(m.paddingLeft)||0)+(parseFloat(m.paddingRight)||0)+(parseFloat(b.paddingLeft)||0)+(parseFloat(b.paddingRight)||0)+2*(parseFloat(m.columnGap)||0)+(null!==(s=null===(e=i.querySelector(".terminal-add"))||void 0===e?void 0:e.offsetWidth)&&void 0!==s?s:30),k=i.clientWidth-w,j=function(e){let t=e.toolWidths.flatMap((e,t)=>e>0?[t]:[]),r=t=>t.reduce((t,r)=>t+e.toolWidths[r],0)+t.length*e.gap,n=r(t)+e.avatarWidth<=e.fullAvailableWidth;if(n)return{fullFits:n,inlineIndices:t,overflowIndices:[]};if(!e.expanded)return{fullFits:n,inlineIndices:[],overflowIndices:t};let i=e.availableWidth-e.avatarWidth-e.toggleWidth;if(r(t)<=i)return{fullFits:n,inlineIndices:t,overflowIndices:[]};let a=[];for(let n of t){if(r([...a,n])>i-e.toggleWidth)break;a.push(n)}return{fullFits:n,inlineIndices:a,overflowIndices:t.slice(a.length)}}({toolWidths:t.map(e=>{var t,r;return null!==(r=null===(t=c.current.get(e.id))||void 0===t?void 0:t.offsetWidth)&&void 0!==r?r:0}),fullAvailableWidth:k-v,availableWidth:k-Math.min(v,Math.max(64,Math.min(130,i.clientWidth/4))),avatarWidth:null!==(u=null===(r=a.current)||void 0===r?void 0:r.offsetWidth)&&void 0!==u?u:44,toggleWidth:null!==(p=null===(n=o.current)||void 0===n?void 0:n.offsetWidth)&&void 0!==p?p:40,gap:0,expanded:f});y(e=>JSON.stringify(e)===JSON.stringify(j)?e:j),(j.fullFits||!f||0===j.overflowIndices.length)&&h(!1)},b=()=>{cancelAnimationFrame(p),p=requestAnimationFrame(m)},g=new ResizeObserver(b);for(let e of[i,l,n.current,s.current,...c.current.values()])e&&g.observe(e);let x=new MutationObserver(b);return x.observe(l,{childList:!0,subtree:!0,characterData:!0}),s.current&&x.observe(s.current,{childList:!0,subtree:!0}),m(),()=>{cancelAnimationFrame(p),g.disconnect(),x.disconnect()}},[f,u,t.map(e=>e.id).join(","),w.inlineIndices.join(",")]),(0,l.useLayoutEffect)(()=>{if(!b)return;let e=()=>{var e,t,r,i;let a=null===(e=d.current)||void 0===e?void 0:e.getBoundingClientRect();if(!a)return;let o=Math.min(292,innerWidth-16),l=null!==(i=null===(r=n.current)||void 0===r?void 0:null===(t=r.closest(".terminal-tabs"))||void 0===t?void 0:t.getBoundingClientRect().bottom)&&void 0!==i?i:a.bottom;v({top:Math.max(a.bottom,l)+6,left:Math.max(8,Math.min(innerWidth-o-8,a.right-o))})};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[b,w.inlineIndices.join(",")]),(0,l.useEffect)(()=>{if(!b)return;let e=e=>{var t,r;let i=e.target;!((null===(t=n.current)||void 0===t?void 0:t.contains(i))||(null===(r=s.current)||void 0===r?void 0:r.contains(i)))&&(i instanceof Element&&i.closest("[data-toolbar-overlay]")||h(!1))},t=e=>{if("Escape"===e.key){var t;h(!1),null===(t=d.current)||void 0===t||t.focus()}};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[b]);let z=e=>(0,i.jsx)("div",{className:"toolbar-slot","data-toolbar-item":e.id,ref:t=>{t?c.current.set(e.id,t):c.current.delete(e.id)},children:e.content},e.id);return(0,i.jsxs)("div",{ref:n,className:"responsive-toolbar","data-toolbar-expanded":j,children:[(0,i.jsx)("span",{ref:o,className:"file-drawer-toggle toolbar-size-measure","aria-hidden":"true"}),E&&(0,i.jsx)("button",{ref:d,type:"button",className:"file-drawer-toggle toolbar-overflow-toggle","aria-label":"更多工具",title:"更多工具","aria-haspopup":"dialog","aria-expanded":b,onClick:()=>h(e=>!e),children:(0,i.jsx)(S.Z,{size:17,"aria-hidden":"true"})}),w.inlineIndices.length>0&&(0,i.jsx)("div",{className:"toolbar-tools toolbar-tools-inline",children:t.filter((e,t)=>k.has(t)).map(z)}),t.length>0&&!w.fullFits&&(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle toolbar-more","aria-label":f?"收起顶部工具":"展开顶部工具",title:f?"收起工具":"展开工具","aria-expanded":f,onClick:()=>{m(e=>!e),h(!1)},children:f?(0,i.jsx)(eo.Z,{size:17,"aria-hidden":"true"}):(0,i.jsx)(el.Z,{size:17,"aria-hidden":"true"})}),(0,i.jsx)("div",{ref:a,className:"toolbar-avatar",onPointerDown:()=>h(!1),children:r}),u&&(0,g.createPortal)((0,i.jsx)("div",{ref:s,className:"toolbar-overflow theme-popover",role:"dialog","aria-label":"更多工具菜单","data-toolbar-overlay":!0,"aria-hidden":!b,style:{position:"fixed",top:b?x.top:-1e3,left:b?x.left:0,zIndex:200,width:Math.min(292,innerWidth-16),visibility:b?"visible":"hidden",boxSizing:"border-box",maxHeight:"calc(100dvh - 60px)",overflowY:"auto",padding:8,borderRadius:10,border:"1px solid var(--ui-tabbar-border, #282b36)",background:"var(--ui-tab-active-bg, #262b38)",boxShadow:"0 10px 28px rgba(0,0,0,.45)"},children:(0,i.jsx)("div",{className:"toolbar-tools toolbar-tools-expanded",children:t.filter((e,t)=>!k.has(t)).map(z)})}),u)]})}let ed=["refresh","collaboration","remote","theme","files","ai-hub","flow","install"],ec=["refresh","remote","theme","files"];function eu(e){if(!Array.isArray(e)||e.length>ed.length||e.some(e=>!ed.includes(e)))throw Error("顶部工具包含未知选项。");if(new Set(e).size!==e.length)throw Error("顶部工具不能重复。");return ed.filter(t=>e.includes(t))}function ep(e){if(!Array.isArray(e)||e.length>20)throw Error("每台电脑最多可添加 20 个页面。");let t=new Set;return e.map(e=>{let r;if(!e||"string"!=typeof e.id||!/^[A-Za-z0-9_-]{1,80}$/.test(e.id)||t.has(e.id))throw Error("页面标识无效或重复。");if("string"!=typeof e.name||!e.name.trim()||e.name.trim().length>60)throw Error("页面名称需为 1–60 个字符。");if(!["current","new-tab"].includes(e.openMode))throw Error("页面打开方式无效。");if("string"!=typeof e.url||e.url.length>8192)throw Error("请填写有效的 http(s) 页面地址。");try{r=new URL(e.url.trim())}catch(e){throw Error("请填写有效的 http(s) 页面地址。")}if(!["http:","https:"].includes(r.protocol)||r.username||r.password)throw Error("请填写无账号密码的 http(s) 页面地址。");return t.add(e.id),{id:e.id,name:e.name.trim(),url:r.href,openMode:e.openMode}})}class ef extends Error{constructor(e,t){super(e),this.status=t}}async function em(e,t){var r,n;let i=await fetch("/api/web-console/computer-settings",{method:t?"PATCH":"GET",credentials:"same-origin",cache:"no-store",headers:t?{"content-type":"application/json","x-csrf-token":e}:void 0,body:t?JSON.stringify(t):void 0,signal:AbortSignal.timeout(15e3)}).catch(e=>{throw Error((null==e?void 0:e.name)==="TimeoutError"?"电脑响应超时,请检查连接后重试。":"无法连接当前电脑,请检查连接后重试。")}),a=await i.json().catch(()=>null);if(!i.ok)throw new ef(null!==(n=null==a?void 0:null===(r=a.error)||void 0===r?void 0:r.message)&&void 0!==n?n:"电脑配置保存失败,请检查连接后重试。",i.status);if(!(null==a?void 0:a.settings)||!Number.isSafeInteger(a.settings.revision))throw Error("无法读取电脑配置,请重新加载。");return{...a.settings,visibleTools:eu(a.settings.visibleTools),savedPages:null===a.settings.savedPages?null:ep(a.settings.savedPages)}}let eb=["codex","claude agents","opencode","agent-tui"],eh="agent-web-shell:project-response:v1",eg=new Set(["project:list","project:get","project:create","project:rename","project:delete","project:roots","project:directories","project:check","fs:preview-open","fs:preview-close"]);async function ex(e,t,r,n){var i;let a=r.find(t=>t&&t===e.source);if(!a)return!1;let o=e.origin!==t||e.source!==a?null:(i=e.data)&&"object"==typeof i?"agent-webapp:project-request:v1"!==i.type||!Number.isSafeInteger(i.id)||1>Number(i.id)||"string"!=typeof i.method||!eg.has(i.method)||!i.payload||"object"!=typeof i.payload||Array.isArray(i.payload)?null:i:null;if(!o)return!1;try{let e=await n(o.method,o.payload);a.postMessage({type:eh,id:o.id,ok:!0,result:e},t)}catch(e){a.postMessage({type:eh,id:o.id,ok:!1,error:e.message||"项目操作失败",code:e.code},t)}return!0}let ev="agent-web-shell:browser-response:v1",ew="agent-web-shell:browser-event:v1",ey=new Set(["browser:list","browser:watch","browser:unwatch","browser:takeover","browser:return","browser:input","browser:set-display","browser:ping","browser:webrtc","browser:system"]);var ek=r(6411);let ej="agent-web-shell:open-browser-live:v1",eE={watcherFrame:4,producerFrame:5};function eS(e){let{ready:t=!1,error:r,onRetry:n}=e,[a]=(0,l.useState)(Date.now),[o,s]=(0,l.useState)(Date.now);(0,l.useEffect)(()=>{if(t||r)return;let e=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(e)},[t,r]);let d=r||"数字人核心正在就绪";return(0,i.jsxs)("main",{className:"neural-boot".concat(t?" is-ready":"").concat(r?" is-error":""),role:r?"alert":"status","aria-live":"polite","aria-busy":!t&&!r,"aria-hidden":t,children:[(0,i.jsx)("div",{className:"neural-grid","aria-hidden":"true"}),(0,i.jsx)("div",{className:"neural-rail neural-rail-left","aria-hidden":"true"}),(0,i.jsx)("div",{className:"neural-rail neural-rail-right","aria-hidden":"true"}),(0,i.jsxs)("section",{className:"neural-content",children:[(0,i.jsxs)("div",{className:"neural-brand","aria-hidden":"true",children:[(0,i.jsx)("span",{className:"neural-brand-signal"}),(0,i.jsx)("span",{children:"AgentRoam"}),(0,i.jsx)("small",{children:"NEURAL LINK"})]}),(0,i.jsxs)("div",{className:"neural-portrait","aria-hidden":"true",children:[(0,i.jsx)("span",{className:"neural-ring neural-ring-outer"}),(0,i.jsx)("span",{className:"neural-ring neural-ring-inner"}),(0,i.jsx)("span",{className:"neural-axis neural-axis-x"}),(0,i.jsx)("span",{className:"neural-axis neural-axis-y"}),(0,i.jsx)("span",{className:"neural-node neural-node-one"}),(0,i.jsx)("span",{className:"neural-node neural-node-two"}),(0,i.jsx)("span",{className:"neural-node neural-node-three"}),(0,i.jsx)("span",{className:"neural-node neural-node-four"}),(0,i.jsx)("div",{className:"neural-avatar-frame",children:(0,i.jsxs)("div",{className:"neural-avatar",children:[(0,i.jsx)(m.Z,{className:"neural-avatar-icon",size:66,strokeWidth:1.3}),(0,i.jsx)("span",{className:"neural-visor"})]})})]}),(0,i.jsxs)("div",{className:"neural-copy",children:[(0,i.jsx)("strong",{children:"正在唤醒工作区"}),(0,i.jsx)("span",{children:d})]}),(0,i.jsx)("div",{className:"neural-progress","aria-hidden":"true",children:(0,i.jsx)("span",{})}),(0,i.jsxs)("div",{className:"neural-meta","aria-hidden":"true",children:[(0,i.jsx)("span",{children:"AGENT CORE"}),(0,i.jsxs)("span",{className:"neural-meta-time",children:["T+",Math.max(0,Math.floor((o-a)/1e3)).toString().padStart(2,"0"),"S"]})]}),r&&(0,i.jsx)("button",{type:"button",className:"neural-retry","aria-label":"重试连接",title:"重试连接",onClick:()=>null==n?void 0:n(),children:(0,i.jsx)(c.Z,{size:18,"aria-hidden":"true"})})]})]})}function ez(e){let{children:t}=e,r=function(){let[e,t]=(0,l.useState)("loading"),[r,n]=(0,l.useState)(null),[i]=(0,l.useState)("same-origin"),[a,o]=(0,l.useState)(null),s=(0,l.useCallback)(async()=>{t("loading"),o(null);try{let e=await fetch("/api/web-console/bootstrap",{credentials:"same-origin",cache:"no-store"});if(401===e.status||423===e.status){window.location.reload();return}if(!e.ok)throw Error("HTTP ".concat(e.status));let r=await e.json();n(r.user),t("authenticated")}catch(e){o("无法连接远程控制台"),t("needsLogin")}},[]);(0,l.useEffect)(()=>{s()},[s]);let d=(0,l.useCallback)(async()=>{let e=await fetch("/api/web-console/bootstrap",{credentials:"same-origin",cache:"no-store"});if((401===e.status||423===e.status)&&window.location.reload(),!e.ok)throw Error("bootstrap failed");let r=await e.json();return n(r.user),t("authenticated"),r.wsNonce},[]),c=(0,l.useCallback)(async()=>(window.location.reload(),!1),[]);return{status:e,user:r,error:a,csrfToken:i,setup:c,login:c,logout:(0,l.useCallback)(async()=>{let e=await fetch("/api/pairing/logout",{method:"POST",credentials:"same-origin"});e.ok||401===e.status||423===e.status?window.location.reload():o("退出失败,请重试")},[]),refresh:s,getWsNonce:d}}(),[n,a]=(0,l.useState)(!1),o="authenticated"===r.status,s=(0,l.useCallback)(()=>a(!0),[]);return(0,l.useEffect)(()=>{o||a(!1)},[o]),(0,i.jsxs)(i.Fragment,{children:[o?t(r,s):null,(0,i.jsx)(eS,{ready:o&&n,error:r.error,onRetry:()=>void r.refresh()})]})}var eN=r(2199),eC=r(5257),eT=r(2090),eL=r(8026);function eI(e,t,r){let n=e.findIndex(e=>e.id===t),i=e.findIndex(e=>e.id===r);if(n<0||i<0||n===i)return[...e];let a=[...e],[o]=a.splice(n,1);return a.splice(i,0,o),a}function eR(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"function"==typeof crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),e=>e.toString(16).padStart(2,"0")).join("");return{id:t,command:e.trim()}}function eM(e){let{commands:t,onChange:r,onExecute:n}=e,[a,o]=(0,l.useState)(null),[s,d]=(0,l.useState)(""),[c,u]=(0,l.useState)(null),p=(0,l.useRef)(null),f=()=>{if(!a)return;let e=a.value.trim();return e?e.length>1e3?d("命令最多 1000 个字符"):/[\r\n\0]/.test(e)?d("命令只能包含一行"):void(a.id?r(t.map(t=>t.id===a.id?{...t,command:e}:t)):r([...t,eR(e)]),o(null),d("")):d("命令不能为空")},m=(e,t)=>{e.preventDefault(),e.stopPropagation(),p.current=t,u(t),e.currentTarget.setPointerCapture(e.pointerId)},b=e=>{var n;if(!p.current)return;let i=null===(n=document.elementFromPoint(e.clientX,e.clientY))||void 0===n?void 0:n.closest("[data-pinned-id]"),a=null==i?void 0:i.dataset.pinnedId;a&&a!==p.current&&r(eI(t,p.current,a))},h=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),p.current=null,u(null)},g=(e,n)=>{if("ArrowUp"!==e.key&&"ArrowDown"!==e.key)return;e.preventDefault();let i=t.findIndex(e=>e.id===n),a=t[i+("ArrowUp"===e.key?-1:1)];a&&r(eI(t,n,a.id))};return(0,i.jsxs)("section",{className:"pinned-commands","aria-labelledby":"pinned-command-title",children:[(0,i.jsxs)("div",{className:"pinned-command-head",children:[(0,i.jsx)("span",{id:"pinned-command-title",children:"置顶命令"}),(0,i.jsx)("button",{className:"history-icon-button",onClick:()=>{o({id:null,value:""}),d("")},"aria-label":"新增置顶命令",title:"新增置顶命令",children:(0,i.jsx)(v.Z,{size:14,"aria-hidden":"true"})})]}),t.map(e=>(null==a?void 0:a.id)===e.id?(0,i.jsx)(eW,{editor:a,error:s,onChange:e=>{o({...a,value:e}),d("")},onSave:f,onCancel:()=>{o(null),d("")}},e.id):(0,i.jsxs)("div",{className:"pinned-command-row".concat(c===e.id?" pinned-command-dragging":""),"data-pinned-id":e.id,role:"button",tabIndex:0,onClick:()=>n(e.command),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),n(e.command))},children:[(0,i.jsx)("button",{className:"pinned-command-grip",onPointerDown:t=>m(t,e.id),onPointerMove:b,onPointerUp:h,onPointerCancel:h,onKeyDown:t=>g(t,e.id),onClick:e=>e.stopPropagation(),"aria-label":"调整 ".concat(e.command," 的顺序"),title:"拖动排序,或按上下方向键",children:(0,i.jsx)(eL.Z,{size:14,"aria-hidden":"true"})}),(0,i.jsx)("code",{children:e.command}),(0,i.jsxs)("div",{className:"pinned-command-actions",onClick:e=>e.stopPropagation(),children:[(0,i.jsx)("button",{className:"history-icon-button",onClick:()=>{o({id:e.id,value:e.command}),d("")},"aria-label":"编辑 ".concat(e.command),title:"编辑",children:(0,i.jsx)(C.Z,{size:12,"aria-hidden":"true"})}),(0,i.jsx)("button",{className:"history-icon-button history-icon-danger",onClick:()=>r(t.filter(t=>t.id!==e.id)),"aria-label":"删除 ".concat(e.command),title:"删除",children:(0,i.jsx)(N.Z,{size:12,"aria-hidden":"true"})})]})]},e.id)),(null==a?void 0:a.id)===null&&(0,i.jsx)(eW,{editor:a,error:s,onChange:e=>{o({...a,value:e}),d("")},onSave:f,onCancel:()=>{o(null),d("")}})]})}function eW(e){let{editor:t,error:r,onChange:n,onSave:a,onCancel:o}=e;return(0,i.jsxs)("div",{className:"pinned-command-editor",children:[(0,i.jsx)("input",{autoFocus:!0,value:t.value,maxLength:1e3,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"===e.key&&a(),"Escape"===e.key&&o()},"aria-label":t.id?"编辑置顶命令":"新增置顶命令"}),(0,i.jsx)("button",{className:"history-icon-button",onClick:a,"aria-label":"保存命令",title:"保存",children:(0,i.jsx)(z.Z,{size:13,"aria-hidden":"true"})}),(0,i.jsx)("button",{className:"history-icon-button",onClick:o,"aria-label":"取消编辑",title:"取消",children:(0,i.jsx)(h.Z,{size:13,"aria-hidden":"true"})}),r&&(0,i.jsx)("small",{role:"alert",children:r})]})}var eP=r(7714);function eA(e){let{csrfToken:t,terminalId:r,pinnedCommands:n,onPinnedCommandsChange:a,onFill:o,onExecute:s}=e,[d,u]=(0,l.useState)([]),[p,f]=(0,l.useState)(""),[m,b]=(0,l.useState)(""),h=(0,l.useCallback)(async()=>{let e=new URLSearchParams({q:p,limit:"200"}),t=await fetch("/api/web-console/history?".concat(e),{credentials:"same-origin"});t.ok&&u((await t.json()).history)},[p]);(0,l.useEffect)(()=>{let e=setTimeout(h,200);return()=>clearTimeout(e)},[h]);let g=async e=>{await fetch("/api/web-console/history",{method:"DELETE",credentials:"same-origin",headers:{"content-type":"application/json","x-csrf-token":t},body:JSON.stringify({id:e})}),h()},x=e=>{r&&o(e)},v=(0,l.useCallback)(e=>{"[REDACTED]"===e||n.some(t=>t.command===e)||a([...n,eR(e)])},[a,n]),w=async e=>{b(await (0,eP.T)(e)?"已复制命令":"复制失败,请长按命令手动复制")};return(0,i.jsxs)("div",{className:"history-panel",children:[(0,i.jsx)(eM,{commands:n,onChange:a,onExecute:s}),(0,i.jsxs)("div",{className:"history-search",children:[(0,i.jsx)("input",{value:p,onChange:e=>f(e.target.value),placeholder:"搜索命令"}),(0,i.jsx)("button",{className:"history-icon-button",onClick:h,"aria-label":"刷新历史",title:"刷新历史",children:(0,i.jsx)(c.Z,{size:13,"aria-hidden":"true"})})]}),m&&(0,i.jsx)("div",{className:"terminal-clipboard-notice",role:"status",children:m}),d.map(e=>(0,i.jsxs)("div",{className:"history-item".concat(r?"":" history-item-disabled"),role:"button",tabIndex:r?0:-1,onClick:()=>x(e.command),onKeyDown:t=>{t.target===t.currentTarget&&("Enter"===t.key||" "===t.key)&&r&&(t.preventDefault(),x(e.command))},children:[(0,i.jsx)("code",{children:e.command}),(0,i.jsxs)("small",{children:[e.cwd," \xb7 ",new Date(e.executedAt).toLocaleString()]}),(0,i.jsxs)("div",{className:"history-item-actions",onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:[(0,i.jsx)("button",{className:"history-icon-button",onClick:()=>void w(e.command),"aria-label":"复制命令",title:"复制",children:(0,i.jsx)(eN.Z,{size:12,"aria-hidden":"true"})}),(0,i.jsx)("button",{className:"history-icon-button",disabled:!r,onClick:()=>x(e.command),"aria-label":"填入命令",title:"填入",children:(0,i.jsx)(eC.Z,{size:12,"aria-hidden":"true"})}),(0,i.jsx)("button",{className:"history-icon-button",disabled:"[REDACTED]"===e.command||n.some(t=>t.command===e.command),onClick:()=>v(e.command),"aria-label":"置顶命令",title:"置顶",children:(0,i.jsx)(eT.Z,{size:12,"aria-hidden":"true"})}),(0,i.jsx)("button",{className:"history-icon-button history-icon-danger",onClick:()=>g(e.id),"aria-label":"删除历史",title:"删除",children:(0,i.jsx)(N.Z,{size:12,"aria-hidden":"true"})})]})]},e.id)),!d.length&&(0,i.jsx)("div",{className:"history-empty",children:"暂无 Shell 命令历史"}),!r&&!!d.length&&(0,i.jsx)("div",{className:"history-empty",children:"请先打开一个终端页签"})]})}let eZ=[{id:"pearl",label:"珍珠白",swatch:"#f5f6fa",preview:["#f5f6fa","#4f6ef7"],cssVars:{"--ui-color-scheme":"light","--ui-root-bg":"#f5f6fa","--ui-text":"#111827","--ui-tabbar-bg":"#eef0f6","--ui-tabbar-border":"#dfe3ee","--ui-tab-bg":"#e6e9f4","--ui-tab-text":"#5b6472","--ui-tab-active-bg":"#ffffff","--ui-tab-active-text":"#111827","--ui-tab-accent":"#4f6ef7","--ui-connection-bg":"#eef0f6","--ui-connection-text":"#9ca3af","--ui-tree-bg":"#fbfcfe","--ui-tree-border":"#e5e8f0","--ui-term-col-bg":"#f5f6fa","--ui-fab-bg":"#ffffff","--ui-fab-border":"#d8dcea","--ui-muted-surface":"#eef0f6","--ui-muted-border":"#d8dcea","--ui-muted-text":"#6b7280","--ui-panel-input-bg":"#ffffff","--ui-panel-input-text":"#111827","--ui-panel-input-border":"#d8dcea","--ui-drawer-tab-text":"#6b7280","--ui-drawer-tab-active":"#111827","--ui-history-item-text":"#1f2937","--ui-history-meta":"#9ca3af","--ui-success":"#059669","--ui-error":"#dc2626"},termHostBg:"#ffffff",keybar:{bg:"#eef0f6",border:"#dfe3ee",keyBg:"#ffffff",keyBorder:"#d8dcea",keyText:"#4b5563",accent:"#4f6ef7",accentText:"#ffffff",drag:"#a5b4fc"},xterm:{background:"#ffffff",foreground:"#1f2937",cursor:"#4f6ef7",selectionBackground:"#c7d2fe",black:"#24292e",red:"#d73a49",green:"#22863a",yellow:"#b08800",blue:"#005cc5",magenta:"#6f42c1",cyan:"#1b7c83",white:"#6a737d",brightBlack:"#959da5",brightWhite:"#fafbfc"}},{id:"scifi",label:"科幻霓虹",swatch:"#050a14",preview:["#050a14","#22d3ee"],cssVars:{"--ui-color-scheme":"dark","--ui-root-bg":"#050a14","--ui-text":"#e2f3ff","--ui-tabbar-bg":"#0a1220","--ui-tabbar-border":"#10263c","--ui-tab-bg":"#0d1626","--ui-tab-text":"#5c7893","--ui-tab-active-bg":"#122036","--ui-tab-active-text":"#e2f3ff","--ui-tab-accent":"#22d3ee","--ui-connection-bg":"#0a1220","--ui-connection-text":"#5c7893","--ui-tree-bg":"#0d1626","--ui-tree-border":"#10263c","--ui-term-col-bg":"#050a14","--ui-fab-bg":"#122036","--ui-fab-border":"#155e75","--ui-muted-surface":"#0d1626","--ui-muted-border":"#164e63","--ui-muted-text":"#9fb8d0","--ui-panel-input-bg":"#0a1220","--ui-panel-input-text":"#e2f3ff","--ui-panel-input-border":"#164e63","--ui-drawer-tab-text":"#5c7893","--ui-drawer-tab-active":"#e2f3ff","--ui-history-item-text":"#d5ecfb","--ui-history-meta":"#5c7893","--ui-success":"#34d399","--ui-error":"#fb7185"},termHostBg:"#0a1220",keybar:{bg:"#0a1220",border:"#10263c",keyBg:"#0d1626",keyBorder:"#164e63",keyText:"#9fb8d0",accent:"#22d3ee",accentText:"#04121a",drag:"#155e75"},xterm:{background:"#0a1220",foreground:"#e2f3ff",cursor:"#22d3ee",selectionBackground:"#164e63",black:"#0d1626",red:"#fb7185",green:"#34d399",yellow:"#fbbf24",blue:"#38bdf8",magenta:"#e879f9",cyan:"#22d3ee",white:"#e2f3ff",brightBlack:"#5c7893",brightWhite:"#ffffff"}},{id:"noir",label:"暗夜黑",swatch:"#0f1115",preview:["#0f1115","#a78bfa"],cssVars:{"--ui-color-scheme":"dark","--ui-root-bg":"#0f1115","--ui-text":"#eceff4","--ui-tabbar-bg":"#14171d","--ui-tabbar-border":"#232833","--ui-tab-bg":"#191d24","--ui-tab-text":"#6b7280","--ui-tab-active-bg":"#1f242d","--ui-tab-active-text":"#eceff4","--ui-tab-accent":"#a78bfa","--ui-connection-bg":"#14171d","--ui-connection-text":"#6b7280","--ui-tree-bg":"#191d24","--ui-tree-border":"#232833","--ui-term-col-bg":"#0f1115","--ui-fab-bg":"#1f242d","--ui-fab-border":"#2a3040","--ui-muted-surface":"#191d24","--ui-muted-border":"#2a3040","--ui-muted-text":"#aab2bf","--ui-panel-input-bg":"#14171d","--ui-panel-input-text":"#eceff4","--ui-panel-input-border":"#2a3040","--ui-drawer-tab-text":"#6b7280","--ui-drawer-tab-active":"#eceff4","--ui-history-item-text":"#d7dce4","--ui-history-meta":"#6b7280","--ui-success":"#4ade80","--ui-error":"#f87171"},termHostBg:"#14171d",keybar:{bg:"#14171d",border:"#232833",keyBg:"#191d24",keyBorder:"#2a3040",keyText:"#aab2bf",accent:"#a78bfa",accentText:"#0f1115",drag:"#4b4470"},xterm:{background:"#14171d",foreground:"#eceff4",cursor:"#a78bfa",selectionBackground:"#3b3654",black:"#191d24",red:"#f87171",green:"#4ade80",yellow:"#fbbf24",blue:"#60a5fa",magenta:"#c084fc",cyan:"#67e8f9",white:"#eceff4",brightBlack:"#6b7280",brightWhite:"#ffffff"}},{id:"mist",label:"雾白靛蓝",swatch:"#f7f8fb",preview:["#f7f8fb","#4258c4"],cssVars:{"--ui-color-scheme":"light","--ui-root-bg":"#f7f8fb","--ui-text":"#252d3d","--ui-tabbar-bg":"#e4e9f2","--ui-tabbar-border":"#dce3ef","--ui-tab-bg":"#e9edf5","--ui-tab-text":"#5b687f","--ui-tab-active-bg":"#f7f8fb","--ui-tab-active-text":"#252d3d","--ui-tab-accent":"#4258c4","--ui-connection-bg":"#e4e9f2","--ui-connection-text":"#5b687f","--ui-tree-bg":"#e9edf5","--ui-tree-border":"#dce3ef","--ui-term-col-bg":"#f7f8fb","--ui-fab-bg":"#ffffff","--ui-fab-border":"#dce3ef","--ui-muted-surface":"#e9edf5","--ui-muted-border":"#dce3ef","--ui-muted-text":"#5b687f","--ui-panel-input-bg":"#ffffff","--ui-panel-input-text":"#252d3d","--ui-panel-input-border":"#dce3ef","--ui-drawer-tab-text":"#5b687f","--ui-drawer-tab-active":"#252d3d","--ui-history-item-text":"#252d3d","--ui-history-meta":"#5b687f","--ui-success":"#247860","--ui-error":"#be3d50"},termHostBg:"#ffffff",keybar:{bg:"#e4e9f2",border:"#dce3ef",keyBg:"#ffffff",keyBorder:"#dce3ef",keyText:"#5b687f",accent:"#4258c4",accentText:"#ffffff",drag:"#8a9ac5"},xterm:{background:"#ffffff",foreground:"#252d3d",cursor:"#4258c4",selectionBackground:"#d6dcf4",black:"#252d3d",red:"#be3d50",green:"#247860",yellow:"#956018",blue:"#346faa",magenta:"#7456a6",cyan:"#277784",white:"#5b687f",brightBlack:"#5b687f",brightWhite:"#f7f8fb"}},{id:"pine",label:"暖灰松绿",swatch:"#f6f7f3",preview:["#f6f7f3","#356c55"],cssVars:{"--ui-color-scheme":"light","--ui-root-bg":"#f6f7f3","--ui-text":"#2d382f","--ui-tabbar-bg":"#e2e7df","--ui-tabbar-border":"#d9e1d6","--ui-tab-bg":"#e8ece5","--ui-tab-text":"#5b6e61","--ui-tab-active-bg":"#f6f7f3","--ui-tab-active-text":"#2d382f","--ui-tab-accent":"#356c55","--ui-connection-bg":"#e2e7df","--ui-connection-text":"#5b6e61","--ui-tree-bg":"#e8ece5","--ui-tree-border":"#d9e1d6","--ui-term-col-bg":"#f6f7f3","--ui-fab-bg":"#ffffff","--ui-fab-border":"#d9e1d6","--ui-muted-surface":"#e8ece5","--ui-muted-border":"#d9e1d6","--ui-muted-text":"#5b6e61","--ui-panel-input-bg":"#ffffff","--ui-panel-input-text":"#2d382f","--ui-panel-input-border":"#d9e1d6","--ui-drawer-tab-text":"#5b6e61","--ui-drawer-tab-active":"#2d382f","--ui-history-item-text":"#2d382f","--ui-history-meta":"#5b6e61","--ui-success":"#357450","--ui-error":"#b6454d"},termHostBg:"#ffffff",keybar:{bg:"#e2e7df",border:"#d9e1d6",keyBg:"#ffffff",keyBorder:"#d9e1d6",keyText:"#5b6e61",accent:"#356c55",accentText:"#ffffff",drag:"#86a38b"},xterm:{background:"#ffffff",foreground:"#2d382f",cursor:"#356c55",selectionBackground:"#d4e1d9",black:"#2d382f",red:"#b6454d",green:"#357450",yellow:"#8c641e",blue:"#3d7189",magenta:"#805e88",cyan:"#317c74",white:"#5b6e61",brightBlack:"#5b6e61",brightWhite:"#f6f7f3"}},{id:"graphite",label:"石墨夜色",swatch:"#202630",preview:["#202630","#a4bad2"],cssVars:{"--ui-color-scheme":"dark","--ui-root-bg":"#202630","--ui-text":"#e4ebf4","--ui-tabbar-bg":"#161c25","--ui-tabbar-border":"#384859","--ui-tab-bg":"#161c25","--ui-tab-text":"#b0bfd3","--ui-tab-active-bg":"#202630","--ui-tab-active-text":"#e4ebf4","--ui-tab-accent":"color-mix(in srgb, #386a9a 40%, #ecf0f8)","--ui-connection-bg":"#161c25","--ui-connection-text":"#b0bfd3","--ui-tree-bg":"#161c25","--ui-tree-border":"#384859","--ui-term-col-bg":"#202630","--ui-fab-bg":"#293440","--ui-fab-border":"#384859","--ui-muted-surface":"#161c25","--ui-muted-border":"#384859","--ui-muted-text":"#b0bfd3","--ui-panel-input-bg":"#293440","--ui-panel-input-text":"#e4ebf4","--ui-panel-input-border":"#384859","--ui-drawer-tab-text":"#b0bfd3","--ui-drawer-tab-active":"#e4ebf4","--ui-history-item-text":"#e4ebf4","--ui-history-meta":"#b0bfd3","--ui-success":"#89d3af","--ui-error":"#f097a2"},termHostBg:"#202630",keybar:{bg:"#161c25",border:"#384859",keyBg:"#293440",keyBorder:"#384859",keyText:"#b0bfd3",accent:"#a4bad2",accentText:"#14212b",drag:"#61778c"},xterm:{background:"#202630",foreground:"#e4ebf4",cursor:"#a4bad2",selectionBackground:"#2a3e53",black:"#161c25",red:"#f097a2",green:"#89d3af",yellow:"#e5c58a",blue:"#9accf0",magenta:"#c4b3e1",cyan:"#91cfd6",white:"#e4ebf4",brightBlack:"#b0bfd3",brightWhite:"#ffffff"}}],eF="pearl",eO=Object.fromEntries(eZ.map(e=>[e.id,e])),eD={dark:"noir",black:"noir",gray:"noir",blue:"noir",red:"noir",yellow:"noir",green:"noir",white:"pearl"};function eU(e){if(e&&e in eO)return eO[e];let t=e?eD[e]:void 0;return t?eO[t]:eO[eF]}function eB(e){let{themeId:t,onThemeChange:r}=e,[n,a]=(0,l.useState)(!1),o=(0,l.useRef)(null),s=(0,l.useRef)(null),d=(0,l.useRef)(null),[c,u]=(0,l.useState)(null),[p,f]=(0,l.useState)({top:-1e3,left:0});return(0,l.useEffect)(()=>{var e,t;u(null!==(t=null===(e=o.current)||void 0===e?void 0:e.closest(".web-root"))&&void 0!==t?t:document.body)},[]),(0,l.useLayoutEffect)(()=>{if(!n)return;let e=()=>{var e;let t=null===(e=s.current)||void 0===e?void 0:e.getBoundingClientRect();if(!t)return;let r=Math.min(176,innerWidth-16);f({top:t.bottom+6,left:Math.max(8,Math.min(innerWidth-r-8,t.right-r))})};return e(),window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[n]),(0,l.useEffect)(()=>{if(!n)return;let e=e=>{var t,r;(null===(t=o.current)||void 0===t?void 0:t.contains(e.target))||(null===(r=d.current)||void 0===r?void 0:r.contains(e.target))||a(!1)},t=e=>{if("Escape"===e.key){var t;a(!1),null===(t=s.current)||void 0===t||t.focus()}};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",t)}},[n]),(0,i.jsxs)("div",{ref:o,className:"theme-picker",children:[(0,i.jsx)("button",{ref:s,type:"button",className:"file-drawer-toggle","aria-label":"换肤",title:"换肤","aria-expanded":n,"aria-haspopup":"dialog",onClick:()=>a(e=>!e),children:(0,i.jsx)(k.Z,{size:17,"aria-hidden":"true"})}),n&&c&&(0,g.createPortal)((0,i.jsxs)("div",{ref:d,className:"theme-popover",role:"dialog","aria-label":"选择皮肤","data-toolbar-overlay":!0,style:{position:"fixed",...p,zIndex:210,width:Math.min(176,innerWidth-16),boxSizing:"border-box",padding:8,borderRadius:10,border:"1px solid var(--ui-tabbar-border, #282b36)",background:"var(--ui-tab-active-bg, #262b38)",boxShadow:"0 10px 28px rgba(0,0,0,.45)"},children:[(0,i.jsx)("div",{style:{fontSize:10,color:"var(--ui-connection-text, #777b8c)",margin:"2px 4px 6px",letterSpacing:.5},children:"皮肤"}),(0,i.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:eZ.map(e=>{let n=e.id===t;return(0,i.jsxs)("button",{type:"button",className:"theme-popover-item","aria-label":e.label,"aria-pressed":n,onPointerDown:e=>e.stopPropagation(),onClick:()=>{r(e.id),a(!1)},style:{background:n?"color-mix(in srgb, var(--ui-tab-accent, #7aa2f7) 14%, transparent)":"transparent"},children:[(0,i.jsx)("span",{style:{width:18,height:18,borderRadius:5,flexShrink:0,background:"linear-gradient(135deg, ".concat(e.preview[0]," 55%, ").concat(e.preview[1]," 55%)"),boxShadow:"inset 0 0 0 1px rgba(128,128,160,.25)"}}),(0,i.jsx)("span",{style:{flex:1,textAlign:"left",fontSize:12,fontWeight:n?600:400,color:n?"var(--ui-tab-active-text, #edf0f7)":"var(--ui-tab-text, #8f93a4)"},children:e.label}),n&&(0,i.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"var(--ui-tab-accent, #7aa2f7)",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,i.jsx)("path",{d:"m5 12 4 4L19 6"})})]},e.id)})})]}),c)]})}var eq=r(9532);let eH="agent-webapp:ready:v1";function eV(e,t,r){var n;return e.origin!==t||e.source!==r?null:(n=e.data)&&"object"==typeof n?n.type!==eH?null:{type:eH}:null}var e_=r(9516),eJ=r.n(e_);function eK(e){let{groupId:t,title:r,onFrame:n,onLoad:a}=e,s=(0,l.useRef)(null),[d,p]=(0,l.useState)("loading"),[f,m]=(0,l.useState)(0),b=void 0===t;return(0,l.useEffect)(()=>{let e=e=>{var r,n;(function(e,t,r,n){if(!r||e.source!==r||e.origin!==t)return!1;let i=e.data;return!(!i||"object"!=typeof i||Array.isArray(i))&&(null===n?"agent-webapp:collaboration-dashboard-ready:v1"===i.type:"agent-webapp:collaboration-content-ready:v1"===i.type&&i.groupId===n)})(e,window.location.origin,null!==(n=null===(r=s.current)||void 0===r?void 0:r.contentWindow)&&void 0!==n?n:null,null!=t?t:null)&&p("ready")};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[t]),(0,l.useEffect)(()=>{if("loading"!==d)return;let e=window.setTimeout(()=>p(e=>"loading"===e?"error":e),3e4);return()=>window.clearTimeout(e)},[d,f]),(0,i.jsxs)("div",{"aria-busy":"loading"===d,className:"jsx-92e497a22f5803ef collaboration-pane",children:[(0,i.jsx)("iframe",{ref:e=>{s.current=e,n(e)},style:{visibility:"ready"===d?"visible":"hidden"},src:(0,o.PP)(b?"/app/?view=collaboration-dashboard":"/app/?view=collaboration&groupId=".concat(encodeURIComponent(t))),title:r,onLoad:a,onError:()=>p("error"),className:"jsx-92e497a22f5803ef "+"webapp-frame collaboration-frame".concat("ready"===d?" is-ready":"")},f),"loading"===d&&(0,i.jsx)(ei.Z,{label:"AGENT COLLABORATION",title:b?"正在打开群聊看板":"正在进入群聊",caption:b?"正在加载已保存的群聊":"正在加载群成员与聊天记录",icon:(0,i.jsx)(u.Z,{size:36,strokeWidth:1.5})}),"error"===d&&(0,i.jsxs)("div",{role:"alert",className:"jsx-92e497a22f5803ef collaboration-load-error",children:[(0,i.jsx)("strong",{className:"jsx-92e497a22f5803ef",children:b?"暂时无法打开群聊看板":"暂时无法打开群聊"}),(0,i.jsx)("span",{className:"jsx-92e497a22f5803ef",children:"请检查连接后重试。"}),(0,i.jsxs)("button",{onClick:()=>{p("loading"),m(e=>e+1)},className:"jsx-92e497a22f5803ef",children:[(0,i.jsx)(c.Z,{size:15}),"重新加载"]})]}),(0,i.jsx)(eJ(),{id:"92e497a22f5803ef",children:".collaboration-pane.jsx-92e497a22f5803ef{position:relative;height:100%;background:var(--ui-term-col-bg,#101014)}.collaboration-frame.is-ready.jsx-92e497a22f5803ef{-webkit-animation:collaboration-appear 220ms ease-out both;-moz-animation:collaboration-appear 220ms ease-out both;-o-animation:collaboration-appear 220ms ease-out both;animation:collaboration-appear 220ms ease-out both}.collaboration-load-error.jsx-92e497a22f5803ef{position:absolute;inset:0;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;color:var(--ui-text,#e5e7eb);background:var(--ui-term-col-bg,#101014);padding:20px;text-align:center}.collaboration-load-error.jsx-92e497a22f5803ef span.jsx-92e497a22f5803ef{font-size:13px;color:var(--ui-text-muted,#9399aa)}.collaboration-load-error.jsx-92e497a22f5803ef button.jsx-92e497a22f5803ef{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:6px;min-height:44px;padding:10px 16px;border:1px solid var(--ui-muted-border,#ffffff24);-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;background:transparent;color:inherit;font:inherit;cursor:pointer}.collaboration-load-error.jsx-92e497a22f5803ef button.jsx-92e497a22f5803ef:focus-visible{outline:2px solid currentColor;outline-offset:3px}@-webkit-keyframes collaboration-appear{from{opacity:0}to{opacity:1}}@-moz-keyframes collaboration-appear{from{opacity:0}to{opacity:1}}@-o-keyframes collaboration-appear{from{opacity:0}to{opacity:1}}@keyframes collaboration-appear{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.collaboration-frame.is-ready.jsx-92e497a22f5803ef{-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none}}"})]})}function eG(e){try{let t=JSON.parse(e||"null");if(!t||!Array.isArray(t.tabs))return null;let r=new Set,n=new Set(["webapp","aihub","flowstudio","remote-desktop","collaboration","collaboration-dashboard"]),i=[];for(let e of t.tabs.slice(0,100))!(!e||"string"!=typeof e.id||"string"!=typeof e.title||r.has(e.id))&&(void 0===e.kind||n.has(e.kind))&&("collaboration"!==e.kind||"string"==typeof e.groupId)&&(r.add(e.id),i.push({id:e.id,title:e.title,...e.kind?{kind:e.kind}:{},..."string"==typeof e.groupId?{groupId:e.groupId}:{}}));return{tabs:i,activeTerminalId:"string"==typeof t.activeTerminalId?t.activeTerminalId:null}}catch(e){return null}}let eX={id:"remote-desktop",title:"远程桌面",kind:"remote-desktop"};function e$(e){let t=e.find(e=>"remote-desktop"===e.kind);return t?e.map(e=>e===t?{...eX}:e):[...e,{...eX}]}let eQ={id:"collaboration-dashboard",title:"群聊看板",kind:"collaboration-dashboard"};function eY(e){return e.some(e=>e.id===eQ.id)?e:[...e,{...eQ}]}function e0(e){return e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e)||/^\\\\[^\\/]+[\\/][^\\/]+/.test(e)}let e1=(0,a.default)(()=>Promise.all([r.e(118),r.e(658),r.e(834)]).then(r.bind(r,9834)),{loadableGenerated:{webpack:()=>[9834]},ssr:!1}),e2=(0,a.default)(()=>r.e(623).then(r.bind(r,7623)),{loadableGenerated:{webpack:()=>[7623]},ssr:!1}),e4=(0,a.default)(()=>Promise.all([r.e(367),r.e(784)]).then(r.bind(r,3784)),{loadableGenerated:{webpack:()=>[3784]},ssr:!1}),e6=(0,a.default)(()=>r.e(20).then(r.bind(r,4020)),{loadableGenerated:{webpack:()=>[4020]},ssr:!1}),e8=(0,a.default)(()=>r.e(326).then(r.bind(r,2326)),{loadableGenerated:{webpack:()=>[2326]},ssr:!1,loading:()=>(0,i.jsx)(ei.Z,{})});function e3(){return(0,i.jsx)(ez,{children:(e,t)=>(0,i.jsx)(tt,{auth:e,onWorkspaceReady:t})})}let e5={id:"webapp-agent",title:"智能助手",kind:"webapp"},e7={id:"ai-hub",title:"AI Hub",kind:"aihub"},e9={id:"flow-studio",title:"Flow Studio",kind:"flowstudio"};function te(){var e;return"undefined"==typeof document?eF:eU(null===(e=document.getElementById("web-theme-root"))||void 0===e?void 0:e.dataset.webTheme).id}function tt(e){var t,r,n,a,g,x,v;let{auth:w,onWorkspaceReady:k}=e,[j,E]=(0,l.useState)(null),[S,z]=(0,l.useState)(0),N=(0,l.useCallback)(e=>{if((null==e?void 0:e.openMode)==="new-tab"){window.open(e.url,"_blank","noopener,noreferrer");return}E(e)},[]),C=(0,l.useCallback)(e=>E((null==e?void 0:e.openMode)==="current"?e:null),[]),T=(0,l.useRef)(null),L=(0,l.useRef)(null),I=(0,l.useRef)(null),[R,M]=(0,l.useState)({}),W=(0,l.useRef)(new Map),[P,A]=(0,l.useState)(0),[Z,F]=(0,l.useState)(!1),[O,D]=(0,l.useState)(!1),U=(0,l.useRef)(()=>{}),{state:q,epoch:V,rpc:_,onEvent:J,onTerminalData:K,onTerminalReset:G,sendTerminalInput:X}=function(e,t,r){let[n,i]=(0,l.useState)({connected:!1,error:null}),[a,s]=(0,l.useState)(0),d=(0,l.useRef)(null),c=(0,l.useRef)(0),u=(0,l.useRef)(new Map),p=(0,l.useRef)([]),f=(0,l.useRef)(0),m=(0,l.useRef)(new Map),b=(0,l.useRef)(new Map),h=(0,l.useRef)(new Map),g=(0,l.useRef)(1e3),x=(0,l.useRef)(!1),v=(0,l.useRef)(null),w=(0,l.useRef)(e),y=(0,l.useRef)(t),k=(0,l.useRef)(r);w.current=e,y.current=t,k.current=r;let j=(0,l.useCallback)((e,t)=>{let r=m.current.get(e);return r||m.current.set(e,r=new Set),r.add(t),()=>r.delete(t)},[]),E=(0,l.useCallback)((e,t)=>{let r=b.current.get(e);return r||b.current.set(e,r=new Set),r.add(t),()=>r.delete(t)},[]),S=(0,l.useCallback)((e,t)=>{let r=h.current.get(e);return r||h.current.set(e,r=new Set),r.add(t),()=>r.delete(t)},[]),z=(0,l.useCallback)((e,t)=>{let r=d.current;if(!r||r.readyState!==WebSocket.OPEN)return!1;let n=new TextEncoder().encode(t),i=new Uint8Array(6+n.byteLength),a=new DataView(i.buffer);return i[0]=1,i[1]=1,a.setUint32(2,e),i.set(n,6),r.send(i),!0},[]),N=(0,l.useCallback)(e=>{let t=d.current;(null==t?void 0:t.readyState)===WebSocket.OPEN?t.send(e):p.current.push(e)},[]),C=(0,l.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15e3;return new Promise((n,i)=>{var a;if(e.startsWith("browser:")&&(null===(a=d.current)||void 0===a?void 0:a.readyState)!==WebSocket.OPEN){i(Object.assign(Error("远程连接已断开,请等待重新连接"),{code:"EOFFLINE"}));return}let o=++f.current,l=setTimeout(()=>{u.current.delete(o),i(Error("".concat(e," timeout")))},r);u.current.set(o,{resolve:n,reject:i,timer:l,type:e}),N(JSON.stringify({type:e,_req:o,...t}))})},[N]),T=(0,l.useCallback)(async()=>{let e,t;x.current=!1;let r=++c.current;v.current&&(clearInterval(v.current),v.current=null);let n=d.current;if(n){n.onopen=n.onmessage=n.onerror=n.onclose=null;try{n.close()}catch(e){}}try{e=await y.current()}catch(e){r===c.current&&k.current();return}if(r===c.current&&!x.current){try{t=new WebSocket("".concat((0,o.qg)(),"?nonce=").concat(encodeURIComponent(e)))}catch(e){i({connected:!1,error:String(e)});return}t.binaryType="arraybuffer",d.current=t,t.onopen=()=>{if(r!==c.current||d.current!==t)return;for(let e of(g.current=1e3,i({connected:!0,error:null}),s(e=>e+1),p.current.splice(0)))t.send(e);let e=Date.now();v.current=setInterval(()=>{if(d.current!==t||t.readyState!==WebSocket.OPEN){clearInterval(v.current),v.current=null;return}if(Date.now()-e>25e3){try{t.close()}catch(e){}return}try{t.send(JSON.stringify({type:"ping"}))}catch(e){}},1e4);let n=()=>{e=Date.now()};t.addEventListener("message",n),t.addEventListener("close",()=>t.removeEventListener("message",n),{once:!0})},t.onmessage=e=>{var n,i,a;let l;if(r===c.current&&d.current===t){if("string"!=typeof e.data){let t=new Uint8Array(e.data);if(t.byteLength>=6&&1===t[0]&&(2===t[1]||6===t[1])){let e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(2);null===(i=b.current.get(e))||void 0===i||i.forEach(e=>e(t.subarray(6),6===t[1]))}else if(t.byteLength>=6&&1===t[0]&&3===t[1]){let e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(2);null===(a=h.current.get(e))||void 0===a||a.forEach(e=>e())}else w.current(t);return}try{l=JSON.parse(e.data)}catch(e){return}if("error"===l.type&&null!=l.id){let e=u.current.get(l.id);if(e){u.current.delete(l.id),clearTimeout(e.timer);let t=Object.assign(Error(l.error||"gateway error"),{code:l.code});e.reject(t)}return}if(null!=l.id&&"string"==typeof l.type&&l.type.endsWith(":result")){let e=u.current.get(l.id);(null==e?void 0:e.type)==="fs:preview-open"&&"string"==typeof l.url&&(l.url=(0,o.tA)(l.url)),e&&(u.current.delete(l.id),clearTimeout(e.timer),e.resolve(l));return}null===(n=m.current.get(l.type))||void 0===n||n.forEach(e=>e(l))}},t.onclose=e=>{if(r!==c.current||d.current!==t)return;for(let[e,t]of(v.current&&(clearInterval(v.current),v.current=null),d.current=null,u.current))t.type.startsWith("browser:")&&(clearTimeout(t.timer),u.current.delete(e),t.reject(Object.assign(Error("远程连接已断开,请重新接管"),{code:"EOFFLINE"})));if(i({connected:!1,error:null}),4001===e.code||4003===e.code){k.current();return}if(x.current)return;let n=g.current;g.current=Math.min(2*n,8e3),setTimeout(()=>{x.current||r!==c.current||T()},n)},t.onerror=()=>{}}},[]);return(0,l.useEffect)(()=>(T(),()=>{x.current=!0,c.current++,v.current&&(clearInterval(v.current),v.current=null);let e=d.current;if(d.current=null,e){e.onopen=e.onmessage=e.onerror=e.onclose=null;try{e.close()}catch(e){}}}),[T]),{state:n,epoch:a,rpc:C,onEvent:j,onTerminalData:E,onTerminalReset:S,sendTerminalInput:z,reconnect:T}}((0,l.useCallback)(e=>{let t=function(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(t.byteLength<10||1!==t[0]||t[1]!==eE.watcherFrame&&t[1]!==eE.producerFrame)return null;let r=new DataView(t.buffer,t.byteOffset,t.byteLength);return{type:t[1],channelId:r.getUint32(2,!1),sequence:r.getUint32(6,!1),payload:t.subarray(10)}}(e);if(t&&t.type===eE.watcherFrame)for(let e of(U.current(t.channelId,t.sequence),[T,L])){var r;if(!(null===(r=e.current)||void 0===r?void 0:r.contentWindow))continue;let n=t.payload.slice().buffer;e.current.contentWindow.postMessage({type:"agent-web-shell:browser-frame:v1",channelId:t.channelId,sequence:t.sequence,data:n},window.location.origin,[n])}},[]),w.getWsNonce,w.refresh),$=(0,l.useMemo)(()=>({request:(e,t,r)=>_(e,t,r),subscribe:(e,t)=>J("fs:event",t)}),[J,_]);U.current=(e,t)=>{_("browser:frame-ack",{channelId:e,sequence:t}).catch(()=>void 0)};let[Q,Y]=(0,l.useState)([{...e5}]),ee=(0,l.useRef)(Q);ee.current=Q;let[er,en]=(0,l.useState)(e5.id),[eo,el]=(0,l.useState)({}),ed=(0,l.useRef)(!1),[eh,eg]=(0,l.useState)(!1),[eS,ez]=(0,l.useState)(0),eN="agentroam:workspace:".concat((0,o.Ey)(),":").concat(null!==(g=null===(t=w.user)||void 0===t?void 0:t.id)&&void 0!==g?g:""),eC=(0,l.useRef)(null),eT=(0,l.useRef)(new Map),eL=(0,l.useRef)(new Map),eI=(0,l.useCallback)((e,t)=>{eT.current.set(e,t);let r=window.setTimeout(()=>{if(eT.current.get(e)!==t)return;let r=eL.current.get(e);r&&(eL.current.delete(e),t(r,!0))},180);return()=>{window.clearTimeout(r),eT.current.get(e)===t&&eT.current.delete(e)}},[]),eR=(0,l.useCallback)(e=>{var t;if(!er||(null===(t=Q.find(e=>e.id===er))||void 0===t?void 0:t.kind))return;let r=eT.current.get(er);r?r(e):_("term:input",{id:er,data:"\x15".concat(e)}).catch(()=>{}),eH(!1)},[er,_,Q]),[eM,eW]=(0,l.useState)(!1),[eP,eZ]=(0,l.useState)({}),[eF,eO]=(0,l.useState)(null),[eD,eH]=(0,l.useState)(!1),[e_,eJ]=(0,l.useState)("files"),[e3,tt]=(0,l.useState)(null),[tn,ti]=(0,l.useState)(!0),[ta,to]=(0,l.useState)(null),[tl,ts]=(0,l.useState)(!1),[td,tc]=(0,l.useState)([]),[tu,tp]=(0,l.useState)(eb.map((e,t)=>({id:"default-".concat(t+1),command:e}))),[tf,tm]=(0,l.useState)(te),[tb,th]=(0,l.useState)(!1),tg=function(e){let[t,r]=(0,l.useState)(()=>({userId:"",revision:0,visibleTools:[...ec],savedPages:null,updatedAt:""})),n=(0,l.useRef)(t),[i,a]=(0,l.useState)(!1),[o,s]=(0,l.useState)(!1),d=(0,l.useRef)(!1),c=(0,l.useRef)(!0),u=(0,l.useRef)(0),[p,f]=(0,l.useState)(""),[m,b]=(0,l.useState)(""),h=(0,l.useCallback)(e=>{n.current=e,c.current&&r(e)},[]),g=(0,l.useCallback)(async()=>{if(d.current)return;let t=++u.current;f(""),b("");try{let i=await em(e);if(null===i.savedPages){var r,n;let t=null!==(n=null===(r=B().find(e=>e.origin===location.origin))||void 0===r?void 0:r.pages)&&void 0!==n?n:[];try{i=await em(e,{expectedRevision:i.revision,initializePages:t})}catch(t){if(!(t instanceof ef)||409!==t.status)throw t;if(i=await em(e),null===i.savedPages)throw Error("电脑配置已更新,请重试旧页面导入。")}}if(!c.current||t!==u.current)return;h(i),a(!0);try{H(B().map(e=>{if(e.origin!==location.origin)return e;let{pages:t,...r}=e;return{...r,pagesMigrated:!0}}))}catch(e){}}catch(e){c.current&&t===u.current&&f(e instanceof Error?e.message:"无法读取电脑配置。")}},[h,e]);(0,l.useEffect)(()=>{c.current=!0,g();let e=()=>{g()};return window.addEventListener("focus",e),()=>{c.current=!1,u.current++,window.removeEventListener("focus",e)}},[g]);let x=(0,l.useCallback)(async t=>{if(!i||d.current)throw Error("配置尚未就绪,请稍后重试。");d.current=!0,u.current++,s(!0),f(""),b("");let r=n.current;t.visibleTools&&h({...r,visibleTools:t.visibleTools});try{h(await em(e,{...t,expectedRevision:r.revision})),c.current&&b("已保存到当前电脑")}catch(n){if(h(r),n instanceof ef&&409===n.status)try{h(await em(e))}catch(e){}let t=n instanceof Error?n.message:"电脑配置保存失败,请重试。";throw c.current&&f(t),Error(t)}finally{d.current=!1,c.current&&s(!1)}},[h,e,i]);return{settings:t,loaded:i,saving:o,error:p,notice:m,reload:g,setVisibleTools:e=>x({visibleTools:eu(e)}),setSavedPages:e=>x({savedPages:ep(e)})}}(w.csrfToken),[tx,tv]=(0,l.useState)(!1),tw=eU(tf),ty=(0,l.useRef)(null),[tk,tj]=(0,l.useState)(0),[tE,tS]=(0,l.useState)(!1),tz=(0,l.useRef)(null),tN=(0,l.useRef)(null),tC=(0,l.useCallback)(e=>{var t;for(let r of[T.current,L.current,I.current,...W.current.values()])null==r||null===(t=r.contentWindow)||void 0===t||t.postMessage({type:"agent-web-shell:skin:v1",skin:e},window.location.origin)},[]);(0,l.useEffect)(()=>{tC(tf)},[tf,tC]),(0,l.useEffect)(()=>{let e=tw.cssVars["--ui-root-bg"],t=tw.cssVars["--ui-color-scheme"],r=document.getElementById("web-theme-root");for(let[e,t]of Object.entries(tw.cssVars))null==r||r.style.setProperty(e,t);r&&(r.dataset.webTheme=tw.id),document.documentElement.style.background=e,document.documentElement.style.colorScheme=t,document.body.style.background=e,document.body.style.colorScheme=t;let n=document.querySelector('meta[name="theme-color"]');n||((n=document.createElement("meta")).name="theme-color",document.head.append(n)),n.content=tw.cssVars["--ui-tabbar-bg"]},[tw]),(0,l.useEffect)(()=>{let e=e=>{var t,r,n,i,a,o,l,s,d,c,u,p,f,m,b,h,g,x,v,w,y,j,E,S;let z=null!==(p=null===(t=I.current)||void 0===t?void 0:t.contentWindow)&&void 0!==p?p:null,N=function(e,t,r){if(!r||e.source!==r||e.origin!==t)return null;let n=e.data;return(null==n?void 0:n.type)==="agent-webapp:collaboration-changed:v1"&&"string"==typeof n.groupId&&/^[a-zA-Z0-9_-]{1,100}$/.test(n.groupId)?!0===n.deleted?{groupId:n.groupId,deleted:!0}:"string"==typeof n.title&&n.title.length>0&&n.title.length<=100?{groupId:n.groupId,title:n.title}:null:null}(e,window.location.origin,z);if(N){Y(e=>N.deleted?e.filter(e=>e.groupId!==N.groupId):e.map(e=>e.groupId===N.groupId?{...e,title:N.title}:e)),N.deleted?en(e=>e==="collaboration-".concat(N.groupId)?eQ.id:e):M(e=>({...e,[N.groupId]:(e[N.groupId]||0)+1}));return}let C=function(e,t,r){if(!r||e.source!==r||e.origin!==t)return null;let n=e.data;return(null==n?void 0:n.type)==="agent-webapp:collaboration-open:v1"&&"string"==typeof n.groupId&&/^[a-zA-Z0-9_-]{1,100}$/.test(n.groupId)&&"string"==typeof n.title&&n.title.length>0&&n.title.length<=100?{groupId:n.groupId,title:n.title}:null}(e,window.location.origin,e.source===z?z:null!==(f=null===(r=T.current)||void 0===r?void 0:r.contentWindow)&&void 0!==f?f:null);if(C){let e="collaboration-".concat(C.groupId);Y(t=>t.some(t=>t.id===e)?t:[...t,{id:e,title:C.title,kind:"collaboration",groupId:C.groupId}]),en(e);return}let R=null!==(m=null===(n=L.current)||void 0===n?void 0:n.contentWindow)&&void 0!==m?m:null,P=function(e,t,r){if(!r||e.origin!==t||e.source!==r)return null;let n=e.data;return(null==n?void 0:n.type)==="agent-webapp:remote-desktop-fullscreen:v1"&&"boolean"==typeof n.fullscreen?n.fullscreen:null}(e,window.location.origin,R);if(null!==P){F(P);return}if(eV(e,window.location.origin,R)){F(!1),A(e=>e+1),D(!1),tC(tf);return}if(R&&e.origin===window.location.origin&&e.source===R&&(null===(i=e.data)||void 0===i?void 0:i.type)==="agent-webapp:remote-desktop-content-ready:v1"){D(!0);return}if(e.origin===window.location.origin&&e.source===R&&R&&(null===(a=e.data)||void 0===a?void 0:a.type)==="agent-webapp:remote-desktop-close:v1"){F(!1),_("browser:unwatch").catch(()=>{}),Y(e=>e.filter(e=>"remote-desktop"!==e.kind)),A(0),D(!1),en(e5.id);return}if(w=window.location.origin,y=null!==(b=null===(o=T.current)||void 0===o?void 0:o.contentWindow)&&void 0!==b?b:null,e.origin!==w||e.source!==y?null:(j=e.data)&&"object"==typeof j?j.type!==ej?null:{type:ej}:null){Y(e$),en(eX.id);return}if(eV(e,window.location.origin,null!==(h=null===(l=T.current)||void 0===l?void 0:l.contentWindow)&&void 0!==h?h:null)){tv(!0),k();return}let Z=null===(s=[...W.current.values()].find(t=>t.contentWindow===e.source))||void 0===s?void 0:s.contentWindow,O=(0,ek.im)(e,window.location.origin,null!==(g=null!=Z?Z:null===(d=T.current)||void 0===d?void 0:d.contentWindow)&&void 0!==g?g:null);if(O){let e=e=>{eJ("files"),eH(!(0,ek.AU)(e)),eO(e),(0,ek.AU)(e)||to({...O,path:e})};O.path.startsWith("~/")?_("hello").then(t=>{let{home:r}=t,n=function e(t,r,n){let i=t.trim();if(!i||/[\0\r\n]/.test(i))return null;if((0,ek.AU)(i))return i;if(i.startsWith("~/")){let t=i.slice(2);return!t||t.split(/[\\/]/).includes("..")?null:n?e(t,n):i}if(e0(i))return i;if(!r||!e0(r))return null;let a=i.replaceAll("\\","/").split("/").filter(e=>e&&"."!==e);if(0===a.length||a.some(e=>".."===e))return null;let o=/^[A-Za-z]:[\\/]/.test(r)||r.startsWith("\\\\")?"\\":"/";return"".concat(r.replace(/[\\/]+$/,"")).concat(o).concat(a.join(o))}(O.path,null,r);n&&e(n)}).catch(()=>{}):e(O.path);return}let U=e.source===R&&R?R:null!==(x=null===(c=T.current)||void 0===c?void 0:c.contentWindow)&&void 0!==x?x:null,B=(E=window.location.origin,e.origin!==E||e.source!==U?null:(S=e.data)&&"object"==typeof S?"agent-webapp:browser-request:v1"!==S.type||!Number.isSafeInteger(S.id)||1>Number(S.id)||"string"!=typeof S.method||!ey.has(S.method)||!S.payload||"object"!=typeof S.payload||Array.isArray(S.payload)?null:S:null);if(B){_(B.method,{...B.payload,..."browser:watch"===B.method?{frameAck:!0}:{}}).then(e=>{null==U||U.postMessage({type:ev,id:B.id,ok:!0,result:e},window.location.origin)},e=>{null==U||U.postMessage({type:ev,id:B.id,ok:!1,error:e.message||"浏览器操作失败",code:e.code},window.location.origin)});return}ex(e,window.location.origin,[null!==(v=null===(u=T.current)||void 0===u?void 0:u.contentWindow)&&void 0!==v?v:null,z,...[...W.current.values()].map(e=>e.contentWindow)],_)};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[k,_,tC,tf]),(0,l.useEffect)(()=>{let e=e=>{var t,r;for(let n of[T,L])null===(r=n.current)||void 0===r||null===(t=r.contentWindow)||void 0===t||t.postMessage({type:ew,event:e},window.location.origin)},t=["browser:session","browser:frame","browser:state","browser:closed","browser:webrtc"].map(t=>J(t,e));return()=>t.forEach(e=>e())},[J]),(0,l.useEffect)(()=>{var e,t;tx&&(null===(t=T.current)||void 0===t||null===(e=t.contentWindow)||void 0===e||e.postMessage({type:ew,event:{type:"browser:connection",connected:q.connected,epoch:V}},window.location.origin))},[q.connected,V,tx]),(0,l.useEffect)(()=>{var e,t;P&&(null===(t=L.current)||void 0===t||null===(e=t.contentWindow)||void 0===e||e.postMessage({type:"agent-web-shell:remote-desktop-visibility:v1",visible:er===eX.id},window.location.origin))},[er,P]),(0,l.useEffect)(()=>{var e,t;P&&(null===(t=L.current)||void 0===t||null===(e=t.contentWindow)||void 0===e||e.postMessage({type:ew,event:{type:"browser:connection",connected:q.connected,epoch:V}},window.location.origin))},[q.connected,V,P]);let tT=(0,l.useRef)(0),tL=er&&null!==(x=eo[er])&&void 0!==x?x:null;(0,l.useEffect)(()=>{let e=window.visualViewport,t=null,r="",n=()=>{let i=(0,eq.x)(e,{height:window.innerHeight,width:window.innerWidth}),a="".concat(i.width,"x").concat(i.height,"+").concat(i.top,"+").concat(i.left);a!==r&&(r=a,document.documentElement.style.setProperty("--vv-height","".concat(i.height,"px")),document.documentElement.style.setProperty("--vv-width","".concat(i.width,"px")),document.documentElement.style.setProperty("--vv-top","".concat(i.top,"px")),document.documentElement.style.setProperty("--vv-left","".concat(i.left,"px")),t&&window.clearTimeout(t),t=window.setTimeout(n,250))};return n(),null==e||e.addEventListener("resize",n),null==e||e.addEventListener("scroll",n),window.addEventListener("orientationchange",n),window.addEventListener("resize",n),document.addEventListener("visibilitychange",n),window.addEventListener("pageshow",n),()=>{null==e||e.removeEventListener("resize",n),null==e||e.removeEventListener("scroll",n),window.removeEventListener("orientationchange",n),window.removeEventListener("resize",n),document.removeEventListener("visibilitychange",n),window.removeEventListener("pageshow",n),t&&window.clearTimeout(t),document.documentElement.style.removeProperty("--vv-height"),document.documentElement.style.removeProperty("--vv-width"),document.documentElement.style.removeProperty("--vv-top"),document.documentElement.style.removeProperty("--vv-left")}},[]),(0,l.useEffect)(()=>{fetch("/api/web-console/preferences",{credentials:"same-origin"}).then(e=>e.json()).then(e=>{var t,r,n,i;"boolean"==typeof(null===(t=e.preferences)||void 0===t?void 0:t.keybarHidden)&&ts(e.preferences.keybarHidden),Array.isArray(null===(r=e.preferences)||void 0===r?void 0:r.keyOrder)&&tc(e.preferences.keyOrder),Array.isArray(null===(n=e.preferences)||void 0===n?void 0:n.pinnedCommands)&&tp(e.preferences.pinnedCommands),(null===(i=e.preferences)||void 0===i?void 0:i.theme)&&tm(eU(e.preferences.theme).id)}).catch(()=>{}).finally(()=>th(!0)),fetch("/api/web-console/device-state",{credentials:"same-origin"}).then(e=>e.json()).then(e=>{let t=e.deviceState;(null==t?void 0:t.drawerTab)&&eJ(t.drawerTab),(null==t?void 0:t.activeTerminalId)&&(eC.current=t.activeTerminalId),"boolean"==typeof(null==t?void 0:t.drawerOpen)&&eH(t.drawerOpen),(null==t?void 0:t.fileTreeRoot)&&tt(t.fileTreeRoot),"boolean"==typeof(null==t?void 0:t.fileTreeFollowMode)&&ti(t.fileTreeFollowMode),(null==t?void 0:t.selectedFile)&&eO(t.selectedFile),(null==t?void 0:t.terminalScroll)&&"object"==typeof t.terminalScroll&&eZ(t.terminalScroll)}).catch(()=>{}).finally(()=>eW(!0))},[]);let tI=(0,l.useCallback)(e=>{fetch("/api/web-console/preferences",{method:"PATCH",credentials:"same-origin",headers:{"content-type":"application/json","x-csrf-token":w.csrfToken},body:JSON.stringify(e)}).catch(()=>{})},[w.csrfToken]);(0,l.useEffect)(()=>{if(!tb)return;let e=setTimeout(()=>tI({keybarHidden:tl,keyOrder:td,pinnedCommands:tu,theme:tf}),500);return()=>clearTimeout(e)},[tl,td,tu,tf,tb,tI]);let tR=(0,l.useCallback)(e=>{w.csrfToken&&fetch("/api/web-console/device-state",{method:"PUT",credentials:"same-origin",keepalive:!0,headers:{"content-type":"application/json","x-csrf-token":w.csrfToken},body:JSON.stringify(e)}).catch(()=>{})},[w.csrfToken]);(0,l.useEffect)(()=>{if(!w.csrfToken||!eh||!eM)return;let e=setTimeout(()=>tR({activeTerminalId:er,drawerOpen:eD,drawerTab:e_,fileTreeRoot:e3,fileTreeFollowMode:tn,selectedFile:eF,terminalScroll:eP}),500);return()=>clearTimeout(e)},[er,eD,e_,e3,tn,eF,eP,w.csrfToken,tR,eh,eM]),(0,l.useEffect)(()=>{if(!w.csrfToken||!eh||!eM)return;let e=()=>tR({activeTerminalId:er,drawerOpen:eD,drawerTab:e_,fileTreeRoot:e3,fileTreeFollowMode:tn,selectedFile:eF,terminalScroll:eP});return window.addEventListener("pagehide",e),()=>window.removeEventListener("pagehide",e)},[er,eD,e_,e3,tn,eF,eP,w.csrfToken,tR,eh,eM]);let tM=(0,l.useCallback)(e=>{eO(e),eH(!1)},[]),tW=(0,l.useCallback)(()=>{if(Q.length>=8)return;let e="t-web-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,8));Y(t=>t.length>=8?t:[...t,{id:e,title:"Terminal ".concat(t.length+1)}]),en(e)},[Q.length]),tP=(0,l.useCallback)(e=>{var t;let r=Q.find(e=>e.id===er);if((null==r?void 0:r.kind)&&"webapp"!==r.kind)return;if(r&&!r.kind){let t=eT.current.get(r.id);t?t(e,!0):eL.current.set(r.id,e),eH(!1);return}let n=Q.length>=8?Q.find(e=>!e.kind):null,i=null!==(t=null==n?void 0:n.id)&&void 0!==t?t:"t-web-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,8));n?eL.current.set(i,e):Y(t=>[...t,{id:i,title:"Terminal ".concat(t.length+1),initialCommand:e}]),en(i),eH(!1)},[er,Q]);(0,l.useEffect)(()=>{let e;if(!q.connected||!eM||ed.current)return;ed.current=!0;let t=!1,r=!1;return _("term:list").then(e=>{if(t)return;let n=null;try{n=eG(localStorage.getItem(eN))}catch(e){}let i=function(e,t,r){var n;let i=new Map(t.filter(e=>"active"===e.status||"detached"===e.status).map(e=>[e.id,{id:e.id,title:e.title}])),a=[],o=new Set;for(let t of[...null!==(n=null==e?void 0:e.tabs)&&void 0!==n?n:[],...r,...i.values()])!o.has(t.id)&&(t.kind||i.has(t.id))&&(o.add(t.id),a.push(t.kind?t:i.get(t.id)));return a}(n,e.tabs,ee.current);Y(i),en(e=>{let t=ee.current.find(t=>t.id===e&&t.kind&&"webapp"!==t.kind);if(t)return t.id;let r=(null==n?void 0:n.activeTerminalId)||eC.current||e||e5.id;return r===e5.id?e5.id:i.some(e=>e.id===r)?r:e5.id}),r=!0,eg(!0)}).catch(()=>{t||(ed.current=!1,e=setTimeout(()=>ez(e=>e+1),2e3))}),()=>{t=!0,clearTimeout(e),r||(ed.current=!1)}},[q.connected,eM,_,eN,eS]),(0,l.useLayoutEffect)(()=>{if(eh)try{let e=eG(JSON.stringify({tabs:Q,activeTerminalId:er}));localStorage.setItem(eN,JSON.stringify(e))}catch(e){}},[Q,er,eh,eN]);let tA=e=>{var t;if(e===e5.id)return;let r=null===(t=Q.find(t=>t.id===e))||void 0===t?void 0:t.kind;"remote-desktop"===r&&(A(0),D(!1),_("browser:unwatch").catch(()=>{})),(r||window.confirm("关闭页签会终止该终端进程,确认关闭?"))&&(Y(t=>{var r,n;let i=t.filter(t=>t.id!==e);return er===e&&en(null!==(n=null===(r=i[0])||void 0===r?void 0:r.id)&&void 0!==n?n:null),i}),r||_("term:kill",{id:e}).catch(()=>{}))},tZ=(0,l.useCallback)(()=>{Y(e=>{let t=e.find(e=>"aihub"===e.kind);return t?(en(t.id),e):(en(e7.id),[...e,{...e7}])})},[]),tF=(0,l.useCallback)(()=>{Y(e=>{let t=e.find(e=>"flowstudio"===e.kind);return t?(en(t.id),e):(en(e9.id),[...e,{...e9}])})},[]),tO=(0,l.useCallback)(()=>{Y(e$),en(eX.id)},[]);(0,l.useEffect)(()=>{let e=J("term:exited",e=>{let t=null==e?void 0:e.id;t&&(Y(e=>{let r=e.filter(e=>e.id!==t);return en(e=>{var n,i;return e===t?null!==(i=null===(n=r[0])||void 0===n?void 0:n.id)&&void 0!==i?i:null:e}),r}),eZ(e=>{if(!(t in e))return e;let r={...e};return delete r[t],r}))});return()=>{e()}},[J]);let tD=(0,l.useCallback)(e=>{if(!er||Q.length<2)return;let t=(Q.findIndex(e=>e.id===er)+e+Q.length)%Q.length;en(Q[t].id)},[er,Q]),tU=Math.max(0,Q.findIndex(e=>e.id===er)),tB=(null===(r=Q[tU])||void 0===r?void 0:r.kind)==="webapp"?tw.cssVars["--ui-term-col-bg"]:tw.termHostBg,tq={...tr.root,...tw.cssVars,"--ui-active-content-bg":tB,"--ui-terminal-bg":tw.termHostBg,"--ui-primary-text":tw.keybar.accentText,background:"var(--ui-root-bg)",color:"var(--ui-text)"},tH=(0,l.useCallback)(()=>{ty.current=null,tj(0),tS(!1)},[]),tV=(0,l.useCallback)(e=>{Math.abs(e)>=64&&Q.length>1&&tD(e<0?1:-1),tH()},[Q.length,tD,tH]),t_=e=>e instanceof Element&&!!e.closest(".terminal-screen");(0,l.useEffect)(()=>{let e=e=>{var t,r,n,i,a;if(er!==e5.id)return;let o=(n=window.location.origin,i=null!==(r=null===(t=T.current)||void 0===t?void 0:t.contentWindow)&&void 0!==r?r:null,e.origin!==n||e.source!==i?null:(a=e.data)&&"object"==typeof a&&"agent-webapp:tab-swipe:v1"===a.type&&("move"===a.phase||"end"===a.phase||"cancel"===a.phase)&&"number"==typeof a.deltaX&&Number.isFinite(a.deltaX)?a:null);o&&("move"===o.phase?(tS(!0),tj(o.deltaX)):"end"===o.phase?tV(o.deltaX):tH())};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[er,tV,tH]);let tJ=(0,l.useCallback)(function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"smooth",r=tN.current;if(!r||!er)return;let n=r.querySelector('[data-terminal-id="'.concat(er,'"]'));if(!n)return;if(n===r.querySelector("[data-terminal-id]")){(0,eq.i)(r);return}let i=r.querySelector(".terminal-connection"),a=null!==(e=null==i?void 0:i.offsetWidth)&&void 0!==e?e:0,o=n.offsetLeft,l=o+n.offsetWidth,s=r.scrollLeft,d=s+r.clientWidth-a;o<s+8?r.scrollTo({left:Math.max(0,o-8),behavior:t}):l>d-8&&r.scrollTo({left:l-r.clientWidth+a+8,behavior:t})},[er]);return(0,l.useLayoutEffect)(()=>{if(!er)return;let e=Q.length>tT.current;tT.current=Q.length,tJ(e?"auto":"smooth")},[er,Q.length,tJ]),(0,l.useEffect)(()=>{let e=()=>requestAnimationFrame(()=>tJ("auto"));return window.addEventListener("pageshow",e),()=>window.removeEventListener("pageshow",e)},[tJ]),(0,i.jsxs)("div",{className:"web-root ".concat(Z&&er===eX.id&&!j?"is-remote-fullscreen":""),style:tq,children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:'\n .web-root.is-remote-fullscreen > .terminal-tabs { display: none; }\n .web-root.is-remote-fullscreen .tree-col,\n .web-root.is-remote-fullscreen .preview-col { display: none; }\n\n html, body { width:100%; height:100%; margin:0; overflow:hidden; background:var(--ui-root-bg, #0b0b10); overscroll-behavior:none; color:var(--ui-text, #e8e8ee); }\n * { -webkit-tap-highlight-color: transparent; }\n .terminal-tabs { display:flex; align-items:end; gap:4px; min-height:38px; padding:0 8px; background:var(--ui-tabbar-bg, #12141b); border-bottom:0; flex-shrink:0; }\n .terminal-tab-list[hidden],.terminal-add[hidden]{display:none}\n .computer-page-heading{display:flex;align-items:center;gap:4px;flex:1;min-width:0;color:var(--ui-text,#e8e8ee);font-size:13px}.computer-page-heading>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.computer-page-heading a{text-decoration:none;display:grid;place-items:center;flex-shrink:0}\n .computer-page-pane{position:relative;flex:1;min-height:0;background:var(--ui-root-bg,#0b0b10)}.computer-page-pane>iframe{width:100%;height:100%;border:0;display:block}.computer-page-fallback{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);color:var(--ui-tab-accent,#7aa2f7);font-size:13px;z-index:2}\n .computer-page-blocked{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px;color:var(--ui-text,#e8e8ee)}.computer-page-blocked h2{font-size:20px;margin:0}.computer-page-blocked p{max-width:420px;line-height:1.7;color:var(--ui-muted-text,#999dab);margin:0}.computer-page-blocked a{display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:8px;background:var(--ui-tab-accent,#7aa2f7);color:var(--ui-root-bg,#0b0b10);text-decoration:none}\n .terminal-tab-list { position:relative; display:flex; align-items:end; gap:4px; flex:0 1 auto; min-width:0; height:100%; overflow-x:auto; overflow-y:hidden; touch-action:pan-x; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scroll-behavior:smooth; scrollbar-width:none; }\n .terminal-tab { display:flex; align-items:center; flex-shrink:0; gap:7px; min-width:74px; max-width:130px; height:32px; padding:0 7px 0 10px; border-radius:7px 7px 0 0; background:var(--ui-tab-bg, #1b1e28); color:var(--ui-tab-text, #8f93a4); font-size:11px; cursor:pointer; box-sizing:border-box; transition:color .2s ease,box-shadow .2s ease; }\n .terminal-tab.active { color:var(--ui-tab-active-text, #edf0f7); background:var(--ui-active-content-bg, var(--ui-tab-active-bg, #262b38)); box-shadow:inset 0 2px var(--ui-tab-accent, #7aa2f7); }\n .terminal-tab span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }\n .terminal-tab button { width:18px; height:18px; border:0; border-radius:4px; background:transparent; color:var(--ui-tab-text, #707586); padding:0; }\n .terminal-add { flex-shrink:0; min-width:30px; height:28px; margin-bottom:2px; border:1px solid var(--ui-tabbar-border, #303442); border-radius:6px; background:var(--ui-tab-bg, #1b1e28); color:var(--ui-tab-text, #9da2b2); }\n .terminal-connection { align-self:stretch; display:flex; align-items:center; margin-left:auto; padding:0 9px; background:var(--ui-connection-bg, #12141b); color:var(--ui-connection-text, #777b8c); font-size:10.5px; flex-shrink:0; z-index:5; }\n .file-drawer-toggle { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--ui-connection-text, #777b8c); cursor:pointer; flex-shrink:0; touch-action:manipulation; }\n .file-drawer-toggle:hover, .file-drawer-toggle[aria-expanded="true"] { background:color-mix(in srgb, var(--ui-tab-accent, #7aa2f7) 12%, transparent); color:var(--ui-tab-active-text, #edf0f7); }\n .file-drawer-toggle:focus-visible { outline:2px solid var(--ui-tab-accent, #7aa2f7); outline-offset:-2px; }\n .theme-avatar-with-status { position:relative; display:flex; flex-shrink:0; }\n .theme-avatar-status { position:absolute; right:-2px; bottom:-2px; z-index:7; width:6px; height:6px; box-sizing:border-box; border:1px solid var(--ui-connection-bg, #12141b); border-radius:50%; background:var(--ui-error); pointer-events:none; }\n .theme-avatar-status[data-connected="true"] { background:var(--ui-success); }\n .theme-picker { position:relative; display:flex; align-items:center; flex-shrink:0; }\n .responsive-toolbar { position:relative; display:flex; align-items:center; flex-shrink:0; gap:0; z-index:6; }\n .toolbar-avatar, .toolbar-slot { display:flex; align-items:center; flex-shrink:0; }\n .toolbar-size-measure { position:fixed; top:-1000px; visibility:hidden; pointer-events:none; }\n .toolbar-tools { display:flex; align-items:center; flex-shrink:0; gap:0; }\n .toolbar-tools-expanded { flex-wrap:wrap; padding:4px; }\n .theme-avatar { position:relative; display:flex; align-items:center; justify-content:center; width:18px; height:18px; padding:0; border-radius:99px; font-size:9px; font-weight:700; cursor:pointer; flex-shrink:0; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:transform .12s ease, filter .12s ease; }\n /* Hit-area padding keeps the compact visual circle easy to target. */\n .theme-avatar::after { content:""; position:absolute; inset:-6px; border-radius:99px; }\n .theme-avatar:active { transform:scale(.9); filter:brightness(1.15); }\n .theme-popover-item { display:flex; align-items:center; gap:8px; padding:7px 8px; border:none; border-radius:8px; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }\n .theme-popover-item:active { background:color-mix(in srgb, var(--ui-tab-accent, #7aa2f7) 22%, transparent); }\n /* Touch devices: keep hit areas tall while packing icons horizontally.\n The tab bar must grow in step — it clips overflow-y, so an expanded\n hit area taller than the bar would get cut off. */\n @media (pointer: coarse) {\n .terminal-tabs { min-height:44px; }\n .theme-avatar-with-status { width:36px; height:44px; align-items:center; justify-content:center; }\n .theme-avatar::after { inset:-13px -9px; }\n .theme-avatar-status { right:6px; bottom:10px; }\n .toolbar-tools .file-drawer-toggle, .responsive-toolbar .file-drawer-toggle { width:32px; height:40px; }\n .theme-popover-item { padding-top:11px; padding-bottom:11px; }\n }\n @media (prefers-reduced-motion: reduce) { .theme-avatar { transition:none; } }\n .terminal-track { display:flex; width:100%; height:100%; will-change:transform; }\n .terminal-slide { position:relative; flex:0 0 100%; width:100%; height:100%; min-width:0; overflow:hidden; }\n .webapp-frame { display:block; width:100%; height:100%; border:0; background:var(--ui-term-col-bg, #101014); }\n .terminal-surface { position:relative; flex:1; min-height:90px; overflow:hidden; }\n .terminal-screen { display:flex; flex-direction:column; width:100%; min-height:0; overflow:hidden; box-sizing:border-box; }\n .terminal-screen .xterm { flex:1; height:100%; background:var(--ui-terminal-bg, #101014); }\n .terminal-screen .xterm .xterm-viewport { background-color:var(--ui-terminal-bg, #101014); }\n .terminal-screen .xterm-scrollable-element { touch-action:pan-y; -webkit-overflow-scrolling:touch; }\n .terminal-boot { position:absolute; inset:0; z-index:46; display:flex; align-items:center; justify-content:center; gap:9px; pointer-events:auto; font-size:12px; line-height:1.4; letter-spacing:0; }\n .terminal-boot-spinner { width:16px; height:16px; box-sizing:border-box; border:2px solid color-mix(in srgb,currentColor 24%,transparent); border-top-color:currentColor; border-radius:50%; animation:terminal-boot-spin .8s linear infinite; }\n .terminal-boot-warning { position:absolute; top:9px; left:50%; z-index:45; transform:translateX(-50%); max-width:calc(100% - 24px); padding:5px 8px; border:1px solid; border-radius:6px; pointer-events:none; font-size:11px; line-height:1.35; letter-spacing:0; white-space:normal; text-align:center; }\n @keyframes terminal-boot-spin { to { transform:rotate(360deg); } }\n @media (prefers-reduced-motion: reduce) { .terminal-track,.terminal-tab { transition:none !important; } .terminal-boot-spinner { animation:none !important; } }\n .web-root {\n position: fixed;\n top: var(--vv-top, 0px);\n left: var(--vv-left, 0px);\n width: var(--vv-width, 100vw);\n height: var(--vv-height, 100dvh) !important;\n }\n .tree-scroll {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n overflow-x: hidden;\n overscroll-behavior: contain;\n touch-action: pan-y;\n -webkit-overflow-scrolling: touch;\n padding: 6px;\n }\n .tree-location {\n position: sticky;\n top: -6px;\n z-index: 3;\n display: flex;\n align-items: center;\n gap: 5px;\n margin: -1px -1px 0;\n padding: 7px 7px 5px;\n background: color-mix(in srgb, var(--ui-tree-bg, #121218) 98%, transparent);\n }\n .tree-location input {\n flex: 1;\n min-width: 0;\n height: 28px;\n border: 1px solid var(--ui-panel-input-border, #30303b);\n border-radius: 6px;\n outline: none;\n padding: 0 8px;\n background: var(--ui-panel-input-bg, #0f0f15);\n color: var(--ui-panel-input-text, #d8d8df);\n font-family: "SF Mono", Menlo, monospace;\n font-size: 10.5px;\n }\n .tree-location input:focus { border-color: var(--ui-tab-accent, #536b9e); }\n .tree-location button {\n width: 28px;\n height: 28px;\n flex-shrink: 0;\n border: 1px solid var(--ui-panel-input-border, #30303a);\n border-radius: 6px;\n background: var(--ui-tab-bg, #202029);\n color: var(--ui-tab-text, #aaaab8);\n font-size: 12px;\n }\n .tree-location button[data-active="1"] {\n border-color: var(--ui-success, #4f6f58);\n color: var(--ui-success, #9ece6a);\n background: color-mix(in srgb, var(--ui-success, #9ece6a) 12%, var(--ui-tree-bg, #18221b));\n }\n .tree-head button { height:26px; padding:0 10px; border:0; border-radius:6px 6px 0 0; background:transparent; color:var(--ui-drawer-tab-text, #74798a); font-size:11px; }\n .tree-head button.drawer-tab-active { color:var(--ui-drawer-tab-active, #e4e7ef); box-shadow:inset 0 -2px var(--ui-tab-accent, #7aa2f7); }\n .history-panel { flex:1; min-height:0; overflow:auto; padding:7px; }\n .pinned-commands { position:sticky; top:0; z-index:3; margin:-1px -1px 7px; border:1px solid var(--ui-tabbar-border, #252832); border-radius:6px; background:var(--ui-tree-bg, #121218); box-shadow:0 7px 12px color-mix(in srgb, var(--ui-root-bg, #0b0b10) 58%, transparent); overflow:hidden; }\n .pinned-command-head { display:flex; align-items:center; min-height:30px; padding:0 6px 0 10px; border-bottom:1px solid var(--ui-tabbar-border, #252832); color:var(--ui-history-meta, #74798a); font-size:10px; }\n .pinned-command-head span { flex:1; }\n .pinned-command-row { display:flex; align-items:center; min-height:34px; border-bottom:1px solid color-mix(in srgb, var(--ui-tabbar-border, #252832) 76%, transparent); cursor:pointer; outline:none; }\n .pinned-command-row:last-child { border-bottom:0; }\n .pinned-command-row:hover,.pinned-command-row:focus-visible { background:color-mix(in srgb, var(--ui-tab-active-bg, #1f2430) 76%, transparent); }\n .pinned-command-row:focus-visible { box-shadow:inset 2px 0 var(--ui-tab-accent, #7aa2f7); }\n .pinned-command-dragging { opacity:.66; background:var(--ui-tab-active-bg, #1f2430); }\n .pinned-command-row code { flex:1; min-width:0; padding:0 5px; overflow:hidden; color:var(--ui-history-item-text, #d3d6df); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }\n .pinned-command-grip { display:inline-flex; align-items:center; justify-content:center; width:28px; height:32px; padding:0; border:0; background:transparent; color:var(--ui-history-meta, #626777); cursor:grab; touch-action:none; }\n .pinned-command-grip:active { cursor:grabbing; }\n .pinned-command-actions { display:flex; align-items:center; padding-right:3px; opacity:.42; transition:opacity .15s ease; }\n .pinned-command-row:hover .pinned-command-actions,.pinned-command-row:focus-within .pinned-command-actions { opacity:1; }\n .pinned-command-editor { display:grid; grid-template-columns:minmax(0,1fr) 27px 27px; gap:4px; align-items:center; min-height:39px; padding:4px 5px 4px 8px; border-bottom:1px solid var(--ui-tabbar-border, #252832); }\n .pinned-command-editor input { min-width:0; height:27px; box-sizing:border-box; border:1px solid var(--ui-tab-accent, #536b9e); border-radius:5px; outline:none; padding:0 7px; background:var(--ui-panel-input-bg, #0f0f15); color:var(--ui-panel-input-text, #ddd); font-family:"SF Mono",Menlo,monospace; font-size:10.5px; }\n .pinned-command-editor small { grid-column:1 / -1; color:var(--ui-danger, #e06c75); font-size:9px; }\n .terminal-clipboard-notice { padding:4px 8px; flex-shrink:0; font-size:12px; }\n .terminal-native-touch, .terminal-native-touch .xterm-screen, .terminal-native-touch .terminal-native-rows, .terminal-native-touch .terminal-native-rows * { -webkit-user-select:text !important; user-select:text !important; -webkit-touch-callout:default; }\n .terminal-native-touch .terminal-native-rows { position:absolute; top:0; left:0; z-index:4; pointer-events:auto !important; }\n .terminal-native-touch .xterm-rows:not(.terminal-native-rows) { -webkit-user-select:none !important; user-select:none !important; }\n .terminal-native-touch .terminal-native-rows span { display:inline !important; }\n .terminal-native-touch .xterm-helper-textarea { opacity:1; background:transparent; color:transparent; -webkit-text-fill-color:transparent; caret-color:transparent; outline:none; text-shadow:none; -webkit-appearance:none; appearance:none; -webkit-user-select:text; user-select:text; -webkit-touch-callout:default; font-size:16px !important; left:var(--native-input-left, 0px) !important; top:var(--native-input-top, 0px) !important; width:var(--native-input-width, 80px) !important; height:var(--native-input-height, 32px) !important; z-index:10 !important; pointer-events:var(--native-input-events, none); }\n .history-search { display:flex; gap:5px; padding:5px; background:var(--ui-tree-bg, #121218); }\n .history-search input { flex:1; min-width:0; height:28px; border:1px solid var(--ui-panel-input-border, #30303a); border-radius:6px; padding:0 8px; background:var(--ui-panel-input-bg, #0f0f15); color:var(--ui-panel-input-text, #ddd); font-size:11px; }\n .history-icon-button { display:inline-flex; align-items:center; justify-content:center; width:27px; min-width:27px; height:27px; padding:0; border:1px solid var(--ui-panel-input-border, #30303a); border-radius:5px; background:var(--ui-tab-bg, #202029); color:var(--ui-connection-text, #999dab); }\n .history-icon-button:hover:not(:disabled) { color:var(--ui-drawer-tab-active, #e4e7ef); border-color:var(--ui-tab-accent, #536b9e); }\n .history-icon-button:disabled { cursor:not-allowed; opacity:.32; }\n .history-icon-danger:hover:not(:disabled) { color:var(--ui-danger, #e06c75); border-color:color-mix(in srgb, var(--ui-danger, #e06c75) 60%, var(--ui-panel-input-border, #30303a)); }\n .history-item { padding:9px 7px; border-bottom:1px solid var(--ui-tabbar-border, #242731); cursor:pointer; border-radius:6px; }\n .history-item:hover { background:color-mix(in srgb, var(--ui-tab-active-bg, #181b24) 80%, transparent); }\n .history-item:active { background:var(--ui-tab-active-bg, #1f2430); }\n .history-item-disabled { cursor:not-allowed; opacity:.55; }\n .history-item-disabled:hover { background:transparent; }\n .history-item:focus-visible { outline:1px solid var(--ui-tab-accent, #536b9e); outline-offset:-1px; }\n .history-item code { display:block; color:var(--ui-history-item-text, #d3d6df); font-size:11px; overflow-wrap:anywhere; }\n .history-item small { display:block; margin:4px 0 7px; color:var(--ui-history-meta, #656a79); font-size:9.5px; }\n .history-item-actions { display:flex; gap:5px; }\n .history-empty { padding:18px; color:#5d6270; font-size:11px; text-align:center; }\n @media (pointer:coarse) { .pinned-command-actions { opacity:.78; } }\n .keybar-scroll { scrollbar-width:none; }\n .keybar-scroll::-webkit-scrollbar { display:none; }\n .tree-filter {\n position: sticky;\n top: 34px;\n z-index: 2;\n display: flex;\n align-items: center;\n gap: 6px;\n margin: -1px -1px 7px;\n padding: 7px 8px;\n border-bottom: 1px solid var(--ui-tabbar-border, #25252e);\n background: color-mix(in srgb, var(--ui-tree-bg, #121218) 97%, transparent);\n color: var(--ui-history-meta, #666678);\n backdrop-filter: blur(8px);\n }\n .tree-filter input {\n flex: 1;\n min-width: 0;\n height: 27px;\n border: 1px solid var(--ui-panel-input-border, #30303a);\n border-radius: 6px;\n outline: none;\n padding: 0 8px;\n background: var(--ui-panel-input-bg, #0f0f15);\n color: var(--ui-panel-input-text, #d8d8df);\n font-size: 11px;\n }\n .tree-filter input:focus { border-color: var(--ui-tab-accent, #536b9e); }\n @media (max-width:768px), (pointer:coarse) {\n .pinned-command-editor input, .history-search input, .tree-filter input { font-size:16px; }\n .terminal-screen .xterm-helper-textarea { font-size:16px !important; }\n }\n .tree-filter button {\n width: 25px;\n height: 25px;\n padding: 0;\n border: 0;\n border-radius: 5px;\n background: var(--ui-tab-bg, #24242d);\n color: var(--ui-connection-text, #9999a6);\n font-size: 10px;\n }\n .tree-row {\n display: flex;\n align-items: center;\n gap: 6px;\n min-height: 31px;\n padding-right: 7px;\n border-radius: 6px;\n font-size: 12px;\n white-space: nowrap;\n cursor: pointer;\n }\n .tree-disclosure {\n width: 13px;\n min-width: 13px;\n height: 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--ui-history-meta, #777785);\n }\n .tree-entry-icon {\n width: 17px;\n min-width: 17px;\n height: 17px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .tree-folder-icon { color: var(--ui-tab-accent, #7aa2f7); }\n .tree-entry-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\n .tree-spin { animation:tree-spin .8s linear infinite; }\n @keyframes tree-spin { to { transform:rotate(360deg); } }\n @media (prefers-reduced-motion: reduce) { .tree-spin { animation:none; } }\n .tree-row[data-selected="1"] { background: color-mix(in srgb, var(--ui-tab-accent, #26304a) 24%, transparent); }\n .tree-error { margin: 2px 8px 6px; padding: 7px 8px; border-left: 2px solid #f7768e; color: #f7768e; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }\n .tree-size { margin-left: auto; color: var(--ui-history-meta, #555); font-size: 10px; flex-shrink: 0; }\n\n /* phone-first: terminal is THE screen */\n .workspace { display: grid !important; grid-template-columns: 1fr; }\n .workspace[hidden] { display:none !important; }\n .tree-col {\n display: flex;\n position: fixed;\n top: var(--vv-top, 0px);\n height: var(--vv-height, 100dvh);\n right: calc(100vw - var(--vv-left, 0px) - var(--vv-width, 100vw));\n width: min(82vw, 320px); z-index: 40;\n transform: translateX(102%); transition: transform .22s ease;\n }\n .tree-col-open { transform: translateX(0); box-shadow: -12px 0 32px rgba(0,0,0,.5); }\n .drawer-mask { position:fixed; top:var(--vv-top, 0px); left:var(--vv-left, 0px); width:var(--vv-width, 100vw); height:var(--vv-height, 100dvh); background:rgba(0,0,0,.45); z-index:39; }\n .preview-col {\n position: fixed;\n top: var(--vv-top, 0px);\n left: var(--vv-left, 0px);\n width: var(--vv-width, 100vw);\n height: var(--vv-height, 100dvh);\n z-index: 50;\n background: var(--ui-term-col-bg, #101014);\n }\n .cwd-hint { max-width: 40vw; }\n\n @media (min-width: 900px) {\n .workspace.show-tree.has-preview { grid-template-columns: 46% 20% 34%; }\n .workspace.show-tree:not(.has-preview) { grid-template-columns: 80% 20%; }\n .workspace.has-preview:not(.show-tree) { grid-template-columns: 66% 34%; }\n /* desktop: the tree becomes a right column only while the drawer is open */\n .tree-col {\n position: static; top: auto; height: auto; width: auto; transform: none;\n box-shadow: none; border-left: 1px solid var(--ui-tree-border, #1e1e26);\n }\n .workspace:not(.show-tree) .tree-col { display: none; }\n .preview-col { position: relative; inset: auto; width: auto; height: auto; border-left: 1px solid var(--ui-tree-border, #1e1e26); }\n .drawer-mask { display: none; }\n }\n .web-root.is-remote-fullscreen .workspace { grid-template-columns: minmax(0, 1fr); }\n'}}),(0,i.jsxs)("div",{className:"terminal-tabs",children:[j&&(0,i.jsxs)("div",{className:"computer-page-heading",children:[(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":"返回电脑会话",title:"返回电脑会话",onClick:()=>E(null),children:(0,i.jsx)(s.Z,{size:18})}),(0,i.jsx)("span",{children:j.name}),(0,i.jsx)("a",{className:"file-drawer-toggle",href:j.url,target:"_blank",rel:"noopener noreferrer","aria-label":"在新页面打开当前页面",title:"打开原页面",children:(0,i.jsx)(d.Z,{size:16})})]}),(0,i.jsx)("div",{className:"terminal-tab-list",ref:tN,hidden:!!j,children:Q.map(e=>(0,i.jsxs)("div",{"data-terminal-id":e.id,draggable:!0,className:"terminal-tab ".concat(e.id===er?"active":""),onDragStart:()=>{tz.current=e.id},onDragOver:e=>e.preventDefault(),onDrop:t=>{t.preventDefault();let r=tz.current;tz.current=null,r&&r!==e.id&&Y(t=>{let n=t.findIndex(e=>e.id===r),i=t.findIndex(t=>t.id===e.id);if(n<0||i<0)return t;let a=[...t],[o]=a.splice(n,1);return a.splice(i,0,o),_("term:reorder",{ids:a.filter(e=>!e.kind).map(e=>e.id)}).catch(()=>{}),a})},onClick:()=>en(e.id),onDoubleClick:()=>{var t;if(e.kind)return;let r=null===(t=window.prompt("页签名称",e.title))||void 0===t?void 0:t.trim();r&&_("term:rename",{id:e.id,title:r}).then(()=>Y(t=>t.map(t=>t.id===e.id?{...t,title:r}:t))).catch(()=>{})},children:[(0,i.jsx)("span",{children:e.title}),"webapp"!==e.kind&&(0,i.jsx)("button",{tabIndex:-1,onClick:t=>{t.stopPropagation(),tA(e.id)},children:"\xd7"})]},e.id))}),(0,i.jsx)("button",{className:"terminal-add","aria-label":"新建终端页签",hidden:!!j,disabled:Q.length>=8,onClick:tW,children:"+"}),(0,i.jsx)("div",{className:"terminal-connection",children:(0,i.jsx)(es,{avatar:(0,i.jsx)(et,{username:null!==(v=null===(n=w.user)||void 0===n?void 0:n.username)&&void 0!==v?v:"?",connected:q.connected,accent:tw.keybar.accent,accentText:tw.keybar.accentText,selectedPageId:null==j?void 0:j.id,onSelectPage:N,onUpdatePage:C,configuration:tg,csrfToken:w.csrfToken}),items:[{id:"refresh",content:(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":"刷新页面",title:"刷新页面",onClick:()=>j?z(e=>e+1):window.location.reload(),children:(0,i.jsx)(c.Z,{size:17,"aria-hidden":"true"})})},{id:"collaboration",content:(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":"打开群聊看板",title:"群聊看板",onClick:()=>{E(null),Y(eY),en(eQ.id)},children:(0,i.jsx)(u.Z,{size:17,"aria-hidden":"true"})})},{id:"install",content:(0,i.jsx)(y,{})},{id:"remote",content:(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":"打开远程桌面",title:"远程桌面 \xb7 浏览器直播",onClick:()=>{E(null),tO()},children:(0,i.jsx)(p.Z,{size:17,"aria-hidden":"true"})})},{id:"ai-hub",content:(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":"打开 AI Hub",title:"AI Hub \xb7 多模型对比",onClick:()=>{E(null),tZ()},children:(0,i.jsx)(f.Z,{size:17,"aria-hidden":"true"})})},{id:"flow",content:(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":"打开数字人",title:"数字人 \xb7 Flow Studio",onClick:()=>{E(null),tF()},children:(0,i.jsx)(m.Z,{size:17,"aria-hidden":"true"})})},{id:"theme",content:(0,i.jsx)(eB,{themeId:tf,onThemeChange:tm})},{id:"files",content:(0,i.jsx)("button",{type:"button",className:"file-drawer-toggle","aria-label":eD?"关闭我的文件":"打开我的文件",title:"我的文件","aria-expanded":eD,onClick:()=>{E(null),eH(e=>!e)},children:(0,i.jsx)(b.Z,{size:17,"aria-hidden":"true"})})}].filter(e=>tg.settings.visibleTools.some(t=>t===e.id)).sort((e,t)=>tg.settings.visibleTools.findIndex(t=>t===e.id)-tg.settings.visibleTools.findIndex(e=>e===t.id))})})]}),(0,i.jsxs)("main",{className:"workspace ".concat(eD?"show-tree":""," ").concat(eF?"has-preview":""),hidden:!!j,style:tr.workspace,children:[(0,i.jsx)("section",{className:"term-col",style:tr.termCol,onPointerDownCapture:e=>{"touch"===e.pointerType&&t_(e.target)&&(tH(),ty.current={x:e.clientX,y:e.clientY,axis:"pending",pointerId:e.pointerId})},onPointerMoveCapture:e=>{let t=ty.current;if(!t||e.pointerId!==t.pointerId||"touch"!==e.pointerType)return;let r=e.clientX-t.x,n=e.clientY-t.y;if("pending"===t.axis){if(8>=Math.max(Math.abs(r),Math.abs(n)))return;if(Math.abs(n)>=1.2*Math.abs(r)){ty.current=null;return}t.axis="horizontal",tS(!0);let e=r=>{window.removeEventListener("pointerup",e),window.removeEventListener("pointercancel",e),ty.current===t&&tH()};window.addEventListener("pointerup",e),window.addEventListener("pointercancel",e)}"horizontal"===t.axis&&(e.preventDefault(),tj(r))},onPointerUpCapture:e=>{let t=ty.current;if(!t||e.pointerId!==t.pointerId)return;let r=e.clientX-t.x;"horizontal"===t.axis&&Math.abs(r)>=64?tV(r):tH()},onPointerCancelCapture:tH,children:(0,i.jsx)("div",{className:"terminal-track",style:{transform:"translate3d(calc(".concat(-(100*tU),"% + ").concat(tk,"px),0,0)"),transition:tE?"none":"transform 260ms cubic-bezier(.22,.8,.32,1)"},children:Q.map(e=>{var t;return(0,i.jsx)("div",{className:"terminal-slide",style:{position:"relative"},children:"webapp"===e.kind?(0,i.jsx)("iframe",{ref:T,className:"webapp-frame",src:(0,o.PP)("/app/"),title:e.title,onLoad:()=>tC(tf)}):"collaboration-dashboard"===e.kind?(0,i.jsx)(eK,{title:"群聊看板",onFrame:e=>{I.current=e},onLoad:()=>tC(tf)}):"collaboration"===e.kind?(0,i.jsx)(eK,{groupId:e.groupId||"",title:e.title,onFrame:t=>{t?W.current.set(e.id,t):W.current.delete(e.id)},onLoad:()=>tC(tf)},"".concat(e.id,"-").concat(R[e.groupId||""]||0)):"remote-desktop"===e.kind?(0,i.jsxs)("div",{style:{height:"100%",background:"var(--ui-term-col-bg, #101014)"},"aria-busy":!O,children:[(0,i.jsx)("iframe",{ref:L,className:"webapp-frame",style:{visibility:O?"visible":"hidden"},src:(0,o.PP)("/app/?view=remote-desktop"),title:"远程桌面",onLoad:()=>tC(tf)}),!O&&(0,i.jsx)(ei.Z,{label:"REMOTE DESKTOP",title:"正在打开远程桌面",caption:"正在准备桌面与连接",icon:(0,i.jsx)(p.Z,{size:36,strokeWidth:1.5})})]}):"aihub"===e.kind?(0,i.jsx)(e6,{visible:e.id===er,rpc:_}):"flowstudio"===e.kind?(0,i.jsx)(e8,{visible:e.id===er}):(0,i.jsx)(e1,{terminalId:e.id,title:e.title,initialCommand:e.initialCommand,visible:e.id===er,state:q,rpc:_,onEvent:J,onTerminalData:K,onTerminalReset:G,sendTerminalInput:X,keyOrder:td,keybarHidden:tl,onKeyOrderChange:tc,onKeybarHiddenChange:ts,terminalTheme:tw,initialScrollLine:null!==(t=eP[e.id])&&void 0!==t?t:null,onScrollLineChange:t=>eZ(r=>r[e.id]===t?r:{...r,[e.id]:t}),onRegisterFill:t=>eI(e.id,t),onCwdChange:t=>t&&el(r=>({...r,[e.id]:t}))})},e.id)})})}),eD&&(0,i.jsx)("div",{className:"drawer-mask",onClick:()=>eH(!1)}),(0,i.jsxs)("aside",{className:"tree-col ".concat(eD?"tree-col-open":""),style:tr.treeCol,children:[(0,i.jsxs)("div",{className:"tree-head",style:tr.treeHead,children:[(0,i.jsx)("button",{className:"files"===e_?"drawer-tab-active":"",onClick:()=>eJ("files"),children:"文件"}),(0,i.jsx)("button",{className:"history"===e_?"drawer-tab-active":"",onClick:()=>eJ("history"),children:"历史"}),(0,i.jsx)("span",{className:"tree-cwd",style:tr.treeCwd,children:null!=tL?tL:""}),(0,i.jsx)("button",{style:{...tr.iconBtn,marginLeft:"auto",flexShrink:0},onClick:()=>eH(!1),"aria-label":"close drawer",children:(0,i.jsx)(h.Z,{size:15,"aria-hidden":"true"})})]}),"files"===e_?(0,i.jsx)(e2,{ready:V>0,followCwd:!0,cwd:tL,gateway:$,onOpenFile:tM,selectedPath:eF,initialRoot:e3,initialFollow:tn,revealRequest:ta,onTreeStateChange:(e,t)=>{tt(e),ti(t)}}):(0,i.jsx)(eA,{csrfToken:w.csrfToken,terminalId:(null===(a=Q.find(e=>e.id===er))||void 0===a?void 0:a.kind)==="webapp"?null:er,pinnedCommands:tu,onPinnedCommandsChange:tp,onFill:eR,onExecute:tP}),(0,i.jsxs)("div",{style:tr.treeFoot,children:[(0,i.jsx)("span",{style:tr.treeFootDot}),(0,i.jsx)("span",{children:"实时同步"})]})]}),eF&&(0,i.jsx)("section",{className:"preview-col",style:tr.previewCol,children:(0,i.jsx)(e4,{path:eF,gateway:$,onClose:()=>eO(null)})})]}),j&&(0,i.jsx)(ea,{page:j,reloadKey:S},j.id)]})}let tr={root:{height:"100dvh",display:"flex",flexDirection:"column",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", sans-serif',overflow:"hidden"},iconBtn:{minWidth:28,height:28,borderRadius:7,border:"1px solid var(--ui-tabbar-border, #303442)",background:"var(--ui-tab-bg, #202029)",color:"var(--ui-tab-text, #aaaab8)",fontSize:13},workspace:{flex:1,minHeight:0,display:"grid",position:"relative"},treeCol:{background:"var(--ui-tree-bg, #121218)",minHeight:0,flexDirection:"column"},treeHead:{display:"flex",alignItems:"center",gap:8,padding:"10px 12px 4px",fontSize:11,textTransform:"uppercase",letterSpacing:1,color:"#778",flexShrink:0},treeCwd:{fontSize:10,color:"#556",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:150,textTransform:"none",letterSpacing:0},treeFoot:{display:"flex",alignItems:"center",gap:7,minHeight:31,padding:"6px 11px calc(env(safe-area-inset-bottom) + 6px)",borderTop:"1px solid var(--ui-tabbar-border, #282832)",boxShadow:"0 -5px 16px rgba(0,0,0,.22)",background:"var(--ui-tab-bg, #15151c)",color:"var(--ui-connection-text, #777789)",fontSize:10.5,flexShrink:0},treeFootDot:{width:6,height:6,borderRadius:99,background:"var(--ui-success, #9ece6a)",boxShadow:"0 0 0 2px color-mix(in srgb, var(--ui-success, #9ece6a) 12%, transparent)",flexShrink:0},termCol:{minWidth:0,minHeight:0,display:"flex",flexDirection:"column",background:"var(--ui-term-col-bg, #101014)",gridColumn:1,overflow:"hidden"},previewCol:{minWidth:0,minHeight:0}}}},function(e){e.O(0,[344,37,183,744],function(){return e(e.s=4042)}),_N_E=e.O()}]);