@co0ontty/wand 4.93.0 → 4.94.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 (172) hide show
  1. package/README.md +25 -30
  2. package/dist/ai-text-runner.d.ts +2 -10
  3. package/dist/ai-text-runner.js +13 -74
  4. package/dist/build-info.json +3 -3
  5. package/dist/cli.js +47 -9
  6. package/dist/config.d.ts +2 -3
  7. package/dist/config.js +26 -5
  8. package/dist/core-status-cli.d.ts +1 -1
  9. package/dist/core-status-cli.js +3 -1
  10. package/dist/daemon-connection.d.ts +10 -0
  11. package/dist/daemon-connection.js +28 -0
  12. package/dist/diagnostic-logs.d.ts +10 -0
  13. package/dist/diagnostic-logs.js +121 -0
  14. package/dist/employee-text.js +1 -3
  15. package/dist/git-quick-commit.d.ts +1 -1
  16. package/dist/git-quick-commit.js +2 -9
  17. package/dist/layout-tree.d.ts +3 -1
  18. package/dist/layout-tree.js +8 -0
  19. package/dist/local-model-process.js +20 -0
  20. package/dist/local-model-setup.js +5 -3
  21. package/dist/managed-temp.d.ts +32 -0
  22. package/dist/managed-temp.js +176 -0
  23. package/dist/middleware/api-scope.js +1 -0
  24. package/dist/models/shared.d.ts +0 -6
  25. package/dist/models/shared.js +0 -12
  26. package/dist/models/thinking.d.ts +0 -2
  27. package/dist/models/thinking.js +0 -2
  28. package/dist/models.d.ts +0 -1
  29. package/dist/models.js +3 -11
  30. package/dist/native-session-title.d.ts +1 -1
  31. package/dist/native-session-title.js +1 -1
  32. package/dist/pi-model-discovery.js +5 -17
  33. package/dist/pi-resource-recommendation.d.ts +1 -1
  34. package/dist/pi-resource-recommendation.js +129 -42
  35. package/dist/process-manager-native-history.js +1 -6
  36. package/dist/process-manager.d.ts +0 -1
  37. package/dist/process-manager.js +5 -18
  38. package/dist/provider-catalog.d.ts +1 -2
  39. package/dist/provider-catalog.js +1 -6
  40. package/dist/provider-cli-updater.js +1 -9
  41. package/dist/provider-history-scanner.d.ts +0 -3
  42. package/dist/provider-history-scanner.js +0 -26
  43. package/dist/render-daemon-client.js +6 -29
  44. package/dist/render-structured-client.js +2 -7
  45. package/dist/retention.js +1 -6
  46. package/dist/run-command.d.ts +5 -0
  47. package/dist/run-command.js +14 -1
  48. package/dist/server-session-lifecycle-routes.js +1 -1
  49. package/dist/server-storage-cleanup-routes.d.ts +3 -0
  50. package/dist/server-storage-cleanup-routes.js +19 -0
  51. package/dist/server-workspace-routes.d.ts +4 -1
  52. package/dist/server-workspace-routes.js +75 -9
  53. package/dist/server.js +21 -16
  54. package/dist/service-command-privilege.d.ts +17 -0
  55. package/dist/service-command-privilege.js +55 -0
  56. package/dist/service-manager/index.d.ts +3 -0
  57. package/dist/service-manager/index.js +3 -0
  58. package/dist/service-manager/launchd.d.ts +1 -0
  59. package/dist/service-manager/launchd.js +15 -0
  60. package/dist/service-manager/systemd.d.ts +1 -0
  61. package/dist/service-manager/systemd.js +11 -0
  62. package/dist/session-ai-context.js +17 -6
  63. package/dist/session-completion-state.d.ts +2 -0
  64. package/dist/session-completion-state.js +6 -2
  65. package/dist/session-logger.js +7 -1
  66. package/dist/session-model.d.ts +4 -0
  67. package/dist/session-model.js +13 -4
  68. package/dist/session-registry.d.ts +1 -1
  69. package/dist/session-registry.js +0 -3
  70. package/dist/silicon-employee-draft.js +0 -1
  71. package/dist/speech-service.js +18 -8
  72. package/dist/storage/mappers.js +6 -10
  73. package/dist/storage/migrations.js +14 -0
  74. package/dist/storage/uploads-repository.d.ts +36 -0
  75. package/dist/storage/uploads-repository.js +98 -0
  76. package/dist/storage-cleanup.d.ts +50 -0
  77. package/dist/storage-cleanup.js +344 -0
  78. package/dist/storage.d.ts +3 -1
  79. package/dist/storage.js +4 -0
  80. package/dist/structured-failure.d.ts +2 -0
  81. package/dist/structured-failure.js +9 -0
  82. package/dist/structured-grok-adapter.js +4 -4
  83. package/dist/structured-opencode-adapter.js +4 -9
  84. package/dist/structured-provider-common.d.ts +1 -2
  85. package/dist/structured-provider-common.js +3 -6
  86. package/dist/structured-session-manager-replay.js +2 -6
  87. package/dist/structured-session-manager.d.ts +1 -2
  88. package/dist/structured-session-manager.js +32 -25
  89. package/dist/task-organize-contract.d.ts +41 -0
  90. package/dist/task-organize-contract.js +4 -0
  91. package/dist/task-title-organize-service.d.ts +21 -0
  92. package/dist/task-title-organize-service.js +168 -0
  93. package/dist/task-title-organize.d.ts +77 -0
  94. package/dist/task-title-organize.js +346 -0
  95. package/dist/terminal-daemon-client.js +10 -48
  96. package/dist/time-utils.d.ts +2 -0
  97. package/dist/time-utils.js +7 -0
  98. package/dist/tui/attach.js +6 -5
  99. package/dist/tui/commands.d.ts +4 -1
  100. package/dist/tui/commands.js +36 -25
  101. package/dist/tui/index.js +2 -2
  102. package/dist/tui/service-actions.js +5 -4
  103. package/dist/tui/service-command.d.ts +6 -0
  104. package/dist/tui/service-command.js +40 -0
  105. package/dist/tui/service-panel.js +9 -8
  106. package/dist/types.d.ts +4 -4
  107. package/dist/upload-reference-guard.d.ts +4 -0
  108. package/dist/upload-reference-guard.js +29 -0
  109. package/dist/upload-routes.d.ts +4 -0
  110. package/dist/upload-routes.js +121 -21
  111. package/dist/user-profile.d.ts +1 -1
  112. package/dist/user-profile.js +8 -3
  113. package/dist/web-ui/content/ai-teams.js +9 -9
  114. package/dist/web-ui/content/module-manifest.json +1 -1
  115. package/dist/web-ui/content/modules/{2548dbe0d0783577/chat-render-EODYMQF6.js → 0051bd3d55f10ab7/chat-render-RY2I2CF3.js} +1 -1
  116. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-ZTEQSXPA.js → 0051bd3d55f10ab7/chunk-2F6J2MKX.js} +1 -1
  117. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-A33YPCY6.js → 0051bd3d55f10ab7/chunk-7AFM245W.js} +1 -1
  118. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-QNUWUMKW.js → 0051bd3d55f10ab7/chunk-MHX2QXIS.js} +1 -1
  119. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-WGADUEIT.js → 0051bd3d55f10ab7/chunk-RAAPETNH.js} +1 -1
  120. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-I3UYDQLS.js → 0051bd3d55f10ab7/chunk-RXKBHYUR.js} +2 -2
  121. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-3TCUG766.js → 0051bd3d55f10ab7/chunk-U4EDP4TI.js} +1 -1
  122. package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-HK7RBU3M.js → 0051bd3d55f10ab7/chunk-WHXQR7JT.js} +1 -1
  123. package/dist/web-ui/content/modules/0051bd3d55f10ab7/employee-card-NV34TZIH.js +1 -0
  124. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-2PU6TV2I.js → 0051bd3d55f10ab7/host-2IVIZ2YC.js} +1 -1
  125. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-BPYNMKFC.js → 0051bd3d55f10ab7/host-AZXNFCRW.js} +1 -1
  126. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-HZIKPWYY.js → 0051bd3d55f10ab7/host-EPEQX22R.js} +1 -1
  127. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-YELXZID4.js → 0051bd3d55f10ab7/host-FZYIMOLC.js} +1 -1
  128. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-OGD6AWHL.js → 0051bd3d55f10ab7/host-G6GL4SNL.js} +1 -1
  129. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-E3SCPOIU.js → 0051bd3d55f10ab7/host-PEILC5NU.js} +1 -1
  130. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-OWD32FZ3.js → 0051bd3d55f10ab7/host-PHHNGVNL.js} +2 -2
  131. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-CXDAFMXX.js → 0051bd3d55f10ab7/host-Q524TMSR.js} +1 -1
  132. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-RO5MB6RB.js +69 -0
  133. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-J5XRAQFP.js → 0051bd3d55f10ab7/host-WOQRK6NG.js} +1 -1
  134. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-HKXE2DOT.js → 0051bd3d55f10ab7/host-XNIR3NTJ.js} +1 -1
  135. package/dist/web-ui/content/modules/{2548dbe0d0783577/host-4E4H4JZJ.js → 0051bd3d55f10ab7/host-XRVOIEP6.js} +1 -1
  136. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-ZDKOQEMS.js +1 -0
  137. package/dist/web-ui/content/modules/0051bd3d55f10ab7/host-bridge-PMQZRG5G.js +1 -0
  138. package/dist/web-ui/content/modules/{2548dbe0d0783577/library-bridge-Y3Y24CPQ.js → 0051bd3d55f10ab7/library-bridge-DTMQIHVJ.js} +1 -1
  139. package/dist/web-ui/content/modules/{2548dbe0d0783577/page-GQBUU7T7.js → 0051bd3d55f10ab7/page-PY4JUL4W.js} +1 -1
  140. package/dist/web-ui/content/modules/{2548dbe0d0783577/panel-PG662OC5.js → 0051bd3d55f10ab7/panel-BBQFC55Q.js} +1 -1
  141. package/dist/web-ui/content/modules/0051bd3d55f10ab7/runtime.js +974 -0
  142. package/dist/web-ui/content/modules/0051bd3d55f10ab7/task-board-host-PXZSWBBG.js +2 -0
  143. package/dist/web-ui/content/modules/0051bd3d55f10ab7/workspace-agent-picker-DJSECSY6.js +1 -0
  144. package/dist/web-ui/content/modules/{2548dbe0d0783577/workspace-window-HV4T3WKR.js → 0051bd3d55f10ab7/workspace-window-MNMKSOBG.js} +1 -1
  145. package/dist/web-ui/content/styles.css +1 -1
  146. package/dist/web-ui/embedded-assets.d.ts +27 -27
  147. package/dist/web-ui/embedded-assets.js +4 -4
  148. package/dist/web-ui/provider-identity.d.ts +4 -5
  149. package/dist/web-ui/provider-identity.js +4 -10
  150. package/dist/web-ui/react/workspaces/sidebar-manage.d.ts +39 -0
  151. package/dist/web-ui/react/workspaces/sidebar-manage.js +149 -0
  152. package/dist/web-ui/react/workspaces/types.d.ts +408 -0
  153. package/dist/web-ui/react/workspaces/types.js +16 -0
  154. package/dist/web-ui/session-activity.js +1 -1
  155. package/package.json +2 -2
  156. package/dist/structured-gemini-adapter.d.ts +0 -40
  157. package/dist/structured-gemini-adapter.js +0 -208
  158. package/dist/web-ui/content/modules/2548dbe0d0783577/chunk-XGVT4ZWT.js +0 -1
  159. package/dist/web-ui/content/modules/2548dbe0d0783577/employee-card-LJ3TX72B.js +0 -1
  160. package/dist/web-ui/content/modules/2548dbe0d0783577/host-ITV2QZ4A.js +0 -1
  161. package/dist/web-ui/content/modules/2548dbe0d0783577/host-XNWC7KPR.js +0 -69
  162. package/dist/web-ui/content/modules/2548dbe0d0783577/host-bridge-G5HEVADT.js +0 -1
  163. package/dist/web-ui/content/modules/2548dbe0d0783577/runtime.js +0 -946
  164. package/dist/web-ui/content/modules/2548dbe0d0783577/task-board-host-RAN2Z2KR.js +0 -2
  165. package/dist/web-ui/content/modules/2548dbe0d0783577/workspace-agent-picker-FXLH6N5K.js +0 -1
  166. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-YX475LXO.js → 0051bd3d55f10ab7/chunk-6C6A2RHG.js} +0 -0
  167. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-NP35GDQ3.js → 0051bd3d55f10ab7/chunk-ECWYA3U5.js} +0 -0
  168. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-47EVOSJS.js → 0051bd3d55f10ab7/chunk-T35D57FW.js} +0 -0
  169. /package/dist/web-ui/content/modules/{2548dbe0d0783577 → 0051bd3d55f10ab7}/chunk-YOXXNXOX.js +0 -0
  170. /package/dist/web-ui/content/modules/{2548dbe0d0783577/chunk-C3K34WJD.js → 0051bd3d55f10ab7/chunk-YQJ6XYV7.js} +0 -0
  171. /package/dist/web-ui/content/modules/{2548dbe0d0783577/host-J6HBDK4A.js → 0051bd3d55f10ab7/host-2AQAIUNO.js} +0 -0
  172. /package/dist/web-ui/content/modules/{2548dbe0d0783577 → 0051bd3d55f10ab7}/sha256-ANXV72UC.js +0 -0
