@forsion/unit 2.12.2 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/README.md +61 -0
  2. package/backendWorker.mjs +6 -2
  3. package/main.mjs +991 -497
  4. package/package.json +1 -1
  5. package/release.json +5 -5
  6. package/web/assets/ArtificialView-XwHMLUFb.js +1 -0
  7. package/web/assets/{AutomationBuilder-sxWdUa0L.js → AutomationBuilder-hqs0QhMt.js} +1 -1
  8. package/web/assets/CalendarConfigView-DKib8Oed.js +1 -0
  9. package/web/assets/CalendarView-DJ5iOzvu.js +1 -0
  10. package/web/assets/CapabilityMenu-SwVlZ06x.js +1 -0
  11. package/web/assets/{CheckboxInput-BsaoUHZ0.js → CheckboxInput-BC-5a_C9.js} +1 -1
  12. package/web/assets/Chrome-HdfyYV3i.js +1 -0
  13. package/web/assets/{CodeView-j065KtVh.js → CodeView-CFL6yQ-6.js} +3 -3
  14. package/web/assets/DashboardGridView-B9DCWYVb.js +17 -0
  15. package/web/assets/{EventCard-BmDQkEj9.js → EventCard-B_ndpqH_.js} +1 -1
  16. package/web/assets/ExcalidrawCanvas-BQ4KKLJP.js +1 -0
  17. package/web/assets/{FloatingToc-CENybkAA.js → FloatingToc-Ce9GamvH.js} +1 -1
  18. package/web/assets/HomepageView-RCOfcVbE.js +1 -0
  19. package/web/assets/ImageStudioPanels-lkS_y2uM.js +3 -0
  20. package/web/assets/ImageStudioView-UPv52acl.js +1 -0
  21. package/web/assets/InlineFiles-CQbQumkf.js +1 -0
  22. package/web/assets/MarkdownBlock--__nPQGh.css +1 -0
  23. package/web/assets/MarkdownBlock-CkqiwPXa.js +58 -0
  24. package/web/assets/ModelPill-CY-rU1RU.js +2 -0
  25. package/web/assets/MuseLibraryView-CtTHlVnT.js +2 -0
  26. package/web/assets/{MuseView-d-iBk3sc.js → MuseView-CC2A7MBs.js} +2 -2
  27. package/web/assets/{PageHistoryPanel-CR-k1AM7.js → PageHistoryPanel-KhKT1DLy.js} +2 -2
  28. package/web/assets/PdfAnnotator-C_kglLCA.css +1 -0
  29. package/web/assets/PdfAnnotator-DUyrgY-t.js +505 -0
  30. package/web/assets/{ProductView-u2aezVsl.js → ProductView-CgsIYZqD.js} +1 -1
  31. package/web/assets/RightPanel-BHDgqTFs.js +4 -0
  32. package/web/assets/RunLocationPicker-BE5mxnab.css +1 -0
  33. package/web/assets/RunLocationPicker-DBnXYV5B.js +38 -0
  34. package/web/assets/{SidebarRow-BuSkKH5q.js → SidebarRow-BAJxbMcx.js} +1 -1
  35. package/web/assets/{SketchCard-D87GADyG.js → SketchCard-BGYz-bXP.js} +5 -5
  36. package/web/assets/{StudioGuestSurface-BijU_EEb.js → StudioGuestSurface-lt6znmkl.js} +1 -1
  37. package/web/assets/{TodoListView-DPPVpPUn.js → TodoListView-DPKhee6i.js} +1 -1
  38. package/web/assets/{Tooltip-DY4ISA-e.js → Tooltip-ZxrDqN4p.js} +1 -1
  39. package/web/assets/UnifiedPage-BX6ZQL0h.js +68 -0
  40. package/web/assets/UnifiedPage-CWXc_mo1.css +1 -0
  41. package/web/assets/{amadeus-manual.en-DWaN2fPs.js → amadeus-manual.en-DzRWr4BL.js} +18 -18
  42. package/web/assets/{amadeus-manual.zh--7D5TS8X.js → amadeus-manual.zh-DW32DkL7.js} +18 -18
  43. package/web/assets/{appStore-Dg9WALEA.js → appStore-DWP8UET9.js} +208 -122
  44. package/web/assets/appStore-wtOILggO.css +1 -0
  45. package/web/assets/{arrow-up-right-CpQs92mu.js → arrow-up-right-DrCXuWS7.js} +1 -1
  46. package/web/assets/{astryxBridge-BZhaZPs4.js → astryxBridge-D-m4_kYt.js} +3 -3
  47. package/web/assets/automationListSource-C8BNy6RY.js +1 -0
  48. package/web/assets/book-open-OLNm7OaB.js +1 -0
  49. package/web/assets/{calendarNavStore-C7fGRpoH.js → calendarNavStore-Cylfvv3s.js} +1 -1
  50. package/web/assets/{canvasPrefs-BeG4oEgP.js → canvasPrefs-8taQ42Cz.js} +1 -1
  51. package/web/assets/chatBoxSurface-CIlzs45H.js +1 -0
  52. package/web/assets/{circle-question-mark-WL3vbp-Z.js → circle-question-mark-XbAFplz1.js} +1 -1
  53. package/web/assets/{circle-x-D7s-M5sB.js → circle-x-fcReAZaE.js} +1 -1
  54. package/web/assets/{client-BSKpsyAw.js → client-0MPbodA6.js} +1 -1
  55. package/web/assets/{code-xml-BALV9u_c.js → code-xml-Cuna8Kh4.js} +1 -1
  56. package/web/assets/{codeStudioStore-C2mWfm32.js → codeStudioStore-BBU62GTy.js} +1 -1
  57. package/web/assets/codingNavigation-CZB4v1ZW.css +1 -0
  58. package/web/assets/codingNavigation-DDlPpPk5.js +47 -0
  59. package/web/assets/{create-4xUyKtAF.js → create-BGtEfCcg.js} +4 -4
  60. package/web/assets/dashboardSurface-BYM3C7WG.js +1 -0
  61. package/web/assets/{deskCapture-Df701U8L.js → deskCapture-BiUCmqfc.js} +1 -1
  62. package/web/assets/{diff2html-BV-zCH4d.js → diff2html-BNp2FTbk.js} +1 -1
  63. package/web/assets/{docx-preview-DW4IyU_Q.js → docx-preview-CFznGVOU.js} +1 -1
  64. package/web/assets/{emoji-DGaxpCIu.js → emoji-6zl4yfOS.js} +1 -1
  65. package/web/assets/floatingTocSurface-DreXPCa6.js +1 -0
  66. package/web/assets/{foldActions-B7KByFdN.js → foldActions-05QcQziQ.js} +1 -1
  67. package/web/assets/folder-BpsfOHD4.js +1 -0
  68. package/web/assets/{folder-plus-D1TDb7k9.js → folder-plus-BeQHr4AZ.js} +1 -1
  69. package/web/assets/gestures-DQBCcK4y.js +1 -0
  70. package/web/assets/{hand-Crrw-nSn.js → hand-Bko7ms15.js} +1 -1
  71. package/web/assets/{hard-drive-BbyVSbfP.js → hard-drive-BpuI5ebj.js} +1 -1
  72. package/web/assets/i18n-ecQQxiMQ.css +1 -0
  73. package/web/assets/i18n.generated-BuLjnmY8.js +15 -0
  74. package/web/assets/imageStudio--KF9gwHA.css +1 -0
  75. package/web/assets/imageStudio-BLVNKmEG.js +2 -0
  76. package/web/assets/{index-DKhyDkGB.js → index-BF10xp_K.js} +1 -1
  77. package/web/assets/{index-C7U6T-k8.js → index-BHm6K743.js} +1 -1
  78. package/web/assets/{index-CF4RV4mh.js → index-BM2o7PeV.js} +90 -90
  79. package/web/assets/{index-Brik2pf9.js → index-BgnNNv3e.js} +1 -1
  80. package/web/assets/{index--drOLtq7.js → index-C0Gy2NQ6.js} +1 -1
  81. package/web/assets/{index-CflzrdSt.js → index-C1doZp5H.js} +1 -1
  82. package/web/assets/{index-SZ5waGAq.js → index-C4L6vjd_.js} +1 -1
  83. package/web/assets/{index-Cmr7gVZQ.js → index-CD3yIkOA.js} +1 -1
  84. package/web/assets/{index-BYsdKR_1.js → index-CJeUgjPU.js} +1 -1
  85. package/web/assets/{index-CzM-C2Sd.js → index-CLHoq1w-.js} +1 -1
  86. package/web/assets/{index-tAXBa_fN.js → index-CUZI62qU.js} +1 -1
  87. package/web/assets/{index-C6GJulug.js → index-Cff42k7q.js} +1 -1
  88. package/web/assets/index-Ck_O3Jdd.js +1 -0
  89. package/web/assets/index-CuiYK18N.js +1 -0
  90. package/web/assets/{index-BRW82CsP.js → index-CwcOeZdT.js} +1 -1
  91. package/web/assets/{index-DUWR2nZi.js → index-D6AycQIz.js} +1 -1
  92. package/web/assets/{index-BCZZVJ_w.js → index-D7gVhvNY.js} +1 -1
  93. package/web/assets/{index-DjzSBM0U.js → index-D9UZQy42.js} +1 -1
  94. package/web/assets/{index-KL5Rj9kP.js → index-DuBQ0j2g.js} +1 -1
  95. package/web/assets/{index-Dg9oixs4.js → index-OD1gSX3h.js} +1 -1
  96. package/web/assets/{index-gPSbFSUn.js → index-Uo5tswys.js} +1 -1
  97. package/web/assets/{index-D1f_JwPH.js → index-o8cj0pRH.js} +1 -1
  98. package/web/assets/{index-OHi69jDq.js → index-rHjhbwvm.js} +1 -1
  99. package/web/assets/{index-CqyM6tQ0.js → index-rggq2czF.js} +1 -1
  100. package/web/assets/{index-Czu_bbDM.js → index-sCXThwqZ.js} +1 -1
  101. package/web/assets/{invitePage-lLQ-e0pj.js → invitePage-b0HGvMj6.js} +1 -1
  102. package/web/assets/{ipc-DQOD2UKk.js → ipc-CxAyeo8q.js} +1 -1
  103. package/web/assets/{jszip.min-DZxV9uZ_.js → jszip.min-B94KpE21.js} +1 -1
  104. package/web/assets/launchpad-C2c1MSVX.css +1 -0
  105. package/web/assets/{layout-grid-B_pjJwz4.js → layout-grid-BBVuEdWG.js} +1 -1
  106. package/web/assets/{linkFollow-C0_3k_PC.js → linkFollow-B7ivDZMM.js} +4 -4
  107. package/web/assets/{list-tree-DkAJYEXd.js → list-tree-4-0QDbLu.js} +1 -1
  108. package/web/assets/{listFold-BsOVn9UZ.js → listFold-DLuxXiIj.js} +1 -1
  109. package/web/assets/{lock-BnGHxjeE.js → lock-CnbZm4vo.js} +1 -1
  110. package/web/assets/{log-out-DBuMeqik.js → log-out-BEynWaHa.js} +1 -1
  111. package/web/assets/{main-NgUPPqDn.css → main-BiS_5wrB.css} +1 -1
  112. package/web/assets/main-sIq2N9Z5.js +20 -0
  113. package/web/assets/markdownEditorSurface-ZSJ3RHAv.js +3 -0
  114. package/web/assets/mdMarkStore-DQHDjG7s.js +2 -0
  115. package/web/assets/{mdMarks-Bq7Hl-4C.js → mdMarks-DbIcRa0O.js} +1 -1
  116. package/web/assets/{message-square-plus-BiAZAvcw.js → message-square-plus-CpiKDvle.js} +1 -1
  117. package/web/assets/{messages-BH5MfQdZ.js → messages-_jta1lSI.js} +1 -1
  118. package/web/assets/minus-C9ndHJ9O.js +1 -0
  119. package/web/assets/mobileEntry-CPmU_c4m.js +13 -0
  120. package/web/assets/nativeDownload-BYT082bY.js +1 -0
  121. package/web/assets/{pageChrome-xLNdFaSg.css → pageChrome-CovzZPdb.css} +1 -1
  122. package/web/assets/pageChrome-D3Niv1JM.js +1 -0
  123. package/web/assets/{pageTree-CZH2J6cc.js → pageTree-CgfvpzIj.js} +2 -2
  124. package/web/assets/{pen-tool-lkmBqliH.js → pen-tool-BXEFnU2i.js} +1 -1
  125. package/web/assets/{pencil-Cvk91P_Z.js → pencil-cqvCkekG.js} +1 -1
  126. package/web/assets/pluginChat-BbBukMuN.js +2 -0
  127. package/web/assets/{redo-2-DSi54z4e.js → redo-2-BO7wCDwy.js} +1 -1
  128. package/web/assets/{rotate-ccw-CUlnplr0.js → rotate-ccw-BvipPIjC.js} +1 -1
  129. package/web/assets/{sharePage-MM6UpPJ9.js → sharePage-XbN50US7.js} +2 -2
  130. package/web/assets/{shareViewer-CDZ8lTdy.js → shareViewer-BaYogetW.js} +1 -1
  131. package/web/assets/{star-CwDiGyUW.js → star-BQWMXnn7.js} +1 -1
  132. package/web/assets/tableSurface-BXqqidd1.js +1 -0
  133. package/web/assets/{terminal-DIXogYJY.js → terminal-l9k6RDrH.js} +1 -1
  134. package/web/assets/{terminalView-B3aZSsrQ.js → terminalView-Cpnt5_0P.js} +1 -1
  135. package/web/assets/theme-C6D3tMGV.css +1 -0
  136. package/web/assets/type-CFoaj2eD.js +1 -0
  137. package/web/assets/{undo-2-tUKCv5Gs.js → undo-2-DusxpdLa.js} +1 -1
  138. package/web/assets/{unitAccount-D8lVwaaT.js → unitAccount-DwutFPPw.js} +1 -1
  139. package/web/assets/{unitBridge-D547ublk.js → unitBridge-CcgQpkqV.js} +1 -1
  140. package/web/assets/{unitCloudTransport-BVF6lVp4.js → unitCloudTransport-vA7cLDts.js} +1 -1
  141. package/web/assets/{unitOwnerAccess-BfnEjsZb.js → unitOwnerAccess-LBlJ1YfA.js} +1 -1
  142. package/web/assets/{unitShim-DxetRgmP.js → unitShim-B_M9IrbC.js} +3 -3
  143. package/web/assets/{upload-BbeAsMuD.js → upload-ZrOj6tXA.js} +1 -1
  144. package/web/assets/userSpaces-uJOnsedR.js +1 -0
  145. package/web/assets/viewportLock-D3SNkwS2.js +631 -0
  146. package/web/assets/viewportLock-IP1zaVkz.css +1 -0
  147. package/web/assets/{workflow-DuoVRSSX.js → workflow-DPoG4QE2.js} +1 -1
  148. package/web/assets/{zoom-in-hr5bRpDL.js → zoom-in-lbTgzdQP.js} +1 -1
  149. package/web/index.html +232 -13
  150. package/web/assets/ArtificialView-B4ESD4iK.js +0 -1
  151. package/web/assets/CalendarConfigView-cCfo_EvZ.js +0 -1
  152. package/web/assets/CalendarView-wgLapctk.js +0 -1
  153. package/web/assets/CapabilityMenu-BQBsM638.js +0 -1
  154. package/web/assets/ChatView-BIUk0OJd.css +0 -1
  155. package/web/assets/ChatView-C-jCJnyS.js +0 -47
  156. package/web/assets/Chrome-CwFiDmre.js +0 -1
  157. package/web/assets/DashboardGridView-DXqe0vPd.js +0 -17
  158. package/web/assets/ExcalidrawCanvas-C3egkikA.js +0 -1
  159. package/web/assets/HomepageView-CRdhjLXu.js +0 -1
  160. package/web/assets/ImageStudioPanels-Dke7xf8E.js +0 -3
  161. package/web/assets/ImageStudioView-g38V8gaj.js +0 -1
  162. package/web/assets/InlineFiles-C_hjvn3u.js +0 -1
  163. package/web/assets/MarkdownBlock-DIjYEhTK.js +0 -56
  164. package/web/assets/ModelPill-BPlgovPo.js +0 -1
  165. package/web/assets/MuseLibraryView-CenyTTim.js +0 -2
  166. package/web/assets/PdfAnnotator-CGzC_o1Q.css +0 -1
  167. package/web/assets/PdfAnnotator-D79ip27w.js +0 -560
  168. package/web/assets/RightPanel-C3OJTIqT.js +0 -4
  169. package/web/assets/RunLocationPicker-BNcZ7KKF.css +0 -1
  170. package/web/assets/RunLocationPicker-CTYXUH2z.js +0 -34
  171. package/web/assets/UnifiedPage-CKNtVD_n.js +0 -57
  172. package/web/assets/UnifiedPage-DX_sTpyZ.css +0 -1
  173. package/web/assets/appStore-Di8LXuJ9.css +0 -1
  174. package/web/assets/automationListSource-DP5xZBxo.js +0 -1
  175. package/web/assets/chatBoxSurface-zvcyfrxE.js +0 -1
  176. package/web/assets/dashboardSurface-CFTH5z4c.js +0 -1
  177. package/web/assets/ellipsis-r1EcXsFq.js +0 -1
  178. package/web/assets/floatingTocSurface-C6RJ6i41.js +0 -1
  179. package/web/assets/folder-DlxnPmWY.js +0 -1
  180. package/web/assets/frame-_xBVYe3P.js +0 -1
  181. package/web/assets/gestures-CkW1Kfs9.js +0 -1
  182. package/web/assets/i18n-D-eU58uw.css +0 -1
  183. package/web/assets/i18n.generated-Bbsz16cl.js +0 -15
  184. package/web/assets/imageStudio-BqbNOvpu.css +0 -1
  185. package/web/assets/imageStudio-C_Rs630L.js +0 -2
  186. package/web/assets/index-BCubCwdT.js +0 -1
  187. package/web/assets/index-DZfZTksa.js +0 -1
  188. package/web/assets/main-Dki8NlsT.js +0 -21
  189. package/web/assets/markdownEditorSurface-B4PeUzed.js +0 -3
  190. package/web/assets/mdMarkStore-CsKl7C8O.js +0 -2
  191. package/web/assets/minus-Cyv1YzOU.js +0 -1
  192. package/web/assets/mobileEntry-Bd_nKr0D.js +0 -13
  193. package/web/assets/nativeDownload-D-f1_L2S.js +0 -1
  194. package/web/assets/pageChrome-C9_azUYW.js +0 -1
  195. package/web/assets/panel-left-rOc8As0s.js +0 -1
  196. package/web/assets/pen-line-m6_HvWZ9.js +0 -1
  197. package/web/assets/sticky-note-BIuPUSOU.js +0 -1
  198. package/web/assets/tableSurface-Y_JBQsuz.js +0 -1
  199. package/web/assets/theme-DfEi_DND.css +0 -1
  200. package/web/assets/type-Cqoabh7H.js +0 -1
  201. package/web/assets/userSpaces-DyyAn7vj.js +0 -1
  202. package/web/assets/viewportLock-C4SX-9PO.js +0 -103
  203. package/web/assets/viewportLock-DYSe7Jsn.css +0 -1
  204. package/web/assets/waves-horizontal-B8ZpHQ5H.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{j as e,u as rt,d as r,T,R as ot,r as ct}from"./index-BM2o7PeV.js";import{bG as qe,bF as it,ft as Fe,ed as Q,G as Oe,as as ut,c5 as G,R as dt,ag as mt,lM as ft,lN as pt,bp as xt,ah as ht}from"./appStore-DWP8UET9.js";import"./client-0MPbodA6.js";function vt({model:n}){return n.source!=="forsion"?null:e.jsxs(e.Fragment,{children:[!!n.tags?.length&&e.jsx("span",{className:"model-tags",children:n.tags.map((a,u)=>e.jsx("span",{className:"model-tag","data-color":a.color,title:a.text,children:a.text},u))}),n.multiplier!=null&&Number.isFinite(n.multiplier)&&n.multiplier>=0&&e.jsxs("span",{className:"model-multiplier",children:[n.multiplier.toFixed(2),"x"]})]})}const Lt=qe,wt=n=>`input.thinkingShort.${n}`;function jt(n,a){return a(wt(n))}ct({"pill.rowAdvanced":{zh:"高级",en:"Advanced"},"pill.nativeDone":{zh:"完成",en:"Done"},"pill.nativeSearch":{zh:"搜索模型",en:"Search models"},"pill.nativeBack":{zh:"返回",en:"Back"},"pill.rowModel":{zh:"模型",en:"Model"},"pill.rowEffort":{zh:"思考档位",en:"Thinking effort"},"pill.reasoningStrength":{zh:"思考档位",en:"Thinking effort"},"pill.defaultAuxModel":{zh:"默认辅助模型",en:"Default auxiliary model"},"pill.defaultImageModel":{zh:"生图模型",en:"Image generation model"},"pill.defaultVisionModel":{zh:"识图辅助模型",en:"Vision auxiliary model"},"pill.followCloudDefault":{zh:"跟随云端默认",en:"Follow cloud default"},"pill.noModels":{zh:"暂无可用模型",en:"No available models"},"pill.faster":{zh:"更快",en:"Faster"},"pill.smarter":{zh:"更智能",en:"Smarter"},"pill.rowContext":{zh:"上下文上限",en:"Context limit"},"pill.ctxDefault":{zh:"默认 · {n}",en:"Default · {n}"},"pill.ctxMax":{zh:"最大 · {n}",en:"Maximum · {n}"},"pill.ctxHint":{zh:"对本机这个模型的所有会话生效。超过 {n} 后每轮都要重发更多上下文,额度消耗随之上升。",en:"Applies to every conversation with this model on this device. Past {n}, each turn resends more context, so usage rises with it."},"pill.ctxUltra":{zh:"Ultra 下自动用满 {n};关掉 Ultra 后按这里的设置。",en:"Ultra uses the full {n} automatically. This setting applies again once Ultra is off."},"pill.ultra":{zh:"Ultra",en:"Ultra"},"pill.ultraNote":{zh:"思考拉满,主动并行派子代理",en:"Max thinking + parallel subagents"},"pill.ultraTitle":{zh:"Ultra:思考拉满 + 主动并行派子代理(额度消耗会成倍增加)",en:"Ultra: max thinking plus proactive parallel subagents (uses several times the quota)"}});const bt=150,gt=n=>`input.thinking.${n}`,De=(n,a)=>jt(n,a),I=n=>n>=1e6?`${Math.floor(n/1e5)/10}M`:`${Math.floor(n/100)/10}k`;function Ie(n){if(n?.contextWindow)return n.contextWindowSource==="override"?n.contextWindow:Math.max(n.contextWindow,n.maxContextWindow??0)}function Tt(n){const a=n.ultra&&!!n.engineUncapped,u=!!n.ctxInfo&&!n.running&&!!n.ctxInfo.ultra!==a;return!u&&(n.ctxInfo||!a)?{window:n.contextWindow,stale:u}:{window:(a?Ie(n.model):n.model?.contextWindow)||n.contextWindow,stale:u}}function Nt(n,a,u=!1){const c=n?.maxContextWindow;if(!n?.contextWindow||!c||!a)return null;const f=n.contextWindowSource==="override";return c<=a&&!f?null:{current:u&&Ie(n)||n.contextWindow,defaultTokens:Math.min(c,a),...c>a?{maxTokens:c}:{},selected:f?c>a&&n.contextWindow===c?"max":null:"default"}}function yt(n){return T[Math.max(0,Math.min(T.length-1,Math.round(n)))]}function Mt(n,a){const u=Math.round(n);return a&&u>=T.length?{level:"max",ultra:!0}:{level:yt(u),...a?{ultra:!1}:{}}}function kt(n,a){if(a==="imageModelId")return n.filter(c=>c.modelType==="image_gen");const u=n.filter(c=>(c.modelType||"llm")==="llm");return a==="visionModelId"?u.filter(c=>c.supportsVision!==!1):u}const $t=1200;function Et(n,a,u){const c=r.useRef(0),f=r.useRef(null);r.useEffect(()=>{const p=n.current;if(!p)return;f.current!==p&&(f.current=p,c.current=0);const g=()=>p.getAnimations?.({subtree:!0})??[],d=c.current,N=a?1:0,E=$t*Math.abs(N-d);g().forEach(C=>{C.playbackRate=d}),a&&(p.dataset.on="");const k=performance.now();let h=0;const w=C=>{const L=E?Math.min(1,(C-k)/E):1,$=d+(N-d)*L*L*(3-2*L),P=g();c.current=$,P.forEach(b=>{b.playbackRate=$}),p.style.opacity=String(Math.min(1,$*2)),L<1?h=requestAnimationFrame(w):a||delete p.dataset.on};return h=requestAnimationFrame(w),()=>cancelAnimationFrame(h)},[n,a,u])}const te=({text:n})=>{const a=r.useRef(null),[u,c]=r.useState(0);return r.useLayoutEffect(()=>{const f=a.current;if(!f)return;const p=()=>c(Math.max(0,f.scrollWidth-f.clientWidth));if(p(),typeof ResizeObserver>"u")return;const g=new ResizeObserver(p);return g.observe(f),()=>g.disconnect()},[n]),e.jsx("span",{ref:a,className:`pill-marquee${u>2?" is-over":""}`,style:{"--marquee-shift":`${u}px`},children:e.jsx("span",{className:"pill-marquee__inner",children:n})})};function zt({portal:n,anchorRef:a,innerRef:u,style:c,children:f}){const[p,g]=r.useState({x:0,y:0,top:0});return r.useLayoutEffect(()=>{if(!n)return;const d=()=>{const E=a.current;if(!E)return;const k=E.getBoundingClientRect(),h={x:k.left,y:k.bottom+8,top:k.top-8};g(w=>w.x===h.x&&w.y===h.y&&w.top===h.top?w:h)};d(),window.addEventListener("resize",d),window.addEventListener(Q,d),document.addEventListener("scroll",d,!0);const N=new ResizeObserver(d);return a.current&&N.observe(a.current),()=>{window.removeEventListener("resize",d),window.removeEventListener(Q,d),document.removeEventListener("scroll",d,!0),N.disconnect()}},[n,a]),n?xt.createPortal(e.jsx("div",{className:"ui-popover-backdrop",style:{pointerEvents:"none"},"data-cmenu":!0,children:e.jsx(ht,{x:p.x,y:p.y,anchorTop:p.top,prefer:"above",innerRef:u,className:"composer-menu composer-menu--model composer-menu--portal",children:f})}),document.body):e.jsx("div",{ref:u,className:"composer-menu composer-menu--model",style:c,children:f})}const Pt=({className:n,scopeKey:a,onSelectionChange:u,menuPortal:c=!1,open:f,onOpenChange:p,disabled:g,modelId:d,groups:N,onSelect:E,thinkingLevel:k,onThinkingChange:h,allowUltra:w=!1,ultra:C,running:L=!1,supportedThinking:$,effectiveThinking:P,modelsResponse:b,defaultModelIds:ne,onDefaultModelChange:se,onContextWindowChange:ae,emptyLabel:le,footnote:re,title:oe})=>{const{t:l}=rt(),Ue=it(),[ce,Z]=r.useState(""),[_e,Be]=r.useState(!1),v=f??_e,A=t=>{!t&&_.current?.contains(document.activeElement)&&U.current?.querySelector("button")?.focus({preventScroll:!0}),f===void 0&&Be(t),p?.(t)},[W,ie]=r.useState(!1),[m,F]=r.useState(null),[ue,Ve]=r.useState("right"),[He,Ke]=r.useState(0),U=r.useRef(null),_=r.useRef(null),z=r.useRef(null),[J,de]=r.useState(!1),Ge=N.flatMap(t=>t.options.map(s=>s.id)).join(`
2
+ `);r.useEffect(()=>()=>{z.current?.abort(),z.current=null},[]),r.useLayoutEffect(()=>{z.current&&(z.current.abort(),z.current=null,de(!1),A(!1))},[a,g,d,k,C,Ge]),r.useEffect(()=>{v||(z.current?.abort(),z.current=null,de(!1))},[v]);const me=r.useRef(null),fe=r.useRef(0),S=()=>window.clearTimeout(fe.current),pe=Fe(v&&!c,{boundary:".t2-chat-view"}),xe=Fe(m?`${m}:${ue}`:"",{boundary:".t2-chat-view"});r.useEffect(()=>{if(!v){S(),F(null),ie(!1),Z("");return}const t=j=>!!j?.closest?.("[data-keep-menus]"),s=j=>{!t(j.target)&&!U.current?.contains(j.target)&&!_.current?.contains(j.target)&&A(!1)},o=j=>{j.key==="Escape"&&!document.querySelector("[data-keep-menus]")&&A(!1)};return document.addEventListener("mousedown",s),document.addEventListener("keydown",o),()=>{document.removeEventListener("mousedown",s),document.removeEventListener("keydown",o)}},[v]),r.useLayoutEffect(()=>{const t=_.current,s=me.current;if(!m||!t||!s)return;const o=()=>{const K=t.getBoundingClientRect(),Ce=(t.closest(".t2c-card")||t.closest(".t2-chat-view"))?.getBoundingClientRect(),Le=t.closest(".t2-chat-view")?.getBoundingClientRect(),Te=t.querySelector(`[data-pane-trigger="${m}"]`)?.getBoundingClientRect(),Pe=mt(s),Ae=ft(K.left,K.right,s.offsetWidth,Ce?.left??0,Ce?.right??window.innerWidth,Pe);if(Ve(q=>q===Ae?q:Ae),Te){const q=pt(Te.top,s.offsetHeight,K.top,K.bottom,Le?.top??0,Le?.bottom??window.innerHeight,Pe);Ke(We=>Math.abs(We-q)<.5?We:q)}};o(),window.addEventListener("resize",o),window.addEventListener(Q,o);const j=new ResizeObserver(o);j.observe(t),j.observe(s);const Re=t.closest(".t2c-card")||t.closest(".t2-chat-view");return Re&&j.observe(Re),()=>{window.removeEventListener("resize",o),window.removeEventListener(Q,o),j.disconnect()}},[m]);const he=N.flatMap(t=>t.options),Qe=he.length>0,Ze=he.find(t=>t.id===d)||b?.models.find(t=>t.id===d),Je=!h&&!Qe&&!!le,B=Ze?.name||le||l("input.selectModel"),i=w&&!!C,y=i?"max":k||"medium",O=i?l("pill.ultra"):De(y,l),Xe=y!=="off"?` · ${O}`:"",D=T.length-(w?0:1),V=i?D:Math.max(0,T.indexOf(y)),ve=`${V/D*100}%`,Ye=`calc(${ve} + ${(.5-V/D)*25}px)`,we=P&&P!==y?` → ${De(P,l)}`:"",je=y==="max",X=`${je?" is-max":""}${i?" is-ultra":""}`,be=r.useRef(null);Et(be,L,i);const[ge,Y]=r.useState(0),Ne=r.useRef(i);r.useEffect(()=>{i&&!Ne.current&&v&&Y(t=>t+1),Ne.current=i},[i,v]),r.useEffect(()=>{v||Y(0)},[v]);const ye=r.useId(),x=ae&&d&&b?.modelOverridesWritable?Nt(b.models.find(t=>t.id===d),b.contextWindowCap,i&&!!b.ultraUncapped):null,Me=t=>{S(),F(null),d&&ae?.(d,t)},et=t=>qe(t,Ue).map(s=>({key:s.key,source:s.source,label:s.provider,options:s.models.map(o=>({...o,description:`${o.provider} · ${o.id}`}))})),tt=t=>kt(b?.models||[],t),nt=t=>b?.[t],ke=t=>t?b?.models.find(s=>s.id===t)?.name||t:"",$e=t=>{const s=ne?.[t];if(s)return ke(s);const o=nt(t);return o?`${l("pill.followCloudDefault")} · ${ke(o)}`:l("pill.followCloudDefault")},st=[{slot:"backgroundModelId",label:l("pill.defaultAuxModel")},{slot:"imageModelId",label:l("pill.defaultImageModel")},{slot:"visionModelId",label:l("pill.defaultVisionModel")}],M=m&&m!=="model"&&m!=="context"?m:null,Ee=m==="model"?N:M?et(tt(M)):[],at=ce.trim().toLowerCase(),ee=Ee.map(t=>({...t,options:t.options.filter(s=>`${t.label} ${s.name} ${s.id} ${s.tags?.map(o=>o.text).join(" ")||""}`.toLowerCase().includes(at))})).filter(t=>t.options.length),H=m==="model"?d:M&&ne?.[M]||"",ze=(t,s)=>{se?.(t,s),S(),F(null)},R=t=>()=>{S(),m!==t&&Z(""),F(t)},Se=t=>()=>{S(),fe.current=window.setTimeout(R(t),bt)},lt=async()=>{{A(!v);return}};return Je?e.jsxs("span",{className:`composer-chip composer-chip--readonly${n?` ${n}`:""}`,title:oe,children:[e.jsx(Oe,{size:13}),e.jsx(te,{text:B})]}):e.jsxs("span",{ref:U,className:`model-pill-wrap${v&&!J?" is-open":""}${n?` ${n}`:""}`,"data-cmenu":!0,children:[e.jsxs("button",{type:"button",className:`composer-chip model-pill-btn${v&&!J?" is-open":""}${X}`,title:oe||l("input.modelChipTitle"),disabled:g,"aria-expanded":v,onClick:()=>{lt()},children:[i&&e.jsx("span",{ref:be,className:"pill-ultra-streaks","aria-hidden":"true",children:[0,1,2,3].map(t=>e.jsx("i",{},t))}),e.jsx(Oe,{size:13}),i?e.jsxs("span",{className:"pill-ultra-label",children:[e.jsx(te,{text:B}),e.jsx("span",{className:"pill-ultra-tag",children:O})]}):e.jsx(te,{text:B+Xe}),e.jsx(ut,{size:10})]}),v&&!J&&e.jsxs(zt,{portal:c,anchorRef:U,innerRef:t=>{_.current=t,pe.ref.current=t},style:pe.style,children:[h&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`cm-advanced-reveal${W?" is-open":""}`,"aria-hidden":!W,children:e.jsx("div",{className:"cm-advanced-reveal-inner",children:e.jsxs("div",{className:"cm-advanced-list",children:[e.jsxs("div",{className:"cm-row cm-row--static",children:[e.jsx("span",{className:"cm-row-k",children:l("pill.reasoningStrength")}),e.jsxs("span",{className:`cm-row-v${X}`,children:[O,we]})]}),se&&st.map(({slot:t,label:s})=>e.jsxs("button",{type:"button",className:`cm-row${m===t?" is-open":""}`,"data-pane-trigger":t,tabIndex:W?0:-1,onFocus:R(t),onClick:R(t),children:[e.jsx("span",{className:"cm-row-k",children:s}),e.jsx("span",{className:"cm-row-v",children:$e(t)}),e.jsx(G,{size:13})]},t))]})})}),e.jsxs("button",{type:"button",className:`cm-row cm-advanced-toggle${W?" is-open":""}`,"aria-expanded":W,onClick:()=>{ie(t=>!t),F(null)},children:[e.jsx("span",{className:"cm-row-k",children:l("pill.rowAdvanced")}),e.jsx("span",{className:"cm-row-v"}),e.jsx(G,{size:13})]})]}),x&&e.jsxs("button",{type:"button",className:`cm-row${m==="context"?" is-open":""}`,"data-pane-trigger":"context",onMouseEnter:Se("context"),onMouseLeave:S,onFocus:R("context"),onClick:R("context"),children:[e.jsx("span",{className:"cm-row-k",children:l("pill.rowContext")}),e.jsx("span",{className:"cm-row-v",children:I(x.current)}),e.jsx(G,{size:13})]}),e.jsxs("button",{type:"button",className:`cm-row cm-model-row${m==="model"?" is-open":""}`,"data-pane-trigger":"model",onMouseEnter:Se("model"),onMouseLeave:S,onFocus:R("model"),onClick:R("model"),children:[e.jsx("span",{className:"cm-row-k",children:l("pill.rowModel")}),e.jsx("span",{className:"cm-row-v",children:B}),e.jsx(G,{size:13})]}),h&&e.jsxs("div",{className:`cm-effort${X}`,"data-effort":i?"ultra":y,children:[e.jsxs("div",{className:"cm-effort-head",children:[e.jsx("span",{children:l("pill.rowEffort")}),e.jsxs("span",{className:"cm-effort-value",children:[O,we]},i?"ultra":y)]}),e.jsxs("div",{className:"cm-effort-ends",children:[e.jsx("span",{children:l("pill.faster")}),e.jsx("span",{children:l("pill.smarter")})]}),e.jsxs("div",{className:"cm-effort-slider-wrap",children:[e.jsxs("span",{className:"cm-effort-track","aria-hidden":"true",children:[e.jsx("span",{className:"cm-effort-range",style:{width:ve}}),je&&!i&&e.jsx("span",{className:"cm-effort-sparkles",children:Array.from({length:10},(t,s)=>e.jsx("i",{},s))}),i&&e.jsx("span",{className:"cm-effort-streaks",children:Array.from({length:4},(t,s)=>e.jsx("i",{},s))}),e.jsxs("span",{className:"cm-effort-ticks",children:[T.map((t,s)=>e.jsx("i",{className:`${s<=V?" is-on":""}${$&&!$.includes(t)?" is-unsupported":""}`,style:{left:`${s/D*100}%`}},t)),w&&e.jsx("i",{className:`is-ultra-stop${i?" is-on":""}`,style:{left:"100%"}},"ultra")]})]}),e.jsx("span",{className:"cm-effort-thumb",style:{left:Ye},"aria-hidden":"true",children:ge>0&&i&&e.jsx("i",{className:"cm-effort-burst",onAnimationEnd:()=>Y(0)},ge)}),e.jsx("input",{className:"cm-effort-input",type:"range",min:0,max:D,step:1,value:V,"aria-label":l("pill.reasoningStrength"),"aria-valuetext":i?l("pill.ultraTitle"):`${O}${$&&!$.includes(y)?` ${l("pill.thinkUnsupported")}`:""}`,"aria-describedby":i?ye:void 0,title:l(i?"pill.ultraTitle":gt(y)),onChange:t=>{const s=Mt(Number(t.currentTarget.value),w);w?h(s.level,s.ultra):h(s.level)}})]}),i&&e.jsx("div",{id:ye,className:"cm-effort-note",children:l("pill.ultraNote")})]}),re&&e.jsx("div",{className:"menu-section cm-foot",children:re}),m&&(m!=="context"||x)&&e.jsx("div",{ref:t=>{me.current=t,xe.ref.current=t},className:`cm-sub ${ue}`,"data-pane":m,style:{...xe.style,"--cm-sub-top":`${He}px`},children:m==="context"&&x?e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",className:`menu-item${x.selected==="default"?" active":""}`,onClick:()=>Me(null),children:[e.jsx("span",{className:"grow",children:l("pill.ctxDefault",{n:I(x.defaultTokens)})}),e.jsx("span",{className:"mi-check",children:x.selected==="default"?"✓":""})]}),x.maxTokens&&e.jsxs("button",{type:"button",className:`menu-item${x.selected==="max"?" active":""}`,onClick:()=>Me(x.maxTokens),children:[e.jsx("span",{className:"grow",children:l("pill.ctxMax",{n:I(x.maxTokens)})}),e.jsx("span",{className:"mi-check",children:x.selected==="max"?"✓":""})]}),e.jsxs("div",{className:"menu-section cm-foot",children:[i&&b?.ultraUncapped&&x.selected==="default"&&x.maxTokens?e.jsx("div",{children:l("pill.ctxUltra",{n:I(x.maxTokens)})}):null,l("pill.ctxHint",{n:I(x.defaultTokens)})]})]}):e.jsxs(e.Fragment,{children:[Ee.reduce((t,s)=>t+s.options.length,0)>=8&&e.jsxs("label",{className:"model-picker-search",children:[e.jsx(dt,{size:12}),e.jsx("input",{"aria-label":l("model.searchPlaceholder"),placeholder:l("model.searchPlaceholder"),value:ce,onChange:t=>Z(t.target.value)})]}),M&&e.jsxs("button",{type:"button",className:`menu-item${H?"":" active"}`,onClick:()=>ze(M,""),children:[e.jsx("span",{className:"grow",children:$e(M)}),e.jsx("span",{className:"mi-check",children:H?"":"✓"})]}),ee.map((t,s)=>e.jsxs(ot.Fragment,{children:[t.source&&ee[s-1]?.source!==t.source&&e.jsx("div",{className:"menu-source",children:l(t.source==="forsion"?"model.group.forsion":"model.group.direct")}),t.label&&e.jsx("div",{className:"menu-section",children:t.label}),t.options.map(o=>e.jsxs("button",{type:"button",className:`menu-item${o.id===H?" active":""}`,title:o.description,onClick:()=>{m==="model"?(E(o.id),A(!1)):M&&ze(M,o.id)},children:[e.jsx("span",{className:"grow",children:o.name}),o.source&&e.jsx(vt,{model:{source:o.source,tags:o.tags,multiplier:o.multiplier}}),e.jsx("span",{className:"mi-check",children:o.id===H?"✓":""})]},o.id))]},t.key||t.label)),!ee.length&&e.jsx("div",{className:"menu-section",children:l("pill.noModels")})]})})]})]})};export{vt as M,Pt as a,Tt as c,Lt as g,jt as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./UnifiedPage-BX6ZQL0h.js","./index-BM2o7PeV.js","./MarkdownBlock-CkqiwPXa.js","./appStore-DWP8UET9.js","./nativeDownload-BYT082bY.js","./ipc-CxAyeo8q.js","./client-0MPbodA6.js","./appStore-wtOILggO.css","./index-CuiYK18N.js","./linkFollow-B7ivDZMM.js","./mdMarks-DbIcRa0O.js","./emoji-6zl4yfOS.js","./listFold-DLuxXiIj.js","./book-open-OLNm7OaB.js","./MarkdownBlock--__nPQGh.css","./pageChrome-D3Niv1JM.js","./upload-ZrOj6tXA.js","./pageChrome-CovzZPdb.css","./SketchCard-BGYz-bXP.js","./arrow-up-right-DrCXuWS7.js","./Chrome-HdfyYV3i.js","./minus-C9ndHJ9O.js","./canvasPrefs-8taQ42Cz.js","./hand-Bko7ms15.js","./type-CFoaj2eD.js","./foldActions-05QcQziQ.js","./lock-CnbZm4vo.js","./undo-2-DusxpdLa.js","./code-xml-Cuna8Kh4.js","./message-square-plus-CpiKDvle.js","./UnifiedPage-CWXc_mo1.css"])))=>i.map(i=>d[i]);
2
+ import{u as k,d as l,j as t,_ as T}from"./index-BM2o7PeV.js";import{u as L,K as N,aO as I,Z as C,a4 as M,aD as A,cB as O,h_ as W,s as D,p as F,gc as H}from"./appStore-DWP8UET9.js";import"./client-0MPbodA6.js";import"./nativeDownload-BYT082bY.js";import"./ipc-CxAyeo8q.js";const P=H(()=>T(()=>import("./UnifiedPage-BX6ZQL0h.js").then(a=>a.j),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]),import.meta.url).then(a=>({default:a.UnifiedPage}))),U=/\.(md|markdown|txt|json|yaml|yml|toml|csv|log)$/i,B=5e3,J=/!\[([^\]]*)\]\(([^)\s]+)(?:\s+"[^"]*")?\)/g;function R(a){const p=a.filter(i=>!i.dir),s=i=>i.startsWith("Journal/");return p.sort((i,u)=>s(i.path)!==s(u.path)?s(i.path)?-1:1:s(i.path)?u.path.localeCompare(i.path):i.path.localeCompare(u.path))}function V(a){try{const p=atob(a),s=Uint8Array.from(p,i=>i.charCodeAt(0));return new TextDecoder("utf-8").decode(s)}catch{return""}}function X(a){return a.replace(J,(p,s,i)=>`[image${s?`: ${s}`:""} — ${i}]`)}const Q=()=>{const{t:a}=k(),p=L(e=>e.cfg),[s,i]=l.useState(""),[u,_]=l.useState([]),[r,y]=l.useState(""),[b,m]=l.useState(""),[h,x]=l.useState(""),f=l.useRef(""),g=l.useRef(null),j=l.useRef(0),S=l.useMemo(()=>R(u),[u]),w=async(e,n)=>{const c=++j.current;if(!U.test(n.path)){m(""),g.current={path:n.path,mtime:n.mtime};return}const d=window.tangu?.readHostFile;if(!d){m("");return}try{const o=await d(`${e}/${n.path}`);if(c!==j.current)return;m(o.tooLarge?`(${o.size} bytes)`:V(String(o.content||""))),x(""),g.current={path:n.path,mtime:n.mtime}}catch(o){c===j.current&&x(o?.message||String(o))}},$=async()=>{try{const e=await W(D()),n=Array.isArray(e?.files)?e.files:[];i(e?.root||""),_(n),x("");const c=R(n),d=c.find(o=>o.path===f.current);if(d){const o=g.current;(!o||o.path!==d.path||o.mtime!==d.mtime)&&await w(e.root,d)}else c.length?(f.current=c[0].path,y(c[0].path),await w(e.root,c[0])):(f.current="",y(""),m(""),g.current=null)}catch(e){x(e?.message||String(e))}};l.useEffect(()=>{let e=!0,n=null;const c=async()=>{e&&(await $(),e&&(n=setTimeout(()=>{c()},B)))};return c(),()=>{e=!1,n&&clearTimeout(n)}},[p]);const z=e=>{f.current=e.path,y(e.path),w(s,e)},E=()=>{!s||!r||F.getState().openView("wsfile",{path:`${s}/${r}`,name:r.split(/[\\/]/).pop()||r},"main",{newTab:!0})},v=l.useMemo(()=>X(b),[b]);return t.jsxs("div",{style:{display:"flex",height:"100%",minHeight:0,minWidth:0},children:[t.jsxs("div",{style:{width:240,flex:"none",borderRight:"var(--border-width, 1px) solid var(--border)",display:"flex",flexDirection:"column",minHeight:0},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"10px 12px",fontWeight:600,fontSize:"var(--ui-font-body, 13px)"},children:[t.jsx(N,{size:14})," ",a("view.museLibrary"),t.jsx("span",{style:{flex:1}}),t.jsx("button",{className:"icon-btn",title:a("muse.lib.refresh"),onClick:()=>{$()},children:t.jsx(I,{size:13})})]}),t.jsxs("div",{style:{overflowY:"auto",flex:1,padding:"0 6px 8px"},children:[S.length===0&&t.jsx("div",{className:"hint",style:{padding:"4px 6px"},children:h||a("muse.lib.empty")}),S.map(e=>t.jsxs("div",{className:"file-row",onClick:()=>z(e),style:{alignItems:"center",background:e.path===r?"var(--overlay-light, rgba(127,127,127,.1))":void 0,borderRadius:"var(--radius-sm)"},children:[e.path.startsWith("Journal/")?t.jsx(C,{size:13}):t.jsx(M,{size:13}),t.jsx("span",{className:"file-name",style:{flex:1,fontSize:"var(--ui-font-meta, 12px)"},children:e.path})]},e.path))]})]}),t.jsxs("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",minHeight:0},children:[t.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 14px",borderBottom:"var(--border-width, 1px) solid var(--border)",fontSize:"var(--ui-font-meta, 12px)",color:"var(--text-muted)"},children:[t.jsx("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:r?`${s}/${r}`:"",children:r}),r&&t.jsxs("button",{className:"btn ghost sm",onClick:E,children:[t.jsx(A,{size:12})," ",a("muse.lib.openEditor")]})]}),t.jsxs("div",{style:{overflowY:"auto",flex:1,padding:"14px 24px 40px"},children:[h&&t.jsx("div",{className:"hint",style:{color:"var(--danger)"},children:h}),r&&v&&(/\.md$/i.test(r)?t.jsx("div",{className:"am-app tangu-lovable amx-pane amx-editor","data-muse-lib-preview":"amadeus",children:t.jsx(l.Suspense,{fallback:t.jsx("div",{className:"hint",children:r}),children:t.jsx(P,{path:`${s}/${r}`,initial:v,readOnly:!0},`${s}/${r}`)})}):t.jsx(O,{content:v})),r&&!v&&!h&&t.jsx("div",{className:"hint",children:r})]})]})]})};export{Q as MuseLibraryView,X as neutralizeRemoteImages,R as orderFiles};
@@ -1,6 +1,6 @@
1
- import{u as ie,d as r,j as s,r as ae}from"./index-CF4RV4mh.js";import{z as w,gS as ne,S as le,Y as ce,i as re,aF as oe,aK as H,j8 as de,iq as pe,ck as R,aQ as q,u as b,a2 as me,aI as ue,cJ as he,hd as xe,k as c,j9 as ge,hc as fe,g6 as ye,ja as ve,g5 as je,cc as Se,cd as be,hs as we,hb as L,jb as ke,gK as Ne,jc as ze,jd as Te,g8 as Ce}from"./appStore-Dg9WALEA.js";import{i as P,d as U}from"./automationListSource-DP5xZBxo.js";import{p as Me}from"./approvalText-Cy2UAUAQ.js";import{C as Ae}from"./circle-x-D7s-M5sB.js";import{M as Ie}from"./message-square-plus-BiAZAvcw.js";const $e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]],Fe=w("crosshair",$e);const _e=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],De=w("repeat",_e);const We=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]],Ee=w("shield-x",We);ae({"special.muse.sleeping":{zh:"休眠至 {time}",en:"Sleeping until {time}"},"special.muse.sleepingTitle":{zh:"Muse 判断暂时没事可做,跳过心跳到这个时刻;你一有动作、规则命中或日程到期都会提前叫醒它。理由:{reason}",en:"Muse found nothing to do and skips its heartbeat until then; your activity, a rule or a due schedule wakes it earlier. Reason: {reason}"}});const He=m=>{const f=new Date(m);return`${String(f.getHours()).padStart(2,"0")}:${String(f.getMinutes()).padStart(2,"0")}`},x=m=>Array.isArray(m)?m:[],Re=({cfg:m,sessions:f,onInjected:k})=>{const{t}=ie(),[l,V]=r.useState(null),[u,N]=r.useState([]),[O,z]=r.useState([]),[y,T]=r.useState([]),[Y,C]=r.useState([]),[B,S]=r.useState(""),[p,h]=r.useState(new Set),[g,K]=r.useState(""),[M,o]=r.useState(""),[A,I]=r.useState("");ne(e=>e.refreshNonce);const $=O.filter(e=>!e.actions?.length&&(!e.agentSlug||e.agentSlug==="muse")&&!P({kind:"trigger",triggerId:e.id})),F=Y.filter(e=>!P({kind:"schedule",slug:"muse",rowId:e.id})),_=async()=>{const e=await xe(c()).catch(()=>null);V(e),ge(m,"muse",e?.spaceStamp);const n=x(await fe(c(),"pending").catch(()=>[]));if(N(n),h(i=>new Set([...i].filter(a=>n.some(d=>d.id===a)))),z(x(await ye(c()).catch(()=>[]))),T(x(await ve(c(),"pending").catch(()=>[]))),C(await je(c()).then(i=>x(x(i).find(a=>a.slug==="muse")?.entries).filter(a=>a.auto)).catch(()=>[])),e?.sessionId){const a=[...x(await Se(be(e.sessionId),e.sessionId,6).catch(()=>[]))].reverse().find(d=>d.role==="assistant"||d.role==="model");a?.content?S(String(a.content).slice(0,4e3)):e.running||S("")}else S("")};r.useEffect(()=>{let e=!0,n=null;const i=async()=>{e&&(await _(),e&&(n=setTimeout(()=>{i()},4e3)))};return i(),()=>{e=!1,n&&clearTimeout(n)}},[m]);const X=e=>h(n=>{const i=new Set(n);return i.has(e)?i.delete(e):i.add(e),i}),J=async()=>{if(!(!g||!p.size))try{await ke(c(),[...p],g),o(t("special.muse.injected",{n:p.size})),h(new Set),k(g)}catch(e){o(t("special.muse.injectFail",{e:e?.message||e}))}},Q=async()=>{if(!p.size)return;const e=u.filter(i=>p.has(i.id));if(!e.length)return;const n=`${t("special.muse.injectPrefix")}
1
+ import{u as ie,d as r,j as s,r as ae}from"./index-BM2o7PeV.js";import{F as w,hy as ne,K as le,a4 as ce,p as re,aO as oe,dY as H,j$ as de,jh as pe,cp as R,bJ as L,u as b,aa as me,aJ as ue,c7 as he,i1 as xe,s as c,k0 as ge,i0 as fe,gL as ye,k1 as ve,gK as je,ch as Se,ci as be,ii as we,h$ as q,k2 as ke,hq as Ne,k3 as ze,k4 as Te,gN as Ce}from"./appStore-DWP8UET9.js";import"./client-0MPbodA6.js";import{i as P,d as U}from"./automationListSource-C8BNy6RY.js";import{p as Me}from"./approvalText-Cy2UAUAQ.js";import{C as Ae}from"./circle-x-fcReAZaE.js";import{M as Ie}from"./message-square-plus-CpiKDvle.js";const $e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]],Fe=w("crosshair",$e);const _e=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],De=w("repeat",_e);const We=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m14.5 9.5-5 5",key:"17q4r4"}],["path",{d:"m9.5 9.5 5 5",key:"18nt4w"}]],Ee=w("shield-x",We);ae({"special.muse.sleeping":{zh:"休眠至 {time}",en:"Sleeping until {time}"},"special.muse.sleepingTitle":{zh:"Muse 判断暂时没事可做,跳过心跳到这个时刻;你一有动作、规则命中或日程到期都会提前叫醒它。理由:{reason}",en:"Muse found nothing to do and skips its heartbeat until then; your activity, a rule or a due schedule wakes it earlier. Reason: {reason}"}});const He=m=>{const f=new Date(m);return`${String(f.getHours()).padStart(2,"0")}:${String(f.getMinutes()).padStart(2,"0")}`},x=m=>Array.isArray(m)?m:[],Re=({cfg:m,sessions:f,onInjected:k})=>{const{t}=ie(),[l,O]=r.useState(null),[u,N]=r.useState([]),[V,z]=r.useState([]),[y,T]=r.useState([]),[Y,C]=r.useState([]),[B,S]=r.useState(""),[p,h]=r.useState(new Set),[g,J]=r.useState(""),[M,o]=r.useState(""),[A,I]=r.useState("");ne(e=>e.refreshNonce);const $=V.filter(e=>!e.actions?.length&&(!e.agentSlug||e.agentSlug==="muse")&&!P({kind:"trigger",triggerId:e.id})),F=Y.filter(e=>!P({kind:"schedule",slug:"muse",rowId:e.id})),_=async()=>{const e=await xe(c()).catch(()=>null);O(e),ge(m,"muse",e?.spaceStamp);const n=x(await fe(c(),"pending").catch(()=>[]));if(N(n),h(i=>new Set([...i].filter(a=>n.some(d=>d.id===a)))),z(x(await ye(c()).catch(()=>[]))),T(x(await ve(c(),"pending").catch(()=>[]))),C(await je(c()).then(i=>x(x(i).find(a=>a.slug==="muse")?.entries).filter(a=>a.auto)).catch(()=>[])),e?.sessionId){const a=[...x(await Se(be(e.sessionId),e.sessionId,6).catch(()=>[]))].reverse().find(d=>d.role==="assistant"||d.role==="model");a?.content?S(String(a.content).slice(0,4e3)):e.running||S("")}else S("")};r.useEffect(()=>{let e=!0,n=null;const i=async()=>{e&&(await _(),e&&(n=setTimeout(()=>{i()},4e3)))};return i(),()=>{e=!1,n&&clearTimeout(n)}},[m]);const K=e=>h(n=>{const i=new Set(n);return i.has(e)?i.delete(e):i.add(e),i}),X=async()=>{if(!(!g||!p.size))try{await ke(c(),[...p],g),o(t("special.muse.injected",{n:p.size})),h(new Set),k(g)}catch(e){o(t("special.muse.injectFail",{e:e?.message||e}))}},G=async()=>{if(!p.size)return;const e=u.filter(i=>p.has(i.id));if(!e.length)return;const n=`${t("special.muse.injectPrefix")}
2
2
 
3
3
  `+e.map((i,a)=>`${a+1}. ${i.title}${i.detail?`
4
4
  ${i.detail}`:""}`).join(`
5
5
 
6
- `);try{if(Ne(),!await b.getState().send(n,[],void 0,void 0,void 0,null))return;for(const d of e)await L(c(),d.id,"injected").catch(()=>{});ze(c(),`todos run in a new session by user: ${e.map(d=>`"${d.title}"`).join("; ")}`).catch(()=>{}),o(t("special.muse.injected",{n:e.length})),h(new Set);const a=b.getState().activeId;a&&k(a)}catch(i){o(t("special.muse.injectFail",{e:i?.message||i}))}},G=e=>o(t("special.muse.actionFail",{e:e?.message||e})),D=async(e,n)=>{try{await L(c(),e,n),N(i=>i.filter(a=>a.id!==e)),h(i=>{const a=new Set(i);return a.delete(e),a})}catch(i){G(i)}},Z=(e,n)=>U({kind:"trigger",triggerId:e},n,()=>Te(c(),e),()=>{z(i=>i.filter(a=>a.id!==e)),o("")}),ee=(e,n)=>U({kind:"schedule",slug:"muse",rowId:e},n,()=>Ce(c(),"muse",e),()=>{C(i=>i.filter(a=>a.id!==e)),o("")}),W=async(e,n)=>{I(e.id);try{const i=await we(c(),e.id,n);i.status==="failed"?o(t("special.muse.execFailed",{e:String(i.result||"").slice(0,200)})):o(""),T(a=>a.filter(d=>d.id!==e.id))}catch(i){o(t("special.muse.approveFail",{e:i?.message||i}))}finally{I("")}},se=e=>e.cond.type==="file_chars_gte"?t("special.muse.trigFile",{path:e.cond.path.split(/[\\/]/).pop()||e.cond.path,n:e.cond.n}):e.cond.type==="event_seen"?t("special.muse.trigEvent",{match:e.cond.match}):e.cond.type==="daily_at"?t("special.muse.trigDaily",{time:e.cond.time}):e.cond.type==="at"?e.cond.datetime.replace("T"," "):e.cond.type==="every"?`every ${e.cond.interval}`:"—",te=e=>t(e==="auto"?"settings.special.m.modeAuto":e==="agent"?"settings.special.m.modeAgent":"settings.special.m.modeAsk"),v=!!l?.running,j=!v&&l?.sleepUntil&&l.sleepUntil>Date.now()?l.sleepUntil:0,E=y.length||l?.pendingApprovals||0;return s.jsxs("div",{style:{display:"flex",flexDirection:"column",minWidth:0},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10,fontWeight:600,flexWrap:"wrap"},children:[s.jsx(le,{size:16})," ",t("special.muse.title"),s.jsx("span",{style:{flex:1}}),l?.enabled&&l.mode&&s.jsx("span",{className:"conn-pill",style:{fontSize:"var(--ui-font-meta, 12px)",fontWeight:400},title:t("special.muse.modeLabel"),children:te(l.mode).split(/[((]/)[0]}),E>0&&s.jsx("span",{className:"conn-pill",style:{fontSize:"var(--ui-font-meta, 12px)",fontWeight:400,color:"var(--accent-ink)"},children:t("special.muse.pending",{n:E})}),s.jsxs("span",{className:"conn-pill","data-state":l?.enabled?v?"running":j?"sleeping":"idle":"disabled",style:{fontSize:"var(--ui-font-meta, 12px)"},title:l?.enabled&&j?t("special.muse.sleepingTitle",{reason:l.sleepReason||"—"}):void 0,children:[s.jsx("span",{className:"dot",style:{background:v?"var(--accent-ink)":"var(--text-muted)"}}),l?.enabled?v?t("special.muse.running"):j?t("special.muse.sleeping",{time:He(j)}):t("special.muse.idle"):t("special.muse.disabled")]}),s.jsx("button",{className:"icon-btn",title:t("muse.openLibrary"),onClick:()=>re.getState().openView("muse-files",{},"main",{newTab:!0}),children:s.jsx(ce,{size:13})}),s.jsx("button",{className:"icon-btn",onClick:()=>{_()},children:s.jsx(oe,{size:13})})]}),(y.length>0||!!l?.pendingApprovals)&&s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[s.jsx(H,{size:13})," ",t("special.muse.approvals")]}),y.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.approvalsEmpty")}),y.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{style:{display:"block",fontFamily:"var(--font-mono, monospace)",fontSize:"var(--ui-font-meta, 12px)",whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:240,overflow:"auto"},children:e.preview}),Me(e.preview)&&s.jsx("div",{className:"hint",children:t("approval.previewScrollHint")}),s.jsxs("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:[e.tool,e.cwd?` · ${e.cwd}`:""," · ",String(e.created_at).replace("T"," ").slice(5,16),e.note&&s.jsx("div",{children:t("special.muse.approvalNote",{note:e.note})})]})]}),s.jsxs("button",{className:"btn primary sm",disabled:A===e.id,title:t("special.muse.approve"),onClick:()=>{W(e,"approve")},children:[s.jsx(H,{size:12})," ",t("special.muse.approve")]}),s.jsx("button",{className:"icon-btn",disabled:A===e.id,title:t("special.muse.reject"),onClick:()=>{W(e,"reject")},children:s.jsx(Ee,{size:13})})]},e.id))]}),l?.enabled&&s.jsxs("div",{className:"field",children:[s.jsx("label",{children:t("special.muse.thinking")}),s.jsx("div",{style:{fontSize:"var(--ui-font-body, 13px)",lineHeight:1.6,whiteSpace:"pre-wrap",maxHeight:220,overflowY:"auto",background:"var(--bg-card)",border:"var(--border-width) solid var(--border)",borderRadius:"var(--radius-sm)",padding:10},children:B||s.jsx("span",{className:"hint",children:l?.enabled?"…":t("special.muse.disabled")})})]}),s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[s.jsx(De,{size:13})," ",t("special.muse.tracks")]}),F.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.tracksEmpty")}),F.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{children:e.name}),s.jsxs("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:[de(pe(e.date))||e.date,e.repeat?` · ${t("automation.schedule.every",{ivl:e.repeat})}`:"",e.lastRun?` · ${t("special.muse.trigFired",{t:R(e.lastRun)})}`:"",e.description&&s.jsx("div",{children:e.description})]})]}),s.jsx("button",{className:"icon-btn",title:t("special.muse.trackDelete"),onClick:()=>ee(e.id,e.name),children:s.jsx(q,{size:13})})]},e.id))]}),s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[s.jsx(Fe,{size:13})," ",t("special.muse.watches"),s.jsx("span",{style:{flex:1}}),s.jsx("a",{style:{cursor:"pointer",fontSize:"var(--ui-font-caption, 11px)",fontWeight:400,color:"var(--accent-ink, var(--accent))"},onClick:()=>{b.getState().closeSettings(),me("automation")},children:t("special.muse.watchesAll")})]}),$.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.watchesHint")}),$.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{children:e.desc}),s.jsxs("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:[se(e),e.lastFiredAt?` · ${t("special.muse.trigFired",{t:R(e.lastFiredAt)})}`:""]})]}),s.jsx("button",{className:"icon-btn",title:t("special.muse.watchDelete"),onClick:()=>Z(e.id,e.desc),children:s.jsx(q,{size:13})})]},e.id))]}),s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[t("special.muse.todos"),s.jsx("span",{style:{flex:1}}),u.length>0&&s.jsx("button",{className:"btn ghost sm",onClick:()=>h(p.size===u.length?new Set:new Set(u.map(e=>e.id))),children:t("special.muse.selectAll")})]}),u.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.todosEmpty")}),u.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsx("input",{type:"checkbox",checked:p.has(e.id),onChange:()=>X(e.id),style:{marginTop:3}}),s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{children:e.title}),e.detail&&s.jsx("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:e.detail})]}),s.jsx("button",{className:"icon-btn",title:t("special.muse.markDone"),onClick:()=>{D(e.id,"done")},children:s.jsx(ue,{size:13})}),s.jsx("button",{className:"icon-btn",title:t("special.muse.dismiss"),onClick:()=>{D(e.id,"dismissed")},children:s.jsx(Ae,{size:13})})]},e.id))]}),u.length>0&&s.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[s.jsxs("select",{value:g,onChange:e=>K(e.target.value),style:{maxWidth:240},children:[s.jsx("option",{value:"",children:t("special.muse.pickSession")}),f.map(e=>s.jsx("option",{value:e.id,children:e.title||e.id.slice(0,8)},e.id))]}),s.jsxs("button",{className:"btn primary sm",disabled:!g||!p.size,onClick:()=>{J()},children:[s.jsx(he,{size:12})," ",t("special.muse.inject")]}),s.jsxs("button",{className:"btn ghost sm",disabled:!p.size,onClick:()=>{Q()},children:[s.jsx(Ie,{size:12})," ",t("special.muse.runNew")]}),M&&s.jsx("span",{style:{fontSize:"var(--ui-font-meta, 12px)",color:"var(--text-muted)"},children:M})]})]})},Ye=Object.freeze(Object.defineProperty({__proto__:null,MuseView:Re},Symbol.toStringTag,{value:"Module"}));export{Re as M,Ee as S,Ye as a};
6
+ `);try{if(Ne(),!await b.getState().send(n,[],void 0,void 0,void 0,null))return;for(const d of e)await q(c(),d.id,"injected").catch(()=>{});ze(c(),`todos run in a new session by user: ${e.map(d=>`"${d.title}"`).join("; ")}`).catch(()=>{}),o(t("special.muse.injected",{n:e.length})),h(new Set);const a=b.getState().activeId;a&&k(a)}catch(i){o(t("special.muse.injectFail",{e:i?.message||i}))}},Q=e=>o(t("special.muse.actionFail",{e:e?.message||e})),D=async(e,n)=>{try{await q(c(),e,n),N(i=>i.filter(a=>a.id!==e)),h(i=>{const a=new Set(i);return a.delete(e),a})}catch(i){Q(i)}},Z=(e,n)=>U({kind:"trigger",triggerId:e},n,()=>Te(c(),e),()=>{z(i=>i.filter(a=>a.id!==e)),o("")}),ee=(e,n)=>U({kind:"schedule",slug:"muse",rowId:e},n,()=>Ce(c(),"muse",e),()=>{C(i=>i.filter(a=>a.id!==e)),o("")}),W=async(e,n)=>{I(e.id);try{const i=await we(c(),e.id,n);i.status==="failed"?o(t("special.muse.execFailed",{e:String(i.result||"").slice(0,200)})):o(""),T(a=>a.filter(d=>d.id!==e.id))}catch(i){o(t("special.muse.approveFail",{e:i?.message||i}))}finally{I("")}},se=e=>e.cond.type==="file_chars_gte"?t("special.muse.trigFile",{path:e.cond.path.split(/[\\/]/).pop()||e.cond.path,n:e.cond.n}):e.cond.type==="event_seen"?t("special.muse.trigEvent",{match:e.cond.match}):e.cond.type==="daily_at"?t("special.muse.trigDaily",{time:e.cond.time}):e.cond.type==="at"?e.cond.datetime.replace("T"," "):e.cond.type==="every"?`every ${e.cond.interval}`:"—",te=e=>t(e==="auto"?"settings.special.m.modeAuto":e==="agent"?"settings.special.m.modeAgent":"settings.special.m.modeAsk"),v=!!l?.running,j=!v&&l?.sleepUntil&&l.sleepUntil>Date.now()?l.sleepUntil:0,E=y.length||l?.pendingApprovals||0;return s.jsxs("div",{style:{display:"flex",flexDirection:"column",minWidth:0},children:[s.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10,fontWeight:600,flexWrap:"wrap"},children:[s.jsx(le,{size:16})," ",t("special.muse.title"),s.jsx("span",{style:{flex:1}}),l?.enabled&&l.mode&&s.jsx("span",{className:"conn-pill",style:{fontSize:"var(--ui-font-meta, 12px)",fontWeight:400},title:t("special.muse.modeLabel"),children:te(l.mode).split(/[((]/)[0]}),E>0&&s.jsx("span",{className:"conn-pill",style:{fontSize:"var(--ui-font-meta, 12px)",fontWeight:400,color:"var(--accent-ink)"},children:t("special.muse.pending",{n:E})}),s.jsxs("span",{className:"conn-pill","data-state":l?.enabled?v?"running":j?"sleeping":"idle":"disabled",style:{fontSize:"var(--ui-font-meta, 12px)"},title:l?.enabled&&j?t("special.muse.sleepingTitle",{reason:l.sleepReason||"—"}):void 0,children:[s.jsx("span",{className:"dot",style:{background:v?"var(--accent-ink)":"var(--text-muted)"}}),l?.enabled?v?t("special.muse.running"):j?t("special.muse.sleeping",{time:He(j)}):t("special.muse.idle"):t("special.muse.disabled")]}),s.jsx("button",{className:"icon-btn",title:t("muse.openLibrary"),onClick:()=>re.getState().openView("muse-files",{},"main",{newTab:!0}),children:s.jsx(ce,{size:13})}),s.jsx("button",{className:"icon-btn",onClick:()=>{_()},children:s.jsx(oe,{size:13})})]}),(y.length>0||!!l?.pendingApprovals)&&s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[s.jsx(H,{size:13})," ",t("special.muse.approvals")]}),y.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.approvalsEmpty")}),y.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{style:{display:"block",fontFamily:"var(--font-mono, monospace)",fontSize:"var(--ui-font-meta, 12px)",whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:240,overflow:"auto"},children:e.preview}),Me(e.preview)&&s.jsx("div",{className:"hint",children:t("approval.previewScrollHint")}),s.jsxs("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:[e.tool,e.cwd?` · ${e.cwd}`:""," · ",String(e.created_at).replace("T"," ").slice(5,16),e.note&&s.jsx("div",{children:t("special.muse.approvalNote",{note:e.note})})]})]}),s.jsxs("button",{className:"btn primary sm",disabled:A===e.id,title:t("special.muse.approve"),onClick:()=>{W(e,"approve")},children:[s.jsx(H,{size:12})," ",t("special.muse.approve")]}),s.jsx("button",{className:"icon-btn",disabled:A===e.id,title:t("special.muse.reject"),onClick:()=>{W(e,"reject")},children:s.jsx(Ee,{size:13})})]},e.id))]}),l?.enabled&&s.jsxs("div",{className:"field",children:[s.jsx("label",{children:t("special.muse.thinking")}),s.jsx("div",{style:{fontSize:"var(--ui-font-body, 13px)",lineHeight:1.6,whiteSpace:"pre-wrap",maxHeight:220,overflowY:"auto",background:"var(--bg-card)",border:"var(--border-width) solid var(--border)",borderRadius:"var(--radius-sm)",padding:10},children:B||s.jsx("span",{className:"hint",children:l?.enabled?"…":t("special.muse.disabled")})})]}),s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[s.jsx(De,{size:13})," ",t("special.muse.tracks")]}),F.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.tracksEmpty")}),F.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{children:e.name}),s.jsxs("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:[de(pe(e.date))||e.date,e.repeat?` · ${t("automation.schedule.every",{ivl:e.repeat})}`:"",e.lastRun?` · ${t("special.muse.trigFired",{t:R(e.lastRun)})}`:"",e.description&&s.jsx("div",{children:e.description})]})]}),s.jsx("button",{className:"icon-btn",title:t("special.muse.trackDelete"),onClick:()=>ee(e.id,e.name),children:s.jsx(L,{size:13})})]},e.id))]}),s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:6},children:[s.jsx(Fe,{size:13})," ",t("special.muse.watches"),s.jsx("span",{style:{flex:1}}),s.jsx("a",{style:{cursor:"pointer",fontSize:"var(--ui-font-caption, 11px)",fontWeight:400,color:"var(--accent-ink, var(--accent))"},onClick:()=>{b.getState().closeSettings(),me("automation")},children:t("special.muse.watchesAll")})]}),$.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.watchesHint")}),$.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{children:e.desc}),s.jsxs("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:[se(e),e.lastFiredAt?` · ${t("special.muse.trigFired",{t:R(e.lastFiredAt)})}`:""]})]}),s.jsx("button",{className:"icon-btn",title:t("special.muse.watchDelete"),onClick:()=>Z(e.id,e.desc),children:s.jsx(L,{size:13})})]},e.id))]}),s.jsxs("div",{className:"field",children:[s.jsxs("label",{style:{display:"flex",alignItems:"center",gap:8},children:[t("special.muse.todos"),s.jsx("span",{style:{flex:1}}),u.length>0&&s.jsx("button",{className:"btn ghost sm",onClick:()=>h(p.size===u.length?new Set:new Set(u.map(e=>e.id))),children:t("special.muse.selectAll")})]}),u.length===0&&s.jsx("div",{className:"hint",children:t("special.muse.todosEmpty")}),u.map(e=>s.jsxs("div",{className:"file-row",style:{cursor:"default",alignItems:"flex-start"},children:[s.jsx("input",{type:"checkbox",checked:p.has(e.id),onChange:()=>K(e.id),style:{marginTop:3}}),s.jsxs("span",{className:"file-name",style:{flex:1,whiteSpace:"normal"},children:[s.jsx("b",{children:e.title}),e.detail&&s.jsx("div",{style:{color:"var(--text-muted)",fontSize:"var(--ui-font-meta, 12px)",marginTop:2},children:e.detail})]}),s.jsx("button",{className:"icon-btn",title:t("special.muse.markDone"),onClick:()=>{D(e.id,"done")},children:s.jsx(ue,{size:13})}),s.jsx("button",{className:"icon-btn",title:t("special.muse.dismiss"),onClick:()=>{D(e.id,"dismissed")},children:s.jsx(Ae,{size:13})})]},e.id))]}),u.length>0&&s.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"},children:[s.jsxs("select",{value:g,onChange:e=>J(e.target.value),style:{maxWidth:240},children:[s.jsx("option",{value:"",children:t("special.muse.pickSession")}),f.map(e=>s.jsx("option",{value:e.id,children:e.title||e.id.slice(0,8)},e.id))]}),s.jsxs("button",{className:"btn primary sm",disabled:!g||!p.size,onClick:()=>{X()},children:[s.jsx(he,{size:12})," ",t("special.muse.inject")]}),s.jsxs("button",{className:"btn ghost sm",disabled:!p.size,onClick:()=>{G()},children:[s.jsx(Ie,{size:12})," ",t("special.muse.runNew")]}),M&&s.jsx("span",{style:{fontSize:"var(--ui-font-meta, 12px)",color:"var(--text-muted)"},children:M})]})]})},Be=Object.freeze(Object.defineProperty({__proto__:null,MuseView:Re},Symbol.toStringTag,{value:"Module"}));export{Re as M,Ee as S,Be as a};
@@ -1,2 +1,2 @@
1
- import{u as A,d as i,bO as z,j as e}from"./index-CF4RV4mh.js";import{d4 as g,bp as U,au as V,fT as K,ck as S,jL as X,eF as _}from"./appStore-Dg9WALEA.js";import{c as $,D as q}from"./create-4xUyKtAF.js";import{r as B}from"./DashboardGridView-DXqe0vPd.js";import{e as O}from"./UnifiedPage-CKNtVD_n.js";import"./nativeDownload-D-f1_L2S.js";import"./ipc-DQOD2UKk.js";import"./client-BSKpsyAw.js";import"./FloatingToc-CENybkAA.js";import"./MarkdownBlock-DIjYEhTK.js";import"./index-BCubCwdT.js";import"./linkFollow-C0_3k_PC.js";import"./mdMarks-Bq7Hl-4C.js";import"./emoji-DGaxpCIu.js";import"./listFold-BsOVn9UZ.js";import"./pageChrome-C9_azUYW.js";import"./upload-BbeAsMuD.js";import"./pageTree-CZH2J6cc.js";import"./pluginExt-Byb64tQO.js";import"./SidebarRow-BuSkKH5q.js";import"./list-tree-DkAJYEXd.js";import"./pen-tool-lkmBqliH.js";import"./pencil-Cvk91P_Z.js";import"./star-CwDiGyUW.js";import"./folder-plus-D1TDb7k9.js";import"./frame-_xBVYe3P.js";import"./undo-2-tUKCv5Gs.js";import"./redo-2-DSi54z4e.js";import"./ellipsis-r1EcXsFq.js";import"./type-Cqoabh7H.js";import"./code-xml-BALV9u_c.js";import"./lock-BnGHxjeE.js";import"./folder-DlxnPmWY.js";import"./layout-grid-B_pjJwz4.js";import"./SketchCard-D87GADyG.js";import"./Chrome-CwFiDmre.js";import"./minus-Cyv1YzOU.js";import"./canvasPrefs-BeG4oEgP.js";import"./hand-Crrw-nSn.js";import"./sticky-note-BIuPUSOU.js";import"./foldActions-B7KByFdN.js";import"./message-square-plus-BiAZAvcw.js";const W=2e5,v=r=>r.replace(/\r\n?/g,`
2
- `),G=r=>(r.split("/").pop()??r).replace(/\.md$/i,"");function zt({path:r,locked:b,onClose:m}){const{t:s}=A(),j=i.useId(),[n,F]=i.useState(null),[y,I]=i.useState(null),[h,L]=i.useState(null),[o,u]=i.useState(null),[f,M]=i.useState({}),[d,R]=i.useState("content"),[N,w]=i.useState(!1),[k,E]=i.useState(!1),D=i.useRef(!1);D.current=N;const P=i.useRef(null);i.useEffect(()=>{let t=!0;return(async()=>{await z(r).catch(()=>{});try{const[a,c]=await Promise.all([g.listPageHistory?.(r)??[],g.readTextFile(r).catch(()=>null)]);if(!t)return;F(a),L(c),u(a[0]?.id??null)}catch(a){t&&I(O(a))}})(),()=>{t=!1}},[r]),i.useEffect(()=>{if(!o||o in f)return;let t=!0;return(g.readPageHistory?.(r,o)??Promise.resolve(null)).catch(()=>null).then(a=>{t&&M(c=>({...c,[o]:a}))}),()=>{t=!1}},[r,o,f]),i.useEffect(()=>{const t=a=>{a.key==="Escape"&&!D.current&&m()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[m]);const p=n?.find(t=>t.id===o)??null,l=o?f[o]:void 0,x=i.useMemo(()=>{if(d!=="diff"||typeof l!="string"||h==null)return null;const t=v(h),a=v(l);return t===a?{kind:"same"}:t.length+a.length>W?{kind:"large"}:{kind:"patch",patch:$(s("pghist.diff.current"),s("pghist.diff.version"),t,a,"","",{context:3})}},[d,l,h,s]),T=t=>{if(!n?.length)return;const a=Math.max(0,n.findIndex(H=>H.id===o)),c=n[Math.min(n.length-1,Math.max(0,a+t))];u(c.id),P.current?.querySelector(`[data-hist-id="${c.id}"]`)?.scrollIntoView({block:"nearest"})},C=async()=>{if(!p||k)return;E(!0);const t=await B(r,p);E(!1),t&&m()};return U.createPortal(e.jsxs("div",{className:"am-app tangu-lovable",style:{display:"contents"},children:[e.jsx("div",{className:"dialog-overlay",onMouseDown:m,children:e.jsxs("div",{className:"dialog amx-hist",role:"dialog","aria-modal":"true","aria-labelledby":j,"data-testid":"page-history",onMouseDown:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"amx-hist-head",children:[e.jsxs("div",{className:"dialog-title",id:j,children:[s("pghist.menu"),e.jsx("span",{className:"amx-hist-note",children:G(r)})]}),e.jsx("button",{type:"button",className:"amx-hist-close",onClick:m,title:s("pghist.close"),"aria-label":s("pghist.close"),children:e.jsx(V,{size:15})})]}),e.jsx("div",{className:"amx-hist-body",children:y!=null?e.jsx("div",{className:"amx-hist-state",children:s("pghist.loadFailed",{reason:y})}):n==null?e.jsx("div",{className:"amx-hist-state",children:s("pghist.loading")}):n.length===0?e.jsx("div",{className:"amx-hist-state","data-hist-empty":!0,children:s("pghist.empty")}):e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:P,className:"amx-hist-list",role:"listbox","aria-label":s("pghist.listLabel"),tabIndex:0,onKeyDown:t=>{(t.key==="ArrowDown"||t.key==="ArrowUp")&&(t.preventDefault(),T(t.key==="ArrowDown"?1:-1))},children:n.map(t=>e.jsxs("div",{className:"amx-hist-row",role:"option","aria-selected":t.id===o,"data-hist-id":t.id,onClick:()=>u(t.id),children:[e.jsx("span",{className:"amx-hist-rel",children:K(t.at)}),e.jsxs("span",{className:"amx-hist-meta",children:[S(t.at)," · ",X(t.size)]})]},t.id))}),e.jsxs("div",{className:"amx-hist-preview",children:[e.jsx("div",{className:"amx-hist-tabs",role:"tablist",children:["content","diff"].map(t=>e.jsx("button",{type:"button",role:"tab",className:"amx-hist-tab","aria-selected":d===t,"data-hist-tab":t,onClick:()=>R(t),children:s(t==="content"?"pghist.tab.content":"pghist.tab.diff")},t))}),e.jsx("div",{className:"amx-hist-view","data-hist-view":d,children:l===void 0?e.jsx("div",{className:"amx-hist-state",children:s("pghist.loading")}):l===null?e.jsx("div",{className:"amx-hist-state",children:s("pghist.previewFailed")}):d==="content"?e.jsx("pre",{className:"amx-hist-text",children:v(l)}):x?.kind==="patch"?e.jsx(q,{text:x.patch,side:!1}):e.jsx("div",{className:"amx-hist-state",children:s(x?.kind==="large"?"pghist.tooLarge":"pghist.same")})})]})]})}),e.jsxs("div",{className:"amx-hist-foot",children:[e.jsx("span",{className:"amx-hist-hint",children:s(b?"pghist.lockedHint":"pghist.restoreHint")}),e.jsx("button",{type:"button",className:"dialog-btn","data-primary":!0,"data-hist-restore":!0,disabled:b||k||!p||typeof l!="string",onClick:()=>w(!0),children:s("pghist.restore")})]})]})}),N&&p&&e.jsx(_,{title:s("pghist.confirm.title",{time:S(p.at)}),message:s("pghist.confirm.msg"),confirmLabel:s("pghist.confirm.ok"),danger:!1,onConfirm:()=>{C()},onClose:()=>w(!1)})]}),document.body)}export{zt as default};
1
+ import{u as A,d as i,bO as z,j as e}from"./index-BM2o7PeV.js";import{dl as g,bp as U,aE as V,gv as B,cp as S,kB as K,ff as X}from"./appStore-DWP8UET9.js";import{c as _,D as $}from"./create-BGtEfCcg.js";import{r as q}from"./DashboardGridView-B9DCWYVb.js";import{e as O}from"./UnifiedPage-BX6ZQL0h.js";import"./nativeDownload-BYT082bY.js";import"./ipc-CxAyeo8q.js";import"./client-0MPbodA6.js";import"./FloatingToc-Ce9GamvH.js";import"./MarkdownBlock-CkqiwPXa.js";import"./index-CuiYK18N.js";import"./linkFollow-B7ivDZMM.js";import"./mdMarks-DbIcRa0O.js";import"./emoji-6zl4yfOS.js";import"./listFold-DLuxXiIj.js";import"./book-open-OLNm7OaB.js";import"./pageChrome-D3Niv1JM.js";import"./upload-ZrOj6tXA.js";import"./pageTree-CgfvpzIj.js";import"./pluginExt-Byb64tQO.js";import"./SidebarRow-BAJxbMcx.js";import"./list-tree-4-0QDbLu.js";import"./pen-tool-BXEFnU2i.js";import"./pencil-cqvCkekG.js";import"./star-BQWMXnn7.js";import"./folder-plus-BeQHr4AZ.js";import"./type-CFoaj2eD.js";import"./undo-2-DusxpdLa.js";import"./redo-2-BO7wCDwy.js";import"./code-xml-Cuna8Kh4.js";import"./lock-CnbZm4vo.js";import"./folder-BpsfOHD4.js";import"./layout-grid-BBVuEdWG.js";import"./SketchCard-BGYz-bXP.js";import"./arrow-up-right-DrCXuWS7.js";import"./Chrome-HdfyYV3i.js";import"./minus-C9ndHJ9O.js";import"./canvasPrefs-8taQ42Cz.js";import"./hand-Bko7ms15.js";import"./foldActions-05QcQziQ.js";import"./message-square-plus-CpiKDvle.js";const W=2e5,v=r=>r.replace(/\r\n?/g,`
2
+ `),G=r=>(r.split("/").pop()??r).replace(/\.md$/i,"");function At({path:r,locked:b,onClose:m}){const{t:s}=A(),y=i.useId(),[n,I]=i.useState(null),[j,F]=i.useState(null),[h,M]=i.useState(null),[o,u]=i.useState(null),[f,R]=i.useState({}),[d,L]=i.useState("content"),[N,w]=i.useState(!1),[k,E]=i.useState(!1),D=i.useRef(!1);D.current=N;const P=i.useRef(null);i.useEffect(()=>{let t=!0;return(async()=>{await z(r).catch(()=>{});try{const[a,c]=await Promise.all([g.listPageHistory?.(r)??[],g.readTextFile(r).catch(()=>null)]);if(!t)return;I(a),M(c),u(a[0]?.id??null)}catch(a){t&&F(O(a))}})(),()=>{t=!1}},[r]),i.useEffect(()=>{if(!o||o in f)return;let t=!0;return(g.readPageHistory?.(r,o)??Promise.resolve(null)).catch(()=>null).then(a=>{t&&R(c=>({...c,[o]:a}))}),()=>{t=!1}},[r,o,f]),i.useEffect(()=>{const t=a=>{a.key==="Escape"&&!D.current&&m()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[m]);const p=n?.find(t=>t.id===o)??null,l=o?f[o]:void 0,x=i.useMemo(()=>{if(d!=="diff"||typeof l!="string"||h==null)return null;const t=v(h),a=v(l);return t===a?{kind:"same"}:t.length+a.length>W?{kind:"large"}:{kind:"patch",patch:_(s("pghist.diff.current"),s("pghist.diff.version"),t,a,"","",{context:3})}},[d,l,h,s]),T=t=>{if(!n?.length)return;const a=Math.max(0,n.findIndex(H=>H.id===o)),c=n[Math.min(n.length-1,Math.max(0,a+t))];u(c.id),P.current?.querySelector(`[data-hist-id="${c.id}"]`)?.scrollIntoView({block:"nearest"})},C=async()=>{if(!p||k)return;E(!0);const t=await q(r,p);E(!1),t&&m()};return U.createPortal(e.jsxs("div",{className:"am-app tangu-lovable",style:{display:"contents"},children:[e.jsx("div",{className:"dialog-overlay",onMouseDown:m,children:e.jsxs("div",{className:"dialog amx-hist",role:"dialog","aria-modal":"true","aria-labelledby":y,"data-testid":"page-history",onMouseDown:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"amx-hist-head",children:[e.jsxs("div",{className:"dialog-title",id:y,children:[s("pghist.menu"),e.jsx("span",{className:"amx-hist-note",children:G(r)})]}),e.jsx("button",{type:"button",className:"amx-hist-close",onClick:m,title:s("pghist.close"),"aria-label":s("pghist.close"),children:e.jsx(V,{size:15})})]}),e.jsx("div",{className:"amx-hist-body",children:j!=null?e.jsx("div",{className:"amx-hist-state",children:s("pghist.loadFailed",{reason:j})}):n==null?e.jsx("div",{className:"amx-hist-state",children:s("pghist.loading")}):n.length===0?e.jsx("div",{className:"amx-hist-state","data-hist-empty":!0,children:s("pghist.empty")}):e.jsxs(e.Fragment,{children:[e.jsx("div",{ref:P,className:"amx-hist-list",role:"listbox","aria-label":s("pghist.listLabel"),tabIndex:0,onKeyDown:t=>{(t.key==="ArrowDown"||t.key==="ArrowUp")&&(t.preventDefault(),T(t.key==="ArrowDown"?1:-1))},children:n.map(t=>e.jsxs("div",{className:"amx-hist-row",role:"option","aria-selected":t.id===o,"data-hist-id":t.id,onClick:()=>u(t.id),children:[e.jsx("span",{className:"amx-hist-rel",children:B(t.at)}),e.jsxs("span",{className:"amx-hist-meta",children:[S(t.at)," · ",K(t.size)]})]},t.id))}),e.jsxs("div",{className:"amx-hist-preview",children:[e.jsx("div",{className:"amx-hist-tabs",role:"tablist",children:["content","diff"].map(t=>e.jsx("button",{type:"button",role:"tab",className:"amx-hist-tab","aria-selected":d===t,"data-hist-tab":t,onClick:()=>L(t),children:s(t==="content"?"pghist.tab.content":"pghist.tab.diff")},t))}),e.jsx("div",{className:"amx-hist-view","data-hist-view":d,children:l===void 0?e.jsx("div",{className:"amx-hist-state",children:s("pghist.loading")}):l===null?e.jsx("div",{className:"amx-hist-state",children:s("pghist.previewFailed")}):d==="content"?e.jsx("pre",{className:"amx-hist-text",children:v(l)}):x?.kind==="patch"?e.jsx($,{text:x.patch,side:!1}):e.jsx("div",{className:"amx-hist-state",children:s(x?.kind==="large"?"pghist.tooLarge":"pghist.same")})})]})]})}),e.jsxs("div",{className:"amx-hist-foot",children:[e.jsx("span",{className:"amx-hist-hint",children:s(b?"pghist.lockedHint":"pghist.restoreHint")}),e.jsx("button",{type:"button",className:"dialog-btn","data-primary":!0,"data-hist-restore":!0,disabled:b||k||!p||typeof l!="string",onClick:()=>w(!0),children:s("pghist.restore")})]})]})}),N&&p&&e.jsx(X,{title:s("pghist.confirm.title",{time:S(p.at)}),message:s("pghist.confirm.msg"),confirmLabel:s("pghist.confirm.ok"),danger:!1,onConfirm:()=>{C()},onClose:()=>w(!1)})]}),document.body)}export{At as default};
@@ -0,0 +1 @@
1
+ .amx-pdfview{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pdfa-root{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;color:var(--text);font-family:var(--font-ui, inherit)}.pdfa-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg-card, var(--surface));color:var(--text);font-size:13px;-webkit-user-select:none;user-select:none}.pdfa-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text);cursor:pointer;line-height:1;transition:background var(--duration-fast, .12s) var(--ease-out, ease)}.pdfa-btn:hover:not(:disabled){background:var(--bg-hover)}.pdfa-btn:disabled{opacity:.4;cursor:default}.pdfa-copy{min-width:auto}.pdfa-tool{border-color:transparent;padding:0 6px;color:var(--text-muted)}.pdfa-tool:hover:not(:disabled){color:var(--text)}.pdfa-tool.on{color:var(--accent-ink, var(--accent));border-color:var(--accent-ink, var(--accent));background:color-mix(in srgb,var(--accent) 12%,transparent)}.pdfa-sep{width:1px;height:18px;background:var(--border);margin:0 4px;flex:0 0 auto}.pdfa-flex{flex:1 1 auto}.pdfa-body{flex:1 1 auto;display:flex;min-height:0}.pdfa-side{flex:0 0 176px;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--bg-card, var(--surface))}.pdfa-sidetabs{display:flex;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border)}.pdfa-sidetabs button{flex:1;height:24px;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.pdfa-sidetabs button:hover{background:var(--bg-hover)}.pdfa-sidetabs button.on{background:var(--bg-hover);color:var(--text)}.pdfa-sidebody{flex:1 1 auto;min-height:0;overflow:auto}.pdfa-side-empty{padding:18px 12px;color:var(--text-muted);font-size:12px;text-align:center;line-height:1.8}.pdfa-thumbs{padding:10px 12px}.pdfa-thumb{margin-bottom:10px;cursor:pointer;text-align:center}.pdfa-thumb canvas{display:block;width:100%;height:auto;background:#fff;border:2px solid var(--border);border-radius:4px;box-sizing:border-box}.pdfa-thumb.on canvas{border-color:var(--accent-ink, var(--accent))}.pdfa-thumb .no{margin-top:3px;font-size:11px;color:var(--text-muted)}.pdfa-thumb.on .no{color:var(--accent-ink, var(--accent))}.pdfa-outline{padding:8px 6px;font-size:13px}.pdfa-outline button{display:block;width:100%;padding:4px 8px;border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text);text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdfa-outline button:hover{background:var(--bg-hover)}.pdfa-viewport{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}.pdfa-container{position:absolute;inset:0;overflow:auto;background:var(--overlay-light, var(--bg));isolation:isolate;overflow-anchor:none;outline:none}.pdfa-container .annotationLayer section:is(.highlightAnnotation,.underlineAnnotation,.squigglyAnnotation,.strikeoutAnnotation,.inkAnnotation){pointer-events:none}.pdfa-hold{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none}.pdfa-hold canvas{position:absolute;z-index:3}.pdfa-hold-spacer{position:absolute;top:0;left:0;visibility:hidden}.pdfa-container .annotationLayer .popup{background-color:var(--bg-card, var(--surface));color:var(--text);outline:1px solid var(--border);box-shadow:var(--card-shadow)}.pdfa-container .annotationLayer .popup :is(h1,span){color:var(--text)}.pdfa-bottombar{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card, var(--surface));box-shadow:var(--card-shadow);z-index:5;font-size:12px}.pdfa-bottombar .pdfa-btn{border-color:transparent}.pdfa-zoomsel{height:24px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text);font-size:12px;cursor:pointer}.pdfa-zoomsel option{background:var(--bg-card, var(--surface));color:var(--text)}.pdfa-pageinput{width:38px;height:24px;padding:0 4px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text);font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.pdfa-pagetotal{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.pdfa-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.pdfa-state-err{flex-direction:column;gap:10px;pointer-events:auto}.pdfa-root .pdfViewer .page{box-sizing:content-box}.pdfa-root .textLayer .highlight{--highlight-bg-color: transparent;--highlight-selected-bg-color: transparent;padding:0;margin:0}.pdfa-root .pdfa-citehl{position:absolute;inset:0;pointer-events:none}.pdfa-root .pdfa-citehl-band{position:absolute;background:#ffe14d;mix-blend-mode:multiply;border-radius:1px}@keyframes pdfa-citepulse{0%{opacity:0}18%{opacity:1}52%{opacity:.3}to{opacity:1}}.pdfa-root .pdfa-citehl-band.is-pulse{animation:pdfa-citepulse 1s ease-out both}@media(prefers-reduced-motion:reduce){.pdfa-root .pdfa-citehl-band.is-pulse{animation:none}}