@co0ontty/wand 4.94.0 → 4.95.0

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 (197) hide show
  1. package/README.md +4 -1
  2. package/dist/ai-text-runner.d.ts +4 -0
  3. package/dist/ai-text-runner.js +44 -4
  4. package/dist/build-info.json +3 -3
  5. package/dist/cli-api.d.ts +1 -0
  6. package/dist/cli-api.js +7 -2
  7. package/dist/cli.js +47 -0
  8. package/dist/conversation-execution-preference.d.ts +7 -0
  9. package/dist/conversation-execution-preference.js +26 -0
  10. package/dist/conversation-organize-contract.d.ts +70 -0
  11. package/dist/conversation-organize-contract.js +1 -0
  12. package/dist/conversation-organize-service.d.ts +46 -0
  13. package/dist/conversation-organize-service.js +505 -0
  14. package/dist/conversation-organize.d.ts +41 -0
  15. package/dist/conversation-organize.js +97 -0
  16. package/dist/conversation-service.d.ts +2 -1
  17. package/dist/conversation-service.js +10 -4
  18. package/dist/core-turn-tracker.d.ts +5 -1
  19. package/dist/core-turn-tracker.js +17 -1
  20. package/dist/decision-expert-service.d.ts +2 -0
  21. package/dist/decision-expert-service.js +17 -1
  22. package/dist/decision-skill.d.ts +0 -1
  23. package/dist/decision-skill.js +5 -64
  24. package/dist/deployment-lock.js +4 -1
  25. package/dist/employee-im-config.d.ts +17 -0
  26. package/dist/employee-im-config.js +85 -0
  27. package/dist/employee-im-lifecycle.d.ts +35 -0
  28. package/dist/employee-im-lifecycle.js +168 -0
  29. package/dist/employee-im-types.d.ts +80 -0
  30. package/dist/employee-im-types.js +32 -0
  31. package/dist/employee-im.d.ts +35 -0
  32. package/dist/employee-im.js +157 -0
  33. package/dist/employee-knowledge.js +3 -2
  34. package/dist/employee-text.d.ts +1 -0
  35. package/dist/employee-text.js +28 -13
  36. package/dist/git-quick-commit.js +21 -3
  37. package/dist/managed-skill.d.ts +6 -0
  38. package/dist/managed-skill.js +99 -0
  39. package/dist/model-auto-assign.js +1 -1
  40. package/dist/process-manager.js +1 -1
  41. package/dist/prompt-optimizer.js +1 -1
  42. package/dist/scheduled-task-activity.d.ts +16 -0
  43. package/dist/scheduled-task-activity.js +42 -0
  44. package/dist/scheduled-task-agenda.d.ts +20 -0
  45. package/dist/scheduled-task-agenda.js +82 -0
  46. package/dist/scheduled-task-calendar.d.ts +37 -0
  47. package/dist/scheduled-task-calendar.js +131 -0
  48. package/dist/scheduled-task-read-range.d.ts +7 -0
  49. package/dist/scheduled-task-read-range.js +35 -0
  50. package/dist/scheduled-task-service.d.ts +6 -1
  51. package/dist/scheduled-task-service.js +61 -1
  52. package/dist/scheduled-task-state.d.ts +1 -1
  53. package/dist/scheduled-task-types.d.ts +38 -0
  54. package/dist/server-asset-routes.js +3 -2
  55. package/dist/server-conversation-organize-routes.d.ts +4 -0
  56. package/dist/server-conversation-organize-routes.js +75 -0
  57. package/dist/server-conversation-routes.js +2 -1
  58. package/dist/server-employee-im-routes.d.ts +9 -0
  59. package/dist/server-employee-im-routes.js +40 -0
  60. package/dist/server-employee-routes.js +1 -1
  61. package/dist/server-scheduled-task-routes.js +24 -0
  62. package/dist/server-session-lifecycle-routes.js +8 -3
  63. package/dist/server-session-routes.js +18 -0
  64. package/dist/server-session-worktree-routes.js +3 -3
  65. package/dist/server-workspace-routes.d.ts +3 -0
  66. package/dist/server-workspace-routes.js +14 -1
  67. package/dist/server.js +39 -5
  68. package/dist/session-ai-context.d.ts +11 -1
  69. package/dist/session-ai-context.js +21 -2
  70. package/dist/session-metadata-service.js +1 -1
  71. package/dist/session-registry.js +6 -0
  72. package/dist/session-request.js +3 -0
  73. package/dist/session-topic.js +1 -1
  74. package/dist/silicon-employee-draft.js +1 -1
  75. package/dist/speech-polisher-service.d.ts +2 -0
  76. package/dist/speech-polisher-service.js +28 -6
  77. package/dist/storage/conversation-organization-repository.d.ts +13 -0
  78. package/dist/storage/conversation-organization-repository.js +33 -0
  79. package/dist/storage/migrations.js +10 -0
  80. package/dist/storage/secrets-repository.d.ts +7 -0
  81. package/dist/storage/secrets-repository.js +28 -1
  82. package/dist/storage/tasks-repository.js +4 -0
  83. package/dist/storage-schedules.d.ts +8 -1
  84. package/dist/storage-schedules.js +24 -0
  85. package/dist/storage-schema.js +9 -0
  86. package/dist/storage.d.ts +6 -1
  87. package/dist/storage.js +13 -0
  88. package/dist/structured-session-manager.d.ts +1 -0
  89. package/dist/structured-session-manager.js +18 -4
  90. package/dist/system-ai-call.d.ts +49 -0
  91. package/dist/system-ai-call.js +28 -0
  92. package/dist/system-ai-session-recorder.d.ts +30 -0
  93. package/dist/system-ai-session-recorder.js +239 -0
  94. package/dist/system-cli.d.ts +6 -0
  95. package/dist/system-cli.js +93 -0
  96. package/dist/system-skill.d.ts +5 -0
  97. package/dist/system-skill.js +19 -0
  98. package/dist/task-organize-contract.js +2 -2
  99. package/dist/task-title-organize-service.d.ts +1 -1
  100. package/dist/task-title-organize-service.js +9 -5
  101. package/dist/task-title-organize.js +13 -6
  102. package/dist/task-title-service.js +1 -1
  103. package/dist/task-title.js +1 -1
  104. package/dist/user-memory.js +1 -1
  105. package/dist/wand-task-sync.js +2 -1
  106. package/dist/web-ui/content/ai-teams.js +12 -12
  107. package/dist/web-ui/content/module-manifest.json +1 -1
  108. package/dist/web-ui/content/modules/{0051bd3d55f10ab7/library-bridge-DTMQIHVJ.js → 09842858f9d34a4e/library-bridge.js} +2 -2
  109. package/dist/web-ui/content/modules/1021ae40c5761e3f/sha256.js +1 -0
  110. package/dist/web-ui/content/modules/134f6120c0acaf57/host.js +1 -0
  111. package/dist/web-ui/content/modules/1d518ae6ed66fe5a/chunk.js +3 -0
  112. package/dist/web-ui/content/modules/1f93b5bd70381bb6/runtime.js +539 -0
  113. package/dist/web-ui/content/modules/26c68d4decdd18b4/markdown.js +1 -0
  114. package/dist/web-ui/content/modules/2ed8bafd5b4fecc5/workspace-window.js +1 -0
  115. package/dist/web-ui/content/modules/31ffc2f05f87652c/host.js +1 -0
  116. package/dist/web-ui/content/modules/35aaa85b9d0937af/chunk.js +20 -0
  117. package/dist/web-ui/content/modules/3664d0620f124292/chunk.js +3 -0
  118. package/dist/web-ui/content/modules/3cea480770cb184c/chunk.js +1 -0
  119. package/dist/web-ui/content/modules/3d12adf54647c1e2/host-bridge.js +1 -0
  120. package/dist/web-ui/content/modules/459cca2482a9a4ba/host.js +18 -0
  121. package/dist/web-ui/content/modules/474c9647130ef3e9/task-board-host.js +2 -0
  122. package/dist/web-ui/content/modules/4f74d2517f29134c/chunk.js +15 -0
  123. package/dist/web-ui/content/modules/52a218d74002a011/host.js +30 -0
  124. package/dist/web-ui/content/modules/54f2b10659ef8475/employee-card.js +1 -0
  125. package/dist/web-ui/content/modules/703fb1c670f7b199/chunk.js +1 -0
  126. package/dist/web-ui/content/modules/75511da23f051718/host.js +1 -0
  127. package/dist/web-ui/content/modules/{0051bd3d55f10ab7/host-2IVIZ2YC.js → 799b19da948bec8d/host.js} +3 -2
  128. package/dist/web-ui/content/modules/{0051bd3d55f10ab7/host-XNIR3NTJ.js → 7ef73b6c20d2504f/host.js} +3 -2
  129. package/dist/web-ui/content/modules/8f8f7a0a8874d29a/host.js +1 -0
  130. package/dist/web-ui/content/modules/90f2cd73cdf3a2cd/chat-render.js +25 -0
  131. package/dist/web-ui/content/modules/9510efce6caaa9ec/chunk.js +1 -0
  132. package/dist/web-ui/content/modules/9a0e65188739957f/chunk.js +67 -0
  133. package/dist/web-ui/content/modules/9eae1033f47e4526/host.js +1 -0
  134. package/dist/web-ui/content/modules/a2c5b246e57fa165/panel.js +1 -0
  135. package/dist/web-ui/content/modules/a50ce28f45bfeb2e/host.js +1 -0
  136. package/dist/web-ui/content/modules/adfc53789d5bedb2/chunk.js +1 -0
  137. package/dist/web-ui/content/modules/bcecb0cc14b7d2bd/chunk.js +1 -0
  138. package/dist/web-ui/content/modules/c4706f47c23f33e4/host.js +1 -0
  139. package/dist/web-ui/content/modules/{0051bd3d55f10ab7/host-Q524TMSR.js → c7de873095c061ab/host.js} +4 -3
  140. package/dist/web-ui/content/modules/d789f84a3f8765ae/page.js +6 -0
  141. package/dist/web-ui/content/modules/db4e2dbc7aed6353/chunk.js +1 -0
  142. package/dist/web-ui/content/modules/e4fd9906521b4aa3/chunk.js +1 -0
  143. package/dist/web-ui/content/modules/eb95c3ee0d42827a/chunk.js +6 -0
  144. package/dist/web-ui/content/modules/{0051bd3d55f10ab7/host-PHHNGVNL.js → ec68d93a95c1d5d6/host.js} +2 -2
  145. package/dist/web-ui/content/modules/f33ed89d1ccd3a2d/chunk.js +1 -0
  146. package/dist/web-ui/content/modules/f6502dab121f9d91/chunk.js +1 -0
  147. package/dist/web-ui/content/modules/fac83e61c0a8c8a7/host.js +1 -0
  148. package/dist/web-ui/content/scripts.js +1 -1
  149. package/dist/web-ui/embedded-assets.d.ts +200 -27
  150. package/dist/web-ui/embedded-assets.js +5 -4
  151. package/dist/web-ui/react/workspaces/sidebar-manage.d.ts +5 -0
  152. package/dist/web-ui/react/workspaces/sidebar-manage.js +27 -3
  153. package/dist/web-ui/running-activity.d.ts +22 -9
  154. package/dist/web-ui/running-activity.js +58 -42
  155. package/dist/web-ui/running-current-action.d.ts +12 -0
  156. package/dist/web-ui/running-current-action.js +74 -0
  157. package/dist/web-ui/scripts.d.ts +4 -0
  158. package/dist/web-ui/scripts.js +17 -8
  159. package/package.json +4 -2
  160. package/scripts/recover-web-update.mjs +26 -19
  161. package/scripts/recover-web-update.sh +9 -6
  162. package/scripts/update-node.sh +3 -1
  163. package/skills/wand-system/SKILL.md +69 -0
  164. package/skills/wand-system/references/operations.md +100 -0
  165. package/skills/wand-system/scripts/wand.mjs +34 -0
  166. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chat-render-RY2I2CF3.js +0 -24
  167. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-2F6J2MKX.js +0 -1
  168. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-6C6A2RHG.js +0 -1
  169. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-7AFM245W.js +0 -1
  170. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-ECWYA3U5.js +0 -1
  171. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-MHX2QXIS.js +0 -111
  172. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-RAAPETNH.js +0 -1
  173. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-RXKBHYUR.js +0 -38
  174. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-T35D57FW.js +0 -1
  175. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-U4EDP4TI.js +0 -1
  176. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-WHXQR7JT.js +0 -20
  177. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-YOXXNXOX.js +0 -2
  178. package/dist/web-ui/content/modules/0051bd3d55f10ab7/chunk-YQJ6XYV7.js +0 -1
  179. package/dist/web-ui/content/modules/0051bd3d55f10ab7/employee-card-NV34TZIH.js +0 -1
  180. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-2AQAIUNO.js +0 -1
  181. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-AZXNFCRW.js +0 -1
  182. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-EPEQX22R.js +0 -1
  183. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-FZYIMOLC.js +0 -1
  184. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-G6GL4SNL.js +0 -1
  185. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-PEILC5NU.js +0 -1
  186. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-RO5MB6RB.js +0 -69
  187. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-WOQRK6NG.js +0 -1
  188. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-XRVOIEP6.js +0 -1
  189. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-ZDKOQEMS.js +0 -1
  190. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-bridge-PMQZRG5G.js +0 -1
  191. package/dist/web-ui/content/modules/0051bd3d55f10ab7/page-PY4JUL4W.js +0 -3
  192. package/dist/web-ui/content/modules/0051bd3d55f10ab7/panel-BBQFC55Q.js +0 -1
  193. package/dist/web-ui/content/modules/0051bd3d55f10ab7/runtime.js +0 -974
  194. package/dist/web-ui/content/modules/0051bd3d55f10ab7/sha256-ANXV72UC.js +0 -1
  195. package/dist/web-ui/content/modules/0051bd3d55f10ab7/task-board-host-PXZSWBBG.js +0 -2
  196. package/dist/web-ui/content/modules/0051bd3d55f10ab7/workspace-agent-picker-DJSECSY6.js +0 -1
  197. package/dist/web-ui/content/modules/0051bd3d55f10ab7/workspace-window-MNMKSOBG.js +0 -1