@@ -1 +1 @@
1
- import{a as zt,b as Ut}from"./chunk-NP35GDQ3.js";import{shared40_a as P,shared40_b as I,shared40_e as Kt}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared66_a as _}from"./runtime.js";import{shared80_a as $}from"./runtime.js";import{shared51_a as bt}from"./runtime.js";import{shared56_b as Gt}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as Tt}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_a as Y}from"./runtime.js";import{shared11_a as b,shared11_c as l,shared11_d as st}from"./runtime.js";import{shared70_a as X}from"./runtime.js";import{shared27_a as jt}from"./runtime.js";import{shared58_a as B}from"./runtime.js";import{shared7_Ac as A,shared7_Ed as u,shared7_Gd as Ht,shared7_Lc as xt,shared7_Mc as St,shared7_Nd as Bt,shared7_Sc as at,shared7_cc as V,shared7_ce as rt,shared7_ee as _t,shared7_ld as w,shared7_zd as y}from"./runtime.js";import{shared8_a as Wt}from"./runtime.js";import{shared9_c as H,shared9_d as qt}from"./runtime.js";var m=H(Wt(),1);var wt={commit:{action:"commit",label:"Commit",verb:"\u4EC5\u63D0\u4EA4",withTag:!1,push:!1},"commit-tag":{action:"commit-tag",label:"Commit + Tag",verb:"\u63D0\u4EA4\u5E76\u6253 Tag",withTag:!0,push:!1},"commit-push":{action:"commit-push",label:"Commit + Push",verb:"\u63D0\u4EA4\u5E76\u63A8\u9001",withTag:!1,push:!0},"commit-tag-push":{action:"commit-tag-push",label:"Commit + Tag + Push",verb:"\u63D0\u4EA4\u3001\u6253 Tag \u5E76\u63A8\u9001",withTag:!0,push:!0}},Jt=Object.values(wt);function le(e){return typeof e=="string"&&e in wt?e:"commit"}function It(e){return wt[le(e)]}function Vt(e,t,o,r,a=!1,p=!1){let h=It(t),T=e.message.trim(),x=h.withTag?e.tag.trim():"",k={autoMessage:!T,customMessage:T,tag:x,autoTag:h.withTag&&!x,push:h.push,submodule:o};return r&&(k.mode=r.mode,k.entryIds=[...r.entryIds]),a&&(k.includeDiff=!0),k}function Z(e){return!!e&&e.isGit&&e.modifiedCount>0}function Xt(e,t,o,r,a){return{action:e,includeSubmodule:t,pushed:a.pushed,pushError:a.pushError,commitHash:a.commit?.hash.slice(0,7)??"",commitMessage:a.commit?.message||o.message.trim(),tagName:a.tag?.name??"",oldTag:r.latestTag,oldCommitHash:r.lastCommit?.shortHash||r.head.slice(0,7),oldCommitSubject:r.lastCommit?.subject??"",submoduleCount:a.submoduleCommits.length}}function Yt(e){let t=e.trim();if(t==="??")return{letter:"U",tone:"untracked",label:"\u672A\u8DDF\u8E2A"};if(t==="!!")return{letter:"I",tone:"ignored",label:"\u5DF2\u5FFD\u7565"};let o=[...e].find(a=>a!=="."&&a!==" ")?.toUpperCase()||t[0]?.toUpperCase()||"?";return{letter:o,...{A:{tone:"added",label:"\u65B0\u589E"},M:{tone:"modified",label:"\u4FEE\u6539"},D:{tone:"deleted",label:"\u5220\u9664"},R:{tone:"renamed",label:"\u91CD\u547D\u540D"},C:{tone:"renamed",label:"\u590D\u5236"},T:{tone:"modified",label:"\u7C7B\u578B\u53D8\u66F4"},U:{tone:"deleted",label:"\u51B2\u7A81"}}[o]??{tone:"other",label:"\u5DF2\u66F4\u6539"}}}async function j(e,t){let o;try{o=await e.json()}catch{throw new Error(`${t} (HTTP ${e.status})`)}let r=b(o)?o:{};if(!e.ok)throw new Error(l(r.error,`${t} (HTTP ${e.status})`));return r}function de(e){return Array.isArray(e)?e.flatMap(t=>{if(!b(t)||typeof t.path!="string")return[];let o=b(t.submoduleState)?t.submoduleState:null;return[{path:t.path,status:l(t.status),isSubmodule:t.isSubmodule===!0,submoduleState:o?{commitChanged:o.commitChanged===!0,hasTrackedChanges:o.hasTrackedChanges===!0,hasUntracked:o.hasUntracked===!0}:void 0}]}):[]}function pe(e){let t=b(e)?e:{},o=de(t.files),r=b(t.lastCommit)?t.lastCommit:null,a=r?{hash:l(r.hash),shortHash:l(r.shortHash),subject:l(r.subject)}:void 0;return{isGit:t.isGit===!0,branch:l(t.branch),modifiedCount:Math.max(0,st(t.modifiedCount,o.length)),files:o,head:l(t.head),ahead:Math.max(0,st(t.ahead)),behind:Math.max(0,st(t.behind)),lastCommit:a,latestTag:l(t.latestTag),hasSubmodule:t.hasSubmodule===!0||o.some(p=>p.isSubmodule),error:typeof t.error=="string"?t.error:void 0}}function tt(e,t){return e==="iteration"||e==="diff"?e:t}function G(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&!!t):[]}function ge(e){return Array.isArray(e)?e.flatMap(t=>!b(t)||typeof t.id!="string"?[]:[{id:t.id,title:l(t.title),detail:l(t.detail),createdAt:l(t.createdAt),consumed:t.consumed===!0,consumedCommit:l(t.consumedCommit),source:l(t.source)}]):[]}function fe(e){let t=b(e)?e:{},o=b(t.iteration)?t.iteration:{},r=ge(t.entries),a=G(t.defaultEntryIds),p=G(t.selectableIds);return{iteration:{id:l(o.id),name:l(o.name),isDefault:o.isDefault===!0},entries:r,defaultEntryIds:a,selectableIds:p.length>0?p:r.map(h=>h.id),truncated:t.truncated===!0,effectiveMode:tt(t.effectiveMode,a.length>0?"iteration":"diff"),mode:tt(t.mode,"iteration")}}var Qt=class{constructor(t=(o,r)=>fetch(o,r)){qt(this,"fetchImpl",t)}async loadStatus(t,o={}){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/git-status`,{credentials:"same-origin",signal:o.signal});return pe(await j(r,"\u65E0\u6CD5\u52A0\u8F7D Git \u72B6\u6001\u3002"))}async loadContext(t,o={}){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/iteration-context`,{credentials:"same-origin",signal:o.signal});return fe(await j(r,"\u65E0\u6CD5\u8BFB\u53D6\u672C\u8F6E\u53D8\u66F4\u3002"))}async saveContextMode(t,o){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/iteration-context`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o})}),a=await j(r,"\u65E0\u6CD5\u4FDD\u5B58\u8F93\u5165\u9009\u62E9\u3002");return tt(a.mode,o)}async generate(t,o={}){let r={};o.selection&&(r.mode=o.selection.mode,r.entryIds=[...o.selection.entryIds]),o.includeDiff&&(r.includeDiff=!0);let a=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/generate-commit-message`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),signal:o.signal}),p=await j(a,"AI \u751F\u6210\u5931\u8D25\u3002"),h=b(p.commitContext)?p.commitContext:null;return{message:l(p.message),suggestedTag:l(p.suggestedTag).trim(),contextSource:tt(h?.source,"diff"),entryIds:G(h?.entryIds)}}async commit(t,o){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/quick-commit`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),a=await j(r,"\u5FEB\u6377\u63D0\u4EA4\u5931\u8D25\u3002"),p=b(a.commit)&&typeof a.commit.hash=="string"?{hash:a.commit.hash,message:l(a.commit.message)}:void 0,h=b(a.tag)&&typeof a.tag.name=="string"?{name:a.tag.name}:void 0,T=Array.isArray(a.submoduleCommits)?a.submoduleCommits.flatMap(k=>b(k)&&typeof k.path=="string"&&typeof k.hash=="string"?[{path:k.path,hash:k.hash}]:[]):[],x=b(a.commitContext)?a.commitContext:null;return{ok:a.ok!==!1,commit:p,tag:h,pushed:a.pushed===!0,pushError:l(a.pushError),submoduleCommits:T,archivedTaskIds:G(a.archivedTaskIds),archivedSessionIds:G(a.archivedSessionIds),archiveError:l(a.archiveError),commitContext:x?{source:tt(x.source,"diff"),entryIds:G(x.entryIds)}:null}}async push(t,o){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/git/push`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),a=await j(r,"\u63A8\u9001\u5931\u8D25\u3002");return{ok:a.ok!==!1,pushedCommits:a.pushedCommits===!0,pushedTags:a.pushedTags===!0,error:l(a.error)}}},Zt=new Qt;var mt=H(Wt(),1);var c=H(at(),1),he=[{mode:"iteration",label:"\u8FED\u4EE3\u63D0\u793A\u8BCD",hint:"\u53EA\u7528\u672C\u8F6E\u6539\u52A8\u671F\u95F4\u53D1\u8FC7\u7684\u63D0\u793A\u8BCD\u603B\u7ED3\uFF0C\u4E0D\u8BFB\u4EE3\u7801"},{mode:"diff",label:"\u5B8C\u6574 diff",hint:"\u628A\u5B8C\u6574\u6539\u52A8\u4EA4\u7ED9\u6A21\u578B\uFF0C\u6700\u51C6\u786E\u4F46\u66F4\u6162\u3001\u66F4\u8D39 token"}];function Ce(e,t){let o=Kt(e.createdAt,t);return e.consumed?`${o} \xB7 \u5DF2\u63D0\u4EA4`:o}function te({context:e,mode:t,selectedIds:o,includeDiff:r,disabled:a=!1,onModeChange:p,onToggleEntry:h,onSelectAll:T,onIncludeDiffChange:x}){let[k,Q]=mt.useState(()=>Date.now());mt.useEffect(()=>Q(Date.now()),[e]);let E=e.entries.filter(g=>o.has(g.id)).length,z=e.entries.filter(g=>!g.consumed).length;return(0,c.jsx)($,{className:"wand-quick-iteration",size:"small",title:(0,c.jsx)("span",{id:"wand-quick-iteration-title",children:"\u672C\u6B21\u53D8\u66F4\u8F93\u5165"}),"aria-labelledby":"wand-quick-iteration-title",extra:(0,c.jsx)(A,{title:e.iteration.isDefault?"\u6CA1\u5355\u72EC\u9009\u91CC\u7A0B\u7891\u7684\u4EFB\u52A1\u90FD\u5F52\u5230\u5B83":void 0,children:e.iteration.isDefault?"\u9ED8\u8BA4\u8FED\u4EE3":e.iteration.name}),children:(0,c.jsxs)(y,{vertical:!0,gap:12,children:[(0,c.jsx)("fieldset",{disabled:a,style:{border:0,padding:0,margin:0},children:(0,c.jsx)(_t,{ariaLabel:"\u751F\u6210 Commit \u4FE1\u606F\u7684\u8F93\u5165",value:t,tabs:he.map(g=>({value:g.mode,label:g.label})),onValueChange:g=>{a||p(g)}})}),t==="diff"?(0,c.jsx)(u.Text,{type:"secondary",children:e.defaultEntryIds.length>0?`\u5C06\u628A\u5B8C\u6574 diff \u4EA4\u7ED9\u6A21\u578B\uFF0C\u5E76\u7167\u5E38\u628A\u672C\u8F6E\u672A\u63D0\u4EA4\u7684 ${e.defaultEntryIds.length} \u6761\u53D8\u66F4\u8BB0\u4E3A\u5DF2\u63D0\u4EA4\u3002`:"\u5C06\u628A\u5B8C\u6574 diff \u4EA4\u7ED9\u6A21\u578B\u3002"}):e.entries.length===0?(0,c.jsx)(u.Text,{type:"secondary",children:"\u672C\u8F6E\u8FED\u4EE3\u8FD8\u6CA1\u6709\u8BB0\u5F55\u5230\u63D0\u793A\u8BCD\uFF0C\u8FD9\u6B21\u4F1A\u6539\u8BFB\u5B8C\u6574 diff\u3002"}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(_,{size:"small",style:{maxHeight:180,overflow:"auto"},dataSource:[...e.entries],renderItem:g=>(0,c.jsx)(_.Item,{children:(0,c.jsx)(Gt,{title:g.detail||g.title,checked:o.has(g.id),disabled:a,onChange:et=>h(g.id,et.target.checked),children:(0,c.jsxs)(y,{vertical:!0,children:[(0,c.jsx)(u.Text,{children:g.title}),(0,c.jsx)(u.Text,{type:"secondary",children:Ce(g,k)})]})})},g.id)}),(0,c.jsxs)(y,{vertical:!0,gap:8,children:[(0,c.jsxs)(u.Text,{type:"secondary",children:[E>0?`\u5DF2\u9009 ${E} \u6761${z>0?`\uFF08\u672C\u8F6E\u672A\u63D0\u4EA4 ${z} \u6761\uFF09`:""}`:"\u6CA1\u6709\u52FE\u9009\u4EFB\u4F55\u6761\u76EE\uFF0C\u8FD9\u6B21\u4F1A\u6539\u8BFB\u5B8C\u6574 diff",e.truncated?" \xB7 \u66F4\u65E9\u7684\u5386\u53F2\u672A\u663E\u793A":""]}),(0,c.jsxs)(V,{wrap:!0,children:[(0,c.jsx)(w,{kind:"ghost",type:"button",disabled:a,onClick:()=>T("pending"),children:"\u4E0A\u6B21\u63D0\u4EA4\u4EE5\u6765"}),(0,c.jsx)(w,{kind:"ghost",type:"button",disabled:a||e.entries.length===E,onClick:()=>T("all"),children:"\u5168\u9009"}),(0,c.jsx)(w,{kind:"ghost",type:"button",disabled:a||E===0,onClick:()=>T("none"),children:"\u6E05\u7A7A"})]})]}),(0,c.jsxs)(y,{justify:"space-between",align:"center",gap:12,children:[(0,c.jsxs)(y,{vertical:!0,children:[(0,c.jsx)(u.Text,{strong:!0,children:"\u540C\u65F6\u9644\u4E0A\u5B8C\u6574 diff"}),(0,c.jsx)(u.Text,{type:"secondary",children:"\u63D0\u793A\u8BCD\u8BF4\u4E0D\u6E05\u695A\u65F6\u7528\u5B83\u515C\u5E95\u3002"})]}),(0,c.jsx)(rt,{id:"wand-quick-iteration-diff",checked:r,disabled:a,ariaLabel:"\u540C\u65F6\u9644\u4E0A\u5B8C\u6574 diff",onCheckedChange:x})]})]})]})})}var i=H(at(),1),ee={message:"",tag:"",tagEdited:!1};function ye(e){if(!e)return"\u52A0\u8F7D Git \u72B6\u6001\u5E76\u51C6\u5907\u63D0\u4EA4\u3002";let t=[e.branch||"(no branch)",e.modifiedCount>0?`${e.modifiedCount} \u4E2A\u6539\u52A8`:"\u5DE5\u4F5C\u533A\u5E72\u51C0"];return e.ahead>0&&t.push(`\u2191${e.ahead}`),e.behind>0&&t.push(`\u2193${e.behind}`),t.join(" \xB7 ")}function ke(e){let t=e.submoduleCount>0?`\u5DF2\u5148\u63D0\u4EA4 ${e.submoduleCount} \u4E2A submodule\uFF0C`:"",o=e.commitHash?` ${e.commitHash}`:"",r=e.tagName?`\uFF0C\u5DF2\u6253 Tag ${e.tagName}`:"";return`${t}\u5DF2\u63D0\u4EA4${o}${r}`}function oe({hash:e,subject:t,empty:o}){return e?(0,i.jsxs)(y,{vertical:!0,gap:4,children:[(0,i.jsx)(u.Text,{code:!0,children:e}),t?(0,i.jsx)(u.Text,{type:"secondary",ellipsis:!0,title:t,children:t}):null]}):(0,i.jsx)(u.Text,{type:"secondary",children:o})}function ie({label:e,before:t,after:o}){return(0,i.jsx)($,{size:"small",title:e,children:(0,i.jsxs)(y,{gap:12,align:"center",wrap:!0,children:[t,(0,i.jsx)(u.Text,{type:"secondary","aria-hidden":"true",children:"\u2192"}),o]})})}var be={added:"success",untracked:"success",modified:"warning",deleted:"error",renamed:"processing"};function Te({status:e}){return(0,i.jsx)($,{size:"small",title:(0,i.jsx)("span",{id:"wand-quick-files-title",children:"\u6539\u52A8\u6587\u4EF6"}),extra:(0,i.jsx)(A,{children:e.modifiedCount}),"aria-labelledby":"wand-quick-files-title",children:e.files.length>0?(0,i.jsx)(_,{size:"small",style:{maxHeight:148,overflow:"auto"},dataSource:[...e.files],renderItem:t=>{let o=Yt(t.status),r=t.submoduleState?[t.submoduleState.commitChanged?"\u65B0\u6307\u9488":"",t.submoduleState.hasTrackedChanges?"\u6709\u6539\u52A8":"",t.submoduleState.hasUntracked?"\u672A\u8DDF\u8E2A":""].filter(Boolean):[];return(0,i.jsx)(_.Item,{title:t.path,children:(0,i.jsxs)(y,{gap:8,align:"center",style:{minWidth:0,width:"100%"},children:[(0,i.jsx)(A,{color:be[o.tone],role:"img",title:o.label,"aria-label":o.label,children:o.letter}),(0,i.jsx)(u.Text,{ellipsis:!0,style:{minWidth:0,flex:1},title:t.path,children:t.path}),t.isSubmodule?(0,i.jsxs)(A,{color:"processing",children:["submodule",r.length?` \xB7 ${r.join(" / ")}`:""]}):null]})},t.path)}}):(0,i.jsx)(X,{image:X.PRESENTED_IMAGE_SIMPLE,description:"\u6CA1\u6709\u53EF\u63D0\u4EA4\u7684\u6539\u52A8\u3002"})})}function xe({status:e}){let t=e.modifiedCount>0,o=t?`${e.modifiedCount} \u4E2A\u6539\u52A8\u5F85\u5904\u7406`:e.ahead>0?`${e.ahead} \u4E2A commit \u5F85\u63A8\u9001`:"\u5DE5\u4F5C\u533A\u5E72\u51C0";return(0,i.jsx)(B,{"aria-label":"\u5F53\u524D\u5DE5\u4F5C\u533A",showIcon:!0,type:t?"info":"success",title:e.branch||"\u672A\u8BC6\u522B\u5206\u652F",description:o,action:t&&e.ahead>0?(0,i.jsxs)(A,{color:"success",children:["\u2191",e.ahead]}):void 0})}function ao({repository:e=Zt}){let t=(0,m.useSyncExternalStore)(I.subscribe,I.getSnapshot,I.getSnapshot),[o,r]=(0,m.useState)(null),[a,p]=(0,m.useState)(ee),[h,T]=(0,m.useState)("commit"),[x,k]=(0,m.useState)(!1),[Q,E]=(0,m.useState)(null),[z,g]=(0,m.useState)("iteration"),[et,D]=(0,m.useState)(null),[ct,Et]=(0,m.useState)(!1),[ut,lt]=(0,m.useState)(null),[d,dt]=(0,m.useState)(null),[ot,vt]=(0,m.useState)(!1),[pt,gt]=(0,m.useState)(!1),[F,ft]=(0,m.useState)(!1),[O,L]=(0,m.useState)("idle"),[ne,U]=(0,m.useState)(""),[ht,K]=(0,m.useState)(""),[it,Mt]=(0,m.useState)(!1),[q,N]=(0,m.useState)(""),[Rt,W]=(0,m.useState)(""),v=(0,m.useRef)(null),At=(0,m.useRef)(null),S=t.context;async function Pt(n,s){let f=I.getRuntime()?.nextStatusRequestTime()??Date.now(),C=await e.loadStatus(n,s?{signal:s}:{});return I.getRuntime()?.onStatusLoaded(n,C,f),C}(0,m.useEffect)(()=>{if(!t.open||!S)return;let n=new AbortController;return v.current?.abort(),v.current=null,r(null),L("idle"),U(""),K(""),p(ee),T("commit"),k(!1),E(null),D(null),Et(!1),lt(null),dt(null),vt(!0),gt(!1),N(""),W(""),Pt(S.sessionId,n.signal).then(s=>{n.signal.aborted||(r(s),s.isGit||N(s.error||"\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Git \u4ED3\u5E93\u3002"))}).catch(s=>{n.signal.aborted||N(Y(s,"\u65E0\u6CD5\u52A0\u8F7D Git \u72B6\u6001\u3002"))}).finally(()=>{n.signal.aborted||vt(!1)}),e.loadContext(S.sessionId,{signal:n.signal}).then(s=>{n.signal.aborted||(E(s),g(s.mode))}).catch(()=>{n.signal.aborted||E(null)}),()=>{n.abort(),v.current?.abort(),v.current=null}},[t.open,t.revision,S?.sessionId,e]),(0,m.useEffect)(()=>{if(!t.open||ot||!o||d)return;let n=window.requestAnimationFrame(()=>At.current?.focus());return()=>window.cancelAnimationFrame(n)},[t.open,ot,d,o]);let Ft=(0,m.useMemo)(()=>It(h),[h]),J=F||it,Ot=Z(o)&&!J&&!ot,Ct=(0,m.useMemo)(()=>new Set(et??Q?.defaultEntryIds??[]),[et,Q]);function Lt(){if(Q)return{mode:z,entryIds:[...Ct]}}function ae(n){g(n),S&&e.saveContextMode(S.sessionId,n).catch(()=>{})}function re(n,s){D(()=>{let f=new Set(Ct);return s?f.add(n):f.delete(n),[...f]})}function se(n){if(Q){if(n==="none"){D([]);return}if(n==="all"){D(Q.entries.map(s=>s.id));return}D(null)}}async function yt(n){try{let s=await Pt(n);I.getSnapshot().context?.sessionId===n&&r(s)}catch{}}async function Nt(n){try{let s=await e.loadContext(n);if(I.getSnapshot().context?.sessionId!==n)return;E(s),D(null),lt(null)}catch{}}async function me(){if(!S||pt||F)return;v.current?.abort();let n=new AbortController;v.current=n,gt(!0),N("");try{let s=await e.generate(S.sessionId,{signal:n.signal,selection:Lt(),includeDiff:ct});if(n.signal.aborted)return;p(f=>({message:f.message.trim()?f.message:s.message,tag:f.tagEdited?f.tag:s.suggestedTag||f.tag,tagEdited:f.tagEdited})),lt({source:s.contextSource,count:s.entryIds.length}),s.suggestedTag&&T("commit-tag")}catch(s){n.signal.aborted||N(Y(s,"AI \u751F\u6210\u5931\u8D25\u3002"))}finally{n.signal.aborted||gt(!1),v.current===n&&(v.current=null)}}async function $t(n){if(n?.preventDefault(),!S||!o||!Ot||F||O==="pending"||O==="success")return;let s=S.sessionId,f=I.getSnapshot().revision,C=()=>P.isCurrentLifecycle(f,s);ft(!0),L("pending"),U(""),K(""),N(""),W("");try{let M=await e.commit(s,Vt(a,h,x,Lt(),ct));if(!M.ok)throw new Error("\u5FEB\u6377\u63D0\u4EA4\u5931\u8D25\u3002");let R=Xt(h,x,a,o,M),nt=ke(R),Dt=R.commitHash?R.commitHash.slice(0,7):"";if(!M.pushError){yt(s),Nt(s),C()&&(U(Dt?`\u5DF2\u63D0\u4EA4 ${Dt}`:"\u5DF2\u63D0\u4EA4"),K(`${nt}${Ft.push?"\uFF0C\u5DF2\u63A8\u9001":""}\u3002`),L("success"),ft(!1)),await new Promise(kt=>{window.setTimeout(kt,xt)}),C()&&P.close();return}C()&&(dt(R),W(M.pushError),U("\u5DF2\u63D0\u4EA4\uFF0C\u63A8\u9001\u5931\u8D25"),L("error"),K(`${nt}\u3002`)),await Promise.all([yt(s),Nt(s)]),await new Promise(kt=>{window.setTimeout(kt,St)}),C()&&L("idle")}catch(M){let R=Y(M,"\u5FEB\u6377\u63D0\u4EA4\u5931\u8D25\u3002");C()&&(N(R),U("\u63D0\u4EA4\u5931\u8D25"),L("error")),await new Promise(nt=>{window.setTimeout(nt,St)}),C()&&L("idle")}finally{C()&&ft(!1)}}async function ce(){if(!S||!d||it)return;let n=S.sessionId,s=I.getSnapshot().revision,f=()=>P.isCurrentLifecycle(s,n);Mt(!0),W("");try{let C=await e.push(n,{pushCommits:!0,pushTags:!!d.tagName,submodule:d.includeSubmodule,tag:d.tagName});if(!C.ok||C.error){f()&&W(C.error||"\u63A8\u9001\u5931\u8D25\u3002");return}let M=[C.pushedCommits?"\u63D0\u4EA4":"",C.pushedTags?"\u6807\u7B7E":""].filter(Boolean).join(" \u548C ")||"\uFF08\u65E0\u5185\u5BB9\uFF09";yt(n),f()&&(K(`\u5DF2\u63A8\u9001 ${M}\u3002`),dt({...d,pushed:!0})),await new Promise(R=>{window.setTimeout(R,xt)}),f()&&P.close()}catch(C){f()&&W(Y(C,"\u63A8\u9001\u5931\u8D25\u3002"))}finally{Mt(!1)}}function ue(n){n.key!=="Enter"||!n.metaKey&&!n.ctrlKey||(n.preventDefault(),$t())}return(0,i.jsx)(Bt,{open:t.open,onOpenChange:n=>{n||P.close()},title:"\u5FEB\u6377\u63D0\u4EA4",description:ye(o),className:"wand-task-library-dialog wand-quick-library-dialog",closeLabel:"\u5173\u95ED\u5FEB\u6377\u63D0\u4EA4",testId:"quick-commit-dialog",children:ot?(0,i.jsx)(jt,{tip:"\u6B63\u5728\u52A0\u8F7D Git \u72B6\u6001\u2026",children:(0,i.jsx)("div",{style:{minHeight:100},role:"status",children:"\u6B63\u5728\u52A0\u8F7D Git \u72B6\u6001\u2026"})}):d?(0,i.jsxs)(y,{vertical:!0,gap:16,component:"section","aria-label":"\u63D0\u4EA4\u7ED3\u679C",children:[(0,i.jsx)(ie,{label:"Commit",before:(0,i.jsx)(oe,{hash:d.oldCommitHash,subject:d.oldCommitSubject,empty:"\u65E0"}),after:(0,i.jsx)(oe,{hash:d.commitHash,subject:d.commitMessage,empty:"\u65E0"})}),(0,i.jsx)(ie,{label:"Tag",before:d.oldTag?(0,i.jsx)(u.Text,{code:!0,children:d.oldTag}):(0,i.jsx)(u.Text,{type:"secondary",children:"\u65E0 tag"}),after:d.tagName?(0,i.jsx)(u.Text,{code:!0,children:d.tagName}):(0,i.jsx)(u.Text,{type:"secondary",children:"\u672A\u6253 tag"})}),d.submoduleCount>0?(0,i.jsxs)(u.Text,{children:["\u5DF2\u63D0\u4EA4 ",d.submoduleCount," \u4E2A submodule\u3002"]}):null,ht?(0,i.jsx)(u.Text,{children:ht}):null,d.pushError||Rt?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:Rt||d.pushError}):null,q?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:q}):null,(0,i.jsxs)(y,{justify:"flex-end",gap:8,align:"center",children:[(0,i.jsx)(w,{kind:"ghost",onClick:()=>P.close(),children:"\u5173\u95ED"}),d.pushed?(0,i.jsx)(A,{color:"success",children:"\u5DF2\u63A8\u9001"}):(0,i.jsx)(w,{kind:"primary",disabled:it,onClick:()=>{ce()},children:it?"\u63A8\u9001\u4E2D\u2026":"\u63A8\u9001\u5E76\u5173\u95ED"})]})]}):o?(0,i.jsx)(Ut,{noValidate:!0,"aria-busy":J,onSubmit:n=>{$t(n)},children:(0,i.jsxs)(y,{vertical:!0,gap:16,children:[(0,i.jsx)(xe,{status:o}),(0,i.jsx)(Te,{status:o}),Q?(0,i.jsx)(te,{context:Q,mode:z,selectedIds:Ct,includeDiff:ct,disabled:J,onModeChange:ae,onToggleEntry:re,onSelectAll:se,onIncludeDiffChange:Et}):null,(0,i.jsxs)($,{size:"small",title:(0,i.jsx)("span",{id:"wand-quick-editor-title",children:"\u63D0\u4EA4\u4FE1\u606F"}),"aria-labelledby":"wand-quick-editor-title",extra:(0,i.jsx)(w,{kind:"ghost",size:"small",disabled:pt||F||!Z(o),title:"AI \u751F\u6210 commit message \u4E0E tag",onClick:()=>{me()},children:pt?"\u751F\u6210\u4E2D\u2026":"\u2726 AI"}),children:[(0,i.jsx)(Tt.Item,{htmlFor:"wand-quick-message",label:"\u65B0\u7684 Commit \u4FE1\u606F",children:(0,i.jsx)(zt,{className:"resize-none",id:"wand-quick-message",ref:At,"data-wand-autofocus":"",rows:3,value:a.message,disabled:F,placeholder:"\u7559\u7A7A\u5219\u81EA\u52A8\u751F\u6210",onChange:n=>p({...a,message:n.currentTarget.value}),onKeyDown:ue})}),ut?(0,i.jsx)(u.Paragraph,{type:"secondary",children:ut.source==="iteration"?`\u5DF2\u4F9D\u636E ${ut.count} \u6761\u8FED\u4EE3\u63D0\u793A\u8BCD\u751F\u6210\uFF0C\u6CA1\u6709\u8BFB\u53D6\u4EE3\u7801\u3002`:"\u5DF2\u4F9D\u636E\u5B8C\u6574 diff \u751F\u6210\u3002"}):null,(0,i.jsx)(Tt.Item,{htmlFor:"wand-quick-tag",label:"Tag\uFF08\u53EF\u9009\uFF09",style:{marginBottom:0},children:(0,i.jsx)(Ht,{id:"wand-quick-tag",type:"text",value:a.tag,disabled:F,placeholder:"\u9009\u62E9 Tag \u52A8\u4F5C\u65F6\uFF0C\u7559\u7A7A\u5219\u81EA\u52A8\u751F\u6210",autoComplete:"off",spellCheck:!1,onChange:n=>p({...a,tag:n.currentTarget.value,tagEdited:!0})})})]}),(0,i.jsx)($,{size:"small",title:"\u6267\u884C\u52A8\u4F5C",children:(0,i.jsxs)(y,{vertical:!0,gap:16,children:[(0,i.jsx)(bt.Group,{className:"wand-quick-action-grid","aria-label":"\u6267\u884C\u52A8\u4F5C",name:"wand-quick-action",value:h,disabled:!Z(o)||J,onChange:n=>T(n.target.value),children:(0,i.jsx)(V,{wrap:!0,children:Jt.map(n=>(0,i.jsx)(bt,{value:n.action,children:n.label},n.action))})}),o.hasSubmodule?(0,i.jsxs)(y,{justify:"space-between",align:"center",gap:12,children:[(0,i.jsxs)(y,{vertical:!0,children:[(0,i.jsx)(u.Text,{strong:!0,children:"\u5305\u542B Submodule"}),(0,i.jsx)(u.Text,{type:"secondary",children:"\u9012\u5F52\u6267\u884C commit\u3001tag \u548C push\u3002"})]}),(0,i.jsx)(rt,{id:"wand-quick-submodule",checked:x,disabled:J,ariaLabel:"\u5305\u542B Submodule",onCheckedChange:k})]}):null]})}),q?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:q}):null,(0,i.jsxs)(y,{component:"footer",justify:"space-between",gap:12,align:"center",wrap:!0,className:"wand-dialog-sticky-actions",children:[(0,i.jsx)(u.Text,{type:"secondary",children:ht||(Z(o)?"\u2318/Ctrl + Enter \u5FEB\u901F\u6267\u884C":"\u5DE5\u4F5C\u533A\u5E72\u51C0\uFF0C\u65E0\u53EF\u63D0\u4EA4\u6539\u52A8")}),(0,i.jsxs)(V,{children:[(0,i.jsx)(w,{kind:"ghost",onClick:()=>P.close(),children:"\u53D6\u6D88"}),(0,i.jsx)(w,{kind:"primary",type:"submit","aria-live":"polite",disabled:!Ot||F||O==="pending"||O==="success",children:O==="pending"?a.message.trim()?"\u6267\u884C\u4E2D\u2026":"AI \u751F\u6210 + \u63D0\u4EA4\u4E2D\u2026":O==="success"||O==="error"?ne:Ft.verb})]})]})]})}):q?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:q}):(0,i.jsx)(X,{image:X.PRESENTED_IMAGE_SIMPLE,description:"\u8FD8\u6CA1\u6709\u8BFB\u5230 Git \u72B6\u6001\uFF0C\u91CD\u65B0\u6253\u5F00\u5FEB\u6377\u63D0\u4EA4\u5373\u53EF\u518D\u8BD5\u4E00\u6B21\u3002"})})}export{ao as QuickCommitHost};
1
+ import{a as zt,b as Ut}from"./chunk-ECWYA3U5.js";import{shared40_a as P,shared40_b as I,shared40_e as Kt}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared65_a as _}from"./runtime.js";import{shared79_a as $}from"./runtime.js";import{shared51_a as bt}from"./runtime.js";import{shared57_b as Gt}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as Tt}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_a as Y}from"./runtime.js";import{shared11_a as b,shared11_c as l,shared11_d as st}from"./runtime.js";import{shared69_a as X}from"./runtime.js";import{shared27_a as jt}from"./runtime.js";import{shared59_a as B}from"./runtime.js";import{shared7_Ac as A,shared7_Ed as u,shared7_Gd as Ht,shared7_Lc as xt,shared7_Mc as St,shared7_Nd as Bt,shared7_Sc as at,shared7_cc as V,shared7_ce as rt,shared7_ee as _t,shared7_ld as w,shared7_zd as y}from"./runtime.js";import{shared8_a as Wt}from"./runtime.js";import{shared9_c as H,shared9_d as qt}from"./runtime.js";var m=H(Wt(),1);var wt={commit:{action:"commit",label:"Commit",verb:"\u4EC5\u63D0\u4EA4",withTag:!1,push:!1},"commit-tag":{action:"commit-tag",label:"Commit + Tag",verb:"\u63D0\u4EA4\u5E76\u6253 Tag",withTag:!0,push:!1},"commit-push":{action:"commit-push",label:"Commit + Push",verb:"\u63D0\u4EA4\u5E76\u63A8\u9001",withTag:!1,push:!0},"commit-tag-push":{action:"commit-tag-push",label:"Commit + Tag + Push",verb:"\u63D0\u4EA4\u3001\u6253 Tag \u5E76\u63A8\u9001",withTag:!0,push:!0}},Jt=Object.values(wt);function le(e){return typeof e=="string"&&e in wt?e:"commit"}function It(e){return wt[le(e)]}function Vt(e,t,o,r,a=!1,p=!1){let h=It(t),T=e.message.trim(),x=h.withTag?e.tag.trim():"",k={autoMessage:!T,customMessage:T,tag:x,autoTag:h.withTag&&!x,push:h.push,submodule:o};return r&&(k.mode=r.mode,k.entryIds=[...r.entryIds]),a&&(k.includeDiff=!0),k}function Z(e){return!!e&&e.isGit&&e.modifiedCount>0}function Xt(e,t,o,r,a){return{action:e,includeSubmodule:t,pushed:a.pushed,pushError:a.pushError,commitHash:a.commit?.hash.slice(0,7)??"",commitMessage:a.commit?.message||o.message.trim(),tagName:a.tag?.name??"",oldTag:r.latestTag,oldCommitHash:r.lastCommit?.shortHash||r.head.slice(0,7),oldCommitSubject:r.lastCommit?.subject??"",submoduleCount:a.submoduleCommits.length}}function Yt(e){let t=e.trim();if(t==="??")return{letter:"U",tone:"untracked",label:"\u672A\u8DDF\u8E2A"};if(t==="!!")return{letter:"I",tone:"ignored",label:"\u5DF2\u5FFD\u7565"};let o=[...e].find(a=>a!=="."&&a!==" ")?.toUpperCase()||t[0]?.toUpperCase()||"?";return{letter:o,...{A:{tone:"added",label:"\u65B0\u589E"},M:{tone:"modified",label:"\u4FEE\u6539"},D:{tone:"deleted",label:"\u5220\u9664"},R:{tone:"renamed",label:"\u91CD\u547D\u540D"},C:{tone:"renamed",label:"\u590D\u5236"},T:{tone:"modified",label:"\u7C7B\u578B\u53D8\u66F4"},U:{tone:"deleted",label:"\u51B2\u7A81"}}[o]??{tone:"other",label:"\u5DF2\u66F4\u6539"}}}async function j(e,t){let o;try{o=await e.json()}catch{throw new Error(`${t} (HTTP ${e.status})`)}let r=b(o)?o:{};if(!e.ok)throw new Error(l(r.error,`${t} (HTTP ${e.status})`));return r}function de(e){return Array.isArray(e)?e.flatMap(t=>{if(!b(t)||typeof t.path!="string")return[];let o=b(t.submoduleState)?t.submoduleState:null;return[{path:t.path,status:l(t.status),isSubmodule:t.isSubmodule===!0,submoduleState:o?{commitChanged:o.commitChanged===!0,hasTrackedChanges:o.hasTrackedChanges===!0,hasUntracked:o.hasUntracked===!0}:void 0}]}):[]}function pe(e){let t=b(e)?e:{},o=de(t.files),r=b(t.lastCommit)?t.lastCommit:null,a=r?{hash:l(r.hash),shortHash:l(r.shortHash),subject:l(r.subject)}:void 0;return{isGit:t.isGit===!0,branch:l(t.branch),modifiedCount:Math.max(0,st(t.modifiedCount,o.length)),files:o,head:l(t.head),ahead:Math.max(0,st(t.ahead)),behind:Math.max(0,st(t.behind)),lastCommit:a,latestTag:l(t.latestTag),hasSubmodule:t.hasSubmodule===!0||o.some(p=>p.isSubmodule),error:typeof t.error=="string"?t.error:void 0}}function tt(e,t){return e==="iteration"||e==="diff"?e:t}function G(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&!!t):[]}function ge(e){return Array.isArray(e)?e.flatMap(t=>!b(t)||typeof t.id!="string"?[]:[{id:t.id,title:l(t.title),detail:l(t.detail),createdAt:l(t.createdAt),consumed:t.consumed===!0,consumedCommit:l(t.consumedCommit),source:l(t.source)}]):[]}function fe(e){let t=b(e)?e:{},o=b(t.iteration)?t.iteration:{},r=ge(t.entries),a=G(t.defaultEntryIds),p=G(t.selectableIds);return{iteration:{id:l(o.id),name:l(o.name),isDefault:o.isDefault===!0},entries:r,defaultEntryIds:a,selectableIds:p.length>0?p:r.map(h=>h.id),truncated:t.truncated===!0,effectiveMode:tt(t.effectiveMode,a.length>0?"iteration":"diff"),mode:tt(t.mode,"iteration")}}var Qt=class{constructor(t=(o,r)=>fetch(o,r)){qt(this,"fetchImpl",t)}async loadStatus(t,o={}){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/git-status`,{credentials:"same-origin",signal:o.signal});return pe(await j(r,"\u65E0\u6CD5\u52A0\u8F7D Git \u72B6\u6001\u3002"))}async loadContext(t,o={}){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/iteration-context`,{credentials:"same-origin",signal:o.signal});return fe(await j(r,"\u65E0\u6CD5\u8BFB\u53D6\u672C\u8F6E\u53D8\u66F4\u3002"))}async saveContextMode(t,o){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/iteration-context`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o})}),a=await j(r,"\u65E0\u6CD5\u4FDD\u5B58\u8F93\u5165\u9009\u62E9\u3002");return tt(a.mode,o)}async generate(t,o={}){let r={};o.selection&&(r.mode=o.selection.mode,r.entryIds=[...o.selection.entryIds]),o.includeDiff&&(r.includeDiff=!0);let a=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/generate-commit-message`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),signal:o.signal}),p=await j(a,"AI \u751F\u6210\u5931\u8D25\u3002"),h=b(p.commitContext)?p.commitContext:null;return{message:l(p.message),suggestedTag:l(p.suggestedTag).trim(),contextSource:tt(h?.source,"diff"),entryIds:G(h?.entryIds)}}async commit(t,o){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/quick-commit`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),a=await j(r,"\u5FEB\u6377\u63D0\u4EA4\u5931\u8D25\u3002"),p=b(a.commit)&&typeof a.commit.hash=="string"?{hash:a.commit.hash,message:l(a.commit.message)}:void 0,h=b(a.tag)&&typeof a.tag.name=="string"?{name:a.tag.name}:void 0,T=Array.isArray(a.submoduleCommits)?a.submoduleCommits.flatMap(k=>b(k)&&typeof k.path=="string"&&typeof k.hash=="string"?[{path:k.path,hash:k.hash}]:[]):[],x=b(a.commitContext)?a.commitContext:null;return{ok:a.ok!==!1,commit:p,tag:h,pushed:a.pushed===!0,pushError:l(a.pushError),submoduleCommits:T,archivedTaskIds:G(a.archivedTaskIds),archivedSessionIds:G(a.archivedSessionIds),archiveError:l(a.archiveError),commitContext:x?{source:tt(x.source,"diff"),entryIds:G(x.entryIds)}:null}}async push(t,o){let r=await this.fetchImpl(`/api/sessions/${encodeURIComponent(t)}/git/push`,{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),a=await j(r,"\u63A8\u9001\u5931\u8D25\u3002");return{ok:a.ok!==!1,pushedCommits:a.pushedCommits===!0,pushedTags:a.pushedTags===!0,error:l(a.error)}}},Zt=new Qt;var mt=H(Wt(),1);var c=H(at(),1),he=[{mode:"iteration",label:"\u8FED\u4EE3\u63D0\u793A\u8BCD",hint:"\u53EA\u7528\u672C\u8F6E\u6539\u52A8\u671F\u95F4\u53D1\u8FC7\u7684\u63D0\u793A\u8BCD\u603B\u7ED3\uFF0C\u4E0D\u8BFB\u4EE3\u7801"},{mode:"diff",label:"\u5B8C\u6574 diff",hint:"\u628A\u5B8C\u6574\u6539\u52A8\u4EA4\u7ED9\u6A21\u578B\uFF0C\u6700\u51C6\u786E\u4F46\u66F4\u6162\u3001\u66F4\u8D39 token"}];function Ce(e,t){let o=Kt(e.createdAt,t);return e.consumed?`${o} \xB7 \u5DF2\u63D0\u4EA4`:o}function te({context:e,mode:t,selectedIds:o,includeDiff:r,disabled:a=!1,onModeChange:p,onToggleEntry:h,onSelectAll:T,onIncludeDiffChange:x}){let[k,Q]=mt.useState(()=>Date.now());mt.useEffect(()=>Q(Date.now()),[e]);let E=e.entries.filter(g=>o.has(g.id)).length,z=e.entries.filter(g=>!g.consumed).length;return(0,c.jsx)($,{className:"wand-quick-iteration",size:"small",title:(0,c.jsx)("span",{id:"wand-quick-iteration-title",children:"\u672C\u6B21\u53D8\u66F4\u8F93\u5165"}),"aria-labelledby":"wand-quick-iteration-title",extra:(0,c.jsx)(A,{title:e.iteration.isDefault?"\u6CA1\u5355\u72EC\u9009\u91CC\u7A0B\u7891\u7684\u4EFB\u52A1\u90FD\u5F52\u5230\u5B83":void 0,children:e.iteration.isDefault?"\u9ED8\u8BA4\u8FED\u4EE3":e.iteration.name}),children:(0,c.jsxs)(y,{vertical:!0,gap:12,children:[(0,c.jsx)("fieldset",{disabled:a,style:{border:0,padding:0,margin:0},children:(0,c.jsx)(_t,{ariaLabel:"\u751F\u6210 Commit \u4FE1\u606F\u7684\u8F93\u5165",value:t,tabs:he.map(g=>({value:g.mode,label:g.label})),onValueChange:g=>{a||p(g)}})}),t==="diff"?(0,c.jsx)(u.Text,{type:"secondary",children:e.defaultEntryIds.length>0?`\u5C06\u628A\u5B8C\u6574 diff \u4EA4\u7ED9\u6A21\u578B\uFF0C\u5E76\u7167\u5E38\u628A\u672C\u8F6E\u672A\u63D0\u4EA4\u7684 ${e.defaultEntryIds.length} \u6761\u53D8\u66F4\u8BB0\u4E3A\u5DF2\u63D0\u4EA4\u3002`:"\u5C06\u628A\u5B8C\u6574 diff \u4EA4\u7ED9\u6A21\u578B\u3002"}):e.entries.length===0?(0,c.jsx)(u.Text,{type:"secondary",children:"\u672C\u8F6E\u8FED\u4EE3\u8FD8\u6CA1\u6709\u8BB0\u5F55\u5230\u63D0\u793A\u8BCD\uFF0C\u8FD9\u6B21\u4F1A\u6539\u8BFB\u5B8C\u6574 diff\u3002"}):(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(_,{size:"small",style:{maxHeight:180,overflow:"auto"},dataSource:[...e.entries],renderItem:g=>(0,c.jsx)(_.Item,{children:(0,c.jsx)(Gt,{title:g.detail||g.title,checked:o.has(g.id),disabled:a,onChange:et=>h(g.id,et.target.checked),children:(0,c.jsxs)(y,{vertical:!0,children:[(0,c.jsx)(u.Text,{children:g.title}),(0,c.jsx)(u.Text,{type:"secondary",children:Ce(g,k)})]})})},g.id)}),(0,c.jsxs)(y,{vertical:!0,gap:8,children:[(0,c.jsxs)(u.Text,{type:"secondary",children:[E>0?`\u5DF2\u9009 ${E} \u6761${z>0?`\uFF08\u672C\u8F6E\u672A\u63D0\u4EA4 ${z} \u6761\uFF09`:""}`:"\u6CA1\u6709\u52FE\u9009\u4EFB\u4F55\u6761\u76EE\uFF0C\u8FD9\u6B21\u4F1A\u6539\u8BFB\u5B8C\u6574 diff",e.truncated?" \xB7 \u66F4\u65E9\u7684\u5386\u53F2\u672A\u663E\u793A":""]}),(0,c.jsxs)(V,{wrap:!0,children:[(0,c.jsx)(w,{kind:"ghost",type:"button",disabled:a,onClick:()=>T("pending"),children:"\u4E0A\u6B21\u63D0\u4EA4\u4EE5\u6765"}),(0,c.jsx)(w,{kind:"ghost",type:"button",disabled:a||e.entries.length===E,onClick:()=>T("all"),children:"\u5168\u9009"}),(0,c.jsx)(w,{kind:"ghost",type:"button",disabled:a||E===0,onClick:()=>T("none"),children:"\u6E05\u7A7A"})]})]}),(0,c.jsxs)(y,{justify:"space-between",align:"center",gap:12,children:[(0,c.jsxs)(y,{vertical:!0,children:[(0,c.jsx)(u.Text,{strong:!0,children:"\u540C\u65F6\u9644\u4E0A\u5B8C\u6574 diff"}),(0,c.jsx)(u.Text,{type:"secondary",children:"\u63D0\u793A\u8BCD\u8BF4\u4E0D\u6E05\u695A\u65F6\u7528\u5B83\u515C\u5E95\u3002"})]}),(0,c.jsx)(rt,{id:"wand-quick-iteration-diff",checked:r,disabled:a,ariaLabel:"\u540C\u65F6\u9644\u4E0A\u5B8C\u6574 diff",onCheckedChange:x})]})]})]})})}var i=H(at(),1),ee={message:"",tag:"",tagEdited:!1};function ye(e){if(!e)return"\u52A0\u8F7D Git \u72B6\u6001\u5E76\u51C6\u5907\u63D0\u4EA4\u3002";let t=[e.branch||"(no branch)",e.modifiedCount>0?`${e.modifiedCount} \u4E2A\u6539\u52A8`:"\u5DE5\u4F5C\u533A\u5E72\u51C0"];return e.ahead>0&&t.push(`\u2191${e.ahead}`),e.behind>0&&t.push(`\u2193${e.behind}`),t.join(" \xB7 ")}function ke(e){let t=e.submoduleCount>0?`\u5DF2\u5148\u63D0\u4EA4 ${e.submoduleCount} \u4E2A submodule\uFF0C`:"",o=e.commitHash?` ${e.commitHash}`:"",r=e.tagName?`\uFF0C\u5DF2\u6253 Tag ${e.tagName}`:"";return`${t}\u5DF2\u63D0\u4EA4${o}${r}`}function oe({hash:e,subject:t,empty:o}){return e?(0,i.jsxs)(y,{vertical:!0,gap:4,children:[(0,i.jsx)(u.Text,{code:!0,children:e}),t?(0,i.jsx)(u.Text,{type:"secondary",ellipsis:!0,title:t,children:t}):null]}):(0,i.jsx)(u.Text,{type:"secondary",children:o})}function ie({label:e,before:t,after:o}){return(0,i.jsx)($,{size:"small",title:e,children:(0,i.jsxs)(y,{gap:12,align:"center",wrap:!0,children:[t,(0,i.jsx)(u.Text,{type:"secondary","aria-hidden":"true",children:"\u2192"}),o]})})}var be={added:"success",untracked:"success",modified:"warning",deleted:"error",renamed:"processing"};function Te({status:e}){return(0,i.jsx)($,{size:"small",title:(0,i.jsx)("span",{id:"wand-quick-files-title",children:"\u6539\u52A8\u6587\u4EF6"}),extra:(0,i.jsx)(A,{children:e.modifiedCount}),"aria-labelledby":"wand-quick-files-title",children:e.files.length>0?(0,i.jsx)(_,{size:"small",style:{maxHeight:148,overflow:"auto"},dataSource:[...e.files],renderItem:t=>{let o=Yt(t.status),r=t.submoduleState?[t.submoduleState.commitChanged?"\u65B0\u6307\u9488":"",t.submoduleState.hasTrackedChanges?"\u6709\u6539\u52A8":"",t.submoduleState.hasUntracked?"\u672A\u8DDF\u8E2A":""].filter(Boolean):[];return(0,i.jsx)(_.Item,{title:t.path,children:(0,i.jsxs)(y,{gap:8,align:"center",style:{minWidth:0,width:"100%"},children:[(0,i.jsx)(A,{color:be[o.tone],role:"img",title:o.label,"aria-label":o.label,children:o.letter}),(0,i.jsx)(u.Text,{ellipsis:!0,style:{minWidth:0,flex:1},title:t.path,children:t.path}),t.isSubmodule?(0,i.jsxs)(A,{color:"processing",children:["submodule",r.length?` \xB7 ${r.join(" / ")}`:""]}):null]})},t.path)}}):(0,i.jsx)(X,{image:X.PRESENTED_IMAGE_SIMPLE,description:"\u6CA1\u6709\u53EF\u63D0\u4EA4\u7684\u6539\u52A8\u3002"})})}function xe({status:e}){let t=e.modifiedCount>0,o=t?`${e.modifiedCount} \u4E2A\u6539\u52A8\u5F85\u5904\u7406`:e.ahead>0?`${e.ahead} \u4E2A commit \u5F85\u63A8\u9001`:"\u5DE5\u4F5C\u533A\u5E72\u51C0";return(0,i.jsx)(B,{"aria-label":"\u5F53\u524D\u5DE5\u4F5C\u533A",showIcon:!0,type:t?"info":"success",title:e.branch||"\u672A\u8BC6\u522B\u5206\u652F",description:o,action:t&&e.ahead>0?(0,i.jsxs)(A,{color:"success",children:["\u2191",e.ahead]}):void 0})}function ao({repository:e=Zt}){let t=(0,m.useSyncExternalStore)(I.subscribe,I.getSnapshot,I.getSnapshot),[o,r]=(0,m.useState)(null),[a,p]=(0,m.useState)(ee),[h,T]=(0,m.useState)("commit"),[x,k]=(0,m.useState)(!1),[Q,E]=(0,m.useState)(null),[z,g]=(0,m.useState)("iteration"),[et,D]=(0,m.useState)(null),[ct,Et]=(0,m.useState)(!1),[ut,lt]=(0,m.useState)(null),[d,dt]=(0,m.useState)(null),[ot,vt]=(0,m.useState)(!1),[pt,gt]=(0,m.useState)(!1),[F,ft]=(0,m.useState)(!1),[O,L]=(0,m.useState)("idle"),[ne,U]=(0,m.useState)(""),[ht,K]=(0,m.useState)(""),[it,Mt]=(0,m.useState)(!1),[q,N]=(0,m.useState)(""),[Rt,W]=(0,m.useState)(""),v=(0,m.useRef)(null),At=(0,m.useRef)(null),S=t.context;async function Pt(n,s){let f=I.getRuntime()?.nextStatusRequestTime()??Date.now(),C=await e.loadStatus(n,s?{signal:s}:{});return I.getRuntime()?.onStatusLoaded(n,C,f),C}(0,m.useEffect)(()=>{if(!t.open||!S)return;let n=new AbortController;return v.current?.abort(),v.current=null,r(null),L("idle"),U(""),K(""),p(ee),T("commit"),k(!1),E(null),D(null),Et(!1),lt(null),dt(null),vt(!0),gt(!1),N(""),W(""),Pt(S.sessionId,n.signal).then(s=>{n.signal.aborted||(r(s),s.isGit||N(s.error||"\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Git \u4ED3\u5E93\u3002"))}).catch(s=>{n.signal.aborted||N(Y(s,"\u65E0\u6CD5\u52A0\u8F7D Git \u72B6\u6001\u3002"))}).finally(()=>{n.signal.aborted||vt(!1)}),e.loadContext(S.sessionId,{signal:n.signal}).then(s=>{n.signal.aborted||(E(s),g(s.mode))}).catch(()=>{n.signal.aborted||E(null)}),()=>{n.abort(),v.current?.abort(),v.current=null}},[t.open,t.revision,S?.sessionId,e]),(0,m.useEffect)(()=>{if(!t.open||ot||!o||d)return;let n=window.requestAnimationFrame(()=>At.current?.focus());return()=>window.cancelAnimationFrame(n)},[t.open,ot,d,o]);let Ft=(0,m.useMemo)(()=>It(h),[h]),J=F||it,Ot=Z(o)&&!J&&!ot,Ct=(0,m.useMemo)(()=>new Set(et??Q?.defaultEntryIds??[]),[et,Q]);function Lt(){if(Q)return{mode:z,entryIds:[...Ct]}}function ae(n){g(n),S&&e.saveContextMode(S.sessionId,n).catch(()=>{})}function re(n,s){D(()=>{let f=new Set(Ct);return s?f.add(n):f.delete(n),[...f]})}function se(n){if(Q){if(n==="none"){D([]);return}if(n==="all"){D(Q.entries.map(s=>s.id));return}D(null)}}async function yt(n){try{let s=await Pt(n);I.getSnapshot().context?.sessionId===n&&r(s)}catch{}}async function Nt(n){try{let s=await e.loadContext(n);if(I.getSnapshot().context?.sessionId!==n)return;E(s),D(null),lt(null)}catch{}}async function me(){if(!S||pt||F)return;v.current?.abort();let n=new AbortController;v.current=n,gt(!0),N("");try{let s=await e.generate(S.sessionId,{signal:n.signal,selection:Lt(),includeDiff:ct});if(n.signal.aborted)return;p(f=>({message:f.message.trim()?f.message:s.message,tag:f.tagEdited?f.tag:s.suggestedTag||f.tag,tagEdited:f.tagEdited})),lt({source:s.contextSource,count:s.entryIds.length}),s.suggestedTag&&T("commit-tag")}catch(s){n.signal.aborted||N(Y(s,"AI \u751F\u6210\u5931\u8D25\u3002"))}finally{n.signal.aborted||gt(!1),v.current===n&&(v.current=null)}}async function $t(n){if(n?.preventDefault(),!S||!o||!Ot||F||O==="pending"||O==="success")return;let s=S.sessionId,f=I.getSnapshot().revision,C=()=>P.isCurrentLifecycle(f,s);ft(!0),L("pending"),U(""),K(""),N(""),W("");try{let M=await e.commit(s,Vt(a,h,x,Lt(),ct));if(!M.ok)throw new Error("\u5FEB\u6377\u63D0\u4EA4\u5931\u8D25\u3002");let R=Xt(h,x,a,o,M),nt=ke(R),Dt=R.commitHash?R.commitHash.slice(0,7):"";if(!M.pushError){yt(s),Nt(s),C()&&(U(Dt?`\u5DF2\u63D0\u4EA4 ${Dt}`:"\u5DF2\u63D0\u4EA4"),K(`${nt}${Ft.push?"\uFF0C\u5DF2\u63A8\u9001":""}\u3002`),L("success"),ft(!1)),await new Promise(kt=>{window.setTimeout(kt,xt)}),C()&&P.close();return}C()&&(dt(R),W(M.pushError),U("\u5DF2\u63D0\u4EA4\uFF0C\u63A8\u9001\u5931\u8D25"),L("error"),K(`${nt}\u3002`)),await Promise.all([yt(s),Nt(s)]),await new Promise(kt=>{window.setTimeout(kt,St)}),C()&&L("idle")}catch(M){let R=Y(M,"\u5FEB\u6377\u63D0\u4EA4\u5931\u8D25\u3002");C()&&(N(R),U("\u63D0\u4EA4\u5931\u8D25"),L("error")),await new Promise(nt=>{window.setTimeout(nt,St)}),C()&&L("idle")}finally{C()&&ft(!1)}}async function ce(){if(!S||!d||it)return;let n=S.sessionId,s=I.getSnapshot().revision,f=()=>P.isCurrentLifecycle(s,n);Mt(!0),W("");try{let C=await e.push(n,{pushCommits:!0,pushTags:!!d.tagName,submodule:d.includeSubmodule,tag:d.tagName});if(!C.ok||C.error){f()&&W(C.error||"\u63A8\u9001\u5931\u8D25\u3002");return}let M=[C.pushedCommits?"\u63D0\u4EA4":"",C.pushedTags?"\u6807\u7B7E":""].filter(Boolean).join(" \u548C ")||"\uFF08\u65E0\u5185\u5BB9\uFF09";yt(n),f()&&(K(`\u5DF2\u63A8\u9001 ${M}\u3002`),dt({...d,pushed:!0})),await new Promise(R=>{window.setTimeout(R,xt)}),f()&&P.close()}catch(C){f()&&W(Y(C,"\u63A8\u9001\u5931\u8D25\u3002"))}finally{Mt(!1)}}function ue(n){n.key!=="Enter"||!n.metaKey&&!n.ctrlKey||(n.preventDefault(),$t())}return(0,i.jsx)(Bt,{open:t.open,onOpenChange:n=>{n||P.close()},title:"\u5FEB\u6377\u63D0\u4EA4",description:ye(o),className:"wand-task-library-dialog wand-quick-library-dialog",closeLabel:"\u5173\u95ED\u5FEB\u6377\u63D0\u4EA4",testId:"quick-commit-dialog",children:ot?(0,i.jsx)(jt,{tip:"\u6B63\u5728\u52A0\u8F7D Git \u72B6\u6001\u2026",children:(0,i.jsx)("div",{style:{minHeight:100},role:"status",children:"\u6B63\u5728\u52A0\u8F7D Git \u72B6\u6001\u2026"})}):d?(0,i.jsxs)(y,{vertical:!0,gap:16,component:"section","aria-label":"\u63D0\u4EA4\u7ED3\u679C",children:[(0,i.jsx)(ie,{label:"Commit",before:(0,i.jsx)(oe,{hash:d.oldCommitHash,subject:d.oldCommitSubject,empty:"\u65E0"}),after:(0,i.jsx)(oe,{hash:d.commitHash,subject:d.commitMessage,empty:"\u65E0"})}),(0,i.jsx)(ie,{label:"Tag",before:d.oldTag?(0,i.jsx)(u.Text,{code:!0,children:d.oldTag}):(0,i.jsx)(u.Text,{type:"secondary",children:"\u65E0 tag"}),after:d.tagName?(0,i.jsx)(u.Text,{code:!0,children:d.tagName}):(0,i.jsx)(u.Text,{type:"secondary",children:"\u672A\u6253 tag"})}),d.submoduleCount>0?(0,i.jsxs)(u.Text,{children:["\u5DF2\u63D0\u4EA4 ",d.submoduleCount," \u4E2A submodule\u3002"]}):null,ht?(0,i.jsx)(u.Text,{children:ht}):null,d.pushError||Rt?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:Rt||d.pushError}):null,q?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:q}):null,(0,i.jsxs)(y,{justify:"flex-end",gap:8,align:"center",children:[(0,i.jsx)(w,{kind:"ghost",onClick:()=>P.close(),children:"\u5173\u95ED"}),d.pushed?(0,i.jsx)(A,{color:"success",children:"\u5DF2\u63A8\u9001"}):(0,i.jsx)(w,{kind:"primary",disabled:it,onClick:()=>{ce()},children:it?"\u63A8\u9001\u4E2D\u2026":"\u63A8\u9001\u5E76\u5173\u95ED"})]})]}):o?(0,i.jsx)(Ut,{noValidate:!0,"aria-busy":J,onSubmit:n=>{$t(n)},children:(0,i.jsxs)(y,{vertical:!0,gap:16,children:[(0,i.jsx)(xe,{status:o}),(0,i.jsx)(Te,{status:o}),Q?(0,i.jsx)(te,{context:Q,mode:z,selectedIds:Ct,includeDiff:ct,disabled:J,onModeChange:ae,onToggleEntry:re,onSelectAll:se,onIncludeDiffChange:Et}):null,(0,i.jsxs)($,{size:"small",title:(0,i.jsx)("span",{id:"wand-quick-editor-title",children:"\u63D0\u4EA4\u4FE1\u606F"}),"aria-labelledby":"wand-quick-editor-title",extra:(0,i.jsx)(w,{kind:"ghost",size:"small",disabled:pt||F||!Z(o),title:"AI \u751F\u6210 commit message \u4E0E tag",onClick:()=>{me()},children:pt?"\u751F\u6210\u4E2D\u2026":"\u2726 AI"}),children:[(0,i.jsx)(Tt.Item,{htmlFor:"wand-quick-message",label:"\u65B0\u7684 Commit \u4FE1\u606F",children:(0,i.jsx)(zt,{className:"resize-none",id:"wand-quick-message",ref:At,"data-wand-autofocus":"",rows:3,value:a.message,disabled:F,placeholder:"\u7559\u7A7A\u5219\u81EA\u52A8\u751F\u6210",onChange:n=>p({...a,message:n.currentTarget.value}),onKeyDown:ue})}),ut?(0,i.jsx)(u.Paragraph,{type:"secondary",children:ut.source==="iteration"?`\u5DF2\u4F9D\u636E ${ut.count} \u6761\u8FED\u4EE3\u63D0\u793A\u8BCD\u751F\u6210\uFF0C\u6CA1\u6709\u8BFB\u53D6\u4EE3\u7801\u3002`:"\u5DF2\u4F9D\u636E\u5B8C\u6574 diff \u751F\u6210\u3002"}):null,(0,i.jsx)(Tt.Item,{htmlFor:"wand-quick-tag",label:"Tag\uFF08\u53EF\u9009\uFF09",style:{marginBottom:0},children:(0,i.jsx)(Ht,{id:"wand-quick-tag",type:"text",value:a.tag,disabled:F,placeholder:"\u9009\u62E9 Tag \u52A8\u4F5C\u65F6\uFF0C\u7559\u7A7A\u5219\u81EA\u52A8\u751F\u6210",autoComplete:"off",spellCheck:!1,onChange:n=>p({...a,tag:n.currentTarget.value,tagEdited:!0})})})]}),(0,i.jsx)($,{size:"small",title:"\u6267\u884C\u52A8\u4F5C",children:(0,i.jsxs)(y,{vertical:!0,gap:16,children:[(0,i.jsx)(bt.Group,{className:"wand-quick-action-grid","aria-label":"\u6267\u884C\u52A8\u4F5C",name:"wand-quick-action",value:h,disabled:!Z(o)||J,onChange:n=>T(n.target.value),children:(0,i.jsx)(V,{wrap:!0,children:Jt.map(n=>(0,i.jsx)(bt,{value:n.action,children:n.label},n.action))})}),o.hasSubmodule?(0,i.jsxs)(y,{justify:"space-between",align:"center",gap:12,children:[(0,i.jsxs)(y,{vertical:!0,children:[(0,i.jsx)(u.Text,{strong:!0,children:"\u5305\u542B Submodule"}),(0,i.jsx)(u.Text,{type:"secondary",children:"\u9012\u5F52\u6267\u884C commit\u3001tag \u548C push\u3002"})]}),(0,i.jsx)(rt,{id:"wand-quick-submodule",checked:x,disabled:J,ariaLabel:"\u5305\u542B Submodule",onCheckedChange:k})]}):null]})}),q?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:q}):null,(0,i.jsxs)(y,{component:"footer",justify:"space-between",gap:12,align:"center",wrap:!0,className:"wand-dialog-sticky-actions",children:[(0,i.jsx)(u.Text,{type:"secondary",children:ht||(Z(o)?"\u2318/Ctrl + Enter \u5FEB\u901F\u6267\u884C":"\u5DE5\u4F5C\u533A\u5E72\u51C0\uFF0C\u65E0\u53EF\u63D0\u4EA4\u6539\u52A8")}),(0,i.jsxs)(V,{children:[(0,i.jsx)(w,{kind:"ghost",onClick:()=>P.close(),children:"\u53D6\u6D88"}),(0,i.jsx)(w,{kind:"primary",type:"submit","aria-live":"polite",disabled:!Ot||F||O==="pending"||O==="success",children:O==="pending"?a.message.trim()?"\u6267\u884C\u4E2D\u2026":"AI \u751F\u6210 + \u63D0\u4EA4\u4E2D\u2026":O==="success"||O==="error"?ne:Ft.verb})]})]})]})}):q?(0,i.jsx)(B,{type:"error",showIcon:!0,role:"alert",title:q}):(0,i.jsx)(X,{image:X.PRESENTED_IMAGE_SIMPLE,description:"\u8FD8\u6CA1\u6709\u8BFB\u5230 Git \u72B6\u6001\uFF0C\u91CD\u65B0\u6253\u5F00\u5FEB\u6377\u63D0\u4EA4\u5373\u53EF\u518D\u8BD5\u4E00\u6B21\u3002"})})}export{ao as QuickCommitHost};
@@ -1 +1 @@
1
- import{shared45_a as w}from"./runtime.js";import{shared57_a as i}from"./runtime.js";import{shared7_Fd as m,shared7_Ld as v,shared7_Sc as b,shared7_Yc as h,shared7_zd as g}from"./runtime.js";import{shared8_a as C}from"./runtime.js";import{shared9_c as d}from"./runtime.js";var l=d(C(),1);var t=d(b(),1);function S(){let s=(0,l.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot),p=h(),c=(0,l.useRef)(null),f=(0,l.useRef)(()=>{});return v(s.open,()=>i.close()),(0,l.useEffect)(()=>{if(!s.open||!p)return;let n={"switch-prev":"\u4E0A\u4E00\u5F20\u56FE\u7247","switch-next":"\u4E0B\u4E00\u5F20\u56FE\u7247","actions-action-zoomIn":"\u653E\u5927\u56FE\u7247","actions-action-zoomOut":"\u7F29\u5C0F\u56FE\u7247"},r=()=>{for(let[e,a]of Object.entries(n)){let u=p.querySelector(`.wand-image-viewer .ant-image-preview-${e}`);u?.setAttribute("aria-label",a),u?.setAttribute("title",a)}};r();let o=new MutationObserver(r);return o.observe(p,{childList:!0,subtree:!0}),()=>o.disconnect()},[s.open,p]),(0,t.jsx)(w.PreviewGroup,{items:s.items.map(n=>({src:n.src,alt:n.label})),classNames:{popup:{root:"wand-image-viewer"}},styles:{popup:{root:{pointerEvents:"auto"},mask:{background:"var(--bg-terminal)"},footer:{maxWidth:"calc(100vw - 24px)",bottom:"max(24px, env(safe-area-inset-bottom))"}}},preview:{open:s.open,current:s.current,alt:s.label,getContainer:p,onOpenChange:n=>{n||i.close()},afterOpenChange:n=>{n||i.afterClosed()},onChange:n=>{c.current=null,i.select(n)},closeIcon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{name:"close"}),(0,t.jsx)("span",{className:"sr-only",children:"\u5173\u95ED\u56FE\u7247\u9884\u89C8"})]}),icons:{prev:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{name:"chevronLeft"}),(0,t.jsx)("span",{className:"sr-only",children:"\u4E0A\u4E00\u5F20"})]}),next:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{name:"chevron"}),(0,t.jsx)("span",{className:"sr-only",children:"\u4E0B\u4E00\u5F20"})]})},countRender:(n,r)=>(0,t.jsxs)("span",{role:"status","aria-live":"polite",className:"wand-image-viewer-caption",children:[s.label," \xB7 ",n," / ",r]}),actionsRender:(n,{actions:r,icons:o})=>(f.current=r.onActive,(0,t.jsxs)(g,{gap:"small",children:[o.zoomOutIcon,o.zoomInIcon]})),imageRender:(n,{transform:r})=>(0,t.jsx)("div",{"data-testid":"image-viewer-dialog",style:{display:"contents"},onTouchStartCapture:o=>{let e=o.touches[0];c.current=o.touches.length===1&&r.scale===1&&s.items.length>1?{id:e.identifier,x:e.clientX,y:e.clientY,endX:e.clientX,endY:e.clientY}:null},onTouchMove:o=>{let e=c.current;if(!e)return;let a=o.touches[0];if(o.touches.length!==1||a.identifier!==e.id||r.scale!==1){c.current=null;return}e.endX=a.clientX,e.endY=a.clientY},onTouchEnd:o=>{let e=c.current;if(c.current=null,!e||o.touches.length||r.scale!==1)return;let a=Array.from(o.changedTouches).find(y=>y.identifier===e.id),u=(a?.clientX??e.endX)-e.x,x=(a?.clientY??e.endY)-e.y;Math.abs(u)>=48&&Math.abs(u)>Math.abs(x)*1.5&&f.current(u<0?1:-1)},onTouchCancel:()=>{c.current=null},children:n})}})}export{S as ImageViewerHost};
1
+ import{shared45_a as w}from"./runtime.js";import{shared58_a as i}from"./runtime.js";import{shared7_Fd as m,shared7_Ld as v,shared7_Sc as b,shared7_Yc as h,shared7_zd as g}from"./runtime.js";import{shared8_a as C}from"./runtime.js";import{shared9_c as d}from"./runtime.js";var l=d(C(),1);var t=d(b(),1);function S(){let s=(0,l.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot),p=h(),c=(0,l.useRef)(null),f=(0,l.useRef)(()=>{});return v(s.open,()=>i.close()),(0,l.useEffect)(()=>{if(!s.open||!p)return;let n={"switch-prev":"\u4E0A\u4E00\u5F20\u56FE\u7247","switch-next":"\u4E0B\u4E00\u5F20\u56FE\u7247","actions-action-zoomIn":"\u653E\u5927\u56FE\u7247","actions-action-zoomOut":"\u7F29\u5C0F\u56FE\u7247"},r=()=>{for(let[e,a]of Object.entries(n)){let u=p.querySelector(`.wand-image-viewer .ant-image-preview-${e}`);u?.setAttribute("aria-label",a),u?.setAttribute("title",a)}};r();let o=new MutationObserver(r);return o.observe(p,{childList:!0,subtree:!0}),()=>o.disconnect()},[s.open,p]),(0,t.jsx)(w.PreviewGroup,{items:s.items.map(n=>({src:n.src,alt:n.label})),classNames:{popup:{root:"wand-image-viewer"}},styles:{popup:{root:{pointerEvents:"auto"},mask:{background:"var(--bg-terminal)"},footer:{maxWidth:"calc(100vw - 24px)",bottom:"max(24px, env(safe-area-inset-bottom))"}}},preview:{open:s.open,current:s.current,alt:s.label,getContainer:p,onOpenChange:n=>{n||i.close()},afterOpenChange:n=>{n||i.afterClosed()},onChange:n=>{c.current=null,i.select(n)},closeIcon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{name:"close"}),(0,t.jsx)("span",{className:"sr-only",children:"\u5173\u95ED\u56FE\u7247\u9884\u89C8"})]}),icons:{prev:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{name:"chevronLeft"}),(0,t.jsx)("span",{className:"sr-only",children:"\u4E0A\u4E00\u5F20"})]}),next:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{name:"chevron"}),(0,t.jsx)("span",{className:"sr-only",children:"\u4E0B\u4E00\u5F20"})]})},countRender:(n,r)=>(0,t.jsxs)("span",{role:"status","aria-live":"polite",className:"wand-image-viewer-caption",children:[s.label," \xB7 ",n," / ",r]}),actionsRender:(n,{actions:r,icons:o})=>(f.current=r.onActive,(0,t.jsxs)(g,{gap:"small",children:[o.zoomOutIcon,o.zoomInIcon]})),imageRender:(n,{transform:r})=>(0,t.jsx)("div",{"data-testid":"image-viewer-dialog",style:{display:"contents"},onTouchStartCapture:o=>{let e=o.touches[0];c.current=o.touches.length===1&&r.scale===1&&s.items.length>1?{id:e.identifier,x:e.clientX,y:e.clientY,endX:e.clientX,endY:e.clientY}:null},onTouchMove:o=>{let e=c.current;if(!e)return;let a=o.touches[0];if(o.touches.length!==1||a.identifier!==e.id||r.scale!==1){c.current=null;return}e.endX=a.clientX,e.endY=a.clientY},onTouchEnd:o=>{let e=c.current;if(c.current=null,!e||o.touches.length||r.scale!==1)return;let a=Array.from(o.changedTouches).find(y=>y.identifier===e.id),u=(a?.clientX??e.endX)-e.x,x=(a?.clientY??e.endY)-e.y;Math.abs(u)>=48&&Math.abs(u)>Math.abs(x)*1.5&&f.current(u<0?1:-1)},onTouchCancel:()=>{c.current=null},children:n})}})}export{S as ImageViewerHost};
@@ -1 +1 @@
1
- import{shared42_a as u}from"./runtime.js";import{shared15_d as C}from"./runtime.js";import "./runtime.js";import{shared58_a as v}from"./runtime.js";import{shared7_Ac as P,shared7_Nd as I,shared7_Sc as w,shared7_ld as E}from"./runtime.js";import{shared8_a as F}from"./runtime.js";import{shared9_c as y}from"./runtime.js";var r=y(F(),1);function T(t,n,a){return C(`/api/sessions/${encodeURIComponent(t)}/pi-execution/${encodeURIComponent(n)}`,{credentials:"same-origin",cache:"no-store",signal:a})}var e=y(w(),1),j={pending:"\u5F85\u6267\u884C",running:"\u6267\u884C\u4E2D",background:"\u5DF2\u6D3E\u53D1\u540E\u53F0",completed:"\u5DF2\u5B8C\u6210",failed:"\u5931\u8D25",paused:"\u5DF2\u6682\u505C",stopped:"\u5DF2\u505C\u6B62",detached:"\u5DF2\u8131\u79BB",rejected:"\u672A\u901A\u8FC7",skipped:"\u5DF2\u8DF3\u8FC7",partial:"\u90E8\u5206\u5B8C\u6210",unknown:"\u72B6\u6001\u672A\u77E5"},b=new Set(["pending","running","background"]);function S({state:t}){return(0,e.jsx)(P,{className:`pi-execution-state is-${t}`,color:t==="completed"?"success":t==="failed"||t==="rejected"?"error":b.has(t)?"processing":void 0,children:j[t]})}function $(t){return t<1e3?`${Math.round(t)} ms`:`${(t/1e3).toFixed(1)} s`}function O({node:t}){if(!t)return(0,e.jsx)("p",{className:"pi-execution-empty",children:"\u6267\u884C\u5668\u5C1A\u672A\u63D0\u4F9B\u5B50\u4EFB\u52A1\u6E05\u5355\u3002"});let n=[["\u5458\u5DE5",t.agent],["\u6A21\u578B",t.model],["\u9636\u6BB5",t.phase],["\u8FD0\u884C ID",t.runId],["\u5F53\u524D\u5DE5\u5177",t.currentTool],["\u8017\u65F6",t.durationMs===void 0?void 0:$(t.durationMs)],["Tokens",t.tokens],["\u5DE5\u5177\u8C03\u7528",t.toolCount]];return(0,e.jsxs)("section",{className:"pi-execution-detail","aria-label":"\u5B50\u4EFB\u52A1\u8BE6\u60C5",children:[(0,e.jsx)("h3",{children:t.label}),(0,e.jsx)(S,{state:t.state}),(0,e.jsx)("dl",{children:n.filter(([,a])=>a!==void 0).map(([a,p])=>(0,e.jsxs)(r.Fragment,{children:[(0,e.jsx)("dt",{children:a}),(0,e.jsx)("dd",{children:p})]},String(a)))}),t.task&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h4",{children:"\u4EFB\u52A1"}),(0,e.jsx)("pre",{children:t.task})]}),t.error&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h4",{children:"\u9519\u8BEF"}),(0,e.jsx)("pre",{className:"pi-execution-error",children:t.error})]}),t.output&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h4",{children:"\u6700\u8FD1\u8F93\u51FA"}),(0,e.jsx)("pre",{children:t.output})]})]})}function q({target:t}){let[n,a]=r.useState(null),[p,k]=r.useState(""),[g,R]=r.useState(!0),[A,L]=r.useState(0),[W,M]=r.useState("");r.useEffect(()=>{let o=!1,i,d,f=0;async function h(){let x=++f;d?.abort(),d=new AbortController,R(!0);try{let l=await T(t.sessionId,t.toolId,d.signal);if(o||x!==f)return;a(l),k(""),l.snapshot&&!l.notice&&(b.has(l.snapshot.state)||l.snapshot.nodes.some(D=>b.has(D.state)))&&(i=setTimeout(()=>{document.hidden||h()},2e3))}catch(l){!o&&x===f&&k(l instanceof Error?l.message:"\u8BFB\u53D6\u6267\u884C\u7ED3\u6784\u5931\u8D25")}finally{!o&&x===f&&R(!1)}}let N=()=>{document.hidden||(clearTimeout(i),d?.abort(),h())};return h(),document.addEventListener("visibilitychange",N),()=>{o=!0,clearTimeout(i),d?.abort(),document.removeEventListener("visibilitychange",N)}},[t.sessionId,t.toolId,A]);let s=n?.snapshot,c=s?.nodes??[],m=c.find(o=>o.id===W)??c.find(o=>o.state==="running")??c[0],B=[...new Set(c.map(o=>o.phase??"\u5B50\u4EFB\u52A1"))];return(0,e.jsxs)("div",{className:"pi-execution-window-body",children:[(0,e.jsxs)("div",{className:"pi-execution-toolbar",children:[(0,e.jsx)("span",{children:s?`${s.source==="status-file"?"\u540E\u53F0\u8FD0\u884C\u5FEB\u7167":s.source==="tool-progress"?"\u5DE5\u5177\u8FDB\u5EA6\u5FEB\u7167":"\u5DE5\u5177\u7ED3\u679C\u5FEB\u7167"} \xB7 ${s.mode}`:"\u8BFB\u53D6\u771F\u5B9E\u6267\u884C\u6570\u636E"}),(0,e.jsx)(E,{size:"small",disabled:g,onClick:()=>L(o=>o+1),children:g?"\u8BFB\u53D6\u4E2D\u2026":"\u5237\u65B0"})]}),p&&(0,e.jsx)(v,{role:"alert",type:"error",title:`${p}${n?"\uFF08\u4FDD\u7559\u4E0A\u6B21\u5FEB\u7167\uFF09":""}`}),n?.notice&&(0,e.jsx)(v,{role:"status",type:"info",title:n.notice}),s&&(0,e.jsxs)("div",{className:"pi-execution-root",children:[(0,e.jsx)("strong",{children:s.name??(s.mode==="workflow"?"\u5DE5\u4F5C\u6D41":"\u5B50 Agent \u6267\u884C")}),(0,e.jsx)(S,{state:s.state}),s.runId&&(0,e.jsx)("code",{children:s.runId}),(0,e.jsxs)("span",{children:[c.filter(o=>o.kind!=="parallel-group"&&o.kind!=="dynamic-parallel-group").length," \u4E2A\u8282\u70B9 \xB7 ",s.inventoryComplete?"\u6E05\u5355\u5DF2\u7ED3\u675F":"\u6E05\u5355\u4ECD\u53EF\u80FD\u589E\u52A0"]})]}),(0,e.jsxs)("div",{className:"pi-execution-layout",children:[(0,e.jsxs)("nav",{className:"pi-execution-tree","aria-label":"\u6267\u884C\u7ED3\u6784",children:[B.map(o=>(0,e.jsxs)("section",{children:[(0,e.jsx)("h3",{children:o}),c.filter(i=>(i.phase??"\u5B50\u4EFB\u52A1")===o).map(i=>(0,e.jsxs)(E,{kind:i.id===m?.id?"soft":"ghost",className:`pi-execution-node${i.id===m?.id?" is-selected":""}`,"aria-pressed":i.id===m?.id,onClick:()=>M(i.id),children:[i.parentId&&(0,e.jsxs)("small",{children:["\u21B3 ",c.find(d=>d.id===i.parentId)?.label??i.parentId]}),(0,e.jsx)("strong",{children:i.label}),(0,e.jsx)(S,{state:i.state}),i.agent&&i.agent!==i.label&&(0,e.jsx)("small",{children:i.agent})]},i.id))]},o)),!c.length&&(0,e.jsx)("p",{className:"pi-execution-empty",children:g?"\u6B63\u5728\u8BFB\u53D6\u5B50\u4EFB\u52A1\u2026":"\u6682\u65E0\u53EF\u786E\u8BA4\u7684\u5B50\u4EFB\u52A1"}),!!s?.omittedNodes&&(0,e.jsxs)("p",{children:["\u53E6\u6709 ",s.omittedNodes," \u4E2A\u8282\u70B9\u672A\u663E\u793A"]})]}),(0,e.jsx)(O,{node:m})]}),!!s?.trace.length&&(0,e.jsxs)("section",{className:"pi-execution-evidence",children:[(0,e.jsx)("h3",{children:"\u8C03\u7528\u8F68\u8FF9"}),(0,e.jsx)("p",{children:"\u6309\u6267\u884C\u5668\u8BB0\u5F55\u7684\u4E8B\u4EF6\u987A\u5E8F\u5C55\u793A\uFF1B\u987A\u5E8F\u4E0D\u4EE3\u8868\u4EFB\u52A1\u4F9D\u8D56\u3002"}),(0,e.jsx)("ol",{children:s.trace.map((o,i)=>(0,e.jsxs)("li",{children:[(0,e.jsxs)("code",{children:[o.operation," ",o.key]})," ",(0,e.jsx)("span",{children:o.state}),o.durationMs!==void 0&&(0,e.jsx)("small",{children:$(o.durationMs)}),o.error&&(0,e.jsx)("pre",{children:o.error})]},i))}),!!s.omittedTrace&&(0,e.jsxs)("p",{children:["\u53E6\u6709 ",s.omittedTrace," \u6761\u8F83\u65E9\u4E8B\u4EF6\u672A\u663E\u793A"]})]}),n&&(0,e.jsxs)("section",{className:"pi-execution-evidence",children:[(0,e.jsx)("h3",{children:n.script?"\u7F16\u6392\u811A\u672C":"\u6D3E\u53D1\u53C2\u6570"}),!n.script&&!!n.input.workflow&&(0,e.jsxs)("p",{children:["\u811A\u672C\u6765\u6E90\uFF1A",String(n.input.workflow),"\u3002\u672C\u6B21\u6570\u636E\u672A\u5305\u542B\u811A\u672C\u6B63\u6587\u3002"]}),(0,e.jsx)("pre",{children:n.script??JSON.stringify(n.input,null,2)})]})]})}function Q(){let t=r.useSyncExternalStore(u.subscribe,u.getSnapshot,u.getSnapshot),n=r.useRef(null);return t&&(n.current=t.trigger),(0,e.jsx)(I,{open:!!t,title:"\u6267\u884C\u7ED3\u6784",description:"\u67E5\u770B Pi \u5B9E\u9645\u6D3E\u53D1\u7684\u5B50\u4EFB\u52A1\u3001\u9636\u6BB5\u3001\u8FD0\u884C\u72B6\u6001\u4E0E\u7F16\u6392\u4F9D\u636E\u3002",onAfterClose:()=>{!u.isOpen()&&n.current?.isConnected&&n.current.focus({preventScroll:!0})},className:"wand-pi-execution-content",closeLabel:"\u5173\u95ED\u6267\u884C\u7ED3\u6784",onOpenChange:a=>{a||u.close()},children:t&&(0,e.jsx)(q,{target:t},`${t.sessionId}:${t.toolId}`)})}export{Q as PiExecutionHost};
1
+ import{shared42_a as u}from"./runtime.js";import{shared15_d as C}from"./runtime.js";import "./runtime.js";import{shared59_a as v}from"./runtime.js";import{shared7_Ac as P,shared7_Nd as I,shared7_Sc as w,shared7_ld as E}from"./runtime.js";import{shared8_a as F}from"./runtime.js";import{shared9_c as y}from"./runtime.js";var r=y(F(),1);function T(t,n,a){return C(`/api/sessions/${encodeURIComponent(t)}/pi-execution/${encodeURIComponent(n)}`,{credentials:"same-origin",cache:"no-store",signal:a})}var e=y(w(),1),j={pending:"\u5F85\u6267\u884C",running:"\u6267\u884C\u4E2D",background:"\u5DF2\u6D3E\u53D1\u540E\u53F0",completed:"\u5DF2\u5B8C\u6210",failed:"\u5931\u8D25",paused:"\u5DF2\u6682\u505C",stopped:"\u5DF2\u505C\u6B62",detached:"\u5DF2\u8131\u79BB",rejected:"\u672A\u901A\u8FC7",skipped:"\u5DF2\u8DF3\u8FC7",partial:"\u90E8\u5206\u5B8C\u6210",unknown:"\u72B6\u6001\u672A\u77E5"},b=new Set(["pending","running","background"]);function S({state:t}){return(0,e.jsx)(P,{className:`pi-execution-state is-${t}`,color:t==="completed"?"success":t==="failed"||t==="rejected"?"error":b.has(t)?"processing":void 0,children:j[t]})}function $(t){return t<1e3?`${Math.round(t)} ms`:`${(t/1e3).toFixed(1)} s`}function O({node:t}){if(!t)return(0,e.jsx)("p",{className:"pi-execution-empty",children:"\u6267\u884C\u5668\u5C1A\u672A\u63D0\u4F9B\u5B50\u4EFB\u52A1\u6E05\u5355\u3002"});let n=[["\u5458\u5DE5",t.agent],["\u6A21\u578B",t.model],["\u9636\u6BB5",t.phase],["\u8FD0\u884C ID",t.runId],["\u5F53\u524D\u5DE5\u5177",t.currentTool],["\u8017\u65F6",t.durationMs===void 0?void 0:$(t.durationMs)],["Tokens",t.tokens],["\u5DE5\u5177\u8C03\u7528",t.toolCount]];return(0,e.jsxs)("section",{className:"pi-execution-detail","aria-label":"\u5B50\u4EFB\u52A1\u8BE6\u60C5",children:[(0,e.jsx)("h3",{children:t.label}),(0,e.jsx)(S,{state:t.state}),(0,e.jsx)("dl",{children:n.filter(([,a])=>a!==void 0).map(([a,p])=>(0,e.jsxs)(r.Fragment,{children:[(0,e.jsx)("dt",{children:a}),(0,e.jsx)("dd",{children:p})]},String(a)))}),t.task&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h4",{children:"\u4EFB\u52A1"}),(0,e.jsx)("pre",{children:t.task})]}),t.error&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h4",{children:"\u9519\u8BEF"}),(0,e.jsx)("pre",{className:"pi-execution-error",children:t.error})]}),t.output&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("h4",{children:"\u6700\u8FD1\u8F93\u51FA"}),(0,e.jsx)("pre",{children:t.output})]})]})}function q({target:t}){let[n,a]=r.useState(null),[p,k]=r.useState(""),[g,R]=r.useState(!0),[A,L]=r.useState(0),[W,M]=r.useState("");r.useEffect(()=>{let o=!1,i,d,f=0;async function h(){let x=++f;d?.abort(),d=new AbortController,R(!0);try{let l=await T(t.sessionId,t.toolId,d.signal);if(o||x!==f)return;a(l),k(""),l.snapshot&&!l.notice&&(b.has(l.snapshot.state)||l.snapshot.nodes.some(D=>b.has(D.state)))&&(i=setTimeout(()=>{document.hidden||h()},2e3))}catch(l){!o&&x===f&&k(l instanceof Error?l.message:"\u8BFB\u53D6\u6267\u884C\u7ED3\u6784\u5931\u8D25")}finally{!o&&x===f&&R(!1)}}let N=()=>{document.hidden||(clearTimeout(i),d?.abort(),h())};return h(),document.addEventListener("visibilitychange",N),()=>{o=!0,clearTimeout(i),d?.abort(),document.removeEventListener("visibilitychange",N)}},[t.sessionId,t.toolId,A]);let s=n?.snapshot,c=s?.nodes??[],m=c.find(o=>o.id===W)??c.find(o=>o.state==="running")??c[0],B=[...new Set(c.map(o=>o.phase??"\u5B50\u4EFB\u52A1"))];return(0,e.jsxs)("div",{className:"pi-execution-window-body",children:[(0,e.jsxs)("div",{className:"pi-execution-toolbar",children:[(0,e.jsx)("span",{children:s?`${s.source==="status-file"?"\u540E\u53F0\u8FD0\u884C\u5FEB\u7167":s.source==="tool-progress"?"\u5DE5\u5177\u8FDB\u5EA6\u5FEB\u7167":"\u5DE5\u5177\u7ED3\u679C\u5FEB\u7167"} \xB7 ${s.mode}`:"\u8BFB\u53D6\u771F\u5B9E\u6267\u884C\u6570\u636E"}),(0,e.jsx)(E,{size:"small",disabled:g,onClick:()=>L(o=>o+1),children:g?"\u8BFB\u53D6\u4E2D\u2026":"\u5237\u65B0"})]}),p&&(0,e.jsx)(v,{role:"alert",type:"error",title:`${p}${n?"\uFF08\u4FDD\u7559\u4E0A\u6B21\u5FEB\u7167\uFF09":""}`}),n?.notice&&(0,e.jsx)(v,{role:"status",type:"info",title:n.notice}),s&&(0,e.jsxs)("div",{className:"pi-execution-root",children:[(0,e.jsx)("strong",{children:s.name??(s.mode==="workflow"?"\u5DE5\u4F5C\u6D41":"\u5B50 Agent \u6267\u884C")}),(0,e.jsx)(S,{state:s.state}),s.runId&&(0,e.jsx)("code",{children:s.runId}),(0,e.jsxs)("span",{children:[c.filter(o=>o.kind!=="parallel-group"&&o.kind!=="dynamic-parallel-group").length," \u4E2A\u8282\u70B9 \xB7 ",s.inventoryComplete?"\u6E05\u5355\u5DF2\u7ED3\u675F":"\u6E05\u5355\u4ECD\u53EF\u80FD\u589E\u52A0"]})]}),(0,e.jsxs)("div",{className:"pi-execution-layout",children:[(0,e.jsxs)("nav",{className:"pi-execution-tree","aria-label":"\u6267\u884C\u7ED3\u6784",children:[B.map(o=>(0,e.jsxs)("section",{children:[(0,e.jsx)("h3",{children:o}),c.filter(i=>(i.phase??"\u5B50\u4EFB\u52A1")===o).map(i=>(0,e.jsxs)(E,{kind:i.id===m?.id?"soft":"ghost",className:`pi-execution-node${i.id===m?.id?" is-selected":""}`,"aria-pressed":i.id===m?.id,onClick:()=>M(i.id),children:[i.parentId&&(0,e.jsxs)("small",{children:["\u21B3 ",c.find(d=>d.id===i.parentId)?.label??i.parentId]}),(0,e.jsx)("strong",{children:i.label}),(0,e.jsx)(S,{state:i.state}),i.agent&&i.agent!==i.label&&(0,e.jsx)("small",{children:i.agent})]},i.id))]},o)),!c.length&&(0,e.jsx)("p",{className:"pi-execution-empty",children:g?"\u6B63\u5728\u8BFB\u53D6\u5B50\u4EFB\u52A1\u2026":"\u6682\u65E0\u53EF\u786E\u8BA4\u7684\u5B50\u4EFB\u52A1"}),!!s?.omittedNodes&&(0,e.jsxs)("p",{children:["\u53E6\u6709 ",s.omittedNodes," \u4E2A\u8282\u70B9\u672A\u663E\u793A"]})]}),(0,e.jsx)(O,{node:m})]}),!!s?.trace.length&&(0,e.jsxs)("section",{className:"pi-execution-evidence",children:[(0,e.jsx)("h3",{children:"\u8C03\u7528\u8F68\u8FF9"}),(0,e.jsx)("p",{children:"\u6309\u6267\u884C\u5668\u8BB0\u5F55\u7684\u4E8B\u4EF6\u987A\u5E8F\u5C55\u793A\uFF1B\u987A\u5E8F\u4E0D\u4EE3\u8868\u4EFB\u52A1\u4F9D\u8D56\u3002"}),(0,e.jsx)("ol",{children:s.trace.map((o,i)=>(0,e.jsxs)("li",{children:[(0,e.jsxs)("code",{children:[o.operation," ",o.key]})," ",(0,e.jsx)("span",{children:o.state}),o.durationMs!==void 0&&(0,e.jsx)("small",{children:$(o.durationMs)}),o.error&&(0,e.jsx)("pre",{children:o.error})]},i))}),!!s.omittedTrace&&(0,e.jsxs)("p",{children:["\u53E6\u6709 ",s.omittedTrace," \u6761\u8F83\u65E9\u4E8B\u4EF6\u672A\u663E\u793A"]})]}),n&&(0,e.jsxs)("section",{className:"pi-execution-evidence",children:[(0,e.jsx)("h3",{children:n.script?"\u7F16\u6392\u811A\u672C":"\u6D3E\u53D1\u53C2\u6570"}),!n.script&&!!n.input.workflow&&(0,e.jsxs)("p",{children:["\u811A\u672C\u6765\u6E90\uFF1A",String(n.input.workflow),"\u3002\u672C\u6B21\u6570\u636E\u672A\u5305\u542B\u811A\u672C\u6B63\u6587\u3002"]}),(0,e.jsx)("pre",{children:n.script??JSON.stringify(n.input,null,2)})]})]})}function Q(){let t=r.useSyncExternalStore(u.subscribe,u.getSnapshot,u.getSnapshot),n=r.useRef(null);return t&&(n.current=t.trigger),(0,e.jsx)(I,{open:!!t,title:"\u6267\u884C\u7ED3\u6784",description:"\u67E5\u770B Pi \u5B9E\u9645\u6D3E\u53D1\u7684\u5B50\u4EFB\u52A1\u3001\u9636\u6BB5\u3001\u8FD0\u884C\u72B6\u6001\u4E0E\u7F16\u6392\u4F9D\u636E\u3002",onAfterClose:()=>{!u.isOpen()&&n.current?.isConnected&&n.current.focus({preventScroll:!0})},className:"wand-pi-execution-content",closeLabel:"\u5173\u95ED\u6267\u884C\u7ED3\u6784",onOpenChange:a=>{a||u.close()},children:t&&(0,e.jsx)(q,{target:t},`${t.sessionId}:${t.toolId}`)})}export{Q as PiExecutionHost};
@@ -1 +1 @@
1
- import{shared80_a as w}from"./runtime.js";import{shared53_b as n}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared83_d as l,shared83_e as f}from"./runtime.js";import{shared70_a as y}from"./runtime.js";import "./runtime.js";import{shared58_a as m}from"./runtime.js";import{shared7_Ed as r,shared7_Gd as c,shared7_Nd as u,shared7_Sc as p,shared7_de as v,shared7_ld as s,shared7_zd as d}from"./runtime.js";import{shared8_a as g}from"./runtime.js";import{shared9_c as i}from"./runtime.js";var h=i(g(),1);var e=i(p(),1),b=[{value:"url",label:"Web \u670D\u52A1"},{value:"file",label:"\u672C\u5730\u6587\u4EF6"}];function x({mode:o,onMode:t}){return(0,e.jsx)(v,{className:"wand-local-preview-modes","aria-label":"\u9884\u89C8\u7C7B\u578B",value:o,options:b.map(a=>({value:a.value,label:a.label})),onChange:a=>t(a)})}function C(){let o=(0,h.useSyncExternalStore)(l.subscribe,l.getSnapshot,l.getSnapshot);function t(a){a.preventDefault(),l.submit()}return(0,e.jsxs)(u,{open:o.open,onOpenChange:a=>{a||l.close()},title:"\u672C\u5730\u9884\u89C8",description:"\u628A\u672C\u673A HTTP \u670D\u52A1\u6216 HTML \u76EE\u5F55\u5B89\u5168\u5730\u663E\u793A\u5728 Wand \u5F53\u524D\u9875\u9762\u3002",className:"wand-local-preview-content",width:{xs:"calc(100vw - 16px)",md:960,xl:1180},styles:{body:{display:"flex",flexDirection:"column",gap:12,height:"min(75dvh, 760px)",minHeight:0}},closeLabel:"\u5173\u95ED\u9884\u89C8",children:[(0,e.jsxs)(n,{noValidate:!0,layout:"vertical",className:"wand-local-preview-form",onSubmitCapture:t,children:[(0,e.jsx)(x,{mode:o.mode,onMode:a=>l.setMode(a)}),(0,e.jsx)(n.Item,{className:"wand-local-preview-field",label:o.mode==="url"?"\u7AEF\u53E3\u6216\u5730\u5740":"\u6587\u4EF6 / \u76EE\u5F55",style:{marginBlock:12},children:(0,e.jsx)(c,{"aria-label":o.mode==="url"?"\u7AEF\u53E3\u6216\u5730\u5740":"\u6587\u4EF6 / \u76EE\u5F55","data-wand-autofocus":!0,value:o.value,placeholder:o.mode==="url"?"3000 \u6216 localhost:3000/path":"/path/to/dist/index.html",onChange:a=>l.setValue(a.currentTarget.value)})}),o.error&&(0,e.jsx)(m,{className:"wand-local-preview-error",type:"error",showIcon:!0,title:o.error}),(0,e.jsx)(d,{className:"wand-local-preview-actions",gap:"small",children:(0,e.jsx)(s,{kind:"primary",type:"submit",size:"small",children:o.previewUrl?"\u91CD\u65B0\u6253\u5F00":"\u6253\u5F00\u9884\u89C8"})})]}),o.previewUrl?(0,e.jsx)("iframe",{className:"wand-local-preview-frame",style:{flex:1,minHeight:0,width:"100%",border:0},src:o.previewUrl,title:`\u672C\u5730\u9884\u89C8\uFF1A${o.sourceLabel}`,sandbox:f},o.previewUrl):(0,e.jsx)(w,{className:"wand-local-preview-empty",style:{flex:1,minHeight:0},styles:{body:{display:"grid",placeItems:"center",height:"100%"}},children:(0,e.jsx)(y,{description:(0,e.jsxs)(r.Text,{type:"secondary",children:["\u8F93\u5165\u5F00\u53D1\u670D\u52A1\u7AEF\u53E3\uFF0C\u4F8B\u5982 ",(0,e.jsx)(r.Text,{code:!0,children:"3000"}),"\uFF1B\u4E5F\u53EF\u4EE5\u9009\u62E9\u4E00\u4E2A\u5305\u542B ",(0,e.jsx)(r.Text,{code:!0,children:"index.html"})," \u7684\u76EE\u5F55\u3002"]})})})]})}export{C as LocalPreviewHost};
1
+ import{shared79_a as w}from"./runtime.js";import{shared53_b as n}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared83_d as l,shared83_e as f}from"./runtime.js";import{shared69_a as y}from"./runtime.js";import "./runtime.js";import{shared59_a as m}from"./runtime.js";import{shared7_Ed as r,shared7_Gd as c,shared7_Nd as u,shared7_Sc as p,shared7_de as v,shared7_ld as s,shared7_zd as d}from"./runtime.js";import{shared8_a as g}from"./runtime.js";import{shared9_c as i}from"./runtime.js";var h=i(g(),1);var e=i(p(),1),b=[{value:"url",label:"Web \u670D\u52A1"},{value:"file",label:"\u672C\u5730\u6587\u4EF6"}];function x({mode:o,onMode:t}){return(0,e.jsx)(v,{className:"wand-local-preview-modes","aria-label":"\u9884\u89C8\u7C7B\u578B",value:o,options:b.map(a=>({value:a.value,label:a.label})),onChange:a=>t(a)})}function C(){let o=(0,h.useSyncExternalStore)(l.subscribe,l.getSnapshot,l.getSnapshot);function t(a){a.preventDefault(),l.submit()}return(0,e.jsxs)(u,{open:o.open,onOpenChange:a=>{a||l.close()},title:"\u672C\u5730\u9884\u89C8",description:"\u628A\u672C\u673A HTTP \u670D\u52A1\u6216 HTML \u76EE\u5F55\u5B89\u5168\u5730\u663E\u793A\u5728 Wand \u5F53\u524D\u9875\u9762\u3002",className:"wand-local-preview-content",width:{xs:"calc(100vw - 16px)",md:960,xl:1180},styles:{body:{display:"flex",flexDirection:"column",gap:12,height:"min(75dvh, 760px)",minHeight:0}},closeLabel:"\u5173\u95ED\u9884\u89C8",children:[(0,e.jsxs)(n,{noValidate:!0,layout:"vertical",className:"wand-local-preview-form",onSubmitCapture:t,children:[(0,e.jsx)(x,{mode:o.mode,onMode:a=>l.setMode(a)}),(0,e.jsx)(n.Item,{className:"wand-local-preview-field",label:o.mode==="url"?"\u7AEF\u53E3\u6216\u5730\u5740":"\u6587\u4EF6 / \u76EE\u5F55",style:{marginBlock:12},children:(0,e.jsx)(c,{"aria-label":o.mode==="url"?"\u7AEF\u53E3\u6216\u5730\u5740":"\u6587\u4EF6 / \u76EE\u5F55","data-wand-autofocus":!0,value:o.value,placeholder:o.mode==="url"?"3000 \u6216 localhost:3000/path":"/path/to/dist/index.html",onChange:a=>l.setValue(a.currentTarget.value)})}),o.error&&(0,e.jsx)(m,{className:"wand-local-preview-error",type:"error",showIcon:!0,title:o.error}),(0,e.jsx)(d,{className:"wand-local-preview-actions",gap:"small",children:(0,e.jsx)(s,{kind:"primary",type:"submit",size:"small",children:o.previewUrl?"\u91CD\u65B0\u6253\u5F00":"\u6253\u5F00\u9884\u89C8"})})]}),o.previewUrl?(0,e.jsx)("iframe",{className:"wand-local-preview-frame",style:{flex:1,minHeight:0,width:"100%",border:0},src:o.previewUrl,title:`\u672C\u5730\u9884\u89C8\uFF1A${o.sourceLabel}`,sandbox:f},o.previewUrl):(0,e.jsx)(w,{className:"wand-local-preview-empty",style:{flex:1,minHeight:0},styles:{body:{display:"grid",placeItems:"center",height:"100%"}},children:(0,e.jsx)(y,{description:(0,e.jsxs)(r.Text,{type:"secondary",children:["\u8F93\u5165\u5F00\u53D1\u670D\u52A1\u7AEF\u53E3\uFF0C\u4F8B\u5982 ",(0,e.jsx)(r.Text,{code:!0,children:"3000"}),"\uFF1B\u4E5F\u53EF\u4EE5\u9009\u62E9\u4E00\u4E2A\u5305\u542B ",(0,e.jsx)(r.Text,{code:!0,children:"index.html"})," \u7684\u76EE\u5F55\u3002"]})})})]})}export{C as LocalPreviewHost};
@@ -1 +1 @@
1
- import{shared41_a as c,shared41_b as y}from"./runtime.js";import "./runtime.js";import{shared66_a as D}from"./runtime.js";import{shared80_a as _}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_a as T}from"./runtime.js";import{shared11_a as m,shared11_c as a,shared11_d as z}from"./runtime.js";import "./runtime.js";import{shared27_a as q}from"./runtime.js";import{shared58_a as w}from"./runtime.js";import{shared7_Ed as R,shared7_Nc as E,shared7_Nd as j,shared7_Sc as N,shared7_ld as I,shared7_zd as k}from"./runtime.js";import{shared8_a as te}from"./runtime.js";import{shared9_c as A,shared9_d as C}from"./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
+ import{shared41_a as c,shared41_b as y}from"./runtime.js";import "./runtime.js";import{shared65_a as D}from"./runtime.js";import{shared79_a as _}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_a as T}from"./runtime.js";import{shared11_a as m,shared11_c as a,shared11_d as z}from"./runtime.js";import "./runtime.js";import{shared27_a as q}from"./runtime.js";import{shared59_a as w}from"./runtime.js";import{shared7_Ed as R,shared7_Nc as E,shared7_Nd as j,shared7_Sc as N,shared7_ld as I,shared7_zd as k}from"./runtime.js";import{shared8_a as te}from"./runtime.js";import{shared9_c as A,shared9_d as C}from"./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,2 +1,2 @@
1
- import{a as A,b as oe,c as We,d as Ee,e as Ae}from"./chunk-WGADUEIT.js";import{a as ne,b as Fe}from"./chunk-NP35GDQ3.js";import{shared2_a as E,shared2_b as M}from"./runtime.js";import{shared28_a as B}from"./runtime.js";import "./runtime.js";import{shared60_A as ie}from"./runtime.js";import{shared66_a as W}from"./runtime.js";import{shared80_a as G}from"./runtime.js";import{a as Re,b as De}from"./chunk-YX475LXO.js";import "./runtime.js";import "./runtime.js";import{shared18_a as te}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared15_c as w}from"./runtime.js";import{shared56_b as Me}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as y}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_b as se}from"./runtime.js";import "./runtime.js";import{shared70_a as F}from"./runtime.js";import "./runtime.js";import{shared58_a as U}from"./runtime.js";import{shared7_Ac as Z,shared7_Ed as f,shared7_Fd as q,shared7_Gd as P,shared7_Nd as ee,shared7_Sc as Se,shared7_cc as _,shared7_kd as Pe,shared7_ld as u,shared7_vc as Te,shared7_zd as p}from"./runtime.js";import{shared8_a as Ve}from"./runtime.js";import{shared9_c as Y,shared9_d as Ce}from"./runtime.js";var s=Y(Ve(),1);var ae=class{constructor(i=(o,g)=>globalThis.fetch(o,g)){Ce(this,"fetchImpl",i)}async list(){return(await w(await this.fetchImpl("/api/missions",{credentials:"same-origin"}))).missions??[]}async listInbox(){return(await w(await this.fetchImpl("/api/inbox",{credentials:"same-origin"}))).items??[]}async markInboxRead(i){await w(await this.fetchImpl("/api/inbox/read",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(i?{sessionId:i}:{})}))}async create(i){return w(await this.fetchImpl("/api/missions",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(i)}))}async diff(i,o){return w(await this.fetchImpl(`/api/missions/${encodeURIComponent(i)}/attempts/${encodeURIComponent(o)}/diff`,{credentials:"same-origin"}))}async addComment(i,o,g){return w(await this.fetchImpl(`/api/missions/${encodeURIComponent(i)}/attempts/${encodeURIComponent(o)}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(g)}))}async sendReview(i,o){return(await w(await this.fetchImpl(`/api/missions/${encodeURIComponent(i)}/attempts/${encodeURIComponent(o)}/review/send`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:"{}"}))).comments??[]}},Be=new ae;var t=Y(Se(),1),Qe=[{id:"claude",label:"Claude"},{id:"codex",label:"Codex"},{id:"opencode",label:"OpenCode"},{id:"grok",label:"Grok"},{id:"qoder",label:"Qoder"},{id:"pi",label:"Pi"},{id:"gemini",label:"Gemini"}],Ke={dispatching:"\u5206\u6D3E\u4E2D",queued:"\u7B49\u5F85\u4E2D",running:"\u6267\u884C\u4E2D",working:"\u6267\u884C\u4E2D",needs_input:"\u7B49\u5F85\u7B54\u590D",needs_permission:"\u7B49\u5F85\u6388\u6743",completed:"\u5DF2\u5B8C\u6210",done:"\u5DF2\u5B8C\u6210",failed:"\u5931\u8D25"};function J(n){return n?Ke[n]??"\u672A\u77E5\u72B6\u6001":"\u672A\u77E5\u72B6\u6001"}function Xe(n){let i=null,o=null,g=0,b=0;return n.split(`
2
- `).slice(0,5e3).map((l,I)=>{if(l.startsWith("--- ")){let a=l.slice(4).replace(/^a\//,"");i=a==="/dev/null"?null:a}if(l.startsWith("+++ ")){let a=l.slice(4).replace(/^b\//,"");o=a==="/dev/null"?null:a}let k=l.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(k)return g=Number(k[1]),b=Number(k[2]),{key:String(I),text:l,path:o??i,line:null,side:"new",kind:"meta"};if(l.startsWith("+")&&!l.startsWith("+++")){let a=b++;return{key:String(I),text:l,path:o??i,line:a,side:"new",kind:"add"}}if(l.startsWith("-")&&!l.startsWith("---")){let a=g++;return{key:String(I),text:l,path:i??o,line:a,side:"old",kind:"remove"}}if(l.startsWith(" ")){let a=b++;return g++,{key:String(I),text:l,path:o??i,line:a,side:"new",kind:"context"}}return{key:String(I),text:l,path:o??i,line:null,side:"new",kind:"meta"}})}function ze(n){return n.split(/[\n,]/).map(i=>i.trim()).filter(Boolean)}function Ye({attempt:n,onOpen:i,onDiff:o}){return(0,t.jsxs)(G,{className:"wand-missions-attempt",size:"small",title:(0,t.jsxs)(_,{children:[(0,t.jsx)(te,{provider:n.provider}),ie(n.provider)]}),extra:(0,t.jsx)(Z,{children:J(n.state)}),children:[(0,t.jsx)(f.Paragraph,{children:n.summary||n.error||n.branch||"\u6B63\u5728\u51C6\u5907\u72EC\u7ACB worktree\u2026"}),(0,t.jsxs)(_,{wrap:!0,children:[(0,t.jsx)(u,{size:"small",kind:"ghost",disabled:!n.sessionId,onClick:i,children:"\u6253\u5F00\u4F1A\u8BDD"}),(0,t.jsx)(u,{size:"small",kind:"outline",disabled:!n.worktreePath,onClick:o,children:"\u5BA1\u67E5 Diff"})]})]})}function Mt({repository:n=Be}){let i=(0,s.useSyncExternalStore)(M.subscribe,M.getSnapshot,M.getSnapshot),[o,g]=(0,s.useState)([]),[b,l]=(0,s.useState)([]),[I,k]=(0,s.useState)(null),[a,z]=(0,s.useState)(!1),re=Re(i.open),[m,le]=(0,s.useState)(!1),[de,N]=(0,s.useState)(""),[R,x]=(0,s.useState)(!1),[me,h]=(0,s.useState)(""),[$,pe]=(0,s.useState)(""),[ce,fe]=(0,s.useState)(""),[ue,H]=(0,s.useState)(""),[L,ge]=(0,s.useState)(""),[he,Ne]=(0,s.useState)(""),[ye,$e]=(0,s.useState)(""),[be,Le]=(0,s.useState)(""),[C,Oe]=(0,s.useState)(new Set(["claude","codex"])),[T,V]=(0,s.useState)(null),[v,je]=(0,s.useState)(null),[S,ve]=(0,s.useState)(null),[O,we]=(0,s.useState)(""),d=b.find(e=>e.id===I)??b[0]??null,Ie=(0,s.useSyncExternalStore)(A.subscribe,A.getSnapshot,A.getSnapshot),j=(0,s.useSyncExternalStore)(B.subscribe,B.getSnapshot,B.getServerSnapshot),ke=a&&j.taskId?j.taskName:null,Ue=Ee(j.workspaceId,a);Ae(a,Ue,e=>{H(r=>r||e)});let _e=(0,s.useMemo)(()=>T?Xe(T.patch):[],[T]),D=async()=>{let[e,r]=await Promise.all([n.list(),n.listInbox().catch(()=>[])]);l(e),g(r),k(c=>c&&e.some(X=>X.id===c)?c:e[0]?.id??null)};(0,s.useEffect)(()=>{if(!i.open)return;ge(r=>r||M.getRuntime()?.effectiveCwd()||""),h(""),A.load(),D().catch(r=>h(r instanceof Error?r.message:"\u65E0\u6CD5\u52A0\u8F7D\u4EFB\u52A1\u3002"));let e=window.setInterval(()=>{D().catch(()=>{})},4e3);return()=>window.clearInterval(e)},[i.open,i.revision]);let xe=e=>{M.getRuntime()?.openSession(e),E.close()},qe=async e=>{if(e.preventDefault(),!m){if(!$.trim()||!L.trim()||C.size===0){N("\u8BF7\u586B\u5199\u4EFB\u52A1\u76EE\u6807\u3001\u9879\u76EE\u76EE\u5F55\uFF0C\u5E76\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u5DE5\u5177\u3002");return}E.setDismissable(!1),le(!0),N("");try{let r=await n.create({title:ce.trim()||void 0,prompt:$,cwd:L,providers:[...C],baseRef:he.trim()||void 0,sharedDirectories:ze(ye),copyPaths:ze(be),taskId:B.getSnapshot().taskId??void 0,milestoneId:ue||null});l(c=>[r,...c.filter(X=>X.id!==r.id)]),z(!1),pe(""),fe(""),H(""),k(r.id),h(""),await D().catch(c=>{h(`\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\uFF1A${se(c,"\u8BF7\u7A0D\u540E\u91CD\u65B0\u6253\u5F00\u5E76\u884C\u4EFB\u52A1\u3002")}`)})}catch(r){N(se(r,"\u521B\u5EFA\u4EFB\u52A1\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002"))}finally{E.setDismissable(!0),le(!1)}}},Ge=async(e,r)=>{x(!0),h("");try{V(await n.diff(e.id,r.id)),je(r),ve(null)}catch(c){h(c instanceof Error?c.message:"\u65E0\u6CD5\u8BFB\u53D6 Diff\u3002")}finally{x(!1)}},Je=async()=>{if(!(!d||!v||!S||!O.trim())){x(!0),h("");try{await n.addComment(d.id,v.id,{...S,body:O}),we(""),await D()}catch(e){h(e instanceof Error?e.message:"\u65E0\u6CD5\u4FDD\u5B58 Review\u3002")}finally{x(!1)}}},He=async()=>{if(!(!d||!v)){x(!0),h("");try{await n.sendReview(d.id,v.id),await D()}catch(e){h(e instanceof Error?e.message:"\u65E0\u6CD5\u53D1\u9001 Review\u3002")}finally{x(!1)}}},Q=d&&v?d.comments.filter(e=>e.attemptId===v.id&&e.status==="pending"):[],K=()=>{N(""),z(!0)};return(0,t.jsxs)(ee,{open:i.open,title:"\u5E76\u884C\u4EFB\u52A1",description:"\u628A\u540C\u4E00\u4E2A\u76EE\u6807\u5206\u6D3E\u7ED9\u591A\u4E2A Agent\uFF0C\u5728\u72EC\u7ACB worktree \u4E2D\u5E76\u884C\u5C1D\u8BD5\uFF0C\u5E76\u5BA1\u67E5 Diff\u3002",className:"wand-task-library-dialog wand-missions-library-dialog wand-task-library-dialog-wide",dismissable:!a&&i.dismissable,onOpenChange:e=>{e||E.close()},children:[(0,t.jsxs)(p,{vertical:!0,gap:16,children:[(0,t.jsxs)(p,{align:"center",justify:"space-between",gap:12,children:[(0,t.jsxs)(f.Text,{type:"secondary",children:[b.length," \u4E2A\u4EFB\u52A1"]}),(0,t.jsxs)(u,{kind:"primary",size:"small",disabled:R||m,onClick:K,children:[(0,t.jsx)(q,{name:"plus",slot:"start",size:13}),"\u65B0\u4EFB\u52A1"]})]}),me?(0,t.jsx)(U,{type:"error",showIcon:!0,role:"alert",title:me}):null,(0,t.jsxs)(p,{gap:16,wrap:!0,children:[(0,t.jsxs)(p,{vertical:!0,gap:8,component:"aside",style:{flex:"1 1 220px",minWidth:0,maxHeight:"60vh",overflow:"auto"},children:[o.length?(0,t.jsx)(G,{size:"small",title:"\u6536\u4EF6\u7BB1",children:(0,t.jsx)(W,{size:"small",dataSource:o,renderItem:e=>(0,t.jsx)(W.Item,{children:(0,t.jsx)(u,{kind:"ghost",type:"button",style:{height:"auto",width:"100%",justifyContent:"flex-start"},onClick:()=>{n.markInboxRead(e.sessionId).catch(()=>{}),e.sessionId&&xe(e.sessionId)},children:(0,t.jsxs)(p,{vertical:!0,align:"flex-start",children:[(0,t.jsx)(f.Text,{strong:!0,children:e.title}),(0,t.jsxs)(f.Text,{type:"secondary",children:[J(e.state),e.summary?` \xB7 ${e.summary}`:""]})]})})},e.sessionId)})}):null,b.map(e=>(0,t.jsx)(u,{kind:d?.id===e.id?"soft":"ghost",style:{height:"auto",width:"100%",justifyContent:"flex-start"},onClick:()=>{k(e.id),V(null)},children:(0,t.jsxs)(p,{vertical:!0,align:"flex-start",gap:4,style:{minWidth:0},children:[(0,t.jsx)(f.Text,{strong:!0,ellipsis:!0,children:e.title}),(0,t.jsxs)(f.Text,{type:"secondary",children:[e.attempts.length," \u4E2A Agent \xB7 ",J(e.status)]}),e.milestoneId?(0,t.jsxs)(f.Text,{type:"secondary",children:[(0,t.jsx)(q,{name:"milestone",size:11})," ",oe(Ie.items,e.milestoneId)||"\u91CC\u7A0B\u7891"]}):null]})},e.id)),b.length?null:(0,t.jsx)(F,{image:F.PRESENTED_IMAGE_SIMPLE,description:"\u8FD8\u6CA1\u6709\u5E76\u884C\u4EFB\u52A1\u3002\u521B\u5EFA\u4E00\u4E2A\uFF0C\u8BA9\u591A\u4E2A Agent \u5728\u72EC\u7ACB worktree \u4E2D\u5E76\u884C\u5C1D\u8BD5\u3002",children:(0,t.jsx)(u,{kind:"soft",size:"small",disabled:a,onClick:K,children:"\u65B0\u5EFA\u4EFB\u52A1"})})]}),(0,t.jsx)(p,{vertical:!0,gap:16,component:"main",style:{flex:"3 1 280px",minWidth:0,maxHeight:"60vh",overflow:"auto"},children:d?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(p,{align:"center",justify:"space-between",gap:12,wrap:!0,children:[(0,t.jsxs)(p,{vertical:!0,children:[(0,t.jsx)(f.Title,{level:4,style:{margin:0},children:d.title}),(0,t.jsxs)(f.Text,{type:"secondary",children:[d.cwd," \xB7 \u57FA\u7EBF ",d.worktree.baseRef||"\u5F53\u524D\u5206\u652F"]})]}),(0,t.jsx)(Z,{children:J(d.status)})]}),d.milestoneId?(0,t.jsxs)(f.Text,{type:"secondary",children:[(0,t.jsx)(q,{name:"milestone",size:12})," ",oe(Ie.items,d.milestoneId)||"\u91CC\u7A0B\u7891"]}):null,(0,t.jsx)(f.Paragraph,{style:{whiteSpace:"pre-wrap"},children:d.prompt}),(0,t.jsx)(p,{gap:12,wrap:!0,children:d.attempts.map(e=>(0,t.jsx)("div",{style:{flex:"1 1 240px",minWidth:0},children:(0,t.jsx)(Ye,{attempt:e,onOpen:()=>e.sessionId&&xe(e.sessionId),onDiff:()=>{Ge(d,e)}})},e.id))}),T&&v?(0,t.jsx)(G,{size:"small",title:`${ie(v.provider)} \u7684 Diff`,extra:(0,t.jsx)(u,{size:"small",kind:"ghost",onClick:()=>V(null),children:"\u6536\u8D77"}),children:(0,t.jsxs)(p,{vertical:!0,gap:12,children:[(0,t.jsxs)(f.Text,{type:"secondary",children:[T.files.length," \u4E2A\u6587\u4EF6",T.truncated?" \xB7 \u5185\u5BB9\u5DF2\u622A\u65AD":""]}),(0,t.jsx)("div",{className:"wand-missions-diff",role:"list","aria-label":"\u4EFB\u52A1 Diff",style:{maxHeight:"48vh",overflow:"auto"},children:(0,t.jsx)(p,{vertical:!0,style:{minWidth:"max-content"},children:_e.map(e=>(0,t.jsxs)(Pe,{type:"text",color:e.kind==="add"?"green":e.kind==="remove"?"danger":void 0,variant:e.kind==="add"||e.kind==="remove"?"filled":void 0,style:{justifyContent:"flex-start",height:"auto",fontFamily:"var(--font-mono)"},disabled:!e.path||e.line===null,title:e.path&&e.line?`\u5728 ${e.path}:${e.line} \u6DFB\u52A0\u610F\u89C1`:void 0,onClick:()=>e.path&&ve({filePath:e.path,line:e.line,side:e.side}),children:[(0,t.jsx)("span",{style:{display:"inline-block",minWidth:40},children:e.line??""}),(0,t.jsx)("code",{style:{whiteSpace:"pre"},children:e.text||" "})]},e.key))})}),S?(0,t.jsx)(y,{component:!1,layout:"vertical",children:(0,t.jsxs)(y.Item,{htmlFor:"wand-missions-review-body",label:`${S.filePath}${S.line?`:${S.line}`:""}`,children:[(0,t.jsx)(ne,{className:"resize-none",id:"wand-missions-review-body",value:O,onChange:e=>we(e.target.value),placeholder:"\u5199\u4E0B\u5177\u4F53\u3001\u53EF\u6267\u884C\u7684\u4FEE\u6539\u610F\u89C1\u2026"}),(0,t.jsx)(u,{kind:"primary",size:"small",disabled:R||!O.trim(),onClick:()=>{Je()},children:R?"\u5904\u7406\u4E2D\u2026":"\u52A0\u5165 Review"})]})}):null,Q.length?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(W,{size:"small",dataSource:Q,renderItem:e=>(0,t.jsx)(W.Item,{children:(0,t.jsxs)(p,{vertical:!0,children:[(0,t.jsxs)(f.Text,{strong:!0,children:[e.filePath,e.line?`:${e.line}`:""]}),(0,t.jsx)(f.Text,{children:e.body})]})},e.id)}),(0,t.jsx)(u,{kind:"primary",disabled:R,onClick:()=>{He()},children:R?"\u5904\u7406\u4E2D\u2026":`\u53D1\u9001 ${Q.length} \u6761\u610F\u89C1`})]}):null]})}):null]}):(0,t.jsx)(F,{image:F.PRESENTED_IMAGE_SIMPLE,description:"\u9009\u62E9\u6216\u521B\u5EFA\u4E00\u4E2A\u4EFB\u52A1\uFF0C\u770B\u6BCF\u4E2A Agent \u7684\u5C1D\u8BD5\u4E0E Diff\u3002",children:(0,t.jsx)(u,{kind:"soft",size:"small",disabled:a,onClick:K,children:"\u65B0\u5EFA\u4EFB\u52A1"})})})]})]}),(0,t.jsx)(ee,{open:a,title:"\u65B0\u5EFA\u5E76\u884C\u4EFB\u52A1",description:"\u521B\u5EFA\u540E\u7ACB\u5373\u5206\u6D3E\u7ED9\u6240\u9009\u5DE5\u5177\uFF0C\u5728\u72EC\u7ACB Worktree \u4E2D\u6267\u884C\u3002",className:"wand-ui-dialog-content wand-task-library-dialog wand-missions-create-library-dialog",closeLabel:"\u5173\u95ED\u65B0\u5EFA\u5E76\u884C\u4EFB\u52A1",dismissable:!m,onOpenChange:e=>{!e&&!m&&z(!1)},children:(0,t.jsx)(Fe,{className:"wand-missions-create",noValidate:!0,"aria-busy":m,onSubmit:e=>{qe(e)},children:(0,t.jsxs)(p,{vertical:!0,gap:16,children:[(0,t.jsx)(y.Item,{label:"\u4EFB\u52A1\u6807\u9898\uFF08\u53EF\u9009\uFF09",children:(0,t.jsx)(P,{disabled:m,value:ce,onChange:e=>fe(e.target.value),placeholder:"\u4F8B\u5982\uFF1A\u91CD\u6784\u4F1A\u8BDD\u6062\u590D\u6D41\u7A0B"})}),(0,t.jsx)(y.Item,{label:"\u91CC\u7A0B\u7891\uFF08\u53EF\u9009\uFF09",children:(0,t.jsx)(We,{value:ue||null,workspaceId:j.workspaceId,disabled:m,onChange:e=>H(e??"")})}),(0,t.jsx)(y.Item,{label:"\u76EE\u6807",children:(0,t.jsx)(ne,{className:"resize-none","data-wand-autofocus":!0,disabled:m,required:!0,value:$,onChange:e=>pe(e.target.value),placeholder:"\u63CF\u8FF0\u6E05\u695A\u5B8C\u6210\u6761\u4EF6\u3001\u9650\u5236\u548C\u9A8C\u8BC1\u8981\u6C42\u2026"})}),ke?(0,t.jsx)(U,{type:"info",title:`\u6D3E\u53D1\u7684 Agent \u4F1A\u8BDD\u5C06\u5173\u8054\u5230\u5F53\u524D\u4EFB\u52A1\u300C${ke}\u300D\u3002`}):null,(0,t.jsx)(y.Item,{label:"\u9879\u76EE\u76EE\u5F55",children:(0,t.jsx)(P,{required:!0,disabled:m,value:L,onChange:e=>ge(e.target.value)})}),(0,t.jsx)(_,{wrap:!0,role:"group","aria-label":"\u6267\u884C\u5DE5\u5177",children:re===null?(0,t.jsx)("p",{role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5DE5\u5177\u5217\u8868\u2026"}):De(Qe,re,e=>e.id).map(e=>(0,t.jsxs)(Me,{className:C.has(e.id)?"active":"",disabled:m,checked:C.has(e.id),onChange:()=>Oe(r=>{let c=new Set(r);return c.has(e.id)?c.delete(e.id):c.add(e.id),c}),children:[(0,t.jsx)(te,{provider:e.id}),(0,t.jsx)("span",{children:e.label})]},e.id))}),(0,t.jsx)(Te,{items:[{key:"worktree",label:"Worktree \u9AD8\u7EA7\u9009\u9879",children:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y.Item,{label:"\u57FA\u7EBF ref",children:(0,t.jsx)(P,{disabled:m,value:he,onChange:e=>Ne(e.target.value),placeholder:"\u5F53\u524D\u5206\u652F"})}),(0,t.jsx)(y.Item,{label:"\u5171\u4EAB\u76EE\u5F55\uFF08\u4EC5 gitignored\uFF09",children:(0,t.jsx)(P,{disabled:m,value:ye,onChange:e=>$e(e.target.value),placeholder:"node_modules, .venv"})}),(0,t.jsx)(y.Item,{label:"\u590D\u5236\u8DEF\u5F84\uFF08\u4EC5 gitignored\uFF09",children:(0,t.jsx)(P,{disabled:m,value:be,onChange:e=>Le(e.target.value),placeholder:".env.local"})})]})}]}),de?(0,t.jsx)(U,{type:"error",showIcon:!0,role:"alert",title:de}):null,(0,t.jsxs)(p,{justify:"flex-end",gap:8,children:[(0,t.jsx)(u,{kind:"ghost",disabled:m,onClick:()=>z(!1),children:"\u53D6\u6D88"}),(0,t.jsx)(u,{kind:"primary",type:"submit",disabled:m||!$.trim()||!L.trim()||C.size===0,children:m?"\u6B63\u5728\u5206\u6D3E\u2026":`\u5206\u6D3E\u7ED9 ${C.size} \u4E2A Agent`})]})]})})})]})}export{Mt as MissionsHost};
1
+ import{a as A,b as oe,c as We,d as Ee,e as Ae}from"./chunk-RAAPETNH.js";import{a as ne,b as Fe}from"./chunk-ECWYA3U5.js";import{shared2_a as E,shared2_b as M}from"./runtime.js";import{shared28_a as B}from"./runtime.js";import "./runtime.js";import{shared65_a as W}from"./runtime.js";import{shared79_a as J}from"./runtime.js";import{a as Re,b as De}from"./chunk-6C6A2RHG.js";import{shared55_C as ie}from"./runtime.js";import "./runtime.js";import{shared18_a as te}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared15_c as w}from"./runtime.js";import{shared57_b as Me}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as y}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared10_b as se}from"./runtime.js";import "./runtime.js";import{shared69_a as F}from"./runtime.js";import "./runtime.js";import{shared59_a as U}from"./runtime.js";import{shared7_Ac as Z,shared7_Ed as f,shared7_Fd as q,shared7_Gd as P,shared7_Nd as ee,shared7_Sc as Se,shared7_cc as _,shared7_kd as Pe,shared7_ld as u,shared7_vc as Te,shared7_zd as p}from"./runtime.js";import{shared8_a as Ve}from"./runtime.js";import{shared9_c as Y,shared9_d as Ce}from"./runtime.js";var s=Y(Ve(),1);var ae=class{constructor(i=(o,g)=>globalThis.fetch(o,g)){Ce(this,"fetchImpl",i)}async list(){return(await w(await this.fetchImpl("/api/missions",{credentials:"same-origin"}))).missions??[]}async listInbox(){return(await w(await this.fetchImpl("/api/inbox",{credentials:"same-origin"}))).items??[]}async markInboxRead(i){await w(await this.fetchImpl("/api/inbox/read",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(i?{sessionId:i}:{})}))}async create(i){return w(await this.fetchImpl("/api/missions",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(i)}))}async diff(i,o){return w(await this.fetchImpl(`/api/missions/${encodeURIComponent(i)}/attempts/${encodeURIComponent(o)}/diff`,{credentials:"same-origin"}))}async addComment(i,o,g){return w(await this.fetchImpl(`/api/missions/${encodeURIComponent(i)}/attempts/${encodeURIComponent(o)}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(g)}))}async sendReview(i,o){return(await w(await this.fetchImpl(`/api/missions/${encodeURIComponent(i)}/attempts/${encodeURIComponent(o)}/review/send`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:"{}"}))).comments??[]}},Be=new ae;var t=Y(Se(),1),Qe=[{id:"claude",label:"Claude"},{id:"codex",label:"Codex"},{id:"opencode",label:"OpenCode"},{id:"grok",label:"Grok"},{id:"qoder",label:"Qoder"},{id:"pi",label:"Pi"}],Ke={dispatching:"\u5206\u6D3E\u4E2D",queued:"\u7B49\u5F85\u4E2D",running:"\u6267\u884C\u4E2D",working:"\u6267\u884C\u4E2D",needs_input:"\u7B49\u5F85\u7B54\u590D",needs_permission:"\u7B49\u5F85\u6388\u6743",completed:"\u5DF2\u5B8C\u6210",done:"\u5DF2\u5B8C\u6210",failed:"\u5931\u8D25"};function G(n){return n?Ke[n]??"\u672A\u77E5\u72B6\u6001":"\u672A\u77E5\u72B6\u6001"}function Xe(n){let i=null,o=null,g=0,b=0;return n.split(`
2
+ `).slice(0,5e3).map((l,I)=>{if(l.startsWith("--- ")){let a=l.slice(4).replace(/^a\//,"");i=a==="/dev/null"?null:a}if(l.startsWith("+++ ")){let a=l.slice(4).replace(/^b\//,"");o=a==="/dev/null"?null:a}let k=l.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(k)return g=Number(k[1]),b=Number(k[2]),{key:String(I),text:l,path:o??i,line:null,side:"new",kind:"meta"};if(l.startsWith("+")&&!l.startsWith("+++")){let a=b++;return{key:String(I),text:l,path:o??i,line:a,side:"new",kind:"add"}}if(l.startsWith("-")&&!l.startsWith("---")){let a=g++;return{key:String(I),text:l,path:i??o,line:a,side:"old",kind:"remove"}}if(l.startsWith(" ")){let a=b++;return g++,{key:String(I),text:l,path:o??i,line:a,side:"new",kind:"context"}}return{key:String(I),text:l,path:o??i,line:null,side:"new",kind:"meta"}})}function ze(n){return n.split(/[\n,]/).map(i=>i.trim()).filter(Boolean)}function Ye({attempt:n,onOpen:i,onDiff:o}){return(0,t.jsxs)(J,{className:"wand-missions-attempt",size:"small",title:(0,t.jsxs)(_,{children:[(0,t.jsx)(te,{provider:n.provider}),ie(n.provider)]}),extra:(0,t.jsx)(Z,{children:G(n.state)}),children:[(0,t.jsx)(f.Paragraph,{children:n.summary||n.error||n.branch||"\u6B63\u5728\u51C6\u5907\u72EC\u7ACB worktree\u2026"}),(0,t.jsxs)(_,{wrap:!0,children:[(0,t.jsx)(u,{size:"small",kind:"ghost",disabled:!n.sessionId,onClick:i,children:"\u6253\u5F00\u4F1A\u8BDD"}),(0,t.jsx)(u,{size:"small",kind:"outline",disabled:!n.worktreePath,onClick:o,children:"\u5BA1\u67E5 Diff"})]})]})}function Mt({repository:n=Be}){let i=(0,s.useSyncExternalStore)(M.subscribe,M.getSnapshot,M.getSnapshot),[o,g]=(0,s.useState)([]),[b,l]=(0,s.useState)([]),[I,k]=(0,s.useState)(null),[a,z]=(0,s.useState)(!1),re=Re(i.open),[m,le]=(0,s.useState)(!1),[de,N]=(0,s.useState)(""),[R,x]=(0,s.useState)(!1),[me,h]=(0,s.useState)(""),[$,pe]=(0,s.useState)(""),[ce,fe]=(0,s.useState)(""),[ue,H]=(0,s.useState)(""),[L,ge]=(0,s.useState)(""),[he,Ne]=(0,s.useState)(""),[ye,$e]=(0,s.useState)(""),[be,Le]=(0,s.useState)(""),[C,Oe]=(0,s.useState)(new Set(["claude","codex"])),[T,V]=(0,s.useState)(null),[v,je]=(0,s.useState)(null),[S,ve]=(0,s.useState)(null),[O,we]=(0,s.useState)(""),d=b.find(e=>e.id===I)??b[0]??null,Ie=(0,s.useSyncExternalStore)(A.subscribe,A.getSnapshot,A.getSnapshot),j=(0,s.useSyncExternalStore)(B.subscribe,B.getSnapshot,B.getServerSnapshot),ke=a&&j.taskId?j.taskName:null,Ue=Ee(j.workspaceId,a);Ae(a,Ue,e=>{H(r=>r||e)});let _e=(0,s.useMemo)(()=>T?Xe(T.patch):[],[T]),D=async()=>{let[e,r]=await Promise.all([n.list(),n.listInbox().catch(()=>[])]);l(e),g(r),k(c=>c&&e.some(X=>X.id===c)?c:e[0]?.id??null)};(0,s.useEffect)(()=>{if(!i.open)return;ge(r=>r||M.getRuntime()?.effectiveCwd()||""),h(""),A.load(),D().catch(r=>h(r instanceof Error?r.message:"\u65E0\u6CD5\u52A0\u8F7D\u4EFB\u52A1\u3002"));let e=window.setInterval(()=>{D().catch(()=>{})},4e3);return()=>window.clearInterval(e)},[i.open,i.revision]);let xe=e=>{M.getRuntime()?.openSession(e),E.close()},qe=async e=>{if(e.preventDefault(),!m){if(!$.trim()||!L.trim()||C.size===0){N("\u8BF7\u586B\u5199\u4EFB\u52A1\u76EE\u6807\u3001\u9879\u76EE\u76EE\u5F55\uFF0C\u5E76\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u5DE5\u5177\u3002");return}E.setDismissable(!1),le(!0),N("");try{let r=await n.create({title:ce.trim()||void 0,prompt:$,cwd:L,providers:[...C],baseRef:he.trim()||void 0,sharedDirectories:ze(ye),copyPaths:ze(be),taskId:B.getSnapshot().taskId??void 0,milestoneId:ue||null});l(c=>[r,...c.filter(X=>X.id!==r.id)]),z(!1),pe(""),fe(""),H(""),k(r.id),h(""),await D().catch(c=>{h(`\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u4F46\u5217\u8868\u5237\u65B0\u5931\u8D25\uFF1A${se(c,"\u8BF7\u7A0D\u540E\u91CD\u65B0\u6253\u5F00\u5E76\u884C\u4EFB\u52A1\u3002")}`)})}catch(r){N(se(r,"\u521B\u5EFA\u4EFB\u52A1\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002"))}finally{E.setDismissable(!0),le(!1)}}},Je=async(e,r)=>{x(!0),h("");try{V(await n.diff(e.id,r.id)),je(r),ve(null)}catch(c){h(c instanceof Error?c.message:"\u65E0\u6CD5\u8BFB\u53D6 Diff\u3002")}finally{x(!1)}},Ge=async()=>{if(!(!d||!v||!S||!O.trim())){x(!0),h("");try{await n.addComment(d.id,v.id,{...S,body:O}),we(""),await D()}catch(e){h(e instanceof Error?e.message:"\u65E0\u6CD5\u4FDD\u5B58 Review\u3002")}finally{x(!1)}}},He=async()=>{if(!(!d||!v)){x(!0),h("");try{await n.sendReview(d.id,v.id),await D()}catch(e){h(e instanceof Error?e.message:"\u65E0\u6CD5\u53D1\u9001 Review\u3002")}finally{x(!1)}}},Q=d&&v?d.comments.filter(e=>e.attemptId===v.id&&e.status==="pending"):[],K=()=>{N(""),z(!0)};return(0,t.jsxs)(ee,{open:i.open,title:"\u5E76\u884C\u4EFB\u52A1",description:"\u628A\u540C\u4E00\u4E2A\u76EE\u6807\u5206\u6D3E\u7ED9\u591A\u4E2A Agent\uFF0C\u5728\u72EC\u7ACB worktree \u4E2D\u5E76\u884C\u5C1D\u8BD5\uFF0C\u5E76\u5BA1\u67E5 Diff\u3002",className:"wand-task-library-dialog wand-missions-library-dialog wand-task-library-dialog-wide",dismissable:!a&&i.dismissable,onOpenChange:e=>{e||E.close()},children:[(0,t.jsxs)(p,{vertical:!0,gap:16,children:[(0,t.jsxs)(p,{align:"center",justify:"space-between",gap:12,children:[(0,t.jsxs)(f.Text,{type:"secondary",children:[b.length," \u4E2A\u4EFB\u52A1"]}),(0,t.jsxs)(u,{kind:"primary",size:"small",disabled:R||m,onClick:K,children:[(0,t.jsx)(q,{name:"plus",slot:"start",size:13}),"\u65B0\u4EFB\u52A1"]})]}),me?(0,t.jsx)(U,{type:"error",showIcon:!0,role:"alert",title:me}):null,(0,t.jsxs)(p,{gap:16,wrap:!0,children:[(0,t.jsxs)(p,{vertical:!0,gap:8,component:"aside",style:{flex:"1 1 220px",minWidth:0,maxHeight:"60vh",overflow:"auto"},children:[o.length?(0,t.jsx)(J,{size:"small",title:"\u6536\u4EF6\u7BB1",children:(0,t.jsx)(W,{size:"small",dataSource:o,renderItem:e=>(0,t.jsx)(W.Item,{children:(0,t.jsx)(u,{kind:"ghost",type:"button",style:{height:"auto",width:"100%",justifyContent:"flex-start"},onClick:()=>{n.markInboxRead(e.sessionId).catch(()=>{}),e.sessionId&&xe(e.sessionId)},children:(0,t.jsxs)(p,{vertical:!0,align:"flex-start",children:[(0,t.jsx)(f.Text,{strong:!0,children:e.title}),(0,t.jsxs)(f.Text,{type:"secondary",children:[G(e.state),e.summary?` \xB7 ${e.summary}`:""]})]})})},e.sessionId)})}):null,b.map(e=>(0,t.jsx)(u,{kind:d?.id===e.id?"soft":"ghost",style:{height:"auto",width:"100%",justifyContent:"flex-start"},onClick:()=>{k(e.id),V(null)},children:(0,t.jsxs)(p,{vertical:!0,align:"flex-start",gap:4,style:{minWidth:0},children:[(0,t.jsx)(f.Text,{strong:!0,ellipsis:!0,children:e.title}),(0,t.jsxs)(f.Text,{type:"secondary",children:[e.attempts.length," \u4E2A Agent \xB7 ",G(e.status)]}),e.milestoneId?(0,t.jsxs)(f.Text,{type:"secondary",children:[(0,t.jsx)(q,{name:"milestone",size:11})," ",oe(Ie.items,e.milestoneId)||"\u91CC\u7A0B\u7891"]}):null]})},e.id)),b.length?null:(0,t.jsx)(F,{image:F.PRESENTED_IMAGE_SIMPLE,description:"\u8FD8\u6CA1\u6709\u5E76\u884C\u4EFB\u52A1\u3002\u521B\u5EFA\u4E00\u4E2A\uFF0C\u8BA9\u591A\u4E2A Agent \u5728\u72EC\u7ACB worktree \u4E2D\u5E76\u884C\u5C1D\u8BD5\u3002",children:(0,t.jsx)(u,{kind:"soft",size:"small",disabled:a,onClick:K,children:"\u65B0\u5EFA\u4EFB\u52A1"})})]}),(0,t.jsx)(p,{vertical:!0,gap:16,component:"main",style:{flex:"3 1 280px",minWidth:0,maxHeight:"60vh",overflow:"auto"},children:d?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(p,{align:"center",justify:"space-between",gap:12,wrap:!0,children:[(0,t.jsxs)(p,{vertical:!0,children:[(0,t.jsx)(f.Title,{level:4,style:{margin:0},children:d.title}),(0,t.jsxs)(f.Text,{type:"secondary",children:[d.cwd," \xB7 \u57FA\u7EBF ",d.worktree.baseRef||"\u5F53\u524D\u5206\u652F"]})]}),(0,t.jsx)(Z,{children:G(d.status)})]}),d.milestoneId?(0,t.jsxs)(f.Text,{type:"secondary",children:[(0,t.jsx)(q,{name:"milestone",size:12})," ",oe(Ie.items,d.milestoneId)||"\u91CC\u7A0B\u7891"]}):null,(0,t.jsx)(f.Paragraph,{style:{whiteSpace:"pre-wrap"},children:d.prompt}),(0,t.jsx)(p,{gap:12,wrap:!0,children:d.attempts.map(e=>(0,t.jsx)("div",{style:{flex:"1 1 240px",minWidth:0},children:(0,t.jsx)(Ye,{attempt:e,onOpen:()=>e.sessionId&&xe(e.sessionId),onDiff:()=>{Je(d,e)}})},e.id))}),T&&v?(0,t.jsx)(J,{size:"small",title:`${ie(v.provider)} \u7684 Diff`,extra:(0,t.jsx)(u,{size:"small",kind:"ghost",onClick:()=>V(null),children:"\u6536\u8D77"}),children:(0,t.jsxs)(p,{vertical:!0,gap:12,children:[(0,t.jsxs)(f.Text,{type:"secondary",children:[T.files.length," \u4E2A\u6587\u4EF6",T.truncated?" \xB7 \u5185\u5BB9\u5DF2\u622A\u65AD":""]}),(0,t.jsx)("div",{className:"wand-missions-diff",role:"list","aria-label":"\u4EFB\u52A1 Diff",style:{maxHeight:"48vh",overflow:"auto"},children:(0,t.jsx)(p,{vertical:!0,style:{minWidth:"max-content"},children:_e.map(e=>(0,t.jsxs)(Pe,{type:"text",color:e.kind==="add"?"green":e.kind==="remove"?"danger":void 0,variant:e.kind==="add"||e.kind==="remove"?"filled":void 0,style:{justifyContent:"flex-start",height:"auto",fontFamily:"var(--font-mono)"},disabled:!e.path||e.line===null,title:e.path&&e.line?`\u5728 ${e.path}:${e.line} \u6DFB\u52A0\u610F\u89C1`:void 0,onClick:()=>e.path&&ve({filePath:e.path,line:e.line,side:e.side}),children:[(0,t.jsx)("span",{style:{display:"inline-block",minWidth:40},children:e.line??""}),(0,t.jsx)("code",{style:{whiteSpace:"pre"},children:e.text||" "})]},e.key))})}),S?(0,t.jsx)(y,{component:!1,layout:"vertical",children:(0,t.jsxs)(y.Item,{htmlFor:"wand-missions-review-body",label:`${S.filePath}${S.line?`:${S.line}`:""}`,children:[(0,t.jsx)(ne,{className:"resize-none",id:"wand-missions-review-body",value:O,onChange:e=>we(e.target.value),placeholder:"\u5199\u4E0B\u5177\u4F53\u3001\u53EF\u6267\u884C\u7684\u4FEE\u6539\u610F\u89C1\u2026"}),(0,t.jsx)(u,{kind:"primary",size:"small",disabled:R||!O.trim(),onClick:()=>{Ge()},children:R?"\u5904\u7406\u4E2D\u2026":"\u52A0\u5165 Review"})]})}):null,Q.length?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(W,{size:"small",dataSource:Q,renderItem:e=>(0,t.jsx)(W.Item,{children:(0,t.jsxs)(p,{vertical:!0,children:[(0,t.jsxs)(f.Text,{strong:!0,children:[e.filePath,e.line?`:${e.line}`:""]}),(0,t.jsx)(f.Text,{children:e.body})]})},e.id)}),(0,t.jsx)(u,{kind:"primary",disabled:R,onClick:()=>{He()},children:R?"\u5904\u7406\u4E2D\u2026":`\u53D1\u9001 ${Q.length} \u6761\u610F\u89C1`})]}):null]})}):null]}):(0,t.jsx)(F,{image:F.PRESENTED_IMAGE_SIMPLE,description:"\u9009\u62E9\u6216\u521B\u5EFA\u4E00\u4E2A\u4EFB\u52A1\uFF0C\u770B\u6BCF\u4E2A Agent \u7684\u5C1D\u8BD5\u4E0E Diff\u3002",children:(0,t.jsx)(u,{kind:"soft",size:"small",disabled:a,onClick:K,children:"\u65B0\u5EFA\u4EFB\u52A1"})})})]})]}),(0,t.jsx)(ee,{open:a,title:"\u65B0\u5EFA\u5E76\u884C\u4EFB\u52A1",description:"\u521B\u5EFA\u540E\u7ACB\u5373\u5206\u6D3E\u7ED9\u6240\u9009\u5DE5\u5177\uFF0C\u5728\u72EC\u7ACB Worktree \u4E2D\u6267\u884C\u3002",className:"wand-ui-dialog-content wand-task-library-dialog wand-missions-create-library-dialog",closeLabel:"\u5173\u95ED\u65B0\u5EFA\u5E76\u884C\u4EFB\u52A1",dismissable:!m,onOpenChange:e=>{!e&&!m&&z(!1)},children:(0,t.jsx)(Fe,{className:"wand-missions-create",noValidate:!0,"aria-busy":m,onSubmit:e=>{qe(e)},children:(0,t.jsxs)(p,{vertical:!0,gap:16,children:[(0,t.jsx)(y.Item,{label:"\u4EFB\u52A1\u6807\u9898\uFF08\u53EF\u9009\uFF09",children:(0,t.jsx)(P,{disabled:m,value:ce,onChange:e=>fe(e.target.value),placeholder:"\u4F8B\u5982\uFF1A\u91CD\u6784\u4F1A\u8BDD\u6062\u590D\u6D41\u7A0B"})}),(0,t.jsx)(y.Item,{label:"\u91CC\u7A0B\u7891\uFF08\u53EF\u9009\uFF09",children:(0,t.jsx)(We,{value:ue||null,workspaceId:j.workspaceId,disabled:m,onChange:e=>H(e??"")})}),(0,t.jsx)(y.Item,{label:"\u76EE\u6807",children:(0,t.jsx)(ne,{className:"resize-none","data-wand-autofocus":!0,disabled:m,required:!0,value:$,onChange:e=>pe(e.target.value),placeholder:"\u63CF\u8FF0\u6E05\u695A\u5B8C\u6210\u6761\u4EF6\u3001\u9650\u5236\u548C\u9A8C\u8BC1\u8981\u6C42\u2026"})}),ke?(0,t.jsx)(U,{type:"info",title:`\u6D3E\u53D1\u7684 Agent \u4F1A\u8BDD\u5C06\u5173\u8054\u5230\u5F53\u524D\u4EFB\u52A1\u300C${ke}\u300D\u3002`}):null,(0,t.jsx)(y.Item,{label:"\u9879\u76EE\u76EE\u5F55",children:(0,t.jsx)(P,{required:!0,disabled:m,value:L,onChange:e=>ge(e.target.value)})}),(0,t.jsx)(_,{wrap:!0,role:"group","aria-label":"\u6267\u884C\u5DE5\u5177",children:re===null?(0,t.jsx)("p",{role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5DE5\u5177\u5217\u8868\u2026"}):De(Qe,re,e=>e.id).map(e=>(0,t.jsxs)(Me,{className:C.has(e.id)?"active":"",disabled:m,checked:C.has(e.id),onChange:()=>Oe(r=>{let c=new Set(r);return c.has(e.id)?c.delete(e.id):c.add(e.id),c}),children:[(0,t.jsx)(te,{provider:e.id}),(0,t.jsx)("span",{children:e.label})]},e.id))}),(0,t.jsx)(Te,{items:[{key:"worktree",label:"Worktree \u9AD8\u7EA7\u9009\u9879",children:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y.Item,{label:"\u57FA\u7EBF ref",children:(0,t.jsx)(P,{disabled:m,value:he,onChange:e=>Ne(e.target.value),placeholder:"\u5F53\u524D\u5206\u652F"})}),(0,t.jsx)(y.Item,{label:"\u5171\u4EAB\u76EE\u5F55\uFF08\u4EC5 gitignored\uFF09",children:(0,t.jsx)(P,{disabled:m,value:ye,onChange:e=>$e(e.target.value),placeholder:"node_modules, .venv"})}),(0,t.jsx)(y.Item,{label:"\u590D\u5236\u8DEF\u5F84\uFF08\u4EC5 gitignored\uFF09",children:(0,t.jsx)(P,{disabled:m,value:be,onChange:e=>Le(e.target.value),placeholder:".env.local"})})]})}]}),de?(0,t.jsx)(U,{type:"error",showIcon:!0,role:"alert",title:de}):null,(0,t.jsxs)(p,{justify:"flex-end",gap:8,children:[(0,t.jsx)(u,{kind:"ghost",disabled:m,onClick:()=>z(!1),children:"\u53D6\u6D88"}),(0,t.jsx)(u,{kind:"primary",type:"submit",disabled:m||!$.trim()||!L.trim()||C.size===0,children:m?"\u6B63\u5728\u5206\u6D3E\u2026":`\u5206\u6D3E\u7ED9 ${C.size} \u4E2A Agent`})]})]})})})]})}export{Mt as MissionsHost};
@@ -1,3 +1,3 @@
1
- import{a as Me,b as ee,c as Ce}from"./chunk-ZTEQSXPA.js";import{b as Ne}from"./chunk-NP35GDQ3.js";import{shared4_a as te,shared4_b as O,shared4_c as Y,shared4_d as de,shared4_e as Q,shared4_f as U}from"./runtime.js";import "./runtime.js";import{shared5_a as Se}from"./runtime.js";import "./runtime.js";import{shared79_a as Re}from"./runtime.js";import{shared80_a as le}from"./runtime.js";import{shared56_b as Te}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as ge}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared81_c as pe,shared81_d as q}from"./runtime.js";import{shared65_i as ke}from"./runtime.js";import{shared6_a as Fe}from"./runtime.js";import{shared10_b as ce}from"./runtime.js";import "./runtime.js";import{shared70_a as j}from"./runtime.js";import{shared27_a as se}from"./runtime.js";import{shared58_a as X}from"./runtime.js";import{shared7_Ac as ne,shared7_Ed as M,shared7_Gd as _,shared7_K as Ye,shared7_Nd as ve,shared7_Sc as Z,shared7_Wd as we,shared7_Xd as ie,shared7_Yc as ye,shared7_be as Ee,shared7_cc as xe,shared7_de as be,shared7_kd as ae,shared7_ld as H,shared7_md as oe,shared7_zd as k}from"./runtime.js";import{shared8_a as re}from"./runtime.js";import{shared9_c as W}from"./runtime.js";var p=W(re(),1),me=W(re(),1),$e=W(Ye(),1);function Qe(t){return t.trim()}function Ue(t,n){let i=Qe(n);if(!i)return[];let l=t.toLowerCase(),c=l.length===t.length?l:t,a=l.length===t.length?i.toLowerCase():i,d=[],y=c.indexOf(a);for(;y!==-1;)d.push({start:y,end:y+a.length}),y=c.indexOf(a,y+a.length);return d}function De(t,n){let i=Ue(t,n);if(i.length===0)return[{value:t,match:!1}];let l=[],c=0;for(let a of i)a.start>c&&l.push({value:t.slice(c,a.start),match:!1}),l.push({value:t.slice(a.start,a.end),match:!0}),c=a.end;return c<t.length&&l.push({value:t.slice(c),match:!1}),l}function Je(t,n){let i=n.replace(/\\/g,"/").replace(/\/+$/,""),l=t.replace(/\\/g,"/").replace(/\/+$/,"");return i?l===i?"":l.startsWith(`${i}/`)?l.slice(i.length+1):l:l}function Ze(t,n){let i=Je(t,n);return i||Y(n)||"/"}function Ie(t,n){let i=[],l=new Map;for(let c of t){let a=O(c.path),d=l.get(a);d||(d={key:a,label:Ze(a,n),entries:[]},l.set(a,d),i.push(d)),d.entries.push(c)}return i}function Pe(t,n){if(n==="all")return[...t];let i=n==="dir"?"dir":"file";return t.filter(l=>l.type===i)}function ue(t){return t.type!=="file"||typeof t.size!="number"?"":ke(t.size)}function ze(t){let n=new Date(t);if(Number.isNaN(n.getTime()))return"";let i=l=>String(l).padStart(2,"0");return`${n.getFullYear()}-${i(n.getMonth()+1)}-${i(n.getDate())} ${i(n.getHours())}:${i(n.getMinutes())}`}function Ae(t){let n=0,i=0;for(let l of t)l.type==="dir"?i+=1:n+=1;return{all:t.length,file:n,dir:i}}var A=W(re(),1);var I=W(Z(),1),et=new Set(["ArrowDown","ArrowUp","Home","End"]);function Le({request:t,onSubmit:n,onDismiss:i,repository:l=Ce}){let c=t!==null,[a,d]=(0,A.useState)(""),[y,f]=(0,A.useState)(null),[T,C]=(0,A.useState)(!1),[R,E]=(0,A.useState)(!1),[v,s]=(0,A.useState)(""),[h,g]=(0,A.useState)(-1),b=(0,A.useRef)([]);if((0,A.useEffect)(()=>{t&&(d(t.initialDir),f(null),C(!1),E(!1),s(""),g(-1))},[t]),(0,A.useEffect)(()=>{if(!c)return;let r=a.trim();if(!r){f(null),C(!1),s("\u8BF7\u8F93\u5165\u76EE\u6807\u76EE\u5F55\u3002"),g(-1);return}let u=new AbortController;C(!0),s(""),g(-1);let B=window.setTimeout(()=>{l.list(r,{signal:u.signal}).then(P=>{u.signal.aborted||(f(P),s(""))}).catch(P=>{u.signal.aborted||(f(null),s(ce(P,"\u65E0\u6CD5\u8BFB\u53D6\u8BE5\u76EE\u5F55\u3002")))}).finally(()=>{u.signal.aborted||C(!1)})},140);return()=>{window.clearTimeout(B),u.abort()}},[c,a,l]),(0,A.useEffect)(()=>{h<0||b.current[h]?.scrollIntoView({block:"nearest"})},[h]),!t)return null;let S=y?.currentPath??a.trim();function z(r){d(r),f(null),s(""),g(-1)}async function w(r){if(!t||R)return;let u=te(r,Y(t.from));if(u===t.from){s("\u76EE\u6807\u4F4D\u7F6E\u4E0E\u5F53\u524D\u4F4D\u7F6E\u76F8\u540C\u3002");return}E(!0),s("");try{await n(t.from,u)||s("\u79FB\u52A8\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u76EE\u5F55\u540E\u91CD\u8BD5\u3002")}catch(B){s(ce(B,"\u79FB\u52A8\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u76EE\u5F55\u6216\u6743\u9650\u540E\u91CD\u8BD5\u3002"))}finally{E(!1)}}function F(r){z(r.path)}function L(r){if(!r.nativeEvent.isComposing){if(et.has(r.key)){r.preventDefault(),g(u=>ee(u,y?.items.length??0,r.key));return}if(r.key==="Enter"){if(r.preventDefault(),h>=0){let u=y?.items[h];u&&F(u);return}w(S)}}}let D=y?.items.find(r=>r.type==="parent")??null,N=Y(t.from);return(0,I.jsx)(ve,{open:c,onOpenChange:r=>{r||i()},title:`\u79FB\u52A8${t.isDir?"\u6587\u4EF6\u5939":"\u6587\u4EF6"}`,description:`\u4E3A\u300C${N}\u300D\u9009\u62E9\u76EE\u6807\u76EE\u5F55\uFF0C\u786E\u8BA4\u540E\u7ACB\u5373\u79FB\u52A8\u3002`,className:"wand-task-library-dialog wand-folder-picker-library-dialog wand-move-dialog",closeLabel:"\u5173\u95ED\u79FB\u52A8\u5BF9\u8BDD\u6846",testId:"move-entry-dialog",dismissable:!R,children:(0,I.jsx)(Ne,{noValidate:!0,"aria-busy":T||R,onSubmit:r=>{r.preventDefault(),w(S)},children:(0,I.jsxs)(k,{vertical:!0,gap:16,children:[(0,I.jsxs)(xe,{wrap:!0,"aria-label":"\u5FEB\u6377\u76EE\u5F55",children:[(0,I.jsx)(H,{size:"small",onClick:()=>z("/tmp"),children:"\u4E34\u65F6\u76EE\u5F55 /tmp"}),(0,I.jsx)(H,{size:"small",onClick:()=>z("/"),children:"\u6839\u76EE\u5F55 /"}),(0,I.jsx)(H,{size:"small",disabled:!D||T,onClick:()=>{D&&z(D.path)},children:"\u8FD4\u56DE\u4E0A\u7EA7"})]}),(0,I.jsx)(ge.Item,{label:"\u76EE\u6807\u76EE\u5F55",htmlFor:"wand-move-input",children:(0,I.jsx)(_,{id:"wand-move-input","data-wand-autofocus":!0,autoFocus:!0,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"aria-invalid":v?"true":"false","aria-controls":"wand-move-options","aria-activedescendant":h>=0?`wand-move-option-${h}`:void 0,value:a,onChange:r=>d(r.currentTarget.value),onKeyDown:L})}),(0,I.jsx)(Me,{id:"wand-move-options",optionPrefix:"wand-move-option",items:y?.items,loading:T,error:v,activeIndex:h,itemRefs:b,onActivate:F,onActiveIndex:g}),v?(0,I.jsx)(X,{type:"error",showIcon:!0,role:"alert",title:v}):null,(0,I.jsxs)(k,{justify:"space-between",align:"center",gap:12,wrap:!0,children:[(0,I.jsx)(M.Text,{type:"secondary",ellipsis:!0,style:{minWidth:0,flex:1},title:S,children:S||"\u8BF7\u8F93\u5165\u76EE\u6807\u76EE\u5F55"}),(0,I.jsx)(H,{kind:"primary",type:"submit",disabled:T||R||!S,children:R?"\u6B63\u5728\u79FB\u52A8\u2026":"\u79FB\u52A8\u5230\u6B64\u5904"})]})]})})})}var He=`.wand-file-explorer-btn,.file-side-panel-header-actions .ant-btn,.file-explorer-up{width:32px;height:32px;flex-shrink:0}.wand-explorer-search-scope{justify-content:space-between;gap:8px;padding:0 0 8px}.wand-explorer-search-scope .ant-checkbox-wrapper{font-size:12px}.wand-explorer-search-scope>.ant-typography{font-size:11px;flex-shrink:0}.wand-explorer-search-count,.wand-explorer-search-duration{font-size:12px}.wand-explorer-search-limit{font-size:12px;line-height:1.5;padding-bottom:8px}.wand-explorer-results{overflow-x:hidden}@media(pointer:coarse){.wand-file-explorer-btn,.file-side-panel-header-actions .ant-btn,.file-explorer-up{width:44px;height:44px}.wand-file-explorer :is([role=treeitem],[role=option]){min-height:44px}}@media(hover:none),(pointer:coarse){.wand-explorer-keyhints{display:none}}
1
+ import{a as Me,b as ee,c as Ce}from"./chunk-2F6J2MKX.js";import{b as Ne}from"./chunk-ECWYA3U5.js";import{shared4_a as te,shared4_b as O,shared4_c as Y,shared4_d as de,shared4_e as Q,shared4_f as U}from"./runtime.js";import "./runtime.js";import{shared5_a as Se}from"./runtime.js";import "./runtime.js";import{shared78_a as Re}from"./runtime.js";import{shared79_a as le}from"./runtime.js";import{shared57_b as Te}from"./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import "./runtime.js";import{shared53_b as ge}from"./runtime.js";import "./runtime.js";import "./runtime.js";import{shared81_c as pe,shared81_d as q}from"./runtime.js";import{shared64_i as ke}from"./runtime.js";import{shared6_a as Fe}from"./runtime.js";import{shared10_b as ce}from"./runtime.js";import "./runtime.js";import{shared69_a as j}from"./runtime.js";import{shared27_a as se}from"./runtime.js";import{shared59_a as X}from"./runtime.js";import{shared7_Ac as ne,shared7_Ed as M,shared7_Gd as _,shared7_K as Ye,shared7_Nd as ve,shared7_Sc as Z,shared7_Wd as we,shared7_Xd as ie,shared7_Yc as ye,shared7_be as Ee,shared7_cc as xe,shared7_de as be,shared7_kd as ae,shared7_ld as H,shared7_md as oe,shared7_zd as k}from"./runtime.js";import{shared8_a as re}from"./runtime.js";import{shared9_c as W}from"./runtime.js";var p=W(re(),1),me=W(re(),1),$e=W(Ye(),1);function Qe(t){return t.trim()}function Ue(t,n){let i=Qe(n);if(!i)return[];let l=t.toLowerCase(),c=l.length===t.length?l:t,a=l.length===t.length?i.toLowerCase():i,d=[],y=c.indexOf(a);for(;y!==-1;)d.push({start:y,end:y+a.length}),y=c.indexOf(a,y+a.length);return d}function De(t,n){let i=Ue(t,n);if(i.length===0)return[{value:t,match:!1}];let l=[],c=0;for(let a of i)a.start>c&&l.push({value:t.slice(c,a.start),match:!1}),l.push({value:t.slice(a.start,a.end),match:!0}),c=a.end;return c<t.length&&l.push({value:t.slice(c),match:!1}),l}function Je(t,n){let i=n.replace(/\\/g,"/").replace(/\/+$/,""),l=t.replace(/\\/g,"/").replace(/\/+$/,"");return i?l===i?"":l.startsWith(`${i}/`)?l.slice(i.length+1):l:l}function Ze(t,n){let i=Je(t,n);return i||Y(n)||"/"}function Ie(t,n){let i=[],l=new Map;for(let c of t){let a=O(c.path),d=l.get(a);d||(d={key:a,label:Ze(a,n),entries:[]},l.set(a,d),i.push(d)),d.entries.push(c)}return i}function Pe(t,n){if(n==="all")return[...t];let i=n==="dir"?"dir":"file";return t.filter(l=>l.type===i)}function ue(t){return t.type!=="file"||typeof t.size!="number"?"":ke(t.size)}function ze(t){let n=new Date(t);if(Number.isNaN(n.getTime()))return"";let i=l=>String(l).padStart(2,"0");return`${n.getFullYear()}-${i(n.getMonth()+1)}-${i(n.getDate())} ${i(n.getHours())}:${i(n.getMinutes())}`}function Ae(t){let n=0,i=0;for(let l of t)l.type==="dir"?i+=1:n+=1;return{all:t.length,file:n,dir:i}}var A=W(re(),1);var I=W(Z(),1),et=new Set(["ArrowDown","ArrowUp","Home","End"]);function Le({request:t,onSubmit:n,onDismiss:i,repository:l=Ce}){let c=t!==null,[a,d]=(0,A.useState)(""),[y,f]=(0,A.useState)(null),[T,C]=(0,A.useState)(!1),[R,E]=(0,A.useState)(!1),[v,s]=(0,A.useState)(""),[h,g]=(0,A.useState)(-1),b=(0,A.useRef)([]);if((0,A.useEffect)(()=>{t&&(d(t.initialDir),f(null),C(!1),E(!1),s(""),g(-1))},[t]),(0,A.useEffect)(()=>{if(!c)return;let r=a.trim();if(!r){f(null),C(!1),s("\u8BF7\u8F93\u5165\u76EE\u6807\u76EE\u5F55\u3002"),g(-1);return}let u=new AbortController;C(!0),s(""),g(-1);let B=window.setTimeout(()=>{l.list(r,{signal:u.signal}).then(P=>{u.signal.aborted||(f(P),s(""))}).catch(P=>{u.signal.aborted||(f(null),s(ce(P,"\u65E0\u6CD5\u8BFB\u53D6\u8BE5\u76EE\u5F55\u3002")))}).finally(()=>{u.signal.aborted||C(!1)})},140);return()=>{window.clearTimeout(B),u.abort()}},[c,a,l]),(0,A.useEffect)(()=>{h<0||b.current[h]?.scrollIntoView({block:"nearest"})},[h]),!t)return null;let S=y?.currentPath??a.trim();function z(r){d(r),f(null),s(""),g(-1)}async function w(r){if(!t||R)return;let u=te(r,Y(t.from));if(u===t.from){s("\u76EE\u6807\u4F4D\u7F6E\u4E0E\u5F53\u524D\u4F4D\u7F6E\u76F8\u540C\u3002");return}E(!0),s("");try{await n(t.from,u)||s("\u79FB\u52A8\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u76EE\u5F55\u540E\u91CD\u8BD5\u3002")}catch(B){s(ce(B,"\u79FB\u52A8\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u76EE\u6807\u76EE\u5F55\u6216\u6743\u9650\u540E\u91CD\u8BD5\u3002"))}finally{E(!1)}}function F(r){z(r.path)}function L(r){if(!r.nativeEvent.isComposing){if(et.has(r.key)){r.preventDefault(),g(u=>ee(u,y?.items.length??0,r.key));return}if(r.key==="Enter"){if(r.preventDefault(),h>=0){let u=y?.items[h];u&&F(u);return}w(S)}}}let D=y?.items.find(r=>r.type==="parent")??null,N=Y(t.from);return(0,I.jsx)(ve,{open:c,onOpenChange:r=>{r||i()},title:`\u79FB\u52A8${t.isDir?"\u6587\u4EF6\u5939":"\u6587\u4EF6"}`,description:`\u4E3A\u300C${N}\u300D\u9009\u62E9\u76EE\u6807\u76EE\u5F55\uFF0C\u786E\u8BA4\u540E\u7ACB\u5373\u79FB\u52A8\u3002`,className:"wand-task-library-dialog wand-folder-picker-library-dialog wand-move-dialog",closeLabel:"\u5173\u95ED\u79FB\u52A8\u5BF9\u8BDD\u6846",testId:"move-entry-dialog",dismissable:!R,children:(0,I.jsx)(Ne,{noValidate:!0,"aria-busy":T||R,onSubmit:r=>{r.preventDefault(),w(S)},children:(0,I.jsxs)(k,{vertical:!0,gap:16,children:[(0,I.jsxs)(xe,{wrap:!0,"aria-label":"\u5FEB\u6377\u76EE\u5F55",children:[(0,I.jsx)(H,{size:"small",onClick:()=>z("/tmp"),children:"\u4E34\u65F6\u76EE\u5F55 /tmp"}),(0,I.jsx)(H,{size:"small",onClick:()=>z("/"),children:"\u6839\u76EE\u5F55 /"}),(0,I.jsx)(H,{size:"small",disabled:!D||T,onClick:()=>{D&&z(D.path)},children:"\u8FD4\u56DE\u4E0A\u7EA7"})]}),(0,I.jsx)(ge.Item,{label:"\u76EE\u6807\u76EE\u5F55",htmlFor:"wand-move-input",children:(0,I.jsx)(_,{id:"wand-move-input","data-wand-autofocus":!0,autoFocus:!0,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,"aria-invalid":v?"true":"false","aria-controls":"wand-move-options","aria-activedescendant":h>=0?`wand-move-option-${h}`:void 0,value:a,onChange:r=>d(r.currentTarget.value),onKeyDown:L})}),(0,I.jsx)(Me,{id:"wand-move-options",optionPrefix:"wand-move-option",items:y?.items,loading:T,error:v,activeIndex:h,itemRefs:b,onActivate:F,onActiveIndex:g}),v?(0,I.jsx)(X,{type:"error",showIcon:!0,role:"alert",title:v}):null,(0,I.jsxs)(k,{justify:"space-between",align:"center",gap:12,wrap:!0,children:[(0,I.jsx)(M.Text,{type:"secondary",ellipsis:!0,style:{minWidth:0,flex:1},title:S,children:S||"\u8BF7\u8F93\u5165\u76EE\u6807\u76EE\u5F55"}),(0,I.jsx)(H,{kind:"primary",type:"submit",disabled:T||R||!S,children:R?"\u6B63\u5728\u79FB\u52A8\u2026":"\u79FB\u52A8\u5230\u6B64\u5904"})]})]})})})}var He=`.wand-file-explorer-btn,.file-side-panel-header-actions .ant-btn,.file-explorer-up{width:32px;height:32px;flex-shrink:0}.wand-explorer-search-scope{justify-content:space-between;gap:8px;padding:0 0 8px}.wand-explorer-search-scope .ant-checkbox-wrapper{font-size:12px}.wand-explorer-search-scope>.ant-typography{font-size:11px;flex-shrink:0}.wand-explorer-search-count,.wand-explorer-search-duration{font-size:12px}.wand-explorer-search-limit{font-size:12px;line-height:1.5;padding-bottom:8px}.wand-explorer-results{overflow-x:hidden}@media(pointer:coarse){.wand-file-explorer-btn,.file-side-panel-header-actions .ant-btn,.file-explorer-up{width:44px;height:44px}.wand-file-explorer :is([role=treeitem],[role=option]){min-height:44px}}@media(hover:none),(pointer:coarse){.wand-explorer-keyhints{display:none}}
2
2
  `;var e=W(Z(),1),tt=new Set(["png","jpg","jpeg","gif","webp","svg","avif","bmp","ico","heic","heif"]),rt=new Set(["mp4","webm","mov","mkv","m4v","ogv","mp3","wav","ogg","m4a","flac","aac","opus"]),nt=new Set(["zip","tar","gz","tgz","bz2","7z","rar","xz"]),at=new Set(["md","markdown","mdx"]),ot=new Set(["txt","log"]),it=new Set(["pdf"]),lt=new Set(["ts","tsx","js","jsx","mjs","cjs","json","jsonc","yaml","yml","toml","ini","cfg","conf","env","py","rb","go","rs","java","c","cpp","h","hpp","cs","swift","kt","scala","php","sh","bash","zsh","fish","lua","sql","graphql","proto","vue","svelte","html","htm","xml","css","scss","less","diff","patch"]),Be=[{value:"all",label:"\u5168\u90E8"},{value:"file",label:"\u6587\u4EF6"},{value:"dir",label:"\u6587\u4EF6\u5939"}];function We(t){let n=document.createElement("a");n.href=`/api/file-raw?download=1&path=${encodeURIComponent(t)}`,n.rel="noopener",document.body.appendChild(n),n.click(),n.remove()}function fe(t,n){if(t.type==="dir")return n?"folderOpen":"folder";let i=t.name.toLowerCase(),l=i.lastIndexOf("."),c=l>=0&&l<i.length-1?i.slice(l+1):"";return tt.has(c)?"image":rt.has(c)?"media":nt.has(c)?"archive":it.has(c)?"pdf":at.has(c)?"markdown":ot.has(c)?"file":lt.has(c)?"code":"file"}function V({name:t,size:n=16}){let i={className:"wand-fe-icon",width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};switch(t){case"folder":return(0,e.jsx)("svg",{...i,children:(0,e.jsx)("path",{d:"M4 20a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5l2 3h7a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2z"})});case"folderOpen":return(0,e.jsx)("svg",{...i,children:(0,e.jsx)("path",{d:"M6 14l1.5-3A2 2 0 0 1 9.2 10H20a2 2 0 0 1 1.9 2.5l-1.5 6A2 2 0 0 1 18.4 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4l3 3h7a2 2 0 0 1 2 2v2"})});case"file":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"}),(0,e.jsx)("path",{d:"M14 3v5h5"})]});case"image":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,e.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,e.jsx)("path",{d:"m21 15-4.5-4.5L5 21"})]});case"code":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"m16 18 6-6-6-6"}),(0,e.jsx)("path",{d:"m8 6-6 6 6 6"})]});case"media":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),(0,e.jsx)("path",{d:"m10 9 5 3-5 3z"})]});case"archive":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"M4 4h16v4H4z"}),(0,e.jsx)("path",{d:"M5 8v12h14V8"}),(0,e.jsx)("path",{d:"M12 12v4"})]});case"pdf":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"}),(0,e.jsx)("path",{d:"M14 3v5h5M8 13h5M8 17h8"})]});case"markdown":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),(0,e.jsx)("path",{d:"M7 15V9l3 4 3-4v6"})]});case"newFile":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"}),(0,e.jsx)("path",{d:"M14 3v5h5"}),(0,e.jsx)("path",{d:"M12 12v6M9 15h6"})]});case"newFolder":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"M4 20a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5l2 3h7a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2z"}),(0,e.jsx)("path",{d:"M12 11v6M9 14h6"})]});case"refresh":return(0,e.jsxs)("svg",{...i,children:[(0,e.jsx)("path",{d:"M21 12a9 9 0 1 1-3-6.7"}),(0,e.jsx)("path",{d:"M21 3v6h-6"})]})}}function Ke(t){let n=t.gitStatus;return n?n.staged==="added"?{text:"A",className:"git-added",label:"\u5DF2\u6682\u5B58\u65B0\u589E"}:n.staged==="modified"?{text:"M",className:"git-modified",label:"\u5DF2\u6682\u5B58\u4FEE\u6539"}:n.staged==="deleted"?{text:"D",className:"git-deleted",label:"\u5DF2\u6682\u5B58\u5220\u9664"}:n.staged==="renamed"?{text:"R",className:"git-renamed",label:"\u5DF2\u6682\u5B58\u91CD\u547D\u540D"}:n.unstaged==="modified"?{text:"M",className:"git-modified",label:"\u672A\u6682\u5B58\u4FEE\u6539"}:n.unstaged==="deleted"?{text:"D",className:"git-deleted",label:"\u672A\u6682\u5B58\u5220\u9664"}:n.untracked?{text:"?",className:"git-untracked",label:"\u672A\u8DDF\u8E2A"}:null:null}function je(t){return{"git-added":"success","git-modified":"warning","git-deleted":"error","git-renamed":"purple"}[t.className]}function st(t){let n=[],i=ue(t);i&&n.push(i);let l=t.mtime?ze(t.mtime):"";return l&&n.push(l),t.type==="dir"&&n.push("\u6587\u4EF6\u5939"),n.length>0?`${t.path}
3
3
  ${n.join(" \xB7 ")}`:t.path}var Ve=p.createContext(null);function Ge({entry:t,depth:n,snapshot:i,activePath:l,onToggle:c,onFileActivate:a,onContextMenu:d,renameState:y,setRenameState:f,pendingCreate:T,setPendingCreate:C}){let R=p.useContext(Ve),E=t.type==="dir",v=E?i.expanded.get(t.path):void 0,s=!!v,h=!!(E&&s&&v?.status==="loaded"&&v.entries.length===0),g=E&&!h,b=!E&&l===t.path,S=Ke(t),z=ue(t),[w,F]=p.useState(t.name);p.useEffect(()=>{y?.path===t.path&&F(t.name)},[y?.path,t.name]);let L=async()=>{let r=w.trim();if(f(null),!r||r===t.name)return;let u=te(O(t.path),r);u!==t.path&&await Q.execute({type:"rename",from:t.path,to:u})},D=T?.dir===t.path;return y?.path===t.path?(0,e.jsx)(k,{align:"center",gap:"small",className:"wand-explorer-row editing",style:{padding:"4px 8px",paddingLeft:8+n*12},children:(0,e.jsxs)(k,{align:"center",gap:"small",className:"wand-explorer-rename",style:{flex:1,minWidth:0},children:[(0,e.jsx)("span",{className:"wand-explorer-icon",children:(0,e.jsx)(V,{name:fe(t,!1)})}),(0,e.jsx)(_,{value:w,autoFocus:!0,spellCheck:!1,"aria-label":`\u91CD\u547D\u540D ${t.name}`,onChange:r=>F(r.currentTarget.value),onClick:r=>r.stopPropagation(),onBlur:()=>{L()},onKeyDown:r=>{r.nativeEvent.isComposing||(r.key==="Enter"?(r.preventDefault(),r.currentTarget.blur()):r.key==="Escape"&&(r.preventDefault(),f(null)))}})]})}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(ae,{className:`wand-explorer-row${b?" active":""}`,ref:r=>{r?R?.set(t.path,r):R?.delete(t.path)},block:!0,size:"small",type:b?"primary":"text",style:{paddingLeft:8+n*12,justifyContent:"flex-start",gap:4},role:"treeitem",tabIndex:0,"aria-label":t.name,"aria-level":n+1,"aria-expanded":E?s:void 0,"aria-selected":b,onKeyDown:r=>{if(r.target===r.currentTarget)if(r.key==="ContextMenu"||r.shiftKey&&r.key==="F10"){r.preventDefault();let u=r.currentTarget.getBoundingClientRect();d({x:u.left+12,y:u.bottom,entry:t,dir:O(t.path)})}else if(["ArrowDown","ArrowUp","Home","End"].includes(r.key)&&R){r.preventDefault();let u=[...R.values()].filter(K=>K.isConnected);u.sort((K,G)=>K===G?0:K.compareDocumentPosition(G)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let P=u.indexOf(r.currentTarget)+(r.key==="ArrowDown"?1:-1);r.key==="Home"&&(P=0),r.key==="End"&&(P=u.length-1),u[Math.max(0,Math.min(u.length-1,P))]?.focus()}else r.key==="Enter"||r.key===" "?(r.preventDefault(),E?c(t.path):a(t.path)):E&&(r.key==="ArrowRight"&&!s||r.key==="ArrowLeft"&&s)&&(r.preventDefault(),c(t.path))},title:st(t),onClick:()=>{E?c(t.path):a(t.path)},onDoubleClick:()=>{E&&Q.execute({type:"navigate",dir:t.path})},onContextMenu:r=>{r.preventDefault(),d({x:r.clientX,y:r.clientY,entry:t,dir:O(t.path)})},children:[(0,e.jsx)("span",{className:`wand-explorer-chevron${s?" open":""}${g?"":" empty"}`,style:{width:12,flexShrink:0,transform:s?"rotate(90deg)":void 0},"aria-hidden":"true",children:g?"\u25B8":""}),(0,e.jsx)("span",{className:"wand-explorer-icon","aria-hidden":"true",children:(0,e.jsx)(V,{name:fe(t,s&&E)})}),(0,e.jsx)(M.Text,{ellipsis:!0,className:"wand-explorer-name",style:{flex:1,minWidth:0,textAlign:"left",color:"inherit"},children:t.name}),z?(0,e.jsx)(M.Text,{type:b?void 0:"secondary",className:"wand-explorer-size",style:{color:b?"inherit":void 0},children:z}):null,S&&(0,e.jsx)(ne,{className:`wand-explorer-git ${S.className}`,color:je(S),role:"img",title:S.label,"aria-label":S.label,children:S.text})]}),E&&s&&(0,e.jsxs)("div",{className:"wand-explorer-children",children:[v?.status==="loading"&&(0,e.jsxs)(k,{align:"center",gap:"small",className:"wand-explorer-row pending",style:{padding:"4px 8px",paddingLeft:8+(n+1)*12},role:"status",children:[(0,e.jsx)("span",{className:"wand-explorer-chevron empty"}),(0,e.jsx)("span",{className:"wand-explorer-name",children:"\u52A0\u8F7D\u4E2D"}),(0,e.jsx)(se,{className:"wand-explorer-dots",size:"small","aria-hidden":"true"})]}),v?.status==="error"&&(0,e.jsxs)(k,{align:"center",gap:"small",className:"wand-explorer-row error",style:{padding:"4px 8px",paddingLeft:8+(n+1)*12},role:"alert",children:[(0,e.jsx)("span",{className:"wand-explorer-chevron empty"}),(0,e.jsx)("span",{className:"wand-explorer-name",children:v.error||"\u8BFB\u53D6\u5931\u8D25"})]}),v?.status==="loaded"&&v.entries.length===0&&(0,e.jsxs)(k,{align:"center",gap:"small",className:"wand-explorer-row pending",style:{padding:"4px 8px",paddingLeft:8+(n+1)*12},children:[(0,e.jsx)("span",{className:"wand-explorer-chevron empty"}),(0,e.jsx)("span",{className:"wand-explorer-name",children:"\u7A7A\u6587\u4EF6\u5939"})]}),D&&T&&(0,e.jsx)(Xe,{depth:n+1,kind:T.kind,onCancel:()=>C(null),onSubmit:async r=>{let u=T.dir;C(null),r&&await Q.execute({type:T.kind==="file"?"create.file":"create.dir",dir:u,name:r})}}),v?.status==="loaded"&&v.entries.map(r=>(0,e.jsx)(Ge,{entry:r,depth:n+1,snapshot:i,activePath:l,onToggle:c,onFileActivate:a,onContextMenu:d,renameState:y,setRenameState:f,pendingCreate:T,setPendingCreate:C},r.path))]})]})}function Xe({depth:t,kind:n,onCancel:i,onSubmit:l}){let[c,a]=p.useState("");return(0,e.jsx)(k,{align:"center",gap:"small",className:"wand-explorer-row editing",style:{padding:"4px 8px",paddingLeft:8+t*12},children:(0,e.jsxs)(k,{align:"center",gap:"small",className:"wand-explorer-rename",style:{flex:1,minWidth:0},children:[(0,e.jsx)("span",{className:"wand-explorer-icon",children:(0,e.jsx)(V,{name:n==="file"?"file":"folder"})}),(0,e.jsx)(_,{value:c,autoFocus:!0,"aria-label":n==="file"?"\u65B0\u6587\u4EF6\u540D":"\u65B0\u6587\u4EF6\u5939\u540D",placeholder:n==="file"?"\u6587\u4EF6\u540D\uFF08\u56DE\u8F66\u521B\u5EFA\uFF0CEsc \u53D6\u6D88\uFF09":"\u6587\u4EF6\u5939\u540D\uFF08\u56DE\u8F66\u521B\u5EFA\uFF0CEsc \u53D6\u6D88\uFF09",spellCheck:!1,onChange:d=>a(d.currentTarget.value),onClick:d=>d.stopPropagation(),onBlur:()=>c.trim()?l(c):i(),onKeyDown:d=>{d.nativeEvent.isComposing||(d.key==="Enter"?(d.preventDefault(),l(c)):d.key==="Escape"&&(d.preventDefault(),i()))}})]})})}function ct({state:t,onClose:n,onAction:i}){let l=p.useRef(null),c=ye(),a=p.useRef(new Map),d=p.useRef(document.activeElement);p.useLayoutEffect(()=>{[...a.current.values()].find(h=>!h.disabled)?.focus({preventScroll:!0})},[]),p.useEffect(()=>{let h=b=>{l.current&&!l.current.contains(b.target)&&n()},g=b=>{b.target instanceof Node&&l.current?.contains(b.target)||n()};return window.addEventListener("mousedown",h,!0),window.addEventListener("scroll",g,!0),()=>{window.removeEventListener("mousedown",h,!0),window.removeEventListener("scroll",g,!0)}},[n]);let y=typeof window<"u"?window.innerWidth:1024,f=typeof window<"u"?window.innerHeight:768,T=Math.min(t.x,y-184),C=Math.min(t.y,f-400),R=t.entry,E=R?.type==="dir",v=E&&R?R.path:t.dir,s=(h,g,b={})=>(0,e.jsx)(we,{label:h,tone:b.danger?"danger":"default",ref:S=>{S?a.current.set(g,S):a.current.delete(g)},disabled:b.disabled,onClick:()=>{d.current instanceof HTMLElement&&d.current.isConnected&&d.current.focus({preventScroll:!0}),i(g)}});return(0,$e.createPortal)((0,e.jsxs)(le,{ref:l,size:"small",styles:{body:{padding:4}},className:"wand-explorer-context-menu",style:{position:"fixed",zIndex:1100,pointerEvents:"auto",width:180,maxHeight:"calc(100dvh - 16px)",overflowY:"auto",overscrollBehavior:"contain",left:Math.max(8,T),top:Math.max(8,C)},role:"menu","aria-label":"\u6587\u4EF6\u64CD\u4F5C",onKeyDown:h=>{if(h.key==="Escape")h.preventDefault(),h.stopPropagation(),n(),d.current instanceof HTMLElement&&d.current.focus();else if(["ArrowDown","ArrowUp","Home","End"].includes(h.key)){h.preventDefault();let g=[...a.current.values()].filter(z=>!z.disabled),b=g.indexOf(document.activeElement),S=h.key==="Home"?0:h.key==="End"?g.length-1:b+(h.key==="ArrowDown"?1:-1);g[(S+g.length)%g.length]?.focus()}},children:[s("\u65B0\u5EFA\u6587\u4EF6","newFile",{disabled:!v}),s("\u65B0\u5EFA\u6587\u4EF6\u5939","newDir",{disabled:!v}),(0,e.jsx)(ie,{}),R?(0,e.jsxs)(e.Fragment,{children:[E?s("\u8FDB\u5165\u6B64\u76EE\u5F55","navigate"):s("\u6253\u5F00","open"),s("\u5728\u6587\u4EF6\u6811\u4E2D\u663E\u793A","reveal"),s("\u590D\u5236\u5B8C\u6574\u8DEF\u5F84","copyPath"),s("\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","copyRelative"),!E&&s("\u4E0B\u8F7D\u6587\u4EF6","download"),(0,e.jsx)(ie,{}),s("\u91CD\u547D\u540D","rename"),s("\u79FB\u52A8\u5230\u2026","move"),s("\u5220\u9664","delete",{danger:!0})]}):(0,e.jsxs)(e.Fragment,{children:[s("\u5237\u65B0","refresh"),s("\u590D\u5236\u76EE\u5F55\u8DEF\u5F84","copyPath")]})]}),c??document.body)}function pt({snapshot:t,query:n,rows:i,activeIndex:l,listId:c,rowRefs:a,searchInputRef:d,onActiveIndex:y,onOpen:f,onReveal:T,onContextMenu:C,onFilter:R,onClear:E,onRetry:v}){let s=Ae(t.searchResults??[]),h=Ie(i,t.root),g=p.useRef(!1),b=new Map;i.forEach((w,F)=>b.set(w.path,F));let S=Be.find(w=>w.value===t.searchFilter),z=!t.searchError;return(0,e.jsxs)(k,{vertical:!0,className:"wand-explorer-search-panel",style:{flex:1,minHeight:0},children:[z&&(0,e.jsxs)(k,{wrap:!0,align:"center",gap:6,className:"wand-explorer-search-summary",style:{padding:"8px 0"},children:[(0,e.jsx)(M.Text,{className:"wand-explorer-search-count",children:t.searching?"\u641C\u7D22\u4E2D":`${s.all} \u9879\u7ED3\u679C${t.searchTruncated?" \xB7 \u5DF2\u622A\u65AD":""}`}),!t.searching&&t.searchDurationMs!==null&&s.all>0&&(0,e.jsxs)(M.Text,{type:"secondary",className:"wand-explorer-search-duration",children:[t.searchDurationMs," ms"]}),(0,e.jsx)(be,{className:"wand-explorer-search-filters",size:"small","aria-label":"\u6309\u7C7B\u578B\u7B5B\u9009\u7ED3\u679C",value:t.searchFilter,onMouseDown:()=>{g.current=!0},options:Be.map(w=>({value:w.value,disabled:s.all===0,label:(0,e.jsxs)(k,{align:"center",gap:4,className:"wand-explorer-filter-option",children:[w.label,(0,e.jsx)(M.Text,{type:"secondary",className:"wand-explorer-filter-count",children:s[w.value]})]})})),onChange:w=>{R(w),g.current&&d.current?.focus(),g.current=!1}})]}),!t.searching&&t.searchTruncated&&(0,e.jsx)(M.Text,{type:"secondary",className:"wand-explorer-search-limit",role:"status",children:"\u7ED3\u679C\u5DF2\u622A\u65AD\u3002\u8F93\u5165\u66F4\u5B8C\u6574\u540D\u79F0\uFF0C\u6216\u8FDB\u5165\u5B50\u76EE\u5F55\u7EE7\u7EED\u67E5\u627E\u3002"}),t.searching&&(0,e.jsx)(Re,{className:"wand-explorer-search-progress",percent:100,showInfo:!1,size:"small",status:"active","aria-label":"\u6B63\u5728\u641C\u7D22\u6587\u4EF6"}),t.searchError?(0,e.jsx)(X,{className:"wand-file-explorer-empty",type:"error",showIcon:!0,title:"\u641C\u7D22\u5931\u8D25",description:(0,e.jsxs)(k,{vertical:!0,gap:"small",children:[(0,e.jsx)("p",{className:"wand-file-explorer-empty-hint",children:t.searchError}),(0,e.jsx)(H,{kind:"ghost",size:"small",onClick:v,children:"\u91CD\u8BD5\u641C\u7D22"})]})}):i.length>0?(0,e.jsx)(k,{vertical:!0,id:c,className:"wand-explorer-results",role:"listbox","aria-label":"\u641C\u7D22\u7ED3\u679C",style:{flex:1,minHeight:0,overflowY:"auto"},children:h.map(w=>(0,e.jsxs)("div",{className:"wand-explorer-search-group",role:"group","aria-label":w.label,children:[(0,e.jsx)(le,{size:"small",variant:"borderless",className:"wand-explorer-search-group-label",title:(0,e.jsx)(M.Text,{ellipsis:!0,className:"wand-explorer-search-group-path",children:w.label}),extra:(0,e.jsx)(M.Text,{type:"secondary",className:"wand-explorer-search-group-count",children:w.entries.length}),styles:{body:{display:"none"},header:{minHeight:28,padding:"0 8px",fontSize:12}},style:{position:"sticky",top:0,zIndex:1,borderRadius:0,background:"var(--bg-secondary)"},children:(0,e.jsx)("span",{})}),w.entries.map(F=>{let L=b.get(F.path)??-1,D=L===l,N=Ke(F);return(0,e.jsxs)(ae,{block:!0,type:D?"primary":"text",size:"small",style:{justifyContent:"flex-start",gap:6,fontSize:13},id:`${c}-option-${L}`,ref:r=>{r?a.current?.set(F.path,r):a.current?.delete(F.path)},className:`wand-explorer-result${D?" active":""}`,role:"option","aria-selected":D,title:F.path,onMouseEnter:()=>y(L),onClick:()=>f(F),onDoubleClick:()=>T(F),onContextMenu:r=>{r.preventDefault(),C({x:r.clientX,y:r.clientY,entry:F,dir:O(F.path)})},children:[(0,e.jsx)("span",{className:"wand-explorer-result-icon","aria-hidden":"true",children:(0,e.jsx)(V,{name:fe(F,!1)})}),(0,e.jsx)(M.Text,{ellipsis:!0,className:"wand-explorer-result-name",style:{flex:1,minWidth:0,textAlign:"left",color:"inherit"},children:De(F.name,n).map((r,u)=>r.match?(0,e.jsx)(M.Text,{mark:!0,className:"wand-explorer-hit",children:r.value},u):(0,e.jsx)(p.Fragment,{children:r.value},u))}),N&&(0,e.jsx)(ne,{className:`wand-explorer-git ${N.className}`,color:je(N),role:"img",title:N.label,"aria-label":N.label,children:N.text})]},F.path)})]},w.key))}):t.searching?null:s.all>0?(0,e.jsxs)(j,{className:"wand-file-explorer-empty",description:null,children:[(0,e.jsxs)("p",{className:"wand-file-explorer-empty-title",children:["\u300C",S?.label??"\u5F53\u524D","\u300D\u7B5B\u9009\u4E0B\u6CA1\u6709\u7ED3\u679C"]}),(0,e.jsxs)(H,{kind:"ghost",size:"small",onClick:()=>R("all"),children:["\u663E\u793A\u5168\u90E8 ",s.all," \u9879"]})]}):(0,e.jsxs)(j,{className:"wand-file-explorer-empty",description:null,children:[(0,e.jsxs)("p",{className:"wand-file-explorer-empty-title",children:["\u6CA1\u6709\u5339\u914D\u300C",n,"\u300D\u7684\u6587\u4EF6"]}),(0,e.jsx)("p",{className:"wand-file-explorer-empty-hint",children:t.includeGenerated?"\u6309\u540D\u79F0\u641C\u7D22\uFF0C\u5305\u542B\u4F9D\u8D56\u4E0E\u751F\u6210\u76EE\u5F55\uFF1B\u6700\u591A\u5411\u4E0B 5 \u5C42\u3002":"\u6309\u540D\u79F0\u641C\u7D22\u9879\u76EE\u6587\u4EF6\uFF1B\u53EF\u52FE\u9009\u4E0A\u65B9\u9009\u9879\u5305\u542B\u4F9D\u8D56\u4E0E\u751F\u6210\u76EE\u5F55\u3002"}),(0,e.jsx)(H,{kind:"ghost",size:"small",onClick:E,children:"\u6E05\u9664\u641C\u7D22"})]}),i.length>0&&(0,e.jsxs)(k,{wrap:!0,gap:"small",className:"wand-explorer-keyhints","aria-hidden":"true",style:{padding:8},children:[(0,e.jsxs)("span",{children:[(0,e.jsx)(M.Text,{keyboard:!0,children:"\u2191"}),(0,e.jsx)(M.Text,{keyboard:!0,children:"\u2193"}),"\u9009\u62E9"]}),(0,e.jsxs)("span",{children:[(0,e.jsx)(M.Text,{keyboard:!0,children:"\u21B5"}),"\u6253\u5F00"]}),(0,e.jsxs)("span",{children:[(0,e.jsx)(M.Text,{keyboard:!0,children:"\u21E7\u21B5"}),"\u5728\u6811\u4E2D\u5B9A\u4F4D"]}),(0,e.jsxs)("span",{children:[(0,e.jsx)(M.Text,{keyboard:!0,children:"Esc"}),"\u6E05\u7A7A"]})]})]})}function Jt({root:t}){let n=p.useRef(new Map),i=p.useRef(new Map),l=p.useRef(null),c=p.useRef(null),a=dt(),d=(0,me.useSyncExternalStore)(q.subscribe,q.getSnapshot,q.getSnapshot),y=d.open?d.activePath:null,f=Q,[T,C]=p.useState(null),[R,E]=p.useState(null),[v,s]=p.useState(null),[h,g]=p.useState(null),[b,S]=p.useState(a.searchQuery),[z,w]=p.useState(0),F=a.searchQuery.trim(),L=F.length>0,D=p.useMemo(()=>Pe(a.searchResults??[],a.searchFilter),[a.searchResults,a.searchFilter]),N=D.length>0?Math.min(z,D.length-1):-1,r=p.useId();p.useEffect(()=>{t&&f.setRoot(t)},[t,f]),p.useEffect(()=>{S(a.searchQuery)},[a.searchQuery]),p.useEffect(()=>{w(0)},[F,a.searchFilter,a.searchResults]),p.useEffect(()=>{if(N<0)return;let o=D[N];o&&i.current.get(o.path)?.scrollIntoView({block:"nearest"})},[N,D]),p.useEffect(()=>{let o=a.revealPath;if(!o)return;let m=n.current.get(o),x=c.current;c.current=null,f.execute({type:"reveal.done"}),m&&(m.scrollIntoView({block:"center"}),(!x||x.path!==o||x.focus)&&m.focus({preventScroll:!0}))},[a.revealPath,f]),p.useEffect(()=>{if(!y)return;let o=U.getSnapshot();if(!o.root||!de(y,o.root)||o.searchQuery.trim())return;let m=n.current.get(y);if(m){m.scrollIntoView({block:"nearest"});return}c.current={path:y,focus:!1},f.execute({type:"reveal",path:y})},[y,f]);let u=o=>{c.current={path:o,focus:!0},f.execute({type:"reveal",path:o})},B=o=>{pe.open(o).then(m=>{if(m)return;let x=q.getSnapshot();x.activePath!==o||x.failure?.status!==415||(pe.execute({type:"close"}),We(o),J("\u8BE5\u6587\u4EF6\u65E0\u6CD5\u4EE5\u6587\u672C\u6253\u5F00\uFF0C\u5DF2\u5F00\u59CB\u4E0B\u8F7D","info"))})},P=a.root?a.expanded.get(a.root):void 0,K=async o=>{let m=T;if(C(null),!m)return;let x=m.entry;if(o==="newFile"){s({dir:m.entry?.type==="dir"?m.entry.path:m.dir,kind:"file"});return}if(o==="newDir"){s({dir:m.entry?.type==="dir"?m.entry.path:m.dir,kind:"dir"});return}if(o==="navigate"&&x){f.execute({type:"navigate",dir:x.path});return}if(o==="open"&&x){B(x.path);return}if(o==="reveal"&&x){u(x.path);return}if(o==="rename"&&x){E({path:x.path});return}if(o==="move"&&x){g({from:x.path,initialDir:O(x.path),isDir:x.type==="dir"});return}if(o==="delete"&&x){f.execute({type:"delete",path:x.path});return}if(o==="refresh"){f.execute({type:"refresh",dir:m.dir});return}if(o==="copyPath"){let $=await Oe(x?.path??m.dir);J($?"\u5DF2\u590D\u5236\u8DEF\u5F84":"\u590D\u5236\u5931\u8D25",$?"success":"error");return}if(o==="copyRelative"&&x&&a.root){let $=ut(x.path,a.root),he=await Oe($);J(he?"\u5DF2\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84":"\u590D\u5236\u5931\u8D25",he?"success":"error");return}if(o==="download"&&x){We(x.path);return}},G=o=>{o.type==="dir"?u(o.path):B(o.path)},_e=o=>{if(o.nativeEvent.isComposing)return;if((o.key==="ArrowDown"||o.key==="ArrowUp")&&D.length>0){o.preventDefault(),w(ee(N,D.length,o.key));return}if(o.key!=="Enter")return;let m=N>=0?D[N]:void 0;m&&(o.preventDefault(),o.shiftKey?u(m.path):G(m))},qe=v&&a.root&&v.dir===a.root?(0,e.jsx)(Xe,{depth:0,kind:v.kind,onCancel:()=>s(null),onSubmit:async o=>{let m=v.dir;s(null),o&&await f.execute({type:v.kind==="file"?"create.file":"create.dir",dir:m,name:o})}}):null;return(0,e.jsxs)(Ve.Provider,{value:n.current,children:[(0,e.jsx)("style",{id:"wand-file-explorer-styles",children:He}),(0,e.jsxs)(k,{vertical:!0,className:"wand-file-explorer",style:{flex:1,minHeight:0},onContextMenu:o=>{o.target===o.currentTarget&&(o.preventDefault(),C({x:o.clientX,y:o.clientY,entry:null,dir:a.activeDir||a.root}))},children:[(0,e.jsxs)(k,{align:"center",gap:4,className:"wand-file-explorer-toolbar",style:{padding:"4px 0 8px",flexShrink:0},children:[(0,e.jsx)(k,{className:"wand-file-explorer-search",style:{flex:1,minWidth:0},onKeyDown:_e,children:(0,e.jsx)(Ee,{value:b,label:"\u641C\u7D22\u6587\u4EF6",placeholder:"\u641C\u7D22\u6587\u4EF6\u2026",disabled:!a.root,inputRef:l,listId:L?r:void 0,activeOptionId:N>=0?`${r}-option-${N}`:void 0,onValueChange:S,onSearch:o=>{f.execute({type:"search.start",query:o})}})}),(0,e.jsx)(oe,{className:"wand-file-explorer-btn",title:"\u65B0\u5EFA\u6587\u4EF6","aria-label":"\u65B0\u5EFA\u6587\u4EF6",disabled:!a.root||a.busy,onClick:()=>s({dir:a.activeDir||a.root,kind:"file"}),children:(0,e.jsx)(V,{name:"newFile",size:15})}),(0,e.jsx)(oe,{className:"wand-file-explorer-btn",title:"\u65B0\u5EFA\u6587\u4EF6\u5939","aria-label":"\u65B0\u5EFA\u6587\u4EF6\u5939",disabled:!a.root||a.busy,onClick:()=>s({dir:a.activeDir||a.root,kind:"dir"}),children:(0,e.jsx)(V,{name:"newFolder",size:15})})]}),(0,e.jsxs)(k,{align:"center",className:"wand-explorer-search-scope",children:[(0,e.jsx)(Te,{disabled:!a.root,checked:a.includeGenerated,onChange:o=>{f.execute({type:"search.scope",includeGenerated:o.target.checked})},children:"\u5305\u542B\u4F9D\u8D56\u4E0E\u751F\u6210\u76EE\u5F55"}),(0,e.jsx)(M.Text,{type:"secondary",title:"\u6309\u540D\u79F0\u5339\u914D\u5F53\u524D\u76EE\u5F55\u53CA\u5411\u4E0B 5 \u5C42\uFF0C\u6700\u591A\u8FD4\u56DE 80 \u9879\uFF1B\u9879\u76EE\u6587\u4EF6\u4F18\u5148\u3002",children:"\u540D\u79F0 \xB7 5 \u5C42"})]}),L?(0,e.jsx)(pt,{snapshot:a,query:F,rows:D,activeIndex:N,listId:r,rowRefs:i,searchInputRef:l,onActiveIndex:w,onOpen:G,onReveal:o=>u(o.path),onContextMenu:C,onFilter:o=>{f.execute({type:"search.filter",filter:o})},onClear:()=>{f.execute({type:"search.clear"}),l.current?.focus()},onRetry:()=>{f.execute({type:"search.start",query:b})}}):(0,e.jsxs)(k,{vertical:!0,className:"wand-file-explorer-tree",style:{flex:1,minHeight:0,overflowY:"auto",overflowX:"hidden"},role:"tree","aria-label":"\u6587\u4EF6\u6811",children:[!a.root&&(0,e.jsx)(j,{className:"wand-file-explorer-empty",description:null,children:"\u5C1A\u672A\u9009\u62E9\u5DE5\u4F5C\u76EE\u5F55\u3002"}),a.root&&P?.status==="loading"&&!P.entries.length&&(0,e.jsxs)(j,{className:"wand-file-explorer-empty",description:null,children:[(0,e.jsx)(se,{size:"small"}),"\u52A0\u8F7D\u4E2D\u2026"]}),a.root&&P?.status==="error"&&(0,e.jsx)(X,{className:"wand-file-explorer-empty",type:"error",showIcon:!0,title:"\u8BFB\u53D6\u5931\u8D25",description:(0,e.jsxs)(k,{vertical:!0,gap:"small",children:[(0,e.jsx)("p",{className:"wand-file-explorer-empty-title",children:P.error||"\u8BFB\u53D6\u76EE\u5F55\u5931\u8D25"}),(0,e.jsx)(H,{kind:"ghost",size:"small",onClick:()=>{f.execute({type:"refresh",dir:a.root})},children:"\u91CD\u65B0\u52A0\u8F7D"})]})}),P?.status==="loaded"&&(0,e.jsxs)(e.Fragment,{children:[qe,P.entries.length>0?P.entries.map(o=>(0,e.jsx)(Ge,{entry:o,depth:0,snapshot:a,activePath:y,onToggle:m=>{f.execute({type:"toggle",dir:m})},onFileActivate:B,onContextMenu:m=>C(m),renameState:R,setRenameState:E,pendingCreate:v,setPendingCreate:s},o.path)):(0,e.jsx)(j,{className:"wand-file-explorer-empty",description:null,children:"\u8FD9\u4E2A\u76EE\u5F55\u662F\u7A7A\u7684\u3002"})]})]})]}),T&&(0,e.jsx)(ct,{state:T,onClose:()=>C(null),onAction:o=>{K(o)}}),(0,e.jsx)(Le,{request:h,onDismiss:()=>g(null),onSubmit:async(o,m)=>{let x=h;if(!x)return!1;if(m===o)return J("\u76EE\u6807\u4F4D\u7F6E\u4E0E\u5F53\u524D\u4F4D\u7F6E\u76F8\u540C\u3002","warning"),!1;if(x.isDir&&de(m,o))return J("\u4E0D\u80FD\u628A\u6587\u4EF6\u5939\u79FB\u52A8\u5230\u5B83\u81EA\u5DF1\u6216\u5B83\u7684\u5B50\u76EE\u5F55\u4E2D\u3002","warning"),!1;let $=await f.execute({type:"move",from:o,to:m});return $&&g(null),$}})]})}function dt(){return(0,me.useSyncExternalStore)(U.subscribe,U.getSnapshot,U.getSnapshot)}async function Oe(t){try{return await Se(t),!0}catch{return!1}}function J(t,n){Fe.toast(t,{tone:n})}function ut(t,n){return t.startsWith(n)?t.slice(n.length).replace(/^\/+/,"")||".":t}export{Jt as FileExplorerHost};