@@ -0,0 +1 @@
1
+ import{shared58_a as c,shared58_b as y}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared47_c as D}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared55_a as _}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared11_a as T}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared12_a as m,shared12_c as a,shared12_d as z}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared7_V as I,shared7_ra as j,shared7_x as E}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared26_a as q}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared45_a as w}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared8_Mc as N,shared8_Oc as k,shared8_Rc as R}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared9_a as te}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared10_c as A,shared10_d as C}from"/assets/modules/1f93b5bd70381bb6/runtime.js";var l=A(te(),1);function J(e){return e.sessionId.trim()?e.sessionStatus==="running"?{allowed:!1,reason:"\u4F1A\u8BDD\u4ECD\u5728\u8FD0\u884C\uFF0C\u8BF7\u7ED3\u675F\u540E\u518D\u5408\u5E76\u6216\u6E05\u7406\u3002"}:e.mergeStatus==="merging"?{allowed:!1,reason:"Worktree \u6B63\u5728\u5408\u5E76\uFF0C\u8BF7\u7B49\u5F85\u5F53\u524D\u64CD\u4F5C\u5B8C\u6210\u3002"}:e.intent==="cleanup"?e.cleanupPending===!0?{allowed:!0,reason:""}:{allowed:!1,reason:"\u5F53\u524D worktree \u65E0\u9700\u8865\u507F\u6E05\u7406\u3002"}:!e.sourceBranch?.trim()||!e.worktreePath?.trim()?{allowed:!1,reason:"\u8BE5\u4F1A\u8BDD\u6CA1\u6709\u53EF\u5408\u5E76\u7684 worktree \u4FE1\u606F\u3002"}:e.mergeStatus==="merged"?e.cleanupPending?{allowed:!1,reason:"\u5206\u652F\u5DF2\u7ECF\u5408\u5E76\uFF0C\u8BF7\u6539\u4E3A\u91CD\u8BD5 worktree \u6E05\u7406\u3002"}:{allowed:!1,reason:"\u8BE5 worktree \u5DF2\u5B8C\u6210\u5408\u5E76\u548C\u6E05\u7406\u3002"}:{allowed:!0,reason:""}:{allowed:!1,reason:"\u672A\u627E\u5230\u5BF9\u5E94\u4F1A\u8BDD\u3002"}}function L(e){return!!e&&e.ok&&e.recommendedAction==="merge"&&e.aheadCount>0&&!e.hasUncommittedChanges&&!e.hasConflicts}function V(e){let r=e.targetBranch||"\u4E3B\u5206\u652F";return e.cleanupDone?`\u5DF2\u5408\u5E76\u5230 ${r} \u5E76\u5B8C\u6210 worktree \u6E05\u7406\u3002`:`\u5DF2\u5408\u5E76\u5230 ${r}\uFF0C\u4F46\u5DE5\u4F5C\u6811\u4ECD\u5F85\u6E05\u7406\u3002`}function G(e){return e.ok?`\u68C0\u67E5\u901A\u8FC7\uFF0C\u53EF\u5C06 ${e.aheadCount} \u4E2A\u63D0\u4EA4\u5408\u5E76\u5230 ${e.targetBranch||"\u76EE\u6807\u5206\u652F"}\u3002`:e.reason?e.reason:e.hasUncommittedChanges?"Worktree \u4E2D\u4ECD\u6709\u672A\u63D0\u4EA4\u6539\u52A8\uFF0C\u8BF7\u5148\u63D0\u4EA4\u540E\u518D\u5408\u5E76\u3002":e.hasConflicts?"\u68C0\u6D4B\u5230\u51B2\u7A81\u98CE\u9669\uFF0C\u8BF7\u5148\u624B\u52A8\u5904\u7406\u3002":e.aheadCount<=0?"\u5F53\u524D worktree \u6CA1\u6709\u53EF\u5408\u5E76\u7684\u65B0\u63D0\u4EA4\u3002":"\u5F53\u524D worktree \u6682\u4E0D\u53EF\u5408\u5E76\u3002"}function oe(e){return e==="noop"||e==="resolve-conflict"?e:"merge"}function ne(e){return Array.isArray(e)?e.flatMap(r=>!m(r)||typeof r.hash!="string"||!r.hash?[]:[{hash:r.hash,shortHash:a(r.shortHash,r.hash.slice(0,7)),subject:a(r.subject,a(r.message))}]):[]}function se(e){let r=m(e)?e:{};return{ok:r.ok===!0,sourceBranch:a(r.sourceBranch),targetBranch:a(r.targetBranch),worktreePath:a(r.worktreePath),repoRoot:a(r.repoRoot),hasUncommittedChanges:r.hasUncommittedChanges===!0,aheadCount:Math.max(0,z(r.aheadCount)),hasConflicts:r.hasConflicts===!0,recommendedAction:oe(r.recommendedAction),reason:a(r.reason),commits:ne(r.commits)}}function K(e){let r=m(e)?e:{};return{ok:r.ok===!0,sourceBranch:a(r.sourceBranch),targetBranch:a(r.targetBranch),repoRoot:a(r.repoRoot),mergeCommit:a(r.mergeCommit),mergedAt:a(r.mergedAt),cleanupDone:r.cleanupDone===!0,conflict:r.conflict===!0,errorCode:a(r.errorCode),reason:a(r.reason)}}var g=class extends Error{constructor(o,n="",i=null,v=0){super(o);C(this,"code",n);C(this,"result",i);C(this,"status",v);this.name="WorktreeMergeRepositoryError"}};async function $(e,r){let o;try{o=await e.json()}catch{throw new g(`${r} (HTTP ${e.status})`,"",null,e.status)}let n=m(o)?o:{};if(!e.ok||typeof n.error=="string")throw new g(a(n.error,`${r} (HTTP ${e.status})`),a(n.errorCode),m(n.result)?K(n.result):null,e.status);return n}var F=class{constructor(r=(o,n)=>globalThis.fetch(o,n)){C(this,"fetchImpl",r)}async inspect(r,o={}){let n=await this.fetchImpl(`/api/sessions/${encodeURIComponent(r)}/worktree/merge/check`,{method:"POST",credentials:"same-origin",signal:o.signal}),i=await $(n,"\u65E0\u6CD5\u68C0\u67E5 worktree \u5408\u5E76\u72B6\u6001\u3002");if(!m(i.result))throw new g("\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE\u5408\u5E76\u68C0\u67E5\u7ED3\u679C\u3002");return se(i.result)}async merge(r){let o=await this.fetchImpl(`/api/sessions/${encodeURIComponent(r)}/worktree/merge`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:"{}"}),n=await $(o,"\u65E0\u6CD5\u5408\u5E76 worktree\u3002");if(!m(n.result))throw new g("\u670D\u52A1\u7AEF\u672A\u8FD4\u56DE worktree \u5408\u5E76\u7ED3\u679C\u3002");return K(n.result)}async cleanup(r){let o=await this.fetchImpl(`/api/sessions/${encodeURIComponent(r)}/worktree/cleanup`,{method:"POST",credentials:"same-origin"});return{ok:(await $(o,"\u65E0\u6CD5\u6E05\u7406 worktree\u3002")).ok===!0}}},Q=new F;var t=A(N(),1);function d({label:e,value:r,tone:o}){return(0,t.jsxs)(k,{justify:"space-between",align:"baseline",gap:12,wrap:!0,children:[(0,t.jsx)(R.Text,{type:"secondary",children:e}),(0,t.jsx)(R.Text,{type:o==="error"?"danger":o,strong:!0,style:{overflowWrap:"anywhere"},children:r||"-"})]})}function ae({inspection:e}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d,{label:"\u76EE\u6807\u5206\u652F",value:e.targetBranch}),(0,t.jsx)(d,{label:"\u5F85\u5408\u5E76\u63D0\u4EA4",value:String(e.aheadCount)}),(0,t.jsx)(d,{label:"\u672A\u63D0\u4EA4\u6539\u52A8",value:e.hasUncommittedChanges?"\u6709":"\u65E0",tone:e.hasUncommittedChanges?"warning":"success"}),(0,t.jsx)(d,{label:"\u51B2\u7A81\u98CE\u9669",value:e.hasConflicts?"\u6709":"\u65E0",tone:e.hasConflicts?"error":"success"}),e.commits.length>0?(0,t.jsx)(_,{size:"small","aria-labelledby":"worktree-merge-commits-title",title:(0,t.jsxs)("span",{id:"worktree-merge-commits-title",children:["\u5F85\u5408\u5E76\u63D0\u4EA4\u5217\u8868\uFF08",e.commits.length,"\uFF09"]}),children:(0,t.jsx)(D,{className:"wand-worktree-commit-list",size:"small","aria-label":"\u5F85\u5408\u5E76\u63D0\u4EA4",children:e.commits.map(r=>(0,t.jsx)(D.Item,{children:(0,t.jsxs)(k,{gap:12,align:"baseline",children:[(0,t.jsx)(R.Text,{code:!0,children:r.shortHash}),(0,t.jsx)(R.Text,{strong:!0,style:{overflowWrap:"anywhere"},children:r.subject||r.hash})]})},r.hash))})}):null,(0,t.jsx)(w,{type:e.ok?"success":e.hasConflicts?"error":"warning",title:G(e)})]})}function Re({repository:e=Q}){let r=(0,l.useSyncExternalStore)(y.subscribe,y.getSnapshot,y.getSnapshot),o=r.context,n=(0,l.useMemo)(()=>o?J(o):{allowed:!1,reason:""},[o]),[i,v]=(0,l.useState)(null),[p,x]=(0,l.useState)(null),[M,S]=(0,l.useState)(!1),[u,W]=(0,l.useState)(!1),[O,h]=(0,l.useState)(""),[U,B]=(0,l.useState)(""),H=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(!r.open||!o)return;let s=new AbortController;return v(null),x(null),W(!1),h(""),B(""),!n.allowed||o.intent==="cleanup"?(S(!1),()=>s.abort()):(S(!0),e.inspect(o.sessionId,{signal:s.signal}).then(f=>{s.signal.aborted||(v(f),y.getRuntime()?.onRepositoryChanged(o.sessionId))}).catch(f=>{s.signal.aborted||h(T(f,"\u65E0\u6CD5\u68C0\u67E5 worktree \u5408\u5E76\u72B6\u6001\u3002"))}).finally(()=>{s.signal.aborted||S(!1)}),()=>s.abort())},[n.allowed,o?.intent,o?.sessionId,r.open,r.revision,e]),(0,l.useEffect)(()=>{if(!r.open||M)return;let s=window.requestAnimationFrame(()=>H.current?.focus());return()=>window.cancelAnimationFrame(s)},[r.open,M,i,p]);function P(s){y.getRuntime()?.onRepositoryChanged(s)}async function X(){if(!(!o||u||!L(i))){c.setDismissable(!1),W(!0),h("");try{let s=await e.merge(o.sessionId);x(s),P(o.sessionId),B(V(s)),s.cleanupDone&&(await new Promise(f=>{window.setTimeout(f,E)}),c.close())}catch(s){s instanceof g&&s.result&&(x(s.result),P(o.sessionId)),h(T(s,"\u65E0\u6CD5\u5408\u5E76 worktree\u3002"))}finally{c.setDismissable(!0),W(!1)}}}async function Y(){if(!(!o||u)){c.setDismissable(!1),W(!0),h("");try{if(!(await e.cleanup(o.sessionId)).ok)throw new Error("\u65E0\u6CD5\u6E05\u7406 worktree\u3002");P(o.sessionId),B("\u5DF2\u5B8C\u6210 worktree \u6E05\u7406\u3002"),await new Promise(f=>{window.setTimeout(f,E)}),c.close()}catch(s){h(T(s,"\u65E0\u6CD5\u6E05\u7406 worktree\u3002"))}finally{c.setDismissable(!0),W(!1)}}}let b=o?.intent==="cleanup"||p!=null&&p.cleanupDone===!1&&!!p.mergeCommit,Z=n.allowed&&L(i),ee=b?"\u6E05\u7406 Worktree":"\u5408\u5E76 Worktree",re=b?"\u5B8C\u6210\u5DF2\u5408\u5E76\u5206\u652F\u9057\u7559\u7684 worktree \u6E05\u7406\u3002":"\u68C0\u67E5\u5F53\u524D\u4EFB\u52A1\u5206\u652F\u5E76\u5B89\u5168\u5408\u5E76\u5230\u76EE\u6807\u5206\u652F\u3002";return(0,t.jsx)(j,{open:r.open,onOpenChange:s=>{s||c.close()},title:ee,description:re,className:"wand-ui-dialog-content wand-task-library-dialog wand-worktree-library-dialog",closeLabel:"\u5173\u95ED Worktree \u5408\u5E76",testId:"worktree-merge-dialog",dismissable:!u,children:(0,t.jsxs)(k,{vertical:!0,gap:16,children:[(0,t.jsxs)(k,{vertical:!0,gap:12,"aria-busy":M||u,children:[o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d,{label:"\u6765\u6E90\u5206\u652F",value:i?.sourceBranch||o.sourceBranch||"-"}),(0,t.jsx)(d,{label:"\u5DE5\u4F5C\u76EE\u5F55",value:i?.worktreePath||o.worktreePath||"-"})]}):null,n.allowed?M?(0,t.jsx)(q,{tip:"\u6B63\u5728\u68C0\u67E5 worktree \u5408\u5E76\u72B6\u6001\u2026",children:(0,t.jsx)("div",{style:{minHeight:70},role:"status",children:"\u6B63\u5728\u68C0\u67E5 worktree \u5408\u5E76\u72B6\u6001\u2026"})}):i&&!b?(0,t.jsx)(ae,{inspection:i}):b?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d,{label:"\u76EE\u6807\u5206\u652F",value:p?.targetBranch||o?.targetBranch||"\u4E3B\u5206\u652F"}),p?.mergeCommit?(0,t.jsx)(d,{label:"\u5408\u5E76\u63D0\u4EA4",value:p.mergeCommit.slice(0,12)}):null,(0,t.jsx)(w,{type:"warning",showIcon:!0,title:"\u5408\u5E76\u7ED3\u679C\u5DF2\u7ECF\u4FDD\u7559\uFF1B\u6B64\u64CD\u4F5C\u53EA\u91CD\u8BD5\u5220\u9664\u9057\u7559 worktree \u548C\u4EFB\u52A1\u5206\u652F\u3002"})]}):null:(0,t.jsx)(w,{type:"warning",showIcon:!0,role:"status",title:n.reason}),U?(0,t.jsx)(w,{type:"success",showIcon:!0,role:"status",title:U}):null,O?(0,t.jsx)(w,{type:"error",showIcon:!0,role:"alert",title:O}):null]}),(0,t.jsxs)(k,{justify:"flex-end",gap:8,children:[(0,t.jsx)(I,{ref:H,kind:"secondary",disabled:u,onClick:()=>c.close(),children:n.allowed?"\u53D6\u6D88":"\u5173\u95ED"}),b&&n.allowed?(0,t.jsx)(I,{kind:"primary",disabled:u,onClick:()=>{Y()},children:u?"\u6E05\u7406\u4E2D\u2026":"\u91CD\u8BD5\u6E05\u7406"}):o?.intent==="merge"&&n.allowed?(0,t.jsx)(I,{kind:"primary",disabled:!Z||u||M,onClick:()=>{X()},children:u?"\u5408\u5E76\u4E2D\u2026":"\u786E\u8BA4\u5408\u5E76\u5E76\u6E05\u7406"}):null]})]})})}export{Re as WorktreeMergeHost};
@@ -1,4 +1,5 @@
1
- import{shared47_a as U}from"./runtime.js";import{shared63_a as v,shared63_b as y}from"./runtime.js";import "./runtime.js";import{shared45_a as j}from"./runtime.js";import{shared79_a as D}from"./runtime.js";import "./runtime.js";import{a as O}from"./chunk-YOXXNXOX.js";import{shared82_a as P,shared82_d as K,shared82_e as M}from"./runtime.js";import{shared64_c as N,shared64_f as S,shared64_i as c,shared64_j as H,shared64_k as I,shared64_l as L,shared64_n as R}from"./runtime.js";import{shared83_f as W}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared69_a as q}from"./runtime.js";import{shared27_a as $}from"./runtime.js";import{shared59_a as T}from"./runtime.js";import{shared7_Ed as u,shared7_Fd as g,shared7_Nd as A,shared7_Sc as E,shared7_hd as F,shared7_kd as C,shared7_ld as d,shared7_xc as B,shared7_zd as s}from"./runtime.js";import{shared8_a as G}from"./runtime.js";import{shared9_c as z}from"./runtime.js";var m=z(G(),1);var Z=`.wand-file-preview-code{display:grid;grid-template-columns:auto minmax(max-content,1fr);min-width:100%;min-height:100%;background:var(--bg-primary)}.wand-file-preview-lines,.wand-file-preview-code-content{box-sizing:border-box;min-height:100%;margin:0;padding:16px 14px;font-family:var(--font-mono);line-height:1.62;tab-size:2;white-space:pre}.wand-file-preview-lines{position:sticky;left:0;z-index:1;min-width:52px;border-right:1px solid var(--border-subtle);color:var(--text-muted);background:var(--bg-secondary);text-align:right;user-select:none}.wand-file-preview-code-content{color:var(--text-primary)}.wand-file-preview-code.wrap{grid-template-columns:auto minmax(0,1fr);width:100%}.wand-file-preview-code.wrap .wand-file-preview-code-content{overflow-wrap:anywhere;white-space:pre-wrap}.wand-file-preview-syntax-comment{color:var(--text-muted);font-style:italic}.wand-file-preview-syntax-string{color:var(--success)}.wand-file-preview-syntax-number{color:var(--warning)}.wand-file-preview-syntax-keyword{color:var(--accent-active);font-weight:var(--font-weight-semibold)}.wand-file-preview-syntax-operator{color:var(--danger)}
2
- `;var e=z(E(),1);function n(i){v.execute(i)}function x({file:i,label:o="\u4E0B\u8F7D"}){return(0,e.jsx)(C,{className:"wand-file-preview-download",size:"small",href:i.url,download:i.name,children:o})}function J({snapshot:i,file:o}){let r=o.content??"",l=P(o.path);if(l?.previewUrl)return(0,e.jsx)(W,{previewUrl:l.previewUrl,downloadUrl:l.downloadUrl,label:o.name});if(L(o))return(0,e.jsx)(M,{content:r,fontSize:i.fontSize,wrap:i.wrap,fileContext:{cwd:o.path.slice(0,o.path.lastIndexOf("/"))}});let t=Math.max(1,r.split(`
1
+
2
+ const __wandCssTextPool = Object.freeze([".wand-file-preview-code{display:grid;grid-template-columns:auto minmax(max-content,1fr);min-width:100%;min-height:100%;background:var(--bg-primary)}.wand-file-preview-lines,.wand-file-preview-code-content{box-sizing:border-box;min-height:100%;margin:0;padding:16px 14px;font-family:var(--font-mono);line-height:1.62;tab-size:2;white-space:pre}.wand-file-preview-lines{position:sticky;left:0;z-index:1;min-width:52px;border-right:1px solid var(--border-subtle);color:var(--text-muted);background:var(--bg-secondary);text-align:right;user-select:none}.wand-file-preview-code-content{color:var(--text-primary)}.wand-file-preview-code.wrap{grid-template-columns:auto minmax(0,1fr);width:100%}.wand-file-preview-code.wrap .wand-file-preview-code-content{overflow-wrap:anywhere;white-space:pre-wrap}.wand-file-preview-syntax-comment{color:var(--text-muted);font-style:italic}.wand-file-preview-syntax-string{color:var(--success)}.wand-file-preview-syntax-number{color:var(--warning)}.wand-file-preview-syntax-keyword{color:var(--accent-active);font-weight:var(--font-weight-semibold)}.wand-file-preview-syntax-operator{color:var(--danger)}\n"]);
3
+ import{a as O}from"/assets/modules/3664d0620f124292/chunk.js";import{shared68_a as v,shared68_b as y}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared43_a as j}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{b as K,c as M}from"/assets/modules/eb95c3ee0d42827a/chunk.js";import{a as P}from"/assets/modules/9a0e65188739957f/chunk.js";import{b as W}from"/assets/modules/f6502dab121f9d91/chunk.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared31_a as N,shared31_d as S,shared31_g as c,shared31_h as H,shared31_i as I,shared31_j as L,shared31_l as R}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared54_a as U}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared55_a as D}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared49_a as q}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared7_S as F,shared7_V as d,shared7_j as B,shared7_ja as g,shared7_ra as A}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared26_a as $}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared45_a as T}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared8_Mc as E,shared8_Nc as C,shared8_Oc as s,shared8_Rc as u}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared9_a as G}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared10_c as z}from"/assets/modules/1f93b5bd70381bb6/runtime.js";var m=z(G(),1);var Z=__wandCssTextPool[0];var e=z(E(),1);function n(i){v.execute(i)}function x({file:i,label:o="\u4E0B\u8F7D"}){return(0,e.jsx)(C,{className:"wand-file-preview-download",size:"small",href:i.url,download:i.name,children:o})}function J({snapshot:i,file:o}){let r=o.content??"",l=P(o.path);if(l?.previewUrl)return(0,e.jsx)(W,{previewUrl:l.previewUrl,downloadUrl:l.downloadUrl,label:o.name});if(L(o))return(0,e.jsx)(M,{content:r,fontSize:i.fontSize,wrap:i.wrap,fileContext:{cwd:o.path.slice(0,o.path.lastIndexOf("/"))}});let t=Math.max(1,r.split(`
3
4
  `).length);return(0,e.jsxs)("div",{className:`wand-file-preview-code${i.wrap?" wrap":""}`,children:[(0,e.jsx)("pre",{"aria-hidden":"true",className:"wand-file-preview-lines",style:{fontSize:`${i.fontSize}px`},children:Array.from({length:t},(p,f)=>f+1).join(`
4
5
  `)}),(0,e.jsx)("pre",{className:"wand-file-preview-code-content",style:{fontSize:`${i.fontSize}px`},children:(0,e.jsx)("code",{children:(0,e.jsx)(K,{tokens:R(r)})})})]})}function Q({file:i}){return(0,e.jsxs)(D,{className:"wand-file-preview-binary",style:{margin:"auto",width:"min(560px, 100%)"},styles:{body:{display:"flex",flexDirection:"column",alignItems:"center",gap:12,textAlign:"center"}},children:[(0,e.jsx)("span",{className:"wand-file-preview-binary-icon","aria-hidden":"true",children:(0,e.jsx)(g,{name:"binary",size:44,strokeWidth:1.6})}),(0,e.jsx)(u.Text,{strong:!0,children:i.name}),(0,e.jsxs)(s,{gap:"small",className:"wand-file-preview-binary-meta",children:[(0,e.jsx)("span",{children:i.ext.replace(/^\./,"")||"\u672A\u77E5\u683C\u5F0F"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("span",{children:c(i.size)})]}),(0,e.jsx)(u.Text,{code:!0,style:{maxWidth:"100%",overflowWrap:"anywhere"},children:i.path}),(0,e.jsxs)(s,{wrap:!0,gap:"small",className:"wand-file-preview-binary-actions",children:[(0,e.jsx)(x,{file:i,label:"\u4E0B\u8F7D\u6587\u4EF6"}),(0,e.jsx)(d,{size:"small",onClick:()=>n({type:"composer.cat"}),children:"\u5728\u7EC8\u7AEF\u4E2D\u67E5\u770B"})]})]})}function V({snapshot:i,editorRef:o}){if(i.status==="loading")return(0,e.jsxs)(s,{vertical:!0,align:"center",justify:"center",gap:"small",className:"wand-file-preview-state",role:"status",style:{flex:1,padding:24},children:[(0,e.jsx)($,{size:"small","aria-hidden":"true"}),"\u6B63\u5728\u52A0\u8F7D\u9884\u89C8\u2026"]});if(i.status==="error"){let l=i.failure?.status===413&&i.request?P(i.request.path):null;return l?.previewUrl?(0,e.jsx)(W,{previewUrl:l.previewUrl,downloadUrl:l.downloadUrl,label:N(l.path)}):(0,e.jsxs)(s,{vertical:!0,align:"center",justify:"center",gap:"small",className:"wand-file-preview-state wand-file-preview-error",role:"alert",style:{flex:1,padding:24},children:[(0,e.jsx)(g,{name:"warning",size:22}),(0,e.jsx)("strong",{children:i.failure?.message||"\u52A0\u8F7D\u9884\u89C8\u5931\u8D25"}),i.failure?.size!=null?(0,e.jsxs)("small",{children:["\u6587\u4EF6\u5927\u5C0F\uFF1A",c(i.failure.size)]}):null,i.failure?.download?(0,e.jsx)(x,{file:i.failure.download,label:"\u4ECD\u7136\u4E0B\u8F7D\u6587\u4EF6"}):null,i.request?(0,e.jsx)(d,{kind:"ghost",size:"small",onClick:()=>{let t=i.request;t&&(v.execute({type:"close"}),v.open(t))},children:"\u91CD\u65B0\u52A0\u8F7D"}):null]})}let r=i.file;if(!r)return(0,e.jsx)(q,{className:"wand-file-preview-state",description:"\u9009\u62E9\u6587\u4EF6\u540E\u5C06\u5728\u8FD9\u91CC\u663E\u793A\u9884\u89C8\u3002"});if(i.editing)return(0,e.jsx)(s,{className:"wand-file-preview-editor",style:{flex:1,minHeight:0,minWidth:0},children:(0,e.jsx)(B.TextArea,{className:"resize-none",ref:l=>{o.current=l?.resizableTextArea?.textArea??null},style:{flex:1,width:"100%",height:"100%",resize:"none",fontFamily:"var(--font-mono)",fontSize:i.fontSize,tabSize:2},"aria-label":`\u7F16\u8F91 ${r.name}`,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,wrap:"off",value:i.draft,onChange:l=>n({type:"edit.change",value:l.currentTarget.value}),onKeyDown:l=>{if(l.key!=="Tab"||l.nativeEvent.isComposing)return;l.preventDefault();let t=l.currentTarget,p=t.selectionStart,f=t.selectionEnd,a=`${i.draft.slice(0,p)} ${i.draft.slice(f)}`;n({type:"edit.change",value:a}),requestAnimationFrame(()=>{t.selectionStart=p+2,t.selectionEnd=p+2})}})});switch(r.kind){case"image":return(0,e.jsx)(C,{type:"text",className:`wand-media-stage${i.imageZoomed?" zoomed":""}`,"aria-label":i.imageZoomed?"\u7F29\u5C0F\u56FE\u7247":"\u653E\u5927\u56FE\u7247",onClick:()=>n({type:"view.image.zoom.toggle"}),children:(0,e.jsx)(j,{preview:!1,src:r.rawUrl,alt:r.name})});case"pdf":return(0,e.jsx)("iframe",{className:"wand-file-preview-pdf",style:{width:"100%",height:"100%",border:0},src:r.rawUrl,title:r.name});case"video":return(0,e.jsxs)(s,{vertical:!0,align:"center",justify:"center",gap:"middle",className:"wand-file-preview-media",style:{flex:1,padding:16},children:[(0,e.jsx)("video",{style:{maxWidth:"100%",maxHeight:"100%"},controls:!0,preload:"metadata",src:r.rawUrl,children:"\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u89C6\u9891\u9884\u89C8\u3002"}),(0,e.jsx)("span",{children:c(r.size)})]});case"audio":return(0,e.jsxs)(s,{vertical:!0,align:"center",justify:"center",gap:"middle",className:"wand-file-preview-media wand-file-preview-audio",style:{flex:1,padding:16},children:[(0,e.jsx)("span",{className:"wand-file-preview-media-icon","aria-hidden":"true",children:(0,e.jsx)(g,{name:"audio",size:28,strokeWidth:1.6})}),(0,e.jsx)(u.Text,{strong:!0,children:r.name}),(0,e.jsx)("audio",{style:{width:"min(520px, 100%)"},controls:!0,preload:"metadata",src:r.rawUrl,children:"\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u97F3\u9891\u9884\u89C8\u3002"}),(0,e.jsx)("span",{children:c(r.size)})]});case"binary":return(0,e.jsx)(Q,{file:r});default:return(0,e.jsx)(J,{snapshot:i,file:r})}}function X({snapshot:i,onExitEdit:o}){let r=S(i.request,-1),l=S(i.request,1),t=i.file;return(0,e.jsxs)(s,{wrap:!0,align:"center",gap:"small",style:{flexShrink:0},className:`wand-file-preview-toolbar${i.editing?" editing":""}`,"aria-label":"\u6587\u4EF6\u9884\u89C8\u5DE5\u5177\u680F",children:[(0,e.jsxs)(s,{wrap:!0,align:"center",gap:"small",className:"wand-file-preview-toolbar-group",children:[(0,e.jsx)(d,{size:"small",kind:"ghost","aria-label":"\u4E0A\u4E00\u4E2A\u6587\u4EF6",title:r?`\u4E0A\u4E00\u4E2A\u6587\u4EF6\uFF1A${r.name}`:"\u6CA1\u6709\u4E0A\u4E00\u4E2A\u6587\u4EF6",disabled:!r||i.editing||i.saving,onClick:()=>n({type:"navigate",direction:-1}),children:"\u2190"}),(0,e.jsx)(d,{size:"small",kind:"ghost","aria-label":"\u4E0B\u4E00\u4E2A\u6587\u4EF6",title:l?`\u4E0B\u4E00\u4E2A\u6587\u4EF6\uFF1A${l.name}`:"\u6CA1\u6709\u4E0B\u4E00\u4E2A\u6587\u4EF6",disabled:!l||i.editing||i.saving,onClick:()=>n({type:"navigate",direction:1}),children:"\u2192"})]}),i.editing?(0,e.jsxs)(s,{wrap:!0,align:"center",gap:"small",className:"wand-file-preview-toolbar-group wand-file-preview-edit-actions",children:[(0,e.jsx)(d,{kind:"primary",size:"small",loading:i.saving,onClick:()=>n({type:"edit.save"}),children:i.saving?"\u4FDD\u5B58\u4E2D\u2026":"\u4FDD\u5B58"}),(0,e.jsx)(d,{size:"small",disabled:i.saving||!i.dirty,onClick:()=>n({type:"edit.revert"}),children:"\u64A4\u9500\u6539\u52A8"}),(0,e.jsx)(d,{size:"small",disabled:i.saving,onClick:o,children:"\u9000\u51FA\u7F16\u8F91"})]}):t?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(s,{wrap:!0,align:"center",gap:"small",className:"wand-file-preview-toolbar-group",children:[t.kind==="text"?(0,e.jsx)(d,{kind:"primary",size:"small",onClick:()=>n({type:"edit.enter"}),children:"\u7F16\u8F91"}):null,(0,e.jsx)(d,{size:"small",onClick:()=>n({type:"copy.path"}),children:"\u590D\u5236\u8DEF\u5F84"}),(0,e.jsx)(d,{size:"small",onClick:()=>n({type:"composer.path"}),children:"\u7C98\u8D34\u5230\u8F93\u5165\u6846"}),(0,e.jsx)(x,{file:t})]}),t.kind==="text"?(0,e.jsxs)(s,{wrap:!0,align:"center",gap:"small",className:"wand-file-preview-toolbar-group",children:[(0,e.jsx)(d,{size:"small",onClick:()=>n({type:"copy.content"}),children:"\u590D\u5236\u5185\u5BB9"}),(0,e.jsx)(d,{size:"small",kind:i.wrap?"primary":"secondary","aria-pressed":i.wrap,onClick:()=>n({type:"view.wrap.toggle"}),children:"\u81EA\u52A8\u6362\u884C"}),(0,e.jsx)(d,{size:"small","aria-label":"\u7F29\u5C0F\u5B57\u53F7",onClick:()=>n({type:"view.font.adjust",delta:-1}),children:"A\u2212"}),(0,e.jsx)("span",{className:"wand-file-preview-font-size",role:"status","aria-label":`\u5B57\u53F7 ${i.fontSize}`,children:i.fontSize}),(0,e.jsx)(d,{size:"small","aria-label":"\u653E\u5927\u5B57\u53F7",onClick:()=>n({type:"view.font.adjust",delta:1}),children:"A+"})]}):null]}):i.failure?.download?(0,e.jsx)(x,{file:i.failure.download}):null]})}function ye(){let i=(0,m.useSyncExternalStore)(y.subscribe,y.getSnapshot,y.getSnapshot),o=(0,m.useRef)(null);(0,m.useEffect)(()=>{if(!i.editing)return;let a=o.current;a&&(a.focus(),a.setSelectionRange(0,0),a.scrollTop=0)},[i.editing]);let r=i.request?.path??"",l=i.file?.name||(r?N(r):"\u6587\u4EF6\u9884\u89C8"),t=i.file;function p(){let a=i.request?.path;v.execute({type:"edit.exit"}).then(w=>{w||requestAnimationFrame(()=>{let h=y.getSnapshot(),b=o.current,_=b?.closest("[role=dialog]"),k=document.activeElement;h.open&&h.editing&&h.request?.path===a&&b?.isConnected&&(k===document.body||k&&_?.contains(k))&&b.focus({preventScroll:!0})})})}function f(a){if(a.nativeEvent.isComposing)return;if((a.ctrlKey||a.metaKey)&&a.key.toLowerCase()==="s"&&i.editing){a.preventDefault(),a.stopPropagation(),n({type:"edit.save"});return}if(a.key==="Escape"){a.preventDefault(),a.stopPropagation(),i.editing?p():n({type:"close"});return}let w=a.target;w instanceof HTMLElement&&(w.matches("input, textarea")||w.isContentEditable)||i.editing||(a.key==="ArrowLeft"?(a.preventDefault(),n({type:"navigate",direction:-1})):a.key==="ArrowRight"?(a.preventDefault(),n({type:"navigate",direction:1})):a.key.toLowerCase()==="e"&&t?.kind==="text"&&(a.preventDefault(),n({type:"edit.enter"})))}return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("style",{id:"wand-file-preview-styles",children:[Z,O]}),(0,e.jsx)(A,{open:i.open,onOpenChange:a=>{a||n({type:"close"})},onEscape:()=>{i.saving||(i.editing?p():n({type:"close"}))},title:l,description:r||"\u67E5\u770B\u6587\u4EF6\u5185\u5BB9\u4E0E\u5143\u6570\u636E\u3002",className:"wand-ui-dialog-content wand-file-preview-dialog",width:{xs:"calc(100vw - 16px)",md:960,xl:1040},styles:{body:{display:"flex",height:"min(72dvh, 680px)",minHeight:0,overflow:"hidden"}},closeLabel:"\u5173\u95ED\u6587\u4EF6\u9884\u89C8",testId:"file-preview-dialog",dismissable:!i.saving&&!i.editing,children:(0,e.jsxs)(s,{vertical:!0,gap:"small",style:{flex:1,minHeight:0,minWidth:0},className:"wand-file-preview-shell","data-wand-autofocus":!0,tabIndex:-1,onKeyDownCapture:f,children:[(0,e.jsxs)(s,{align:"center",gap:"small",className:"wand-file-preview-title-meta","aria-live":"polite",children:[(0,e.jsx)("span",{className:"wand-file-preview-kind-icon","aria-hidden":"true",children:t?(0,e.jsx)(g,{name:I(t.kind),size:14,strokeWidth:1.8}):"\u2026"}),t?(0,e.jsx)(F,{className:"wand-file-preview-kind",size:"sm",children:H(t)}):null,i.dirty?(0,e.jsx)(F,{className:"wand-file-preview-dirty",size:"sm",tone:"warning",children:"\u25CF \u672A\u4FDD\u5B58"}):null]}),(0,e.jsx)(X,{snapshot:i,onExitEdit:p}),i.status==="ready"&&i.failure?(0,e.jsx)(T,{className:"wand-file-preview-inline-error",type:"error",showIcon:!0,title:i.failure.message}):null,(0,e.jsx)(s,{className:`wand-file-preview-body kind-${t?.kind??i.status}`,style:{position:"relative",flex:1,minHeight:0,minWidth:0,overflow:"auto",overscrollBehavior:"contain"},children:(0,e.jsx)(V,{snapshot:i,editorRef:o})}),t?(0,e.jsx)(U,{className:"wand-file-preview-metadata","aria-label":"\u6587\u4EF6\u5143\u6570\u636E",size:"small",column:{xs:1,sm:2,md:3},items:[{key:"size",label:"\u5927\u5C0F",children:c(t.size)},{key:"type",label:"\u7C7B\u578B",children:t.mime||t.ext.replace(/^\./,"")||t.kind},{key:"path",label:"\u8DEF\u5F84",children:(0,e.jsx)(u.Text,{ellipsis:{tooltip:t.path},style:{maxWidth:260},children:t.path})}]}):null]})})]})}export{ye as FilePreviewHost};
@@ -1,5 +1,6 @@
1
- import{a as V}from"./chunk-YOXXNXOX.js";import{shared81_a as L,shared81_b as _,shared81_c as z,shared81_d as N}from"./runtime.js";import{shared82_e as q}from"./runtime.js";import{shared64_l as B,shared64_n as Q}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared26_a as j}from"./runtime.js";import{shared69_a as O}from"./runtime.js";import{shared27_a as K}from"./runtime.js";import{shared59_a as W}from"./runtime.js";import{shared7_Ed as I,shared7_Fd as R,shared7_Gd as A,shared7_Sc as $,shared7_fe as D,shared7_hd as H,shared7_ld as b,shared7_md as k,shared7_zd as E}from"./runtime.js";import{shared8_a as P}from"./runtime.js";import{shared9_c as F}from"./runtime.js";var x=F(P(),1),h=F(P(),1);var X=`.wand-code-editor-host[hidden]{display:none!important}.wand-code-editor-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;background:var(--bg-primary, #fff)}.wand-code-editor-lines{flex:0 0 auto;margin:0;padding:12px 8px 12px 12px;text-align:right;color:var(--text-muted, #999);font-family:var(--font-mono, ui-monospace, monospace);line-height:1.55;white-space:pre;user-select:none;overflow:hidden;tab-size:2}.wand-code-editor-area{position:relative;flex:1 1 auto;min-width:0;overflow:auto}.wand-code-editor-markdown{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;background:var(--bg-primary, #fff);overscroll-behavior:contain}.wand-code-editor-markdown:focus-visible{outline:2px solid var(--accent, #2563eb);outline-offset:-2px}.wand-code-editor-content,.wand-code-editor-textarea{margin:0;padding:12px 14px;border:0;font-family:var(--font-mono, ui-monospace, monospace);font-size:inherit;line-height:1.55;white-space:pre;tab-size:2;word-break:normal;overflow-wrap:normal}.wand-code-editor-content{position:absolute;inset:0;pointer-events:none;color:var(--text-primary, #111);overflow:hidden;scrollbar-gutter:stable}.wand-code-editor-content code{font-family:inherit}.wand-code-editor-textarea{position:absolute;inset:0;width:100%;height:100%;background:transparent;color:transparent;caret-color:var(--text-primary, #111);resize:none;outline:none;overflow:auto;scrollbar-gutter:stable}.wand-code-editor-textarea::selection{background:var(--selection-bg)}.wand-code-editor-host.wrap .wand-code-editor-content,.wand-code-editor-host.wrap .wand-code-editor-textarea{white-space:pre-wrap;overflow-wrap:break-word}.wand-code-editor-content .wand-file-preview-syntax-keyword{color:var(--syntax-keyword)}.wand-code-editor-content .wand-file-preview-syntax-string{color:var(--syntax-string)}.wand-code-editor-content .wand-file-preview-syntax-number{color:var(--syntax-number)}.wand-code-editor-content .wand-file-preview-syntax-comment{color:var(--syntax-comment);font-style:italic}.wand-code-editor-content .wand-file-preview-syntax-operator{color:var(--syntax-operator)}.wand-code-editor-content mark.wand-code-editor-hit{background:var(--find-highlight-bg);color:inherit;border-radius:2px}.wand-code-editor-content mark.wand-code-editor-hit.active{background:var(--find-active-bg);box-shadow:0 0 0 1px var(--warning)}
2
- `;var t=F($(),1);function s(e){z.execute(e)}function J(e,a){let u=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT),d=a;for(let c=u.nextNode();c;c=u.nextNode()){let l=c.textContent?.length??0;if(d>=l){d-=l;continue}let i=e.ownerDocument.createRange();i.setStart(c,Math.min(d,l)),i.setEnd(c,Math.min(d+1,l));let o=i.getBoundingClientRect();return o.height>0||o.width>0?o:null}return null}function U({content:e,ranges:a,activeRange:u}){let d=Q(e);if(a.length===0)return(0,t.jsx)("code",{children:d.map((o,v)=>o.kind?(0,t.jsx)("span",{className:`wand-file-preview-syntax-${o.kind}`,children:o.value},v):(0,t.jsx)(h.Fragment,{children:o.value},v))});let c=[],l=0,i=0;return d.forEach((o,v)=>{let f=l,p=l+o.value.length;for(l=p;i<a.length&&a[i].end<=f;)i+=1;let w=[],m=f;for(let n=i;n<a.length&&a[n].start<p;n+=1){let r=a[n],y=Math.max(r.start,f),g=Math.min(r.end,p);y>m&&w.push({value:e.slice(m,y),hit:-1}),g>y&&w.push({value:e.slice(y,g),hit:n}),m=Math.max(m,g)}m<p&&w.push({value:e.slice(m,p),hit:-1}),w.forEach((n,r)=>{let y=n.hit>=0?(0,t.jsx)("mark",{className:`wand-code-editor-hit${n.hit===u?" active":""}`,children:n.value}):n.value,g=`${v}-${r}`;c.push(o.kind?(0,t.jsx)("span",{className:`wand-file-preview-syntax-${o.kind}`,children:y},g):(0,t.jsx)(h.Fragment,{children:y},g))})}),(0,t.jsx)("code",{children:c})}var S="wand-code-editor-panel";function Y({snapshot:e,editorRef:a,ranges:u,activeRange:d}){let c=(0,h.useRef)(null),l=(0,h.useRef)(null);if((0,h.useEffect)(()=>{let f=a.current,p=c.current,w=u[d];if(!f||!p||!w)return;let m=J(p,w.start);if(!m)return;let n=p.getBoundingClientRect(),r=m.top-n.top+p.scrollTop,y=m.left-n.left+p.scrollLeft;f.scrollTop=Math.max(0,r-f.clientHeight/2+m.height/2),f.scrollLeft=Math.max(0,y-f.clientWidth/2+m.width/2)},[a,u,d]),e.status==="loading")return(0,t.jsxs)(E,{id:S,align:"center",justify:"center",gap:"small",style:{flex:1},className:"wand-code-editor-state",role:"status",children:[(0,t.jsx)(K,{size:"small","aria-hidden":"true"}),"\u6B63\u5728\u6253\u5F00\u6587\u4EF6\u2026"]});if(e.status==="error")return(0,t.jsxs)(E,{id:S,vertical:!0,align:"center",justify:"center",gap:"small",style:{flex:1},className:"wand-code-editor-state error",role:"alert",children:[(0,t.jsx)(R,{name:"warning",size:20}),(0,t.jsx)("strong",{children:e.failure?.message||"\u6253\u5F00\u6587\u4EF6\u5931\u8D25"}),e.activePath?(0,t.jsx)(b,{kind:"ghost",size:"small",onClick:()=>{z.open(e.activePath)},children:"\u91CD\u65B0\u52A0\u8F7D"}):null]});let i=e.file;if(!i)return(0,t.jsx)(E,{id:S,justify:"center",align:"center",style:{flex:1},children:(0,t.jsx)(O,{className:"wand-code-editor-state",description:"\u9009\u62E9\u6587\u4EF6\u540E\u5C06\u5728\u8FD9\u91CC\u7F16\u8F91\u3002"})});if(e.preview&&B(i))return(0,t.jsx)("div",{id:S,className:"wand-code-editor-markdown",tabIndex:0,"aria-label":`${i.name} \u9884\u89C8`,children:(0,t.jsx)(q,{content:i.draft,fontSize:e.fontSize,wrap:e.wrap})});let o=i.draft,v=Math.max(1,o.split(`
1
+
2
+ const __wandCssTextPool = Object.freeze([".wand-code-editor-host[hidden]{display:none!important}.wand-code-editor-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;display:flex;background:var(--bg-primary, #fff)}.wand-code-editor-lines{flex:0 0 auto;margin:0;padding:12px 8px 12px 12px;text-align:right;color:var(--text-muted, #999);font-family:var(--font-mono, ui-monospace, monospace);line-height:1.55;white-space:pre;user-select:none;overflow:hidden;tab-size:2}.wand-code-editor-area{position:relative;flex:1 1 auto;min-width:0;overflow:auto}.wand-code-editor-markdown{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;background:var(--bg-primary, #fff);overscroll-behavior:contain}.wand-code-editor-markdown:focus-visible{outline:2px solid var(--accent, #2563eb);outline-offset:-2px}.wand-code-editor-content,.wand-code-editor-textarea{margin:0;padding:12px 14px;border:0;font-family:var(--font-mono, ui-monospace, monospace);font-size:inherit;line-height:1.55;white-space:pre;tab-size:2;word-break:normal;overflow-wrap:normal}.wand-code-editor-content{position:absolute;inset:0;pointer-events:none;color:var(--text-primary, #111);overflow:hidden;scrollbar-gutter:stable}.wand-code-editor-content code{font-family:inherit}.wand-code-editor-textarea{position:absolute;inset:0;width:100%;height:100%;background:transparent;color:transparent;caret-color:var(--text-primary, #111);resize:none;outline:none;overflow:auto;scrollbar-gutter:stable}.wand-code-editor-textarea::selection{background:var(--selection-bg)}.wand-code-editor-host.wrap .wand-code-editor-content,.wand-code-editor-host.wrap .wand-code-editor-textarea{white-space:pre-wrap;overflow-wrap:break-word}.wand-code-editor-content .wand-file-preview-syntax-keyword{color:var(--syntax-keyword)}.wand-code-editor-content .wand-file-preview-syntax-string{color:var(--syntax-string)}.wand-code-editor-content .wand-file-preview-syntax-number{color:var(--syntax-number)}.wand-code-editor-content .wand-file-preview-syntax-comment{color:var(--syntax-comment);font-style:italic}.wand-code-editor-content .wand-file-preview-syntax-operator{color:var(--syntax-operator)}.wand-code-editor-content mark.wand-code-editor-hit{background:var(--find-highlight-bg);color:inherit;border-radius:2px}.wand-code-editor-content mark.wand-code-editor-hit.active{background:var(--find-active-bg);box-shadow:0 0 0 1px var(--warning)}\n"]);
3
+ import{a as V}from"/assets/modules/3664d0620f124292/chunk.js";import{shared29_a as L,shared29_b as _,shared29_c as z,shared29_d as N}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{c as q}from"/assets/modules/eb95c3ee0d42827a/chunk.js";import"/assets/modules/9a0e65188739957f/chunk.js";import"/assets/modules/f6502dab121f9d91/chunk.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared31_j as B,shared31_l as Q}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared24_a as j}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared49_a as O}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared7_Ma as D,shared7_S as H,shared7_V as b,shared7_W as k,shared7_ja as R,shared7_ka as A}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared26_a as K}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared45_a as W}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared8_Mc as $,shared8_Oc as E,shared8_Rc as I}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared9_a as P}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared10_c as F}from"/assets/modules/1f93b5bd70381bb6/runtime.js";var x=F(P(),1),h=F(P(),1);var X=__wandCssTextPool[0];var t=F($(),1);function s(e){z.execute(e)}function J(e,a){let u=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT),d=a;for(let c=u.nextNode();c;c=u.nextNode()){let l=c.textContent?.length??0;if(d>=l){d-=l;continue}let i=e.ownerDocument.createRange();i.setStart(c,Math.min(d,l)),i.setEnd(c,Math.min(d+1,l));let o=i.getBoundingClientRect();return o.height>0||o.width>0?o:null}return null}function U({content:e,ranges:a,activeRange:u}){let d=Q(e);if(a.length===0)return(0,t.jsx)("code",{children:d.map((o,v)=>o.kind?(0,t.jsx)("span",{className:`wand-file-preview-syntax-${o.kind}`,children:o.value},v):(0,t.jsx)(h.Fragment,{children:o.value},v))});let c=[],l=0,i=0;return d.forEach((o,v)=>{let f=l,p=l+o.value.length;for(l=p;i<a.length&&a[i].end<=f;)i+=1;let w=[],m=f;for(let n=i;n<a.length&&a[n].start<p;n+=1){let r=a[n],y=Math.max(r.start,f),g=Math.min(r.end,p);y>m&&w.push({value:e.slice(m,y),hit:-1}),g>y&&w.push({value:e.slice(y,g),hit:n}),m=Math.max(m,g)}m<p&&w.push({value:e.slice(m,p),hit:-1}),w.forEach((n,r)=>{let y=n.hit>=0?(0,t.jsx)("mark",{className:`wand-code-editor-hit${n.hit===u?" active":""}`,children:n.value}):n.value,g=`${v}-${r}`;c.push(o.kind?(0,t.jsx)("span",{className:`wand-file-preview-syntax-${o.kind}`,children:y},g):(0,t.jsx)(h.Fragment,{children:y},g))})}),(0,t.jsx)("code",{children:c})}var S="wand-code-editor-panel";function Y({snapshot:e,editorRef:a,ranges:u,activeRange:d}){let c=(0,h.useRef)(null),l=(0,h.useRef)(null);if((0,h.useEffect)(()=>{let f=a.current,p=c.current,w=u[d];if(!f||!p||!w)return;let m=J(p,w.start);if(!m)return;let n=p.getBoundingClientRect(),r=m.top-n.top+p.scrollTop,y=m.left-n.left+p.scrollLeft;f.scrollTop=Math.max(0,r-f.clientHeight/2+m.height/2),f.scrollLeft=Math.max(0,y-f.clientWidth/2+m.width/2)},[a,u,d]),e.status==="loading")return(0,t.jsxs)(E,{id:S,align:"center",justify:"center",gap:"small",style:{flex:1},className:"wand-code-editor-state",role:"status",children:[(0,t.jsx)(K,{size:"small","aria-hidden":"true"}),"\u6B63\u5728\u6253\u5F00\u6587\u4EF6\u2026"]});if(e.status==="error")return(0,t.jsxs)(E,{id:S,vertical:!0,align:"center",justify:"center",gap:"small",style:{flex:1},className:"wand-code-editor-state error",role:"alert",children:[(0,t.jsx)(R,{name:"warning",size:20}),(0,t.jsx)("strong",{children:e.failure?.message||"\u6253\u5F00\u6587\u4EF6\u5931\u8D25"}),e.activePath?(0,t.jsx)(b,{kind:"ghost",size:"small",onClick:()=>{z.open(e.activePath)},children:"\u91CD\u65B0\u52A0\u8F7D"}):null]});let i=e.file;if(!i)return(0,t.jsx)(E,{id:S,justify:"center",align:"center",style:{flex:1},children:(0,t.jsx)(O,{className:"wand-code-editor-state",description:"\u9009\u62E9\u6587\u4EF6\u540E\u5C06\u5728\u8FD9\u91CC\u7F16\u8F91\u3002"})});if(e.preview&&B(i))return(0,t.jsx)("div",{id:S,className:"wand-code-editor-markdown",tabIndex:0,"aria-label":`${i.name} \u9884\u89C8`,children:(0,t.jsx)(q,{content:i.draft,fontSize:e.fontSize,wrap:e.wrap})});let o=i.draft,v=Math.max(1,o.split(`
3
4
  `).length);return(0,t.jsxs)("div",{id:S,className:"wand-code-editor-body",style:{fontSize:`${e.fontSize}px`},children:[(0,t.jsx)("pre",{ref:l,className:"wand-code-editor-lines","aria-hidden":"true",style:{fontSize:`${e.fontSize}px`},children:Array.from({length:v},(f,p)=>p+1).join(`
4
5
  `)}),(0,t.jsxs)("div",{className:"wand-code-editor-area",children:[(0,t.jsx)("pre",{ref:c,className:"wand-code-editor-content","aria-hidden":"true",children:(0,t.jsx)(U,{content:o,ranges:u,activeRange:d})}),(0,t.jsx)("textarea",{ref:a,className:"resize-none wand-code-editor-textarea","aria-label":`\u7F16\u8F91 ${i.name}`,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,wrap:"off",value:o,onChange:f=>s({type:"change",value:f.currentTarget.value}),onKeyDown:f=>ee(f,o),onScroll:f=>{let p=f.currentTarget,w=c.current;w&&(w.scrollTop=p.scrollTop,w.scrollLeft=p.scrollLeft);let m=l.current;m&&(m.scrollTop=p.scrollTop)}})]})]})}function Z({snapshot:e,matchCount:a,activeIndex:u,activeLine:d,inputRef:c}){let l=e.findQuery.length>0,i=a>L;return(0,t.jsxs)(E,{wrap:!0,align:"center",gap:"small",className:"wand-code-editor-find",style:{padding:"4px 12px",flexShrink:0},children:[(0,t.jsx)(R,{name:"search",size:14}),(0,t.jsx)(A,{ref:c,className:"wand-code-editor-find-input",style:{flex:"1 1 180px",minWidth:0,maxWidth:320},inputSize:"sm",type:"text",value:e.findQuery,"aria-label":"\u5728\u6587\u4EF6\u4E2D\u67E5\u627E",placeholder:"\u5728\u6587\u4EF6\u4E2D\u67E5\u627E",autoComplete:"off",spellCheck:!1,onChange:o=>s({type:"find.set",query:o.currentTarget.value}),onKeyDown:o=>{o.nativeEvent.isComposing||o.key==="Enter"&&(o.preventDefault(),s({type:"find.step",delta:o.shiftKey?-1:1}))}}),(0,t.jsx)(I.Text,{type:l&&a===0?"danger":"secondary",className:`wand-code-editor-find-count${l&&a===0?" empty":""}`,title:i?"\u5339\u914D\u8FC7\u591A\uFF0C\u53EA\u9AD8\u4EAE\u5F53\u524D\u9879":void 0,"aria-live":"polite",children:l?a===0?"\u65E0\u7ED3\u679C":`${u+1}/${a}`:""}),l&&d!==null?(0,t.jsxs)(I.Text,{type:"secondary",className:"wand-code-editor-find-line",children:["\u7B2C ",d," \u884C"]}):null,(0,t.jsx)(k,{title:"\u4E0A\u4E00\u4E2A\u5339\u914D (\u21E7\u21B5)","aria-label":"\u4E0A\u4E00\u4E2A\u5339\u914D",disabled:a===0,onClick:()=>s({type:"find.step",delta:-1}),children:"\u2191"}),(0,t.jsx)(k,{title:"\u4E0B\u4E00\u4E2A\u5339\u914D (\u21B5)","aria-label":"\u4E0B\u4E00\u4E2A\u5339\u914D",disabled:a===0,onClick:()=>s({type:"find.step",delta:1}),children:"\u2193"}),(0,t.jsx)(k,{kind:e.findCaseSensitive?"primary":"ghost",title:"\u533A\u5206\u5927\u5C0F\u5199","aria-label":"\u533A\u5206\u5927\u5C0F\u5199","aria-pressed":e.findCaseSensitive,onClick:()=>s({type:"find.case.toggle"}),children:"Aa"}),(0,t.jsx)(k,{title:"\u5173\u95ED\u67E5\u627E (Esc)","aria-label":"\u5173\u95ED\u67E5\u627E",onClick:()=>s({type:"find.close"}),children:(0,t.jsx)(R,{name:"close",size:12})})]})}function ee(e,a){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()==="s"){e.preventDefault(),e.stopPropagation(),s({type:"save"});return}if(e.key==="Tab"){if(e.nativeEvent.isComposing)return;e.preventDefault();let u=e.currentTarget,d=u.selectionStart,c=u.selectionEnd,l=`${a.slice(0,d)} ${a.slice(c)}`;s({type:"change",value:l}),requestAnimationFrame(()=>{u.selectionStart=d+2,u.selectionEnd=d+2});return}}function ge(){let e=(0,h.useSyncExternalStore)(N.subscribe,N.getSnapshot,N.getSnapshot),a=(0,h.useRef)(null),u=(0,h.useRef)(null),d=(0,h.useRef)(!1),c=e.file,l=c?B(c):!1,i=l&&e.preview,o=c?.draft??"",v=x.useMemo(()=>{if(!e.findOpen||!e.findQuery)return{count:0,ranges:[],activeRange:-1,activeIndex:-1};let n=_(o,e.findQuery,{caseSensitive:e.findCaseSensitive});if(n.length===0)return{count:0,ranges:[],activeRange:-1,activeIndex:-1};let r=Math.min(Math.max(e.findIndex,0),n.length-1);return n.length>L?{count:n.length,ranges:[n[r]],activeRange:0,activeIndex:r}:{count:n.length,ranges:n,activeRange:r,activeIndex:r}},[e.findOpen,e.findQuery,e.findCaseSensitive,e.findIndex,o]);(0,h.useEffect)(()=>{let n=d.current&&!e.saving;d.current=e.saving,n&&e.status==="ready"&&document.activeElement===document.body&&a.current?.focus()},[e.saving,e.status]),(0,h.useEffect)(()=>{if(e.findOpen){let n=u.current;n?.focus(),n?.select();return}e.status!=="ready"||!e.file||document.activeElement?.getAttribute("role")!=="tab"&&a.current?.focus()},[e.findOpen,e.activePath,e.status,e.preview]),(0,h.useEffect)(()=>{if(e.status!=="ready")return;let n=a.current;n&&(n.scrollTop=0)},[e.activePath,e.status]);function f(){i&&s({type:"preview.toggle"}),s({type:"find.open"})}function p(n){let r=document.activeElement;z.execute({type:"close",path:n}).then(y=>{y||requestAnimationFrame(()=>{let g=document.activeElement,M=a.current?.closest(".wand-code-editor-host");r instanceof HTMLElement&&r.isConnected&&(g===document.body||g&&M?.contains(g))&&r.focus({preventScroll:!0})})})}function w(n){if(!n.nativeEvent.isComposing){if((n.ctrlKey||n.metaKey)&&n.key.toLowerCase()==="f"){n.preventDefault(),n.stopPropagation();let r=a.current,y=r&&r.selectionEnd>r.selectionStart?r.value.slice(r.selectionStart,r.selectionEnd):"";f(),y&&!y.includes(`
5
6
  `)&&s({type:"find.set",query:y});return}if(n.key==="Escape"){if(n.preventDefault(),n.stopPropagation(),e.findOpen){s({type:"find.close"});return}e.activePath&&p(e.activePath)}}}let m=!e.open||!e.activePath;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("style",{id:"wand-code-editor-styles",children:[X,V]}),(0,t.jsxs)(E,{vertical:!0,className:`wand-code-editor-host${e.wrap?" wrap":""}`,hidden:m,onKeyDownCapture:w,"aria-hidden":m,style:{position:"absolute",inset:0,zIndex:40,background:"var(--bg-primary)",minHeight:0},children:[e.tabs.length>0&&(0,t.jsx)(D,{className:"wand-code-editor-tabs",type:"editable-card",hideAdd:!0,size:"small",activeKey:e.activePath??void 0,"aria-label":"\u6253\u5F00\u7684\u6587\u4EF6",onChange:n=>s({type:"activate",path:n}),onEdit:(n,r)=>{r==="remove"&&typeof n=="string"&&p(n)},items:e.tabs.map(n=>({key:n.path,label:(0,t.jsx)("span",{className:`wand-code-editor-tab${e.activePath===n.path?" active":""}`,title:n.path,children:(0,t.jsx)(j,{dot:n.dirty,offset:[4,0],children:(0,t.jsx)("span",{className:"wand-code-editor-tab-name",children:n.name})})}),closeIcon:(0,t.jsx)(R,{name:"close",size:12})})),style:{flexShrink:0},styles:{header:{margin:0},body:{display:"none"}},renderTabBar:(n,r)=>(0,t.jsx)(r,{...n,children:y=>{let g=e.tabs.find(C=>C.path===y.key),M=y;return x.cloneElement(M,{},x.Children.map(M.props.children,C=>{if(!x.isValidElement(C))return C;let T=C;return T.props.role==="tab"?x.cloneElement(T,{"aria-controls":S,"aria-label":g?.dirty?`${g.name}\uFF0C\u672A\u4FDD\u5B58`:g?.name,onFocus:G=>{T.props.onFocus?.(G),g&&s({type:"activate",path:g.path})}}):T.type==="button"?x.cloneElement(T,{className:`${T.props.className??""} wand-code-editor-tab-close`,"aria-label":`\u5173\u95ED ${g?.name??"\u6587\u4EF6"}`}):C}))}})}),e.file&&(0,t.jsxs)(E,{wrap:!0,align:"center",gap:"small",className:"wand-code-editor-toolbar","aria-label":"\u7F16\u8F91\u5668\u5DE5\u5177\u680F",style:{padding:"8px 12px",flexShrink:0},children:[(0,t.jsx)(H,{className:"wand-code-editor-dirty-mark",size:"sm",tone:e.file.dirty?"warning":"success",children:e.file.dirty?"\u25CF \u672A\u4FDD\u5B58":"\u5DF2\u4FDD\u5B58"}),(0,t.jsx)("span",{style:{flex:1}}),(0,t.jsx)(b,{size:"small",kind:"primary",loading:e.saving,disabled:e.saving||!e.file.dirty,onClick:()=>s({type:"save"}),children:e.saving?"\u4FDD\u5B58\u4E2D\u2026":"\u4FDD\u5B58 (\u2318S)"}),(0,t.jsx)(b,{size:"small",disabled:e.saving||!e.file.dirty,onClick:()=>s({type:"revert"}),children:"\u64A4\u9500\u6539\u52A8"}),l?(0,t.jsx)(b,{size:"small",kind:i?"primary":"secondary","aria-pressed":i,title:i?"\u663E\u793A Markdown \u6E90\u7801":"\u6E32\u67D3 Markdown \u9884\u89C8",onClick:()=>s({type:"preview.toggle"}),children:"\u9884\u89C8"}):null,(0,t.jsx)(b,{size:"small",kind:e.findOpen?"primary":"secondary",onClick:f,"aria-pressed":e.findOpen,title:"\u5728\u6587\u4EF6\u4E2D\u67E5\u627E (\u2318F)",children:"\u67E5\u627E \u2318F"}),(0,t.jsx)(b,{size:"small",kind:e.wrap?"primary":"secondary",onClick:()=>s({type:"wrap.toggle"}),"aria-pressed":e.wrap,children:"\u81EA\u52A8\u6362\u884C"}),(0,t.jsx)(k,{"aria-label":"\u7F29\u5C0F\u5B57\u53F7",onClick:()=>s({type:"font.adjust",delta:-1}),children:"A\u2212"}),(0,t.jsx)("span",{role:"status","aria-label":`\u5B57\u53F7 ${e.fontSize}`,children:e.fontSize}),(0,t.jsx)(k,{"aria-label":"\u653E\u5927\u5B57\u53F7",onClick:()=>s({type:"font.adjust",delta:1}),children:"A+"})]}),e.status==="ready"&&e.failure?(0,t.jsx)(W,{className:"wand-code-editor-inline-error",type:"error",showIcon:!0,title:e.failure.message}):null,e.findOpen&&e.file?(0,t.jsx)(Z,{snapshot:e,matchCount:v.count,activeIndex:v.activeIndex<0?0:v.activeIndex,activeLine:v.count>0&&v.activeRange>=0?v.ranges[v.activeRange]?.line??null:null,inputRef:u}):null,(0,t.jsx)(Y,{snapshot:e,editorRef:a,ranges:v.ranges,activeRange:v.activeRange})]})]})}export{ge as CodeEditorHost};
@@ -0,0 +1 @@
1
+ import{a as R,b as z,c as M}from"/assets/modules/db4e2dbc7aed6353/chunk.js";import{b as B}from"/assets/modules/703fb1c670f7b199/chunk.js";import{shared56_a as l,shared56_b as w}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared11_b as b}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared66_b as A}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared7_V as y,shared7_g as K,shared7_ka as H,shared7_ra as N}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import "/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared45_a as D}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared8_Mc as W,shared8_Oc as C,shared8_Rc as L}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared9_a as G}from"/assets/modules/1f93b5bd70381bb6/runtime.js";import{shared10_c as x}from"/assets/modules/1f93b5bd70381bb6/runtime.js";var o=x(G(),1);var t=x(W(),1),U=new Set(["ArrowDown","ArrowUp","Home","End"]);function ae({repository:F=M}){let n=(0,o.useSyncExternalStore)(w.subscribe,w.getSnapshot,w.getSnapshot),[s,I]=(0,o.useState)(""),[p,u]=(0,o.useState)(null),[g,k]=(0,o.useState)(!1),[d,m]=(0,o.useState)(!1),[h,i]=(0,o.useState)(""),[a,f]=(0,o.useState)(-1),S=(0,o.useRef)([]);(0,o.useEffect)(()=>{n.open&&(I(n.initialPath),u(null),k(!1),m(!1),i(""),f(-1))},[n.open,n.revision,n.initialPath]),(0,o.useEffect)(()=>{if(!n.open)return;let e=s.trim();if(!e){u(null),k(!1),i("\u8BF7\u8F93\u5165\u5DE5\u4F5C\u76EE\u5F55\u3002"),f(-1);return}let r=new AbortController;k(!0),i(""),f(-1);let c=window.setTimeout(()=>{F.list(e,{signal:r.signal}).then(P=>{r.signal.aborted||(u(P),i(""))}).catch(P=>{r.signal.aborted||(u(null),i(b(P,"\u65E0\u6CD5\u8BFB\u53D6\u8BE5\u76EE\u5F55\u3002")))}).finally(()=>{r.signal.aborted||k(!1)})},120);return()=>{window.clearTimeout(c),r.abort()}},[n.open,s,F]),(0,o.useEffect)(()=>{a<0||S.current[a]?.scrollIntoView({block:"nearest"})},[a]);function v(e){I(e),u(null),i(""),f(-1)}async function O(e){if(!d){l.setDismissable(!1),m(!0),i("");try{await l.choose(e)||i("\u65E0\u6CD5\u5E94\u7528\u5DE5\u4F5C\u76EE\u5F55\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5\u3002")}catch(r){i(b(r,"\u65E0\u6CD5\u8BFB\u53D6\u8BE5\u76EE\u5F55\u3002"))}finally{l.setDismissable(!0),m(!1)}}}function T(e){if(e.type==="parent"){v(e.path);return}O(e.path)}async function V(e){e.preventDefault();let r=s.trim();if(!r||d){r||i("\u8BF7\u8F93\u5165\u5DE5\u4F5C\u76EE\u5F55\u3002");return}l.setDismissable(!1),m(!0),i("");try{let c=await F.list(r);await l.choose(c.currentPath)||i("\u65E0\u6CD5\u5E94\u7528\u5DE5\u4F5C\u76EE\u5F55\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u540E\u91CD\u8BD5\u3002")}catch(c){i(b(c,"\u65E0\u6CD5\u8BFB\u53D6\u8BE5\u76EE\u5F55\u3002"))}finally{l.setDismissable(!0),m(!1)}}function q(e){if(e.nativeEvent.isComposing)return;if(U.has(e.key)){e.preventDefault(),f(c=>z(c,p?.items.length??0,e.key));return}if(e.key!=="Enter"||a<0)return;let r=p?.items[a];r&&(e.preventDefault(),T(r))}let E=p?.items.find(e=>e.type==="parent")??null;return(0,t.jsx)(N,{open:n.open,onOpenChange:e=>{e||l.close()},title:"\u9009\u62E9\u5DE5\u4F5C\u76EE\u5F55",description:"\u8F93\u5165\u8DEF\u5F84\u6216\u4ECE\u76EE\u5F55\u5EFA\u8BAE\u4E2D\u9009\u62E9\uFF0C\u540E\u7EED\u65B0\u4F1A\u8BDD\u4F1A\u4ECE\u8BE5\u76EE\u5F55\u542F\u52A8\u3002",className:"wand-task-library-dialog wand-folder-picker-library-dialog",closeLabel:"\u5173\u95ED\u5DE5\u4F5C\u76EE\u5F55\u9009\u62E9\u5668",testId:"folder-picker-dialog",dismissable:!d,children:(0,t.jsx)(B,{noValidate:!0,"aria-busy":g||d,onSubmit:e=>{V(e)},children:(0,t.jsxs)(C,{vertical:!0,gap:16,children:[(0,t.jsxs)(K,{wrap:!0,"aria-label":"\u5FEB\u6377\u76EE\u5F55",children:[(0,t.jsx)(y,{size:"small",onClick:()=>v("/tmp"),children:"\u4E34\u65F6\u76EE\u5F55 /tmp"}),(0,t.jsx)(y,{size:"small",onClick:()=>v("/"),children:"\u6839\u76EE\u5F55 /"}),(0,t.jsx)(y,{size:"small",disabled:!E||g,onClick:()=>{E&&v(E.path)},children:"\u8FD4\u56DE\u4E0A\u7EA7"})]}),(0,t.jsx)(A.Item,{label:"\u5DE5\u4F5C\u76EE\u5F55",htmlFor:"wand-folder-picker-input",children:(0,t.jsx)(H,{id:"wand-folder-picker-input","data-wand-autofocus":!0,autoFocus:!0,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"aria-invalid":h?"true":"false","aria-controls":"wand-folder-picker-options","aria-activedescendant":a>=0?`wand-folder-picker-option-${a}`:void 0,value:s,onChange:e=>I(e.currentTarget.value),onKeyDown:q})}),(0,t.jsx)(R,{id:"wand-folder-picker-options",optionPrefix:"wand-folder-picker-option",items:p?.items,loading:g,error:h,activeIndex:a,itemRefs:S,onActivate:T,onActiveIndex:f}),h?(0,t.jsx)(D,{type:"error",showIcon:!0,role:"alert",title:h}):null,(0,t.jsxs)(C,{justify:"space-between",align:"center",gap:12,wrap:!0,children:[(0,t.jsx)(L.Text,{type:"secondary",ellipsis:!0,style:{minWidth:0,flex:1},title:p?.currentPath??s,children:p?.currentPath??s}),(0,t.jsx)(y,{kind:"primary",type:"submit",disabled:g||d||!s.trim(),children:d?"\u6B63\u5728\u5E94\u7528\u2026":"\u4F7F\u7528\u6B64\u76EE\u5F55"})]})]})})})}export{ae as FolderPickerHost};