@mogragsigma/dsh-dual-host-plugin 0.33.4 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +70 -99
  2. package/bundle/README.md +70 -99
  3. package/bundle/SETUP.md +87 -0
  4. package/bundle/approval-chat.js +2 -2
  5. package/bundle/approval-feishu.js +4 -1
  6. package/bundle/approval-ledger.js +30 -13
  7. package/bundle/approval-workbench.js +2 -0
  8. package/bundle/artifact-media.js +2 -2
  9. package/bundle/compatibility.json +43 -3
  10. package/bundle/configuration-v2.json +15 -0
  11. package/bundle/delivery-state.js +2 -0
  12. package/bundle/development-gate.js +2 -0
  13. package/bundle/distribution-lock.json +2 -2
  14. package/bundle/gateway-maintenance.js +1 -0
  15. package/bundle/global-rules/AGENTS.md +24 -20
  16. package/bundle/index.js +135 -25
  17. package/bundle/intervention-state.js +1 -1
  18. package/bundle/link-contract.js +9 -4
  19. package/bundle/managed-closeout.js +45 -0
  20. package/bundle/managed-cloud-policy.js +19 -0
  21. package/bundle/managed-command.js +71 -0
  22. package/bundle/managed-development-contract.js +43 -0
  23. package/bundle/managed-development.js +86 -0
  24. package/bundle/managed-endpoint.js +282 -0
  25. package/bundle/managed-execution.js +207 -0
  26. package/bundle/managed-policy.js +20 -0
  27. package/bundle/managed-runtime.js +186 -0
  28. package/bundle/managed-search.js +57 -0
  29. package/bundle/managed-tools.js +17 -0
  30. package/bundle/managed-triggers.js +85 -0
  31. package/bundle/native-context.js +4 -2
  32. package/bundle/native-entry.js +6 -2
  33. package/bundle/native-human-context.js +29 -0
  34. package/bundle/native-model-choice.js +12 -0
  35. package/bundle/native-rules/continuity.md +13 -0
  36. package/bundle/native-rules/execution.md +36 -0
  37. package/bundle/native-tools.js +52 -19
  38. package/bundle/notification-artifacts.js +26 -10
  39. package/bundle/notification-endpoint.js +1 -1
  40. package/bundle/notification-feishu.js +2 -2
  41. package/bundle/notification-media-endpoint.js +4 -3
  42. package/bundle/notification-observations.js +45 -0
  43. package/bundle/onboarding-cloud-package.js +1 -1
  44. package/bundle/onboarding-cloud.js +1 -1
  45. package/bundle/onboarding-file-contract.js +3 -2
  46. package/bundle/onboarding-file-transfer.js +4 -4
  47. package/bundle/onboarding-native-probe.js +1 -1
  48. package/bundle/onboarding-runtime-activation.js +1 -1
  49. package/bundle/onboarding-runtime-extension.js +2 -2
  50. package/bundle/package-lock.json +2 -2
  51. package/bundle/package.json +6 -4
  52. package/bundle/peer-file-review.js +1 -1
  53. package/bundle/peer-files.js +8 -4
  54. package/bundle/recovery.js +1 -1
  55. package/bundle/repository-gitee.js +12 -0
  56. package/bundle/repository-managed.js +1 -0
  57. package/bundle/runtime-im-lock.json +3409 -2849
  58. package/bundle/runtime-im-package.json +5 -5
  59. package/bundle/runtime-lock.json +3409 -2849
  60. package/bundle/runtime-package.json +5 -5
  61. package/bundle/schedule-ledger.js +35 -0
  62. package/bundle/search-contract.js +11 -1
  63. package/bundle/skills/task-approval/SKILL.md +20 -1
  64. package/bundle/skills/task-development/SKILL.md +30 -13
  65. package/bundle/skills/task-direct-link/SKILL.md +39 -13
  66. package/bundle/skills/task-file-transfer/SKILL.md +2 -2
  67. package/bundle/skills/task-notify/SKILL.md +2 -0
  68. package/bundle/skills/task-repository/SKILL.md +10 -1
  69. package/bundle/skills/task-research/SKILL.md +17 -2
  70. package/bundle/source-assessment.js +38 -0
  71. package/bundle/source-gitee.js +52 -0
  72. package/bundle/source-intake.js +137 -0
  73. package/bundle/source-policy-envelope.js +29 -0
  74. package/bundle/source-routing-tools.js +12 -0
  75. package/bundle/source-routing.js +218 -0
  76. package/bundle/source-search.js +2 -1
  77. package/bundle/store.js +6 -5
  78. package/bundle/task-artifacts.js +51 -12
  79. package/bundle/task-board.js +8 -4
  80. package/bundle/task-catalog.js +4 -3
  81. package/bundle/task-context.js +2 -2
  82. package/bundle/task-continuity-tools.js +14 -0
  83. package/bundle/task-continuity.js +248 -0
  84. package/bundle/task-envelope.js +31 -20
  85. package/bundle/task-notifications.js +6 -2
  86. package/bundle/task-observer-model.js +25 -0
  87. package/bundle/task-observer.js +120 -0
  88. package/bundle/task-results.js +1 -1
  89. package/bundle/task-scheduler.js +3 -3
  90. package/bundle/task-trigger-time.js +17 -12
  91. package/bundle/task-triggers.js +5 -30
  92. package/bundle/task-worker.js +10 -2
  93. package/bundle/task-workflows.js +2 -1
  94. package/bundle/workbench-client.js +165 -30
  95. package/bundle/workbench-decisions.js +22 -5
  96. package/bundle/workbench-host.js +5 -3
  97. package/bundle/worker-tools.js +8 -1
  98. package/compatibility.json +43 -3
  99. package/package.json +3 -3
@@ -3,10 +3,10 @@
3
3
  window.__ModuleLoader__.load({id:'@mogragsigma/dsh-dual-host-plugin',factory:require=>{
4
4
  const React=require('react'),h=React.createElement;
5
5
  let onboardingView,onboardingRpc,onboardingCreateImBridge,onboardingNativeImManager,onboardingCloudImManager;function getOnboardingView(){if(onboardingView)return onboardingView;
6
- var DSHOnboarding=(()=>{var ul=Object.create;var ut=Object.defineProperty;var dl=Object.getOwnPropertyDescriptor;var fl=Object.getOwnPropertyNames;var cl=Object.getPrototypeOf,pl=Object.prototype.hasOwnProperty;var ml=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Il=(e,t)=>{for(var s in t)ut(e,s,{get:t[s],enumerable:!0})},Oo=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of fl(t))!pl.call(e,u)&&u!==s&&ut(e,u,{get:()=>t[u],enumerable:!(n=dl(t,u))||n.enumerable});return e};var Ce=(e,t,s)=>(s=e!=null?ul(cl(e)):{},Oo(t||!e||!e.__esModule?ut(s,"default",{value:e,enumerable:!0}):s,e)),Ll=e=>Oo(ut({},"__esModule",{value:!0}),e);var ge=ml((Us,Do)=>{Do.exports=React});var Ms={};Il(Ms,{CloudImManager:()=>xr,NativeImManager:()=>Sr,Onboarding:()=>Ts,callOnboarding:()=>$o,createImClientBridge:()=>Nr,titles:()=>Ot});var A=Ce(ge());var b=Ce(ge());var ft=Ce(ge());var Eo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dt=(...e)=>e.filter((t,s,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===s).join(" ").trim();var Na=Ce(ge());var Po={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Bo=(0,Na.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:u="",children:l,iconNode:a,...f},m)=>(0,Na.createElement)("svg",{ref:m,...Po,width:t,height:t,stroke:e,strokeWidth:n?Number(s)*24/Number(t):s,className:dt("lucide",u),...f},[...a.map(([p,i])=>(0,Na.createElement)(p,i)),...Array.isArray(l)?l:[l]]));var q=(e,t)=>{let s=(0,ft.forwardRef)(({className:n,...u},l)=>(0,ft.createElement)(Bo,{ref:l,iconNode:t,className:dt(`lucide-${Eo(e)}`,n),...u}));return s.displayName=`${e}`,s};var Aa=q("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var ka=q("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var ba=q("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var ya=q("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var wa=q("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var Oa=q("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Je=q("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var je=q("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var Da=q("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);var Ea=q("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var Pa=q("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var Ba=q("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var Ta=q("FolderGit2",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["path",{d:"M18 19c-2.8 0-5-2.2-5-5v8",key:"pkpw2h"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);var Ma=q("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var ca=q("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var Fa=q("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var Ua=q("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var ea=q("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var Ha=q("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var Ga=q("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);var qa=q("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var Va=q("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var Ra=q("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var Wa=q("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var za=q("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var Ka=q("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var Xa=q("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var $a=q("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var Qa=q("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);var aa=q("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var Ya=q("Unplug",[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]]);var Za=q("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var To={required:"\u5FC5\u586B",optional:"\u9009\u586B",auto:"\u81EA\u52A8\u68C0\u6D4B",conditional:"\u542F\u7528\u540E\u5FC5\u586B"},Y=(e,t,s,n,u)=>({kind:e,what:t,where:s,impact:n,example:u}),ct={\u590D\u7528\u4E91\u7AEF\u4EFB\u52A1\u6A21\u578B:Y("required","\u586B\u5199\u4E91\u7AEF\u9A8C\u6536\u6240\u7528\u7684\u6A21\u578B\u540D\u79F0\u6216\u7B80\u79F0\uFF1B\u6709\u91CD\u540D\u65F6\u518D\u7528\u666E\u901A\u6587\u5B57\u8865\u5145\u63A5\u5165\u540D\u79F0\u3002","\u4EE5\u5F53\u524D\u4E91\u7AEF\u5B9E\u9645\u914D\u7F6E\u6E05\u5355\u4E3A\u51C6\uFF0C\u4E0D\u8F93\u5165 API Key \u6216 provider \u7F16\u53F7\u3002","\u672A\u552F\u4E00\u89E3\u6790\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u6216\u8BBE\u4E3A worker \u7684\u56FA\u5B9A\u9ED8\u8BA4\u6A21\u578B\u3002","ds flash"),"\u6211\u786E\u8BA4\u590D\u7528\u4E0A\u8FF0\u914D\u7F6E\uFF0C\u4EC5\u4FDD\u5B58\u786E\u8BA4\u8BB0\u5F55":Y("required","\u786E\u8BA4\u4FDD\u7559\u9884\u89C8\u4E2D\u7684\u65E2\u6709\u53CC\u7AEF\u3001\u6A21\u578B\u3001\u901A\u77E5\u548C\u53EF\u9009\u4ED3\u5E93\u8BBE\u7F6E\u3002","\u5148\u9884\u89C8\u5E76\u6838\u5BF9\u5F53\u524D\u7AEF\u70B9\u4E0E\u9009\u9879\u540E\u52FE\u9009\u3002","\u4E0D\u52FE\u9009\u4E0D\u4FDD\u5B58\uFF1B\u786E\u8BA4\u4E0D\u63A5\u7BA1 Host\u3001\u4E0D\u65B0\u589E\u5B89\u88C5\u5F52\u5C5E\u3001\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165\u3002"),\u9ED8\u8BA4\u673A\u5668\u4EBA\u6240\u5728\u7AEF:Y("conditional","\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u673A\u5668\u4EBA\u4F5C\u4E3A\u65E5\u5E38\u6536\u53D1\u5165\u53E3\u3002","\u5148\u5728\u8BE5\u7AEF\u539F\u751F IM \u7BA1\u7406\u4E2D\u914D\u7F6E\u673A\u5668\u4EBA\uFF0C\u518D\u8BFB\u53D6\u6E05\u5355\u3002","\u672C\u9875\u53EF\u8DF3\u8FC7\uFF1B\u53EA\u6709\u786E\u8BA4\u9ED8\u8BA4\u8BBE\u7F6E\u540E\u65B0\u5B9A\u65F6\u4EFB\u52A1\u624D\u7EE7\u627F\u3002\u9009\u62E9\u672C\u5730\u65F6\uFF0CMac \u79BB\u7EBF\u4F1A\u5EF6\u8FDF\u901A\u77E5\uFF1B\u9009\u62E9\u4E91\u7AEF\u5219\u4E0D\u4F9D\u8D56 Mac\u3002"),\u673A\u5668\u4EBA\u4E0E\u8FD4\u56DE\u5BF9\u8BDD:Y("conditional","\u9009\u62E9\u9ED8\u8BA4\u63A5\u6536\u4EFB\u52A1\u7ED3\u679C\u7684\u673A\u5668\u4EBA\u53CA\u5DF2\u4FDD\u5B58\u5BF9\u8BDD\uFF0C\u4E0D\u586B\u5185\u90E8 ID\u3002","\u4ECE\u5F53\u524D\u6240\u9009\u7AEF\u7684 IM \u516C\u5F00\u63A5\u53E3\u8BFB\u53D6\uFF1B\u9996\u6B21\u53EF\u5148\u79C1\u804A\u673A\u5668\u4EBA\u5E76\u4FDD\u5B58\u8BE5\u901A\u77E5\u76EE\u6807\u3002","\u672A\u7ED1\u5B9A\u65F6\u4E0D\u4F1A\u731C\u6D4B\u6536\u4EF6\u4EBA\uFF0C\u4E0D\u4F1A\u5411\u5176\u4ED6\u4EBA\u6216\u7FA4\u53D1\u9001\uFF1B\u591A\u4E2A\u5019\u9009\u65F6\u5FC5\u987B\u9009\u62E9\u3002"),"\u6211\u786E\u8BA4\u6B64\u9ED8\u8BA4\u6536\u53D1\u8BBE\u7F6E\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03":Y("required","\u786E\u8BA4\u9884\u89C8\u4E2D\u7684\u53D1\u9001\u7AEF\u3001\u673A\u5668\u4EBA\u548C\u8FD4\u56DE\u5BF9\u8BDD\u3002","\u6838\u5BF9\u9884\u89C8\u540E\u52FE\u9009\uFF0C\u518D\u786E\u8BA4\u4FDD\u5B58\u3002","\u4E0D\u52FE\u9009\u4E0D\u4FDD\u5B58\uFF1B\u66F4\u6362\uFF0F\u505C\u7528\u53EA\u7EC8\u6B62\u7EE7\u627F\u9ED8\u8BA4\u503C\u7684\u5F85\u53D1\u901A\u77E5\uFF0C\u4E0D\u4FEE\u6539\u663E\u5F0F\u4EFB\u52A1\u901A\u77E5\uFF0C\u4E0D\u80FD\u64A4\u56DE\u5DF2\u7ECF\u53D1\u9001\u7684\u6D88\u606F\u3002"),"\u6211\u786E\u8BA4\u91CD\u542F\uFF0C\u5E76\u7406\u89E3\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u6062\u590D":Y("required","\u786E\u8BA4\u542F\u52A8\u8FD9\u4E2A\u5DF2\u505C\u6B62\u7684\u72EC\u7ACB Host\uFF0C\u5E76\u77E5\u6653\u5DF2\u6709\u5DE5\u4F5C\u6216\u673A\u5668\u4EBA\u8FDE\u63A5\u53EF\u80FD\u6062\u590D\u3002","\u6838\u5BF9\u5F53\u524D\u5B89\u88C5\u76EE\u5F55\u3001\u914D\u7F6E\u53D8\u5316\u548C\u65B0\u91CD\u542F\u8BA1\u5212\u540E\u52FE\u9009\u3002","\u4E0D\u52FE\u9009\u4E0D\u91CD\u542F\uFF1B\u4E0D\u662F\u96F6\u6A21\u578B\u4FDD\u8BC1\uFF0C\u4E0D\u91CD\u6279\u4EFB\u52A1\u6216\u5F00\u653E\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u3002"),\u672C\u6B21\u7EF4\u62A4\u7684\u673A\u5668\u4EBA:Y("conditional","\u9009\u62E9\u5F53\u524D Host \u4E2D\u9700\u8981\u7EF4\u62A4\u7684\u98DE\u4E66\u673A\u5668\u4EBA\uFF0C\u4E0D\u586B\u5199\u5185\u90E8\u7F16\u53F7\u3002","\u70B9\u51FB\u624B\u52A8\u6838\u5BF9\u540E\uFF0C\u4ECE\u672C\u7AEF\u5B9E\u65F6\u8FDE\u63A5\u6E05\u5355\u6309\u540D\u79F0\u9009\u62E9\u3002","\u9884\u89C8\u65AD\u5F00\u6216\u6062\u590D\u524D\u5FC5\u9009\uFF1B\u53EA\u8BFB\u6838\u5BF9\u4E0D\u5FC5\u9009\uFF0C\u4E0D\u4F1A\u56E0\u6B64\u81EA\u52A8\u64CD\u4F5C\u3002"),"\u6211\u786E\u8BA4\u672C\u6B21\u65AD\u5F00\u673A\u5668\u4EBA\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM":Y("required","\u6388\u6743\u672C\u6B21\u6709\u635F\u65AD\u5F00\uFF0C\u53EF\u80FD\u4E2D\u6B62\u53D1\u9001\u3001\u5A92\u4F53\u548C\u5F85\u51B3\u4EA4\u4E92\u3002","\u6838\u5BF9\u6240\u9009\u673A\u5668\u4EBA\u4E0E\u5F85\u786E\u8BA4\u8BA1\u5212\uFF0C\u4E0D\u6CBF\u7528\u65E7\u6279\u51C6\u3002","\u4E0D\u52FE\u9009\u4E0D\u6267\u884C\uFF1B\u914D\u7F6E\u4FDD\u7559\uFF0C\u6062\u590D\u53E6\u786E\u8BA4\uFF0CHost \u91CD\u542F\u4ECD\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\u3002"),"\u6211\u786E\u8BA4\u672C\u6B21\u6062\u590D\u673A\u5668\u4EBA\u8FDE\u63A5\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM":Y("required","\u4EC5\u6062\u590D\u672C\u63D2\u4EF6\u4E4B\u524D\u65AD\u5F00\u7684\u673A\u5668\u4EBA\u8FDE\u63A5\uFF0C\u4E0D\u91CD\u53D1\u65E7\u6D88\u606F\u3002","\u6838\u5BF9\u5F53\u524D Host\u3001\u673A\u5668\u4EBA\u548C\u72EC\u7ACB\u6062\u590D\u8BA1\u5212\u3002","\u4E0D\u52FE\u9009\u4E0D\u6062\u590D\uFF1B\u4E0D\u662F\u6574\u673A\u6062\u590D\u3001\u53D1\u9001\u6210\u529F\u6216\u4EFB\u52A1\u6267\u884C\u6388\u6743\u3002"),"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":Y("required","\u53EA\u628A\u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF\u5199\u5165\u7EF4\u62A4\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u673A\u5668\u4EBA\u3002","\u5148\u624B\u52A8\u67E5\u8BE2\u672A\u77E5\u8BF7\u6C42\uFF0C\u518D\u9884\u89C8\u8865\u8BB0\u8BA1\u5212\u3002","\u4E0D\u52FE\u9009\u4E0D\u8865\u8BB0\uFF1B\u5F53\u524D\u79BB\u7EBF\u4E0D\u8BC1\u660E\u539F\u53D1\u9001\u6210\u529F\uFF0C\u4E5F\u4E0D\u6388\u6743\u5347\u7EA7\u6216\u505C\u673A\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5E94\u7528\u4E0A\u8FF0\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u8BA1\u5212":Y("required","\u6838\u5BF9\u5B9E\u9645\u8DEF\u5F84\u3001\u53D8\u66F4\u4E0E\u4FDD\u7559\u9879\u540E\uFF0C\u6388\u6743\u8FD9\u4E00\u6B21\u672C\u7AEF\u7EF4\u62A4\u3002","\u4EE5\u5F53\u524D Host \u65B0\u751F\u6210\u7684\u8BA1\u5212\u4E3A\u51C6\uFF0C\u4E0D\u4F7F\u7528\u5386\u53F2\u622A\u56FE\u6216\u53E6\u4E00\u7AEF\u56DE\u6267\u3002","\u672A\u52FE\u9009\u4E0D\u80FD\u5E94\u7528\uFF1B\u4E0D\u5378\u8F7D\u63D2\u4EF6\u672C\u4F53\uFF0C\u4E0D\u6388\u6743\u4E91\u7AEF\u6216\u4EFB\u52A1\u5199\u5165\u3002"),\u6211\u786E\u8BA4\u4EC5\u6309\u4E0A\u8FF0\u8BA1\u5212\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1:Y("required","\u540C\u610F\u8865\u9F50\u5DF2\u63D0\u4EA4\u4E8B\u52A1\u7684\u6536\u5C3E\uFF0C\u6216\u56DE\u6EDA\u672A\u5B8C\u6210\u53D8\u66F4\uFF1B\u4EE5\u8BA1\u5212\u6807\u9898\u4E3A\u51C6\u3002","\u5148\u624B\u52A8\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u518D\u9884\u89C8\u6062\u590D\uFF0C\u4E0D\u586B\u5199\u5185\u90E8\u7F16\u53F7\u3002","\u672A\u52FE\u9009\u4E0D\u6062\u590D\uFF1B\u5E76\u53D1\u4FEE\u6539\u548C\u672A\u77E5\u6587\u4EF6\u4FDD\u7559\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u3002"),"\u6211\u786E\u8BA4\u53EA\u5904\u7406\u6B64\u6587\u4EF6\uFF0C\u4FDD\u6301\u505C\u7528\u4E14\u4E0D\u91CD\u7F6E\u6B21\u6570":Y("required","\u6838\u5BF9\u6240\u9009\u6587\u4EF6\u3001\u65B9\u5411\u548C\u5927\u5C0F\uFF0C\u7136\u540E\u5355\u72EC\u786E\u8BA4\u4FDD\u7559\u6216\u6062\u590D\u3002","\u4EE5\u6B64\u9875\u539F\u961F\u5217\u9884\u89C8\u4E3A\u51C6\uFF0C\u4E0D\u8F93\u5165\u5185\u90E8\u7F16\u53F7\u3002","\u4E0D\u52FE\u9009\u4E0D\u4F1A\u63D0\u4EA4\u51B3\u5B9A\uFF1B\u6062\u590D\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u65B0 ID\u3001\u4E0D\u91CD\u7F6E\u9884\u7B97\u3002"),"\u6211\u786E\u8BA4\u53EA\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u51B3\u5B9A\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743":Y("required","\u4EC5\u5173\u95ED\u539F\u672A\u77E5\u51B3\u5B9A\u7684\u8FDF\u5230\u8BF7\u6C42\uFF0C\u4E0D\u64A4\u9500\u5DF2\u8BB0\u8D26\u7684\u51B3\u5B9A\u3002","\u5148\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u82E5\u5DF2\u5B8C\u6210\uFF0C\u663E\u793A\u539F\u7ED3\u679C\u3002","\u4E0D\u52FE\u9009\u4E0D\u5173\u95ED\uFF1B\u5173\u95ED\u4E0D\u505C\u6B62\u5F15\u64CE\u3001\u4E0D\u6539\u76EE\u5F55\u6388\u6743\u3001\u4E0D\u5220\u9664\u6587\u4EF6\u3002"),"\u6211\u786E\u8BA4\u8FC1\u79FB\u8303\u56F4\u3001\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55":Y("required","\u53EA\u628A\u5DF2\u505C\u7528\u7684\u6587\u4EF6\u80FD\u529B\u8FC1\u79FB\u5230\u9884\u89C8\u7684\u65B0\u8303\u56F4\u3002","\u6838\u5BF9\u65B0\u65E7\u76EE\u5F55\u3001\u4E0A\u9650\u548C\u53D7\u5F71\u54CD\u8BB0\u5F55\u6570\u91CF\u540E\u52FE\u9009\u3002","\u672A\u52FE\u9009\u4E0D\u8FC1\u79FB\u3002\u5B8C\u6210\u540E\u4ECD\u505C\u7528\uFF1B\u65E7\u961F\u5217\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF0C\u6587\u4EF6\u4E0D\u5220\u9664\u3002"),"\u6211\u786E\u8BA4\u53EA\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4E0D\u542F\u7528\u6216\u91CD\u53D1":Y("required","\u4EC5\u6838\u5BF9\u5E76\u7EED\u5B8C\u540C\u4E00\u5DF2\u786E\u8BA4\u7684\u8FC1\u79FB\u4E8B\u52A1\u3002","\u5148\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF0C\u6838\u5BF9\u5F53\u524D\u8303\u56F4\u548C\u539F\u8FC1\u79FB\u72B6\u6001\u3002","\u4E0D\u52FE\u9009\u4E0D\u7EE7\u7EED\u3002\u76EE\u5F55\u6216\u8D26\u672C\u4E0D\u5339\u914D\u4ECD\u505C\u6B62\uFF0C\u4E0D\u8986\u76D6\u3001\u4E0D\u91CD\u53D1\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":{kind:"required",what:"\u786E\u8BA4\u53EA\u5173\u95ED\u539F\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u6301\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6\u3002",where:"\u6838\u5BF9\u4E91\u7AEF\u73AF\u5883\u548C\u539F\u56DE\u6267\u540E\u52FE\u9009\u3002",impact:"\u4E0D\u52FE\u9009\u4E0D\u4F1A\u5EFA\u7ACB\u7248\u672C\u5C4F\u969C\uFF1B\u5173\u95ED\u4E0D\u7B49\u4E8E\u505C\u7528\uFF0C\u4E5F\u4E0D\u6388\u6743\u91CD\u53D1\u3002"},\u6587\u4EF6\u53D1\u9001\u76EE\u5F55:Y("optional","\u5F53\u524D Host \u53EF\u53D1\u9001\u7684\u4E13\u7528\u76EE\u5F55\uFF0C\u6BCF\u884C\u4E00\u4E2A\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u4E0D\u662F\u6587\u4EF6\u5185\u5BB9\u6216 IM \u9644\u4EF6\u8DEF\u5F84\u3002","\u53EF\u7559\u7A7A\u4F7F\u7528\u672C\u9879\u76EE\u53D1\u4EF6\u76EE\u5F55\uFF1B\u81EA\u9009\u76EE\u5F55\u9700\u5148\u5B58\u5728\uFF0C\u4E0D\u542B\u4E3B\u76EE\u5F55\u6216\u53D7\u4FDD\u62A4\u914D\u7F6E\u3002","\u7559\u7A7A\u4E0D\u6388\u6743\u5176\u4ED6\u76EE\u5F55\u3002\u542F\u7528\u524D\u5C55\u793A\u5B9E\u9645\u8303\u56F4\uFF0C\u5DF2\u6709\u8303\u56F4\u8C03\u6574\u9700\u4E13\u95E8\u8FC1\u79FB\uFF0C\u4E0D\u80FD\u76F4\u63A5\u8986\u5199\u3002"),\u5355\u6587\u4EF6\u4E0A\u9650:Y("required","\u81EA\u6709 Host \u6587\u4EF6\u76F4\u4F20\u7684\u5355\u6587\u4EF6\u5927\u5C0F\u4E0A\u9650\u3002","\u6309\u4F60\u7684\u6587\u4EF6\u9700\u6C42\u9009\u62E9\uFF1B\u4E0A\u9650\u4E0D\u8D85\u8FC7 2 MiB\u3002","\u8D85\u9650\u62D2\u7EDD\uFF0C\u4E0D\u81EA\u52A8\u538B\u7F29\u3001\u62C6\u5206\u6216\u6539\u7528\u5176\u4ED6\u901A\u9053\u3002IM \u81EA\u8EAB\u5E73\u53F0\u9650\u5236\u4ECD\u72EC\u7ACB\u751F\u6548\u3002"),"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u4E0D\u6388\u6743\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165":Y("required","\u53EA\u542F\u7528\u6216\u505C\u7528\u9884\u89C8\u4E2D\u7684\u5F53\u524D Host \u6587\u4EF6\u76F4\u4F20\u3002","\u6838\u5BF9\u76EE\u5F55\u3001\u5B9E\u9645\u7AEF\u548C\u5355\u6587\u4EF6\u4E0A\u9650\u3002","\u672A\u786E\u8BA4\u4E0D\u5E94\u7528\u3002\u505C\u7528\u4FDD\u7559\u6587\u4EF6\u548C\u961F\u5217\uFF0C\u63A5\u6536\u4E0D\u7B49\u4E8E\u9605\u8BFB\u3001\u6267\u884C\u3001\u5BA1\u6279\u6216 Git \u5199\u5165\u3002"),\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E:Y("optional","\u6A21\u578B\u5728\u591A\u4E2A\u63A5\u5165\u4E2D\u91CD\u540D\u65F6\uFF0C\u7528\u6613\u61C2\u7684\u63A5\u5165\u540D\u79F0\u8865\u5145\u9009\u62E9\uFF0C\u4E0D\u586B provider \u7F16\u53F7\u6216 Key\u3002","\u4F7F\u7528\u4E0B\u65B9\u5019\u9009\u5C55\u793A\u7684\u540D\u79F0\uFF0C\u4E5F\u53EF\u70B9\u51FB\u5019\u9009\u5C06\u5B83\u586B\u5165\u3002","\u552F\u4E00\u5339\u914D\u65F6\u53EF\u8DF3\u8FC7\uFF1B\u6709\u6B67\u4E49\u65F6\u4E0D\u8C03\u7528\u6A21\u578B\u3002\u8865\u5145\u540E\u4ECD\u9700\u91CD\u65B0\u6838\u5BF9\uFF0C\u672A\u552F\u4E00\u5339\u914D\u5219\u7EE7\u7EED\u6F84\u6E05\u3002","\u8BF7\u7528 DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09"),\u767B\u8BB0\u8BBF\u95EE\u8EAB\u4EFD:Y("required","\u767B\u8BB0\u6B64\u4ED3\u5E93\u7684\u8BFB\u53D6\u8EAB\u4EFD\uFF1A\u533F\u540D\uFF0C\u6216\u4EC5\u7528\u76EE\u6807\u7AEF\u672C\u9879\u76EE\u7684 Gitee \u4EE4\u724C\u3002","\u79C1\u6709\u4ED3\u5E93\u5148\u5728\u76EE\u6807\u7AEF\u4FDD\u5B58\uFF0F\u4EA4\u63A5\u72EC\u7ACB\u4EE4\u724C\u3002","\u5FC5\u987B\u660E\u786E\u9009\u62E9\uFF1B\u5931\u8D25\u4E0D\u6362\u51ED\u636E\u3001\u4E0D\u4F7F\u7528\u65E5\u5E38\u4EE4\u724C\uFF0C\u4E5F\u4E0D\u8BC1\u660E Git SSH \u53EF\u7528\u3002"),"\u6211\u786E\u8BA4\u4EC5\u53D8\u66F4\u672C\u9879\u76EE\u4ED3\u5E93\u767B\u8BB0\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216 Git \u5199\u5165":Y("required","\u53EA\u6279\u51C6\u9884\u89C8\u4E2D\u7684\u767B\u8BB0\u3001\u505C\u7528\u6216\u672A\u77E5\u64CD\u4F5C\u5173\u95ED\u3002","\u6838\u5BF9\u5B9E\u9645 Host\u3001\u5730\u5740\u3001\u522B\u540D\u548C\u8BBF\u95EE\u65B9\u5F0F\u3002","\u672A\u786E\u8BA4\u4E0D\u80FD\u5E94\u7528\uFF1B\u767B\u8BB0\u4E0D\u521B\u5EFA\u4EFB\u52A1\u3001\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002"),\u6838\u9A8C\u5206\u652F:Y("optional","\u672C\u6B21\u53EA\u8BFB\u67E5\u8BE2\u7684\u5206\u652F\u540D\u79F0\u3002","Gitee \u4EFB\u52A1\u4ED3\u5E93\u5DF2\u6709\u5206\u652F\uFF1B\u4E0D\u5728\u6B64\u521B\u5EFA\u3002","\u7559\u7A7A\u67E5\u8BE2\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u3002\u6B64\u9009\u62E9\u4E0D\u7ED1\u5B9A\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u4FDD\u5B58\u4E3A\u6240\u6709\u4EFB\u52A1\u7684\u9ED8\u8BA4\u5206\u652F\u3002","main"),\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD:Y("required","\u9009\u62E9\u533F\u540D\u8BFB\u53D6\uFF0C\u6216\u4EC5\u4F7F\u7528\u5B9E\u9645\u67E5\u8BE2\u7AEF\u672C\u9879\u76EE\u4FDD\u5B58\u7684 Gitee \u4EE4\u724C\u3002","\u516C\u5F00\u4ED3\u5E93\u901A\u5E38\u53EF\u533F\u540D\uFF1B\u79C1\u6709\u4ED3\u5E93\u9700\u5728\u672C\u7AEF\u4FDD\u5B58\u4EE4\u724C\uFF0C\u4E91\u7AEF\u5219\u5728\u7B2C 6 \u9875\u5355\u72EC\u4EA4\u63A5\u3002","\u533F\u540D\u5931\u8D25\u4E0D\u4F1A\u81EA\u52A8\u501F\u7528\u4EFB\u4F55\u51ED\u636E\uFF1B\u672C\u7AEF\u8BFB\u53D6\u6210\u529F\u4E0D\u80FD\u66FF\u4EE3\u4E91\u7AEF\u6743\u9650\u3002"),"Gitee \u8BBF\u95EE\u4EE4\u724C":Y("optional","\u7528\u4E8E Gitee \u5B98\u65B9 API \u7684\u72EC\u7ACB\u4E2A\u4EBA\u8BBF\u95EE\u4EE4\u724C\uFF0C\u4E0D\u662F SSH \u79C1\u94A5\u3002","\u7531\u7528\u6237\u5728 Gitee \u8D26\u53F7\u4E2D\u6309\u9700\u7533\u8BF7\uFF1B\u4E0D\u8981\u53D1\u5230\u804A\u5929\u6216\u5199\u5165\u666E\u901A\u8868\u5355\u3002","\u516C\u5F00\u4ED3\u5E93\u53EF\u8DF3\u8FC7\uFF1B\u672A\u4FDD\u5B58\u6216\u672A\u4EA4\u63A5\u65F6\uFF0C\u76EE\u6807\u7AEF\u4E0D\u80FD\u7528\u53D7\u7BA1\u4EE4\u724C\u6838\u9A8C\u79C1\u6709\u4ED3\u5E93\u3002\u4FDD\u5B58\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u6743\u9650\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165":Y("required","\u6838\u5BF9\u76EE\u6807\u76EE\u5F55\u540E\u786E\u8BA4\u53EA\u4FDD\u5B58\u8BE5\u72EC\u7ACB Gitee \u4EE4\u724C\u3002","\u4EE5\u672C\u6B21\u4EA4\u63A5\u8BA1\u5212\u663E\u793A\u7684\u4E91\u7AEF\u8EAB\u4EFD\u548C\u8DEF\u5F84\u4E3A\u51C6\u3002","\u672A\u52FE\u9009\u4E0D\u53D1\u9001\uFF1B\u540E\u7EED\u4ED3\u5E93\u8BBF\u95EE\u3001\u4EFB\u52A1\u7ED1\u5B9A\u548C\u6BCF\u7C7B\u5199\u5165\u4ECD\u987B\u5206\u522B\u6838\u9A8C\u3002"),"\u4E3A\u4E91\u7AEF\u5B89\u88C5\u53EF\u9009 IM \u63D2\u4EF6":Y("optional","\u9009\u62E9\u662F\u5426\u5728\u672C\u6B21\u72EC\u7ACB\u4E91\u7AEF Host \u5B89\u88C5\u5B98\u65B9 IM 5.0.3\u3002","\u9700\u8981\u4ECE IM \u8054\u7CFB\u4E91\u7AEF\u65F6\u52FE\u9009\uFF1B\u5B89\u88C5\u8BA1\u5212\u4F1A\u5217\u51FA\u56FA\u5B9A\u7248\u672C\u3002","\u4E0D\u9009\u4E0D\u4E0B\u8F7D\u6216\u52A0\u8F7D IM\uFF0C\u4ECD\u53EF\u7528 Desktop \u4E0E\u6A21\u578B\u3002\u52FE\u9009\u4E0D\u4F20\u9001\u51ED\u636E\u3001\u4E0D\u7ED1\u5B9A\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\uFF1B\u65E2\u6709\u5B9E\u4F8B\u4E0D\u80FD\u501F\u6B64\u9009\u9879\u6539\u88C5\u3002"),"SSH \u8BA4\u8BC1\u65B9\u5F0F":Y("required","\u4F7F\u7528\u5F53\u524D\u7535\u8111\u5DF2\u6709\u79C1\u94A5\u6587\u4EF6\uFF0C\u6216\u5DF2\u914D\u7F6E\u7684 SSH \u4EE3\u7406\u3002","ECS \u5BC6\u94A5\u767B\u5F55\u914D\u7F6E\u6216\u7CFB\u7EDF SSH \u4EE3\u7406\u3002","\u4E0D\u4F7F\u7528\u5BC6\u7801\uFF0C\u4E0D\u590D\u5236\u79C1\u94A5\uFF1B\u4EE3\u7406\u4E0D\u53EF\u7528\u65F6\u4E0D\u4F1A\u81EA\u52A8\u6362\u7528\u5176\u4ED6\u8EAB\u4EFD\u3002"),"SSH \u79C1\u94A5\u6587\u4EF6\u8DEF\u5F84":Y("conditional","\u5F53\u524D Host \u4E0A\u5DF2\u6709\u79C1\u94A5\u7684\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/ \u5F00\u5934\u7684\u8DEF\u5F84\uFF0C\u4E0D\u662F\u79C1\u94A5\u5185\u5BB9\u3002","\u4F60\u7533\u8BF7 ECS \u767B\u5F55\u5BC6\u94A5\u540E\u4FDD\u5B58\u5728\u672C\u673A\u7684\u4F4D\u7F6E\u3002","\u9009\u62E9\u79C1\u94A5\u6587\u4EF6\u65F6\u5FC5\u586B\uFF1B\u5FC5\u987B\u5B58\u5728\u4E14\u6743\u9650\u5B89\u5168\u3002\u4E0D\u4F1A\u4E0A\u4F20\u79C1\u94A5\u3002"),\u6211\u5DF2\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\u8FD9\u4E9B\u4E3B\u673A\u516C\u94A5:Y("required","\u786E\u8BA4\u7F51\u7EDC\u626B\u63CF\u5F97\u5230\u7684\u516C\u94A5\u6307\u7EB9\u4E0E\u53EF\u4FE1\u4FE1\u606F\u4E00\u81F4\u3002","\u901A\u8FC7 ECS \u63A7\u5236\u53F0\u6267\u884C ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub\uFF0C\u6216\u5411\u7BA1\u7406\u5458\u6838\u5BF9\u3002","\u672A\u7ECF\u6838\u5BF9\u4E0D\u80FD\u4FE1\u4EFB\u6216\u8FDE\u63A5\uFF1B\u516C\u94A5\u53D8\u5316\u65F6\u505C\u6B62\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u3002"),"API Key":Y("conditional","\u6A21\u578B\u670D\u52A1\u5546\u9881\u53D1\u7684 API Key\u3002\u53EA\u5728\u6B64\u72EC\u7ACB\u5BC6\u7801\u6846\u586B\u5199\u3002","DeepSeek \u5B98\u65B9\u6216\u5DF2\u5F00\u901A\u7684\u6A21\u578B\u5957\u9910\u63A7\u5236\u53F0\u3002","\u52FE\u9009\u786E\u8BA4\u5E76\u4FDD\u5B58\u540E\u4EC5\u8FDB\u5165\u5F53\u524D Host \u5B98\u65B9\u51ED\u636E\u670D\u52A1\uFF1B\u4E0D\u81EA\u52A8\u8FDE\u63A5\u6A21\u578B\u6216\u4F20\u9001\u81F3 ECS\u3002"),\u6211\u786E\u8BA4\u4FDD\u5B58\u6216\u79FB\u9664\u8FD9\u4E2A\u72EC\u7ACB\u51ED\u636E:Y("required","\u4EC5\u6388\u6743\u4FEE\u6539\u672C\u9879\u76EE\u9009\u5B9A\u69FD\u4F4D\u7684\u51ED\u636E\u3002","\u6838\u5BF9\u69FD\u4F4D\u540D\u79F0\u540E\u52FE\u9009\u3002","\u4E0D\u4F1A\u8986\u76D6\u5176\u4ED6\u7528\u6237\u8BB0\u5F55\uFF0C\u4E5F\u4E0D\u662F\u8C03\u7528\u6A21\u578B\u3001\u5F00\u53D1\u6216\u521D\u59CB\u5316\u6388\u6743\u3002"),\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807:Y("optional","\u9009\u62E9\u672C\u7AEF\u5168\u5C40\u89C4\u5219\u7684\u8FFD\u52A0\u4F4D\u7F6E\uFF0C\u4E0D\u662F\u9879\u76EE\u89C4\u5219\u3002","\u5B98\u65B9 Host \u7684\u8FDB\u7A0B\u6839\uFF1B\u4E0B\u62C9\u9009\u9879\u7531\u63D2\u4EF6\u63D0\u4F9B\uFF0C\u4E0D\u63A5\u53D7\u4EFB\u610F\u8DEF\u5F84\u3002","\u4EC5\u4E00\u4EFD\u5DF2\u6709\u6587\u4EF6\u65F6\u81EA\u52A8\u9009\u7528\uFF0C\u4E24\u4EFD\u90FD\u6709\u65F6\u5FC5\u987B\u660E\u786E\uFF1B\u6CA1\u6709\u5219\u9ED8\u8BA4\u521B\u5EFA DSH \u5168\u5C40\u6587\u4EF6\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5728\u5F53\u524D\u9694\u79BB Host \u5E94\u7528\u8FD9\u4EFD\u89C4\u5219\u4E0E Skill \u8BA1\u5212":Y("required","\u6388\u6743\u9884\u89C8\u4E2D\u8FD9\u6279\u5168\u5C40\u89C4\u5219\u4E0E Skill \u6587\u4EF6\u53D8\u66F4\u3002","\u6838\u5BF9\u6587\u4EF6\u3001\u589E\u91CF\u548C\u51B2\u7A81\u540E\u52FE\u9009\uFF0C\u518D\u70B9\u51FB\u5E94\u7528\u3002","\u672A\u786E\u8BA4\u4E0D\u80FD\u5B89\u88C5\uFF1B\u4E0D\u6388\u6743 ECS\u3001\u6A21\u578B\u8C03\u7528\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u53D1\u5E03\u3002"),"\u6211\u5DF2\u9605\u8BFB\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u67E5\u770B\u4E0B\u4E00\u9875\uFF08\u4E0D\u6388\u6743\u6267\u884C\uFF09":Y("required","\u786E\u8BA4\u5DF2\u9605\u8BFB\u672C\u671F\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u524D\u5F80\u672A\u6267\u884C\u9636\u6BB5\u8BF4\u660E\u3002","\u67E5\u770B\u5F53\u524D\u5019\u9009\u8DEF\u5F84\u3001\u89C4\u5219\u4E0E Skill \u51B2\u7A81\u63D0\u793A\u540E\u52FE\u9009\u3002","\u672A\u52FE\u9009\u4E0D\u80FD\u8FDB\u5165\u4E0B\u4E00\u9875\uFF1B\u5373\u4F7F\u52FE\u9009\u4E5F\u4E0D\u4F1A\u6388\u6743\u521D\u59CB\u5316\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002"),"ECS \u5730\u5740":Y("required","\u4E91\u7AEF ECS \u7684 IP \u6216\u4E3B\u673A\u540D\uFF0C\u4E0D\u662F Web \u767B\u5F55\u5730\u5740\u3002","ECS \u5B9E\u4F8B\u8FDE\u63A5\u4FE1\u606F\u6216\u7BA1\u7406\u5458\u3002","\u4E3A\u7A7A\u6216\u683C\u5F0F\u9519\u8BEF\u4E0D\u80FD\u7EE7\u7EED\u3002\u672C\u671F\u53EA\u6821\u9A8C\u683C\u5F0F\uFF0C\u4E0D\u53D1\u8D77 SSH\u3002","192.0.2.24\uFF08\u6587\u6863\u793A\u4F8B\uFF09"),"SSH \u767B\u5F55\u7528\u6237":Y("required","SSH \u767B\u5F55\u8D26\u53F7\uFF0C\u4E0D\u662F\u673A\u5668\u4EBA\u6635\u79F0\uFF1B\u4E0D\u7B49\u4E8E DSH \u670D\u52A1\u8D26\u53F7\u3002","\u670D\u52A1\u5668\u7BA1\u7406\u5458\u3002","\u4E3A\u7A7A\u4E0D\u80FD\u7EE7\u7EED\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u4E3A root\u3002","dsh-user"),"SSH \u7AEF\u53E3":Y("required","SSH \u670D\u52A1\u7AEF\u53E3\uFF0C1\u201365535\u3002","\u7BA1\u7406\u5458\u63D0\u4F9B\uFF1B\u9ED8\u8BA4 22\u3002","\u7F3A\u5C11\u6216\u683C\u5F0F\u9519\u8BEF\u4E0D\u80FD\u7EE7\u7EED\u3002"),"SSH \u51ED\u636E\u5F15\u7528":Y("required","\u8BA1\u5212\u4F7F\u7528\u7684\u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF0C\u4E0D\u662F\u5BC6\u7801\u6216\u79C1\u94A5\u5185\u5BB9\u3002","\u4F60\u8BA1\u5212\u4F7F\u7528\u7684\u51ED\u636E\u8BB0\u5F55\u540D\u79F0\uFF1B\u540E\u7EED\u5B89\u5168\u914D\u7F6E\u9636\u6BB5\u518D\u7ED1\u5B9A\u3002","\u7F3A\u5C11\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u540D\u79F0\u5B58\u5728\u4E0D\u4EE3\u8868\u51ED\u636E\u53EF\u7528\uFF0C\u4E0D\u590D\u5236 Git \u79C1\u94A5\u3002","ecs-login"),"DeepSeek \u51ED\u636E\u5F15\u7528":Y("required","DeepSeek \u5B98\u65B9 API Key \u7684\u5F15\u7528\u540D\uFF0C\u4E0D\u8F93\u5165 Key \u539F\u6587\u3002","\u4F8B\u5982\u8BA1\u5212\u914D\u7F6E\u7684\u73AF\u5883\u53D8\u91CF\u540D\uFF1B\u666E\u901A\u8868\u5355\u4E0D\u8BFB\u53D6\u5176\u503C\uFF1B\u4E5F\u53EF\u4F7F\u7528\u4E0A\u65B9\u72EC\u7ACB\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u7F3A\u5C11\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u7F51\u7EDC\u548C\u51ED\u636E\u6709\u6548\u6027\u4ECD\u5F85\u540E\u7EED\u9A8C\u6536\u3002","DEEPSEEK_API_KEY"),\u4E91\u7AEF\u72EC\u7ACB\u51ED\u636E\u5F15\u7528:Y("conditional","\u4E91\u7AEF\u4F7F\u7528\u7684\u72EC\u7ACB DeepSeek \u51ED\u636E\u540D\u79F0\u3002","\u4E91\u7AEF\u670D\u52A1\u7BA1\u7406\u5458\u63D0\u4F9B\u7684\u5F15\u7528\u540D\u3002","\u9009\u62E9\u72EC\u7ACB\u51ED\u636E\u65F6\u5FC5\u586B\uFF1B\u5171\u4EAB\u610F\u5411\u4E5F\u4E0D\u6388\u6743\u672C\u671F\u4F20\u8F93\u51ED\u636E\u3002","CLOUD_DEEPSEEK_API_KEY"),\u51ED\u636E\u7528\u9014:Y("required","\u9009\u62E9\u4E24\u7AEF\u4F7F\u7528\u540C\u4E00\u51ED\u636E\u8FD8\u662F\u5206\u522B\u914D\u7F6E\u3002","\u6309\u4F60\u7684\u7528\u9014\u3001\u8BA1\u8D39\u548C\u7BA1\u7406\u8981\u6C42\u9009\u62E9\u3002","\u5FC5\u987B\u660E\u786E\u8303\u56F4\uFF1B\u5171\u4EAB\u4EC5\u4E3A\u610F\u5411\uFF0C\u4E0D\u81EA\u52A8\u5411 ECS \u4F20\u9001\u5BC6\u94A5\u3002"),\u521D\u59CB\u4EFB\u52A1\u6A21\u578B:Y("required","\u6A21\u578B\u540D\u79F0\u6216\u81EA\u7136\u8BED\u8A00\u7B80\u79F0\uFF0C\u4E0D\u8981\u6C42 provider \u7F16\u53F7\u3002","\u6309\u76EE\u6807\u7AEF\u8BA1\u5212\u914D\u7F6E\u9009\u62E9\uFF0C\u5982\u201Cds flash\u201D\u3002","\u4E3A\u7A7A\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u6B64\u5904\u53EA\u68C0\u67E5\u586B\u5199\uFF0C\u4E0D\u58F0\u79F0\u5DF2\u89E3\u6790\u4E3A\u53EF\u7528\u6A21\u578B\uFF0C\u4E0D\u6539\u53D8\u9ED8\u8BA4\u6A21\u578B\u3002","ds flash"),\u63A5\u5165\u5957\u9910:Y("conditional","\u53EF\u9009\u6A21\u578B\u5957\u9910\u4E0E\u533A\u57DF\u3002","\u5DF2\u5F00\u901A\u7684\u6A21\u578B\u5957\u9910\u63A7\u5236\u53F0\u3002","\u542F\u7528\u540E\u5FC5\u9009\uFF1B\u4E0D\u81EA\u52A8\u5207\u6362\u4E3A\u6309\u91CF\u4ED8\u8D39\u3002"),"Token Plan \u51ED\u636E\u5F15\u7528":Y("optional","\u672C\u7AEF\u6A21\u578B\u5957\u9910 Key \u7684\u5F15\u7528\uFF0C\u4E0D\u662F RAM AccessKey \u6216 SSH \u79C1\u94A5\u3002","\u4E0A\u65B9\u201C\u672C\u7AEF\u963F\u91CC\u4E91 Token Plan\u201D\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u542F\u7528\u5957\u9910\u540E\u672C\u7AEF\u3001\u4E91\u7AEF\u81F3\u5C11\u586B\u4E00\u7AEF\uFF1B\u53EA\u914D\u7F6E\u4E91\u7AEF\u65F6\u672C\u9879\u53EF\u7559\u7A7A\uFF0C\u4E0D\u5F71\u54CD DeepSeek\u3002","TOKEN_PLAN_API_KEY"),"\u4E91\u7AEF Token Plan \u51ED\u636E\u5F15\u7528":Y("optional","\u4E91\u7AEF\u6A21\u578B\u5957\u9910\u4E13\u7528 Key \u7684\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002","\u4F7F\u7528\u4E0A\u65B9\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\u72EC\u7ACB\u51ED\u636E\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u7559\u7A7A\u53EF\u8DF3\u8FC7\u4E91\u7AEF\u53EF\u9009\u6A21\u578B\u670D\u52A1\uFF0C\u4E0D\u5F71\u54CD\u672C\u7AEF\u6216 DeepSeek\uFF1B\u586B\u5199\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u4EA4\u63A5\uFF0C\u9700\u5728\u7B2C 6 \u9875\u72EC\u7ACB\u786E\u8BA4\u3002","dsh-managed:token-plan-cloud"),"Gitee \u4ED3\u5E93\u5730\u5740":Y("conditional","\u7528\u6237\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93\u4E3B\u9875\uFF0C\u4E0D\u662F\u4EA7\u54C1\u6E90\u7801\u4ED3\u5E93\u3002","\u4ED3\u5E93\u7684 HTTPS \u4E3B\u9875\u5730\u5740\uFF0C\u4E0D\u542B\u4EE4\u724C\u3002","\u542F\u7528\u540E\u5FC5\u586B\uFF1B\u672C\u671F\u53EA\u6821\u9A8C\u683C\u5F0F\uFF0C\u4E0D\u8BBF\u95EE\u6216\u63D0\u4EA4\u3002\u53EF\u5173\u95ED\u5173\u8054\u540E\u7EE7\u7EED\u3002","https://gitee.com/team/deliverables"),\u4ED3\u5E93\u522B\u540D:Y("optional","\u81EA\u7136\u8BED\u8A00\u91CC\u65B9\u4FBF\u79F0\u547C\u4ED3\u5E93\u7684\u540D\u5B57\u3002","\u81EA\u7531\u586B\u5199\u3002","\u7559\u7A7A\u4F7F\u7528\u4ED3\u5E93\u540D\u79F0\uFF0C\u4E0D\u5F71\u54CD\u6210\u679C\u4ECB\u7ECD\u4E0E\u4F1A\u8BDD\u5165\u53E3\u3002","\u6211\u7684\u6210\u679C\u5E93"),"\u4E3A\u4E91\u7AEF\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u73AF\u5883":Y("optional","\u540E\u7EED\u51C6\u5907\u5DE5\u5177\u7684\u610F\u5411\uFF0C\u4E0D\u662F\u7ACB\u5373\u5B89\u88C5\u3002","\u8BA1\u5212\u5F00\u5C55\u5F00\u53D1\u7C7B\u4EFB\u52A1\u65F6\u9009\u3002","\u4E0D\u9009\u4E0D\u5F71\u54CD\u975E\u4ED3\u5E93\u4EFB\u52A1\uFF1B\u9009\u4E2D\u4E5F\u4E0D\u6388\u6743\u5F00\u53D1\u3001commit \u6216 push\u3002")},Mo={chat:{label:"\u804A\u5929\u5165\u53E3",...Y("optional","\u9009\u62E9\u662F\u5426\u9700\u8981 IM\u3002","\u540E\u7EED\u901A\u8FC7\u5B98\u65B9\u63D2\u4EF6\u914D\u7F6E\u3002","\u8DF3\u8FC7\u4E0D\u5F71\u54CD Desktop\uFF1B\u4E0D\u63A5\u7BA1\u65E7\u673A\u5668\u4EBA\u3002")},approval:{label:"\u5BA1\u6279\u4E0E\u64CD\u4F5C\u6388\u6743",...Y("optional","\u540E\u7EED\u914D\u7F6E\u53EF\u4FE1\u804A\u5929\u6216\u8DE8\u5E73\u53F0\u7F51\u9875\u786E\u8BA4\u3002","\u9700\u8981\u72EC\u7ACB\u6838\u9A8C\u672C\u4EBA\u8EAB\u4EFD\u4E0E\u65B9\u6848\u3002","\u8DF3\u8FC7\u4E0D\u5F00\u653E\u53D7\u7BA1\u5F00\u53D1\uFF1B\u672C\u9875\u6CA1\u6709\u6279\u51C6\u4EFB\u4F55\u4EFB\u52A1\u3002")},models:{label:"\u5176\u4ED6\u6A21\u578B\u670D\u52A1",...Y("optional","\u5728 DeepSeek \u57FA\u7840\u4E0A\u589E\u52A0\u670D\u52A1\u3002","\u5F00\u542F\u540E\u586B\u5199\u5957\u9910\u548C\u51ED\u636E\u5F15\u7528\u3002","\u4E0D\u542F\u7528\u4E0D\u5F71\u54CD DeepSeek\uFF1B\u542F\u7528\u540E\u7F3A\u9879\u4E0D\u80FD\u7EE7\u7EED\u3002")},repository:{label:"\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93",...Y("optional","\u4EFB\u52A1\u6309\u9700\u4F7F\u7528 Gitee B \u4ED3\u5E93\u3002","\u586B\u5199\u81EA\u5DF1\u7684\u4ED3\u5E93\u5730\u5740\u3002","\u65E0\u4ED3\u5E93\u4ECD\u6709\u6210\u679C\u4ECB\u7ECD\u4E0E\u6267\u884C\u4F1A\u8BDD\u3002")},development:{label:"\u5F00\u53D1\u80FD\u529B\u51C6\u5907",...Y("optional","\u672A\u6765\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u5DE5\u5177\u3002","\u6709\u9700\u8981\u518D\u9009\u62E9\u3002","\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u4FDD\u6301\u9010\u4EFB\u52A1\u72EC\u7ACB\u5BA1\u6279\u3002")}};var pt=(0,b.createContext)(null);function mt({onHelp:e,children:t}){return b.default.createElement(pt.Provider,{value:e},t)}var hl={arrow:Aa,check:ba,cloud:Da,monitor:qa,key:Fa,shield:$a,chat:Ga,git:Ta,down:ya,info:ca,link:Ua,spinner:ea,success:Je,warning:aa,file:Ba,folder:Ma,external:ka,close:Za,pause:Va,play:Ra,reset:za,settings:Xa,lock:Ha,back:wa,save:Ka,terminal:Qa,plus:Wa,download:Pa,offline:Ya,copy:Ea,chevron:Oa,help:je};function ke({name:e,...t}){let s=hl[e]||ca;return b.default.createElement(s,{"aria-hidden":"true",strokeWidth:1.7,...t})}function Ge({pose:e="welcome",className:t=""}){return b.default.createElement("div",{"aria-hidden":"true",className:"companion "+t,"data-pose":e})}function ve({children:e,tone:t=""}){return b.default.createElement("span",{className:"badge "+t},e)}function _({children:e,icon:t,end:s,kind:n="",...u}){return b.default.createElement("button",{type:"button",className:"button "+n,...u},t&&b.default.createElement(ke,{name:t}),b.default.createElement("span",null,e),s&&b.default.createElement(ke,{name:s}))}function It({kind:e}){return b.default.createElement("span",{className:"requirement-badge "+e},e==="required"&&b.default.createElement("span",{"aria-hidden":"true"},"*"),To[e])}function Ft({label:e,meta:t=ct[e]}){let s=(0,b.useContext)(pt);return t?b.default.createElement("button",{type:"button",className:"field-help-button","aria-label":e+"\u586B\u5199\u8BF4\u660E","aria-haspopup":"dialog",title:"\u4E86\u89E3"+e,onClick:()=>s?.(e+" \xB7 \u586B\u5199\u8BF4\u660E",b.default.createElement(b.default.Fragment,null,b.default.createElement("div",{className:"help-intro"},b.default.createElement(It,{kind:t.kind}),b.default.createElement("span",null,t.kind==="required"?"\u7F3A\u5C11\u6B64\u9879\uFF0C\u65E0\u6CD5\u7EE7\u7EED":t.kind==="conditional"?"\u529F\u80FD\u53EF\u9009\uFF1B\u542F\u7528\u540E\u9700\u8981\u8865\u9F50":t.kind==="auto"?"\u7CFB\u7EDF\u8BC6\u522B\uFF0C\u65E0\u9700\u624B\u5DE5\u586B\u5199":"\u53EF\u8DF3\u8FC7\uFF0C\u6216\u4FDD\u7559\u9ED8\u8BA4\u503C")),b.default.createElement("dl",{className:"help-facts"},b.default.createElement("div",null,b.default.createElement("dt",null,"\u586B\u5199\u4EC0\u4E48"),b.default.createElement("dd",null,t.what)),b.default.createElement("div",null,b.default.createElement("dt",null,"\u4ECE\u54EA\u91CC\u83B7\u53D6"),b.default.createElement("dd",null,t.where)),t.example&&b.default.createElement("div",null,b.default.createElement("dt",null,"\u586B\u5199\u793A\u4F8B"),b.default.createElement("dd",null,b.default.createElement("code",null,t.example))),b.default.createElement("div",{className:"help-impact"},b.default.createElement("dt",null,"\u4E0D\u586B\u4F1A\u600E\u6837"),b.default.createElement("dd",null,t.impact))),b.default.createElement("p",{className:"help-preview-note"},"\u666E\u901A\u8868\u5355\u53EA\u586B\u5F15\u7528\uFF1BKey \u53EA\u5728\u72EC\u7ACB\u5BC6\u7801\u6846\u586B\u5199\u5E76\u786E\u8BA4\u4FDD\u5B58\u3002\u89C4\u5219\u4E0E Skill \u5B89\u88C5\u4ECD\u9700\u7B2C 5 \u9875\u72EC\u7ACB\u786E\u8BA4\u3002")))},b.default.createElement(ke,{name:"help"})):null}function Ja({title:e,children:t}){let s=(0,b.useContext)(pt);return b.default.createElement("button",{type:"button",className:"field-help-button section-help","aria-label":e+"\u8BF4\u660E","aria-haspopup":"dialog",onClick:()=>s?.(e,t)},b.default.createElement(ke,{name:"help"}))}function V({title:e,sub:t,icon:s,children:n,className:u="",extra:l}){let a=Object.values(Mo).find(f=>f.label===e);return b.default.createElement("section",{className:"panel "+u},e&&b.default.createElement("header",{className:"panel-heading"},b.default.createElement("div",null,b.default.createElement("div",{className:"panel-title-line"},b.default.createElement("h2",null,s&&b.default.createElement(ke,{name:s})," ",e),a&&b.default.createElement("div",{className:"field-markers"},b.default.createElement(It,{kind:a.kind}),b.default.createElement(Ft,{label:e,meta:{...a,what:t?b.default.createElement(b.default.Fragment,null,a.what,b.default.createElement("p",null,t)):a.what}})),t&&!a&&b.default.createElement(Ja,{title:e||"\u672C\u8282"},t))),l),n)}function Se({label:e,hint:t,children:s,...n}){let u=(0,b.useId)(),l=ct[e],a=l?.kind==="required"||l?.kind==="conditional",f=s||b.default.createElement("input",{...n});return b.default.createElement("div",{className:"field","data-requirement":l?.kind},b.default.createElement("div",{className:"field-heading"},b.default.createElement("label",{htmlFor:u},e),l&&b.default.createElement("div",{className:"field-markers"},b.default.createElement(It,{kind:l.kind}),b.default.createElement(Ft,{label:e,meta:l}))),b.default.cloneElement(f,{id:u,required:a,"aria-required":a||void 0,"aria-describedby":t?u+"-hint":void 0}),t&&b.default.createElement("small",{id:u+"-hint"},t))}function R({checked:e,onChange:t,title:s,sub:n,disabled:u=!1}){let l=ct[s];return b.default.createElement("div",{className:"check-controls"},b.default.createElement("label",{className:"check-row "+(u?"disabled":"")},b.default.createElement("input",{type:"checkbox",checked:e,disabled:u,required:l?.kind==="required",onChange:a=>t(a.target.checked)}),b.default.createElement("span",null,b.default.createElement("strong",null,s),n&&b.default.createElement("small",null,n))),l&&b.default.createElement("div",{className:"field-markers"},b.default.createElement(It,{kind:l.kind}),b.default.createElement(Ft,{label:s,meta:{...l,what:n?b.default.createElement(b.default.Fragment,null,l.what,b.default.createElement("p",null,n)):l.what}})))}function Lt({label:e,checked:t,onChange:s}){return b.default.createElement("button",{type:"button",role:"switch","aria-label":e,"aria-checked":t,className:"toggle "+(t?"on":""),onClick:()=>s(!t)},b.default.createElement("span",null))}function x({children:e,tone:t="",title:s}){return b.default.createElement("div",{className:"callout "+t},b.default.createElement(ke,{name:t==="warn"?"warning":"info"}),b.default.createElement("div",null,s&&b.default.createElement("strong",null,s),e))}function Oe({pose:e="welcome",title:t,children:s}){let n=(0,b.useContext)(pt);return b.default.createElement("div",{className:"context-help mascot-zone"},b.default.createElement(Ge,{pose:e}),b.default.createElement("button",{type:"button",className:"context-help-trigger","aria-haspopup":"dialog",onClick:()=>n?.(t,b.default.createElement("div",{className:"context-body"},s,b.default.createElement("div",{className:"summary-foot"},b.default.createElement(ke,{name:"shield"}),b.default.createElement("span",null,"\u672A\u6279\u51C6\u4E0D\u6267\u884C \xB7 \u4EE5\u5B9E\u9645\u56DE\u6267\u4E3A\u51C6"))))},b.default.createElement(ke,{name:"help"}),b.default.createElement("span",null,t)))}function S({label:e,value:t,status:s}){return b.default.createElement("div",{className:"info-row"},b.default.createElement("span",null,e),b.default.createElement("strong",null,s&&b.default.createElement(ke,{name:s})," ",t))}function sa({modal:e,onClose:t}){let s=(0,b.useRef)(),n=!!e;return(0,b.useEffect)(()=>{if(n)return s.current.showModal(),()=>s.current?.close()},[n]),b.default.createElement("dialog",{ref:s,onCancel:u=>{u.preventDefault(),t()},onClick:u=>{u.target===u.currentTarget&&t()}},b.default.createElement("header",null,b.default.createElement("div",null,b.default.createElement("span",{className:"eyebrow"},e?.eyebrow??"\u914D\u7F6E\u5BFC\u89C8 \xB7 \u5B57\u6BB5\u8BF4\u660E"),b.default.createElement("h2",null,e?.title)),b.default.createElement("button",{type:"button",className:"icon-button","aria-label":"\u5173\u95ED\u5F39\u7A97",onClick:t},b.default.createElement(ke,{name:"close"}))),b.default.createElement("div",{className:"modal-body"},e?.body),b.default.createElement("footer",null,b.default.createElement(_,{kind:"primary",onClick:t},e?.closeLabel??"\u77E5\u9053\u4E86")))}var Le=Ce(ge());var gl={inspected:"\u6258\u7BA1\u6E05\u5355\u6838\u9A8C\u4E00\u81F4",uninstalled:"\u5DF2\u5378\u8F7D\u6258\u7BA1\u5185\u5BB9",committed:"\u6258\u7BA1\u6587\u4EF6\u6838\u9A8C\u4E00\u81F4",not_installed:"\u5C1A\u65E0\u6258\u7BA1\u5B89\u88C5\u8BB0\u5F55",unavailable:"\u672A\u5F00\u653E\u68C0\u67E5",removed:"\u5DF2\u79FB\u9664\u6258\u7BA1\u5185\u5BB9",rolled_back:"\u5DF2\u56DE\u6EDA",needs_review:"\u9700\u4EBA\u5DE5\u6838\u5BF9",applying:"\u4E8B\u52A1\u672A\u5B8C\u6210",rolling_back:"\u56DE\u6EDA\u672A\u5B8C\u6210"};function ja({request:e,onResult:t}){let[s,n]=(0,Le.useState)(null),[u,l]=(0,Le.useState)(!1),[a,f]=(0,Le.useState)(""),m=(0,Le.useRef)(!0),p=(0,Le.useRef)(!1),i=(0,Le.useRef)(0);(0,Le.useEffect)(()=>(m.current=!0,i.current++,p.current=!1,l(!1),n(null),f(""),()=>{m.current=!1,i.current++}),[e]);async function c(){if(p.current)return;p.current=!0;let o=++i.current;l(!0),n(null),t?.(null),f("");try{let r=await e("existing_pair_inspect",{});m.current&&o===i.current&&(n(r),t?.(r))}catch{m.current&&o===i.current&&f("\u672C\u6B21\u53CC\u7AEF\u6838\u5BF9\u672A\u5B8C\u6210\u3002\u8BF7\u68C0\u67E5\u539F\u76F4\u8FDE\u4E0E\u4E24\u7AEF\u63D2\u4EF6\u7248\u672C\uFF1B\u4E0D\u4F1A\u91C7\u7528\u5386\u53F2\u6210\u529F\u3001\u53E6\u5EFA Host \u6216\u590D\u5236\u51ED\u636E\u3002")}finally{o===i.current&&(p.current=!1,m.current&&l(!1))}}return Le.default.createElement(V,{title:"\u5DF2\u6709\u53CC\u7AEF\u914D\u7F6E",icon:"cloud",className:"connection-panel",sub:"\u4EC5\u9002\u7528\u4E8E\u5DF2\u7ECF\u5EFA\u7ACB\u81EA\u6709\u76F4\u8FDE\u7684\u4E24\u4E2A Host\u3002\u624B\u52A8\u6838\u5BF9\u5F53\u524D\u5B9E\u9645\u914D\u7F6E\uFF1B\u4E0D\u91CD\u590D\u4FDD\u5B58 Key\uFF0C\u4E0D\u63A5\u7BA1 Host \u751F\u547D\u5468\u671F\uFF0C\u4E0D\u751F\u6210\u5B89\u88C5\u5F52\u5C5E\uFF0C\u4E5F\u4E0D\u6539\u53D8\u4E0B\u65B9\u65B0\u5EFA\u73AF\u5883\u6D41\u7A0B\u3002"},Le.default.createElement("div",{className:"connection-actions"},Le.default.createElement(_,{kind:"secondary",icon:u?"spinner":"search",disabled:u,onClick:c},u?"\u6B63\u5728\u6838\u5BF9\u65E2\u6709\u53CC\u7AEF\u2026":"\u624B\u52A8\u6838\u5BF9\u65E2\u6709\u53CC\u7AEF")),s&&Le.default.createElement("div",{className:"connection-result",role:"status"},Le.default.createElement("p",{className:"fine-print"},"\u6838\u5BF9\u65F6\u95F4\uFF1A",new Date(s.observedAt).toLocaleString()," \xB7 \u6B64\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u4EE3\u8868\u6301\u7EED\u5728\u7EBF"),Le.default.createElement("div",{className:"form-grid"},[["\u672C\u5730 Host",s.local],["\u4E91\u7AEF Host",s.cloud]].map(([o,r])=>Le.default.createElement("section",{key:o,"aria-label":o+"\u65E2\u6709\u914D\u7F6E"},Le.default.createElement("h3",null,o),Le.default.createElement(S,{label:"\u63D2\u4EF6\u7248\u672C",value:r.host.plugin_version}),Le.default.createElement(S,{label:"\u89C4\u5219\u4E0E Skill",value:gl[r.rules.state]??"\u9700\u6838\u5BF9"}),Le.default.createElement(S,{label:"\u6A21\u578B\u6E05\u5355",value:r.models.state==="listed"?`${r.models.providers} \u4E2A\u6E20\u9053 / ${r.models.models} \u4E2A\u6A21\u578B`:r.models.state==="catalog_incomplete"?"\u6E05\u5355\u4E0D\u5B8C\u6574":"\u672A\u8BFB\u53D6\u5230\u6E05\u5355"}),Le.default.createElement(S,{label:"IM \u6E05\u5355",value:r.im.state==="listed"?`${r.im.botsConfigured} \u4E2A\u673A\u5668\u4EBA \xB7 \u672A\u9A8C\u8BC1\u8FDE\u63A5`:r.im.state==="no_bots"?"\u5C1A\u65E0\u673A\u5668\u4EBA":"\u672A\u53D6\u5F97\u5B8C\u6574\u6E05\u5355"}),Le.default.createElement(S,{label:"\u53EA\u8BFB\u8C03\u5EA6\u5668",value:r.runtime.scheduler?`\u5DF2\u542F\u52A8 / \u6D3B\u52A8 ${r.runtime.activeRuns} \u6279`:"\u672A\u542F\u52A8"}),Le.default.createElement("details",{className:"details"},Le.default.createElement("summary",null,"\u76EE\u6807\u7AEF\u89E3\u6790\u8DEF\u5F84"),Le.default.createElement("p",{className:"fine-print"},"\u7531\u76EE\u6807\u8FDB\u7A0B\u89E3\u6790\uFF0C\u5C1A\u672A\u8BC1\u660E\u4F1A\u8BDD\u52A0\u8F7D\uFF1B\u4E0D\u6309\u672C\u673A\u63A8\u6D4B\uFF0C\u4E0D\u6388\u4E88\u5220\u9664\u6743\u3002"),Le.default.createElement("div",{className:"path-line"},Le.default.createElement("span",null,"DSH"),Le.default.createElement("code",null,r.paths.dsh)),Le.default.createElement("div",{className:"path-line"},Le.default.createElement("span",null,"Agents"),Le.default.createElement("code",null,r.paths.agents)))))),Le.default.createElement(x,null,"\u8FD9\u4E0D\u662F\u5B89\u88C5\u6216\u5168\u94FE\u8DEF\u9A8C\u6536\u56DE\u6267\u3002\u6A21\u578B\u8BF7\u6C42\u3001IM \u6536\u53D1\u3001\u4ED3\u5E93\u8BBF\u95EE\u53CA\u4EFB\u52A1\u6210\u679C\u4ECD\u987B\u5206\u522B\u9A8C\u8BC1\uFF1B\u4E0D\u4F1A\u5F00\u542F\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u3002")),a&&Le.default.createElement("p",{role:"alert",className:"connection-error"},a))}var ie=Ce(ge());var Ut=e=>e==="cloud"?"\u4E91\u7AEF\u673A\u5668\u4EBA":"\u672C\u5730\u673A\u5668\u4EBA",Cl={active:"\u5DF2\u540C\u6B65\u4E91\u7AEF",pending_pair_or_sync:"\u5DF2\u4FDD\u5B58\uFF0C\u7B49\u5F85\u53CC\u7AEF\u914D\u5BF9\uFF0F\u540C\u6B65",pending_or_review:"\u540C\u6B65\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9",not_configured:"\u5C1A\u672A\u8BBE\u7F6E\uFF0C\u53EF\u8DF3\u8FC7"};function ht({request:e}){let[t,s]=(0,ie.useState)("local"),[n,u]=(0,ie.useState)(null),[l,a]=(0,ie.useState)(""),[f,m]=(0,ie.useState)(null),[p,i]=(0,ie.useState)(null),[c,o]=(0,ie.useState)(!1),[r,d]=(0,ie.useState)(!1),[L,C]=(0,ie.useState)(""),[h,g]=(0,ie.useState)(null),v=(0,ie.useRef)(!1),N=(0,ie.useRef)(!0);(0,ie.useEffect)(()=>(N.current=!0,()=>{N.current=!1}),[]);let T=n?.find(P=>P.candidate_id===l&&P.eligible);async function w(P){if(!v.current){v.current=!0,d(!0),C("");try{if(P==="discover"){i(null),o(!1),u(null),a("");let D=await e("notification_defaults_discover",{host:t});if(!N.current)return;let O=D.items??[];u(O);let W=O.filter(j=>j.eligible);W.length===1&&a(W[0].candidate_id),D.state==="unavailable"&&C("\u6B64\u7AEF\u6682\u4E0D\u5177\u5907\u7ECF\u8FC7\u6838\u9A8C\u7684 IM \u901A\u77E5\u80FD\u529B\u3002\u8BF7\u5148\u914D\u7F6E\u5BF9\u5E94\u673A\u5668\u4EBA\uFF0C\u4E0D\u4F1A\u6539\u7528\u53E6\u4E00\u7AEF\u3002")}else if(P==="status"||P==="sync"){let D=await e("notification_defaults_"+P,{});if(!N.current)return;m(D),h&&(D.operation===h.id||D.revision>=h.revision)&&g(null)}else if(P==="enable"||P==="disable"){if(h||P==="enable"&&!T)return;i(null),o(!1);let D=await e("notification_defaults_preview",P==="enable"?{enabled:!0,host:t,candidate_id:T.candidate_id,label:T.label}:{enabled:!1});N.current&&i(D)}else if(P==="apply"){if(!p||!c||h||p.expiresAt<=Date.now())return;let D=p;i(null),o(!1),g({id:D.id,revision:D.revision});let O=await e("notification_defaults_apply",{id:D.id,fingerprint:D.fingerprint,confirm:!0});if(!N.current)return;m(O),O.operation===D.id&&g(null)}}catch(D){N.current&&C(/^ONBOARDING_CLOUD_/.test(D?.message??"")?"\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\u6216\u4E0D\u652F\u6301\u6B64\u5951\u7EA6\u3002\u53EF\u5148\u5B8C\u6210\u7B2C 5\u30016 \u9875\uFF0C\u518D\u8FD4\u56DE\u6B64\u5904\uFF1B\u4E0D\u4F1A\u4ECE\u672C\u7AEF\u8BFB\u53D6\u66FF\u4EE3\u3002":"\u672C\u6B21\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u82E5\u5DF2\u4FDD\u5B58\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF0C\u4E5F\u4E0D\u66F4\u6362\u673A\u5668\u4EBA\u6216\u6536\u4EF6\u4F4D\u7F6E\u3002")}finally{v.current=!1,N.current&&d(!1)}}}return ie.default.createElement(V,{title:"\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3",icon:"chat",className:"connection-panel",sub:"\u53EF\u9009\u3002\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u673A\u5668\u4EBA\u4F5C\u4E3A\u65E5\u5E38\u4EA4\u529E\u5165\u53E3\uFF0C\u5E76\u5C06\u4E91\u7AEF\u65B0\u5B9A\u65F6\u4EFB\u52A1\u7684\u7ED3\u679C\u53D1\u56DE\u5176\u7ED1\u5B9A\u5BF9\u8BDD\u3002\u4E0D\u4F1A\u5173\u95ED\u53E6\u4E00\u7AEF\u539F\u751F IM\u3002\u53EA\u53D1\u5B8C\u6210\uFF0F\u5931\u8D25\u6458\u8981\uFF0C\u4E0D\u81EA\u52A8\u4E0A\u4F20\u5168\u90E8\u9644\u4EF6\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u6743\u9650\u3002"},ie.default.createElement(Se,{label:"\u9ED8\u8BA4\u673A\u5668\u4EBA\u6240\u5728\u7AEF"},ie.default.createElement("select",{value:t,disabled:r||!!h,onChange:P=>{s(P.target.value),u(null),a(""),i(null),o(!1)}},ie.default.createElement("option",{value:"local"},"\u672C\u5730\u673A\u5668\u4EBA"),ie.default.createElement("option",{value:"cloud"},"\u4E91\u7AEF\u673A\u5668\u4EBA"))),ie.default.createElement("div",{className:"connection-actions"},ie.default.createElement(_,{kind:"secondary",icon:"reset",disabled:r||!!h,onClick:()=>w("discover")},"\u8BFB\u53D6",Ut(t),"\u4E0E\u5BF9\u8BDD"),ie.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>w("status")},"\u6838\u5BF9\u5DF2\u4FDD\u5B58\u8BBE\u7F6E")),n&&ie.default.createElement(Se,{label:"\u673A\u5668\u4EBA\u4E0E\u8FD4\u56DE\u5BF9\u8BDD",hint:"\u53EA\u5217\u51FA\u8BE5\u7AEF IM \u516C\u5F00\u63A5\u53E3\u5DF2\u4FDD\u5B58\u7684\u76EE\u6807\u3002\u9996\u6B21\u4F7F\u7528\u8BF7\u5148\u4E0E\u673A\u5668\u4EBA\u79C1\u804A\uFF0C\u5E76\u5728\u539F\u751F IM \u7BA1\u7406\u4E2D\u4FDD\u5B58\u901A\u77E5\u76EE\u6807\uFF0C\u518D\u91CD\u65B0\u8BFB\u53D6\u3002"},ie.default.createElement("select",{value:l,disabled:r||!!h,onChange:P=>{a(P.target.value),i(null),o(!1)}},ie.default.createElement("option",{value:""},n.length?"\u8BF7\u9009\u62E9\u5DF2\u6838\u9A8C\u7684\u5BF9\u8BDD":"\u5C1A\u65E0\u5DF2\u4FDD\u5B58\u5BF9\u8BDD"),n.map((P,D)=>ie.default.createElement("option",{key:P.candidate_id??D,value:P.candidate_id??"",disabled:!P.eligible},P.account," \xB7 ",P.label," \xB7 ",P.kind==="group"?"\u7FA4\u804A":"\u79C1\u804A",P.eligible?"":"\uFF08\u4E0D\u53EF\u7528\uFF09")))),ie.default.createElement(S,{label:"\u5F53\u524D\u9ED8\u8BA4",value:f?.enabled?`${Ut(f.target.host)} \xB7 ${f.target.label}`:f?"\u672A\u542F\u7528\u9ED8\u8BA4\u901A\u77E5":"\u5C1A\u672A\u6838\u5BF9"}),f&&ie.default.createElement(S,{label:"\u4E91\u7AEF\u8BB0\u8D26",value:Cl[f.publication.state]??"\u5F85\u6838\u5BF9"}),ie.default.createElement("p",{className:"fine-print"},"\u672C\u5730\u5165\u53E3\uFF1AMac \u79BB\u7EBF\u65F6\u901A\u77E5\u6392\u961F\uFF1B\u4E91\u7AEF\u5165\u53E3\uFF1A\u4E0D\u4F9D\u8D56 Mac \u5728\u7EBF\u3002\u9009\u62E9\u53EA\u6709\u786E\u8BA4\u4FDD\u5B58\u540E\u624D\u751F\u6548\u3002"),ie.default.createElement("div",{className:"connection-actions"},ie.default.createElement(_,{kind:"primary",disabled:r||!!h||!T,onClick:()=>w("enable")},"\u9884\u89C8\u9ED8\u8BA4\u5165\u53E3"),ie.default.createElement(_,{kind:"secondary",disabled:r||!!h||!f?.enabled,onClick:()=>w("disable")},"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),f?.revision>0&&ie.default.createElement(_,{kind:"secondary",disabled:r||!!h,onClick:()=>w("sync")},"\u624B\u52A8\u6838\u5BF9\u4E91\u7AEF\u540C\u6B65")),p&&ie.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3"},ie.default.createElement("h3",null,p.enabled?"\u542F\u7528\u9ED8\u8BA4\u5165\u53E3":"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),p.target&&ie.default.createElement(S,{label:"\u7ED3\u679C\u8FD4\u56DE",value:`${Ut(p.target.host)} \xB7 ${p.target.label}`}),ie.default.createElement("p",null,"\u4EC5\u65B0\u5EFA\u7684\u4E91\u7AEF\u5B9A\u65F6\u4EFB\u52A1\u7EE7\u627F\u3002\u66F4\u6539\u5C06\u505C\u6B62\u65E7\u9ED8\u8BA4\u7ED1\u5B9A\u7684\u5F85\u53D1\u901A\u77E5\uFF0C\u4F46\u4E0D\u4FEE\u6539\u4EFB\u52A1\u660E\u786E\u6307\u5B9A\u7684\u901A\u77E5\uFF1B\u5DF2\u53D1\u9001\u7684\u6D88\u606F\u65E0\u6CD5\u64A4\u56DE\uFF0C\u4E0D\u8865\u53D1\u5386\u53F2\u4EFB\u52A1\u3002"),ie.default.createElement(R,{checked:c,disabled:r,onChange:o,title:"\u6211\u786E\u8BA4\u6B64\u9ED8\u8BA4\u6536\u53D1\u8BBE\u7F6E\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03"}),ie.default.createElement("div",{className:"connection-actions"},ie.default.createElement(_,{kind:"primary",disabled:r||!c||p.expiresAt<=Date.now(),onClick:()=>w("apply")},"\u786E\u8BA4\u4FDD\u5B58\u9ED8\u8BA4\u8BBE\u7F6E"),ie.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))),h&&ie.default.createElement(x,{tone:"warn"},"\u4FDD\u5B58\u56DE\u6267\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u539F\u8BBE\u7F6E\uFF0C\u4E0D\u8981\u91CD\u590D\u786E\u8BA4\u6216\u5C06\u5931\u8D25\u5F53\u4F5C\u672A\u4FDD\u5B58\u3002"),L&&ie.default.createElement("p",{role:"alert",className:"connection-error"},L))}var ue=Ce(ge());var _l={ONBOARDING_GLOBAL_TARGET_AMBIGUOUS:"\u53D1\u73B0\u4E24\u4EFD\u5168\u5C40\u89C4\u5219\uFF0C\u8BF7\u660E\u786E\u9009\u62E9\u8FFD\u52A0\u76EE\u6807\uFF1B\u53E6\u4E00\u4EFD\u4FDD\u6301\u4E0D\u53D8\u3002",ONBOARDING_SKILL_CONFLICT:"\u5B58\u5728\u540C\u540D Skill \u6216\u76EE\u5F55\uFF0C\u4FDD\u7559\u7528\u6237\u5185\u5BB9\uFF0C\u4E0D\u8986\u76D6\u4E5F\u4E0D\u81EA\u52A8\u6539\u540D\u3002",ONBOARDING_UNOWNED_RULE_BLOCK:"\u53D1\u73B0\u672A\u80FD\u6838\u9A8C\u5F52\u5C5E\u7684\u6258\u7BA1\u533A\uFF0C\u9700\u8981\u4EBA\u5DE5\u6838\u5BF9\u3002",ONBOARDING_OWNED_CONTENT_REVIEW:"\u5DF2\u5B89\u88C5\u6587\u4EF6\u6216\u7248\u672C\u53D1\u751F\u53D8\u5316\uFF1B\u672C\u671F\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_GLOBAL_BUDGET_REVIEW:"\u5168\u5C40\u89C4\u5219\u8D85\u8FC7\u4FDD\u5B88\u52A0\u8F7D\u9884\u7B97\uFF0C\u9700\u8981\u5148\u7CBE\u7B80\u6216\u8C03\u6574\u65B9\u6848\u3002",ONBOARDING_RECOVERY_REQUIRED:"\u6709\u672A\u7ED3\u675F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u56DE\u6267\u5E76\u5904\u7406\u6062\u590D\u3002"};function gt({request:e}){let[t,s]=(0,ue.useState)(null),[n,u]=(0,ue.useState)(""),[l,a]=(0,ue.useState)(!1),[f,m]=(0,ue.useState)(null),[p,i]=(0,ue.useState)(!1),[c,o]=(0,ue.useState)(""),r=(0,ue.useRef)(0);(0,ue.useEffect)(()=>()=>{r.current++},[]);async function d(v){let N=++r.current;i(!0),o("");try{let T=await v();if(N===r.current)return T}catch(T){N===r.current&&o("\u64CD\u4F5C\u672A\u5B8C\u6210\uFF1A"+T.message+"\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{N===r.current&&i(!1)}}async function L(){a(!1),s(null);let v=await d(()=>e("install_preview",n?{ruleRoot:n}:{}));v&&s(v)}async function C(){let v=await d(()=>e("install_status",{}));v&&m(v)}async function h(){if(!t?.canApply||!l||p)return;let v=t;a(!1),s(null);let N=await d(()=>e("install_apply",{id:v.id,fingerprint:v.fingerprint,confirm:!0}));N&&m(N)}async function g(){if(!f?.id||p)return;let v=await d(()=>e("install_recover",{id:f.id,confirm:!0}));v&&m(v),s(null),a(!1)}return ue.default.createElement(V,{title:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u5B89\u88C5\u8BA1\u5212",icon:"shield",extra:ue.default.createElement(ve,null,"\u4EC5\u5F53\u524D Host")},ue.default.createElement(x,null,"\u8FD9\u4EFD\u8BA1\u5212\u4EC5\u5B89\u88C5\u672C\u7AEF\u5168\u5C40\u89C4\u5219\u4E0E Skill\uFF0C\u4E0D\u8FDE\u63A5 ECS\u3001\u4E0D\u4FEE\u6539\u51ED\u636E\u3001\u4E0D\u542F\u52A8\u4EFB\u52A1\u6216\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u53D1\u5E03\u3002\u9884\u89C8\u4E0D\u5199\u6587\u4EF6\uFF1B\u5E94\u7528\u540E\u4F1A\u4FDD\u5B58\u79C1\u6709\u5907\u4EFD\u548C\u4E8B\u52A1\u56DE\u6267\u3002"),ue.default.createElement(Se,{label:"\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807",hint:"\u9009\u586B\uFF1B\u4E24\u4EFD\u90FD\u5B58\u5728\u65F6\u5FC5\u987B\u9009\u62E9\u3002\u53EA\u9009\u8FFD\u52A0\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u6216\u4FEE\u6539\u53E6\u4E00\u4EFD\u89C4\u5219\u3002"},ue.default.createElement("select",{"aria-label":"\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807",disabled:p,value:n,onChange:v=>{u(v.target.value),s(null),a(!1)}},ue.default.createElement("option",{value:""},"\u81EA\u52A8\uFF1A\u4F18\u5148\u552F\u4E00\u5DF2\u6709\u6587\u4EF6\uFF0C\u5426\u5219\u521B\u5EFA"),ue.default.createElement("option",{value:"dsh"},"\u5F53\u524D Host \u7684 DSH \u5168\u5C40\u89C4\u5219"),ue.default.createElement("option",{value:"shared"},"\u5F53\u524D Host \u7684\u5171\u4EAB Agents \u5168\u5C40\u89C4\u5219"))),ue.default.createElement("div",{className:"form-actions"},ue.default.createElement(_,{onClick:L,disabled:p},"\u9884\u89C8\u5B89\u88C5\u8BA1\u5212"),ue.default.createElement(_,{kind:"soft",onClick:C,disabled:p},"\u6838\u5BF9\u5B89\u88C5\u56DE\u6267")),c&&ue.default.createElement("p",{role:"alert"},c),t&&ue.default.createElement("div",{className:"install-plan"},ue.default.createElement("p",null,t.alreadyInstalled?"\u5DF2\u5B89\u88C5\u4E14\u6458\u8981\u4E00\u81F4 \xB7 \u65E0\u9700\u91CD\u590D\u5E94\u7528":`${t.changes.length} \u9879\u53D8\u66F4 \xB7 \u5168\u5C40\u89C4\u5219 ${t.globalBytes}/${t.byteLimit} \u5B57\u8282`),t.conflicts.map((v,N)=>ue.default.createElement("div",{role:"alert",className:"plan-item",key:N},ue.default.createElement("strong",null,_l[v.code]??v.code),v.path&&ue.default.createElement("code",null,v.path))),ue.default.createElement("div",{className:"install-changes"},t.changes.map(v=>ue.default.createElement("details",{className:"plan-item",key:v.path},ue.default.createElement("summary",null,v.action==="append"?"\u8FFD\u52A0\uFF0C\u4FDD\u7559\u539F\u6587":"\u65B0\u5EFA\uFF0C\u4E0D\u8986\u76D6"," \xB7 ",v.path.includes("/skills/")?v.path.slice(v.path.lastIndexOf("/skills/")+1):"AGENTS.md"),ue.default.createElement("code",null,v.path),ue.default.createElement("p",null,"\u4FDD\u7559\u539F\u59CB ",v.preservedBytes," \u5B57\u8282"),ue.default.createElement("code",null,"\u539F\u6458\u8981\uFF1A",v.beforeHash??"\u4E0D\u5B58\u5728",ue.default.createElement("br",null),"\u76EE\u6807\u6458\u8981\uFF1A",v.afterHash),ue.default.createElement("pre",{className:"install-diff"},v.addedText)))),ue.default.createElement(R,{checked:l,disabled:!t.canApply||p,onChange:a,title:"\u6211\u786E\u8BA4\u5728\u4E0A\u8FF0\u5B9E\u9645\u8DEF\u5F84\u5E94\u7528\u8FD9\u4EFD\u89C4\u5219\u4E0E Skill \u8BA1\u5212",sub:"\u4E0D\u6388\u6743 ECS \u521D\u59CB\u5316\uFF1B\u4EFB\u4F55\u51B2\u7A81\u6216\u5FEB\u7167\u53D8\u5316\u5747\u4F1A\u505C\u6B62\u3002"}),ue.default.createElement(_,{kind:"primary",disabled:!t.canApply||!l||p||Date.now()>t.expiresAt,onClick:h},"\u5E94\u7528\u672C\u7AEF\u89C4\u5219\u4E0E Skill")),f&&ue.default.createElement("div",{className:"plan-item",role:"status"},ue.default.createElement("strong",null,"\u5B89\u88C5\u56DE\u6267\uFF1A",{committed:"\u6587\u4EF6\u5DF2\u5B89\u88C5",rolled_back:"\u5DF2\u56DE\u6EDA",needs_review:"\u5F85\u4EBA\u5DE5\u6838\u5BF9",applying:"\u6267\u884C\u4E2D\uFF0F\u9700\u6838\u5BF9",rolling_back:"\u56DE\u6EDA\u4E2D\uFF0F\u9700\u6838\u5BF9",not_installed:"\u5C1A\u672A\u5B89\u88C5"}[f.state]??f.state),ue.default.createElement("p",null,"\u4F1A\u8BDD\u52A0\u8F7D\u4ECD\u9700\u72EC\u7ACB\u6838\u9A8C\uFF1B\u4E0D\u4EE3\u8868\u6574\u5957\u521D\u59CB\u5316\u5B8C\u6210\u3002"),f.error&&ue.default.createElement("code",null,f.error),f.review?.map((v,N)=>ue.default.createElement("code",{key:N},v.path," \xB7 \u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u8986\u76D6")),f.canRecover&&ue.default.createElement(_,{disabled:p,onClick:g},"\u786E\u8BA4\u56DE\u6EDA\u672A\u5B8C\u6210\u4E8B\u52A1")))}var M=Ce(ge());var Fo="dsh-onboarding-maintenance-reference-v1",Uo=e=>typeof e=="string"&&/^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$/.test(e),et=e=>["committed","rolled_back","uninstalled"].includes(e?.state);function Ht(e,t,s=Date.now()){let n=e.uncertain||e.current?.canRecover===!0||!!e.current?.id&&!et(e.current);return{preview:!e.busy&&!!e.current&&!n&&[1,2].includes(t.contract),apply:!e.busy&&t.contract===2&&t.mutation===!0&&e.plan?.contract===2&&e.plan.canApply===!0&&e.plan.mutationAvailable===!0&&s<e.plan.expiresAt&&!e.recovery,recover:!e.busy&&t.contract===2&&t.mutation===!0&&e.current?.canRecover===!0,recoveryApply:!e.busy&&t.contract===2&&t.mutation===!0&&e.recovery?.confirmRequired===!0&&s<e.recovery.expiresAt}}function Ho(e,t,s,n,u=Date.now){let l=null;try{let p=JSON.parse(n?.getItem(Fo)??"null");Uo(p?.id)&&(l={id:p.id})}catch{}let a={current:null,receipt:null,plan:null,recovery:null,busy:!1,error:"",uncertain:!!l,reference:l,observedAt:null},f=p=>{a={...a,...p},t(a)};async function m(p,i=!1){if(a.busy)return!1;let c=Ht(a,s,u());if(["upgrade","repair","uninstall"].includes(p)&&!c.preview||p==="apply"&&(!c.apply||i!==!0)||p==="recovery_preview"&&!c.recover||p==="recover"&&(!c.recoveryApply||i!==!0)||!["refresh","upgrade","repair","uninstall","apply","recovery_preview","recover"].includes(p))return!1;let o=p==="recover"?a.recovery:a.plan;f({busy:!0,error:"",plan:null,recovery:null});try{if(p==="refresh"){let r=await e("maintenance_status",{});f({current:r,observedAt:u()});let d=Uo(r.id)&&(r.canRecover===!0||!et(r)),L=d?r:a.reference?await e("maintenance_status",{id:a.reference.id}):r.lastReceipt??(r.id?r:null),C=d?r.id:a.reference?.id;if(C&&L?.id!==C)throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");f({receipt:L,uncertain:d?!et(r):!!a.reference&&!et(L)})}else if(["upgrade","repair","uninstall"].includes(p))f({plan:await e("maintenance_preview",{action:p})});else if(p==="recovery_preview")f({recovery:await e("maintenance_recoveryPreview",{id:a.current.id})});else{if(!n)throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE");n.setItem(Fo,JSON.stringify({id:o.id})),f({reference:{id:o.id},uncertain:!0});let r=await e(p==="apply"?"maintenance_apply":"maintenance_recover",{id:o.id,fingerprint:o.fingerprint,confirm:!0});if(r?.id!==o.id)throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");f({receipt:r,current:null,observedAt:null,uncertain:!et(r)})}return!0}catch(r){return f({error:/^ONBOARDING_[A-Z_]+$/.test(r?.message)?r.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{f({busy:!1})}}return{get:()=>a,act:m,cancel:()=>{a.busy||f({plan:null,recovery:null})}}}var pa={upgrade:"\u5347\u7EA7",repair:"\u4FEE\u590D",uninstall:"\u79FB\u9664"},Go={inspected:"\u5F53\u524D\u6587\u4EF6\u5DF2\u68C0\u67E5",not_installed:"\u5C1A\u672A\u5B89\u88C5\u89C4\u5219\u4E0E Skill",uninstalled:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u5DF2\u79FB\u9664",committed:"\u53D8\u66F4\u5DF2\u8BB0\u8D26",rolled_back:"\u672C\u6B21\u53D8\u66F4\u5DF2\u56DE\u6EDA",needs_review:"\u5F85\u6838\u5BF9 \xB7 \u4FDD\u7559\u73B0\u573A",applying:"\u5904\u7406\u4E2D\uFF0F\u5F85\u6838\u5BF9",rolling_back:"\u56DE\u6EDA\u4E2D\uFF0F\u5F85\u6838\u5BF9"},vl={ONBOARDING_MAINTENANCE_BUSY:"\u539F\u4E8B\u52A1\u4ECD\u5728\u8FD0\u884C\uFF1B\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u4E2D\u65AD\u6216\u91CD\u53D1\u3002",ONBOARDING_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF1B\u672A\u81EA\u52A8\u91CD\u65B0\u7533\u8BF7\u6216\u6267\u884C\u3002\u82E5\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_PLAN_DRIFT:"\u6587\u4EF6\u6216\u8D26\u672C\u53D1\u751F\u53D8\u5316\uFF0C\u539F\u8BA1\u5212\u672A\u7EE7\u7EED\u6267\u884C\u3002\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4FDD\u7559\u73B0\u573A\u3002",ONBOARDING_MAINTENANCE_OPERATION_NOT_FOUND:"\u5C1A\u672A\u627E\u5230\u539F\u8BF7\u6C42\u7684\u8D26\u672C\uFF0C\u4E0D\u7B49\u4E8E\u8BF7\u6C42\u672A\u9001\u8FBE\u3002\u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u786E\u8BA4\u3002",ONBOARDING_MAINTENANCE_INCOMPLETE_JOURNAL:"\u539F\u4E8B\u52A1\u7F3A\u5C11\u5B8C\u6574\u8D26\u672C\uFF0C\u4E0D\u80FD\u81EA\u52A8\u6062\u590D\uFF1B\u4FDD\u7559\u73B0\u573A\u4F9B\u6838\u5BF9\u3002",ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u6D4F\u89C8\u5668\u65E0\u6CD5\u4FDD\u5B58\u56DE\u6267\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u672A\u53D1\u9001\u7EF4\u62A4\u8BF7\u6C42\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u8BBE\u7F6E\u3002"},qo={create:"\u65B0\u5EFA\u81EA\u6709\u6587\u4EF6",replace:"\u66FF\u6362\u53D7\u7BA1\u5185\u5BB9",remove:"\u79FB\u9664\u53D7\u7BA1\u5185\u5BB9"};function Ct({request:e,contract:t=0,mutation:s=!1}){let[n,u]=(0,M.useState)(null),[l,a]=(0,M.useState)(!1),f=(0,M.useRef)(!0),m=(0,M.useRef)(null);if(!m.current){let d;try{d=globalThis.sessionStorage}catch{}m.current=Ho(e,L=>{f.current&&u(L)},{contract:t,mutation:s},d)}(0,M.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=n??m.current.get(),i=Ht(p,{contract:t,mutation:s}),c=p.plan,o=p.receipt,r=d=>(a(!1),m.current.act(d,l));return M.default.createElement(V,{title:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4",sub:"\u53EA\u7BA1\u7406\u4F60\u6B63\u5728\u8BBF\u95EE\u7684 Host\uFF1B\u53E6\u4E00\u7AEF\u9700\u5206\u522B\u8FDB\u5165\u5E76\u786E\u8BA4\u3002",icon:"shield",extra:M.default.createElement(ve,null,"\u624B\u52A8\u6838\u5BF9"),className:"connection-panel maintenance-panel"},M.default.createElement(x,null,"\u5347\u7EA7\u3001\u4FEE\u590D\u6216\u79FB\u9664\u7684\u8303\u56F4\u4EC5\u4E3A\u672C\u9879\u76EE\u7684\u5168\u5C40 AGENTS.md \u6258\u7BA1\u533A\u4E0E Skill\u3002\u4FDD\u7559\u7528\u6237\u539F\u6587\u3001\u672A\u77E5\u6587\u4EF6\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u4E0E\u6210\u679C\uFF1B\u4E0D\u5378\u8F7D\u63D2\u4EF6\u672C\u4F53\u3001\u7B2C\u4E09\u65B9\u63D2\u4EF6\u6216 ECS \u5B9E\u4F8B\u3002"),M.default.createElement("div",{className:"maintenance-status",role:"status"},M.default.createElement(S,{label:"\u5F53\u524D\u72B6\u6001",value:p.current?Go[p.current.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),p.current?.action&&M.default.createElement(S,{label:"\u5F53\u524D\u4E8B\u52A1",value:pa[p.current.action]??"\u7EF4\u62A4"}),p.current?.installedVersion&&M.default.createElement(S,{label:"\u5DF2\u767B\u8BB0\u89C4\u5219\u7248\u672C",value:p.current.installedVersion}),M.default.createElement("p",{className:"fine-print"},p.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(p.observedAt).toLocaleString()+" \xB7 \u4E0D\u4EE3\u8868\u4F1A\u8BDD\u5DF2\u52A0\u8F7D":"\u6253\u5F00\u9875\u9762\u4E0D\u6267\u884C\u7EF4\u62A4\uFF0C\u4E5F\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),M.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u64CD\u4F5C"},M.default.createElement(_,{kind:"secondary",icon:"reset",disabled:p.busy,onClick:()=>r("refresh")},"\u624B\u52A8\u6838\u5BF9\u7EF4\u62A4\u72B6\u6001\u4E0E\u56DE\u6267"),Object.entries(pa).map(([d,L])=>M.default.createElement(_,{key:d,kind:"soft",disabled:!i.preview,onClick:()=>r(d)},"\u9884\u89C8",L,"\u8BA1\u5212"))),t!==2||!s?M.default.createElement(x,null,"\u76EE\u6807\u7AEF\u53EA\u5F00\u653E\u53EA\u8BFB\u7EF4\u62A4\u8BA1\u5212\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u5E94\u7528\u6216\u6062\u590D\uFF1B\u4E0D\u4F1A\u964D\u7EA7\u8C03\u7528\u65E7\u63A5\u53E3\u3002"):null,p.uncertain&&M.default.createElement(x,{tone:"warn"},"\u539F\u8BF7\u6C42\u7ED3\u679C\u5C1A\u5F85\u6838\u5BF9\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\uFF0C\u4E0D\u628A\u5237\u65B0\u5931\u8D25\u663E\u793A\u4E3A\u7EF4\u62A4\u6210\u529F\u3002"),p.current?.canRecover&&M.default.createElement("div",{className:"connection-actions"},M.default.createElement(_,{kind:"secondary",disabled:!i.recover,onClick:()=>r("recovery_preview")},"\u9884\u89C8\u539F\u4E8B\u52A1\u6062\u590D")),c&&M.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u8BA1\u5212"},M.default.createElement("h3",null,"\u5F85\u786E\u8BA4\u8BA1\u5212 \xB7 ",pa[c.action],"\u89C4\u5219\u4E0E Skill"),M.default.createElement(S,{label:"\u89C4\u5219\u7248\u672C",value:(c.installedVersion??"\u672A\u767B\u8BB0")+" \u2192 "+c.targetVersion}),M.default.createElement(S,{label:"\u62DF\u53D8\u66F4",value:(c.changes?.length??0)+" \u9879 \xB7 \u5C1A\u672A\u6267\u884C"}),M.default.createElement("p",null,"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(c.expiresAt).toLocaleTimeString(),"\u3002\u786E\u8BA4\u65F6\u518D\u6B21\u68C0\u67E5\u6587\u4EF6\u5F52\u5C5E\u3001\u7248\u672C\u548C\u5E76\u53D1\u53D8\u5316\u3002"),c.conflicts?.map((d,L)=>M.default.createElement("div",{className:"plan-item",role:"alert",key:L},M.default.createElement("strong",null,"\u6B64\u9879\u51B2\u7A81\u963B\u6B62\u5E94\u7528"),M.default.createElement("code",null,d.code),d.path&&M.default.createElement("code",null,d.path))),c.changes?.map((d,L)=>M.default.createElement("details",{className:"plan-item",key:L},M.default.createElement("summary",null,qo[d.action]," \xB7 ",d.kind==="global_rules"?"\u5168\u5C40 AGENTS.md":d.path.split(/[\\/]/).slice(-2).join("/")),M.default.createElement("code",null,d.path),M.default.createElement("p",null,d.preservedUserBytes!==void 0?"\u4FDD\u7559\u7528\u6237\u539F\u6587 "+d.preservedUserBytes+" \u5B57\u8282":"\u4EC5\u7BA1\u7406\u6E05\u5355\u5185\u81EA\u6709\u6587\u4EF6"),M.default.createElement(S,{label:"\u53D8\u66F4\u5927\u5C0F",value:d.beforeBytes+" \u2192 "+d.afterBytes+" \u5B57\u8282"}),d.managedText&&M.default.createElement("pre",{className:"install-diff"},d.managedText))),c.retained?.length>0&&M.default.createElement("details",{className:"plan-item"},M.default.createElement("summary",null,"\u5C06\u4FDD\u7559\u7684\u76EE\u5F55\u4E0E\u6587\u4EF6 \xB7 ",c.retained.length," \u9879"),c.retained.map((d,L)=>M.default.createElement("div",{key:L},M.default.createElement("code",null,d.path),M.default.createElement("p",null,d.reason,d.names?.length?" \xB7 "+d.names.join("\u3001"):"")))),!c.canApply&&M.default.createElement(x,null,c.conflicts?.length?"\u5B58\u5728\u51B2\u7A81\uFF0C\u672C\u8BA1\u5212\u4E0D\u80FD\u5E94\u7528\u3002":"\u6CA1\u6709\u53EF\u5E94\u7528\u7684\u53D8\u66F4\uFF1B\u4E0D\u91CD\u590D\u7EF4\u62A4\u3002"),M.default.createElement(R,{checked:l,disabled:!i.apply,onChange:a,title:"\u6211\u786E\u8BA4\u4EC5\u5E94\u7528\u4E0A\u8FF0\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u8BA1\u5212",sub:"\u4E0D\u6388\u6743\u53E6\u4E00\u7AEF\u64CD\u4F5C\u3001\u63D2\u4EF6\u5378\u8F7D\u3001\u4EFB\u52A1\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),M.default.createElement("div",{className:"connection-actions"},M.default.createElement(_,{kind:"primary",disabled:!i.apply||!l,onClick:()=>r("apply")},"\u786E\u8BA4",pa[c.action],"\u672C\u7AEF\u89C4\u5219\u4E0E Skill"),M.default.createElement(_,{kind:"secondary",disabled:p.busy,onClick:()=>{m.current.cancel(),a(!1)}},"\u53D6\u6D88\u8BA1\u5212"))),p.recovery&&M.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u6062\u590D\u8BA1\u5212"},M.default.createElement("h3",null,p.recovery.action==="finalize_receipt"?"\u53D8\u66F4\u5DF2\u63D0\u4EA4 \xB7 \u4EC5\u8865\u9F50\u56DE\u6267\u6536\u5C3E":"\u56DE\u6EDA\u539F\u4E8B\u52A1\u7684\u672A\u5B8C\u6210\u53D8\u66F4"),M.default.createElement(S,{label:"\u539F\u64CD\u4F5C",value:pa[p.current?.action]??"\u7EF4\u62A4"}),Array.isArray(p.current?.files)&&M.default.createElement("details",{className:"plan-item"},M.default.createElement("summary",null,"\u539F\u4E8B\u52A1\u6D89\u53CA ",p.current.files.length," \u4E2A\u53D7\u7BA1\u6587\u4EF6"),p.current.files.map((d,L)=>M.default.createElement("div",{key:L},M.default.createElement("p",null,qo[d.action]??"\u6838\u5BF9\u53D7\u7BA1\u5185\u5BB9"),M.default.createElement("code",null,d.path)))),M.default.createElement("p",null,p.recovery.action==="finalize_receipt"?"\u4E0D\u64A4\u9500\u5DF2\u7ECF\u6210\u529F\u7684\u7EF4\u62A4\uFF0C\u53EA\u6838\u9A8C\u539F\u4E8B\u52A1\u5E76\u6536\u5C3E\u3002":"\u53EA\u6062\u590D\u80FD\u591F\u6838\u9A8C\u7684\u539F\u59CB\u6587\u4EF6\uFF1B\u5E76\u53D1\u4FEE\u6539\u4E0E\u672A\u77E5\u5185\u5BB9\u4FDD\u7559\u4E3A\u5F85\u6838\u5BF9\u3002"),M.default.createElement(R,{checked:l,onChange:a,disabled:!i.recoveryApply,title:"\u6211\u786E\u8BA4\u4EC5\u6309\u4E0A\u8FF0\u8BA1\u5212\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"}),M.default.createElement("div",{className:"connection-actions"},M.default.createElement(_,{kind:"primary",disabled:!l||!i.recoveryApply,onClick:()=>r("recover")},"\u786E\u8BA4\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"),M.default.createElement(_,{kind:"secondary",disabled:p.busy,onClick:()=>{m.current.cancel(),a(!1)}},"\u53D6\u6D88\u6062\u590D"))),o&&M.default.createElement("section",{className:"maintenance-receipt",role:"status","aria-label":"\u6301\u4E45\u7EF4\u62A4\u56DE\u6267"},M.default.createElement("h3",null,"\u6301\u4E45\u56DE\u6267 \xB7 ",Go[o.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),M.default.createElement(S,{label:"\u539F\u64CD\u4F5C",value:pa[o.action]??"\u7EF4\u62A4"}),o.version&&M.default.createElement(S,{label:"\u56DE\u6267\u7248\u672C",value:o.version}),M.default.createElement("p",null,"\u8FD9\u662F\u539F\u64CD\u4F5C\u7684\u8D26\u672C\uFF0C\u4E0D\u4EE3\u8868\u5F53\u524D\u6587\u4EF6\u4ECD\u4E00\u81F4\u3001\u4F1A\u8BDD\u5DF2\u52A0\u8F7D\u6216\u6574\u5957\u73AF\u5883\u7EF4\u62A4\u5B8C\u6210\u3002"),o.error&&M.default.createElement("code",null,o.error),o.review?.map((d,L)=>M.default.createElement("div",{className:"plan-item",key:L},M.default.createElement("code",null,d.path),M.default.createElement("p",null,"\u4FDD\u7559\u73B0\u573A \xB7 ",d.reason))),o.directoryResults?.filter(d=>d.state==="retained_nonempty_or_changed").map((d,L)=>M.default.createElement("p",{key:L},"\u975E\u7A7A\u6216\u53D8\u5316\u7684\u76EE\u5F55\u5DF2\u4FDD\u7559\uFF1A",M.default.createElement("code",null,d.path)))),(p.error||p.current?.error)&&M.default.createElement("p",{className:"connection-error",role:"alert"},vl[p.error||p.current.error]??"\u672C\u6B21\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u8986\u76D6\u6587\u4EF6\u3002"," ",M.default.createElement("code",null,p.error||p.current.error)))}var Vo=["\u590D\u7528\u53CC\u7AEF\u8FDE\u63A5","\u6838\u5BF9\u6A21\u578B\u9009\u62E9","\u9009\u62E9\u6536\u53D1\u5165\u53E3","\u6838\u5BF9\u53EF\u9009\u4ED3\u5E93","\u4FDD\u62A4\u89C4\u5219\u4E0E Skill","\u786E\u8BA4\u590D\u7528\u914D\u7F6E"],Sl=["cloud","model","welcome","repository","tasks","model"],Ro={ONBOARDING_EXISTING_RULES_REQUIRED:"\u4E24\u7AEF\u6258\u7BA1\u89C4\u5219\u5C1A\u672A\u6838\u9A8C\u4E00\u81F4\u3002\u8BF7\u5728\u7B2C 5 \u9875\u5904\u7406\uFF0C\u4E0D\u8BA4\u9886\u672A\u77E5\u6587\u4EF6\u3002",ONBOARDING_EXISTING_MODEL_REQUIRED:"\u6A21\u578B\u5C1A\u672A\u552F\u4E00\u89E3\u6790\uFF0C\u6216\u67D0\u7AEF\u6E05\u5355\u4E0D\u5B8C\u6574\u3002\u8BF7\u91CD\u65B0\u6838\u5BF9\u6A21\u578B\u540D\u79F0\uFF0C\u4E0D\u9700\u8981\u586B\u5199 provider\u3002",ONBOARDING_EXISTING_NOTIFICATION_REQUIRED:"\u6240\u9009\u9ED8\u8BA4\u901A\u77E5\u5C1A\u672A\u5728\u4E91\u7AEF\u540C\u6B65\uFF0C\u6216\u8BE5\u7AEF\u6CA1\u6709\u673A\u5668\u4EBA\u6E05\u5355\u3002\u8BF7\u56DE\u7B2C 3 \u9875\u6838\u5BF9\u3002",ONBOARDING_EXISTING_CONFIGURATION_CHANGED:"\u914D\u7F6E\u5728\u9884\u89C8\u540E\u53D1\u751F\u53D8\u5316\uFF0C\u672A\u4FDD\u5B58\u786E\u8BA4\u3002\u8BF7\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_EXISTING_RECHECK_FAILED:"\u6700\u7EC8\u53EA\u8BFB\u590D\u6838\u672A\u901A\u8FC7\uFF0C\u672A\u4FDD\u5B58\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u8FDE\u63A5\u548C\u914D\u7F6E\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_EXISTING_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u5931\u6548\u6216 Host \u5DF2\u91CD\u542F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u3002"},_t=e=>e&&Number.isFinite(e.expiresAt)&&Date.now()<e.expiresAt;function Wo({request:e,appearance:t,onManaged:s,onExit:n,installationEnabled:u,maintenanceContract:l,maintenanceMutation:a}){let[f,m]=(0,A.useState)(0),[p,i]=(0,A.useState)(null),[c,o]=(0,A.useState)(null),[r,d]=(0,A.useState)(null),[L,C]=(0,A.useState)(null),[h,g]=(0,A.useState)(""),[v,N]=(0,A.useState)(""),[T,w]=(0,A.useState)(!1),[P,D]=(0,A.useState)(!1),[O,W]=(0,A.useState)(""),[j,H]=(0,A.useState)(null),[Ie,fe]=(0,A.useState)(!1),[Ke,Qe]=(0,A.useState)(!1),[Ee,Ae]=(0,A.useState)(null),[se,De]=(0,A.useState)(null),[Te,qe]=(0,A.useState)(!1),[Pe,lt]=(0,A.useState)(!1),[st,na]=(0,A.useState)(""),[Dt,ia]=(0,A.useState)(null),[nt,Z]=(0,A.useState)(null),[ua,re]=(0,A.useState)(!1),be=(0,A.useRef)(!0),Me=(0,A.useRef)(!1),Ze=(0,A.useRef)();(0,A.useEffect)(()=>(be.current=!0,t?.().then(ne=>{be.current&&Z(ne.mascot)}).catch(()=>{}),()=>{be.current=!1}),[]),(0,A.useEffect)(()=>{Ze.current?.focus({preventScroll:!0})},[f]);function Fe(){H(null),fe(!1),na("")}let da=()=>({query:h,clarification:v,im:T,repoUrl:P?O:null});async function $e(ne){if(!Me.current){Me.current=!0,lt(!0),na("");try{if(ne==="model"){o(null);let xe=await e("existing_setup_model",{query:h,clarification:v});be.current&&o(xe)}if(ne==="notifications"){d(null);let xe=await e("existing_setup_notifications",{});be.current&&d(xe)}if(ne==="repository"){C(null);let xe=await e("existing_setup_repository",{url:O});be.current&&C(xe)}if(ne==="preview"){if(se)return;Fe();let xe=await e("existing_setup_preview",da());be.current&&H(xe)}if(ne==="apply"){if(!j||!Ie||se||!_t(j))return;let xe=j;H(null),fe(!1),De({id:xe.id,revision:xe.expectedRevision+1});let ra=await e("existing_setup_apply",{id:xe.id,fingerprint:xe.fingerprint,confirm:!0});if(!be.current)return;Ae(ra),ra.operation===xe.id&&De(null)}if(ne==="status"){let xe=await e("existing_setup_status",{});if(!be.current)return;Ae(xe),qe(!1),se&&(xe.operation===se.id||xe.revision>=se.revision)&&De(null)}if(ne==="fence"){if(!Te||!Ee||!se)return;let xe=crypto.randomUUID();qe(!1);let ra=await e("existing_setup_fence",{expectedRevision:Ee.revision,operation:xe,confirm:!0});if(!be.current)return;Ae(ra),ra.operation===xe&&De(null)}}catch(xe){be.current&&(H(null),fe(!1),na(Ro[xe.message]??"\u672C\u6B21\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3001\u6362\u7AEF\u3001\u590D\u5236\u5BC6\u94A5\u6216\u5F00\u542F\u4EFB\u52A1\u3002"),ne==="apply"&&Ro[xe.message]&&De(null))}finally{Me.current=!1,be.current&&lt(!1)}}}let Ye=p&&[p.local,p.cloud].every(ne=>["committed","inspected"].includes(ne.rules.state)&&ne.rules.files>0),ye=[_t(p),_t(c)&&c.resolution.status==="resolved",!T||r?.enabled&&r.synchronized,!P||!!L,Ye&&Ke];function Ca(){if(!ye[f]||Pe){na("\u8BF7\u5148\u5B8C\u6210\u672C\u9875\u624B\u52A8\u6838\u5BF9\uFF1B\u5931\u6548\u7ED3\u679C\u4E0D\u80FD\u7528\u4E8E\u7EE7\u7EED\u3002");return}Fe(),m(f+1)}function Be(ne){ia({title:"\u79BB\u5F00\u65E2\u6709\u53CC\u7AEF\u914D\u7F6E\uFF1F",body:A.default.createElement(A.default.Fragment,null,A.default.createElement("p",null,"\u5C1A\u672A\u786E\u8BA4\u7684\u586B\u5199\u4E0D\u4F1A\u4FDD\u5B58\u3002\u5DF2\u4FDD\u5B58\u7684\u590D\u7528\u56DE\u6267\u548C\u5B9E\u9645\u914D\u7F6E\u4FDD\u6301\u4E0D\u53D8\uFF1B\u672A\u786E\u8BA4\u7684\u8BF7\u6C42\u5E94\u5148\u67E5\u8BE2\u539F\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u65B0\u63D0\u4EA4\u3002"),A.default.createElement(_,{kind:"secondary",onClick:()=>{ia(null),ne()}},"\u79BB\u5F00\u5F53\u524D\u586B\u5199"))})}let Ve=(ne,xe)=>{Fe(),o(null),g(ne),N(xe)},_a=A.default.createElement(ja,{request:e,onResult:ne=>{i(ne),Fe()}}),Ue=[A.default.createElement("div",{className:"stack"},_a,A.default.createElement(x,null,"\u590D\u7528\u5DF2\u5EFA\u7ACB\u7684\u81EA\u6709\u76F4\u8FDE\uFF0C\u4E0D\u91CD\u65B0\u7533\u8BF7 ECS\u3001\u7D22\u53D6 SSH \u79C1\u94A5\u6216\u521D\u59CB\u5316 Host\u3002\u6CA1\u6709\u76F4\u8FDE\u65F6\u8FD4\u56DE\u201C\u65B0\u73AF\u5883\u914D\u7F6E\u201D\u3002\u8FD9\u662F\u4FDD\u7559\u6570\u636E\u7684\u91CD\u88C5\u8DEF\u5F84\uFF0C\u4E0D\u662F\u5168\u65B0 ECS \u521D\u59CB\u5316\u3002")),A.default.createElement(V,{className:"connection-panel",title:"\u590D\u7528\u6A21\u578B\u670D\u52A1",icon:"key",sub:"\u4FDD\u7559\u4E24\u7AEF\u73B0\u6709\u6A21\u578B\u53CA\u51ED\u636E\u3002\u4EC5\u89E3\u6790\u4E91\u7AEF\u9A8C\u6536\u6A21\u578B\uFF0C\u4E0D\u8C03\u7528\u3001\u4E0D\u8BBE\u4E3A worker \u56FA\u5B9A\u6A21\u578B\uFF1B\u672C\u5730\u539F\u751F\u9ED8\u8BA4\u6A21\u578B\u4E5F\u4E0D\u53D8\u3002"},A.default.createElement(Se,{label:"\u590D\u7528\u4E91\u7AEF\u4EFB\u52A1\u6A21\u578B",placeholder:"\u4F8B\u5982 ds flash",value:h,maxLength:200,onChange:ne=>Ve(ne.target.value,"")}),(c?.resolution.status==="ambiguous"||v)&&A.default.createElement(Se,{label:"\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E",value:v,maxLength:200,onChange:ne=>Ve(h,ne.target.value)}),A.default.createElement("div",{className:"connection-actions"},A.default.createElement(_,{kind:"secondary",disabled:Pe||!h.trim(),onClick:()=>$e("model")},"\u6838\u5BF9\u4E91\u7AEF\u6A21\u578B\u540D\u79F0")),c&&A.default.createElement("div",{className:"connection-result",role:"status"},A.default.createElement("p",null,c.resolution.status==="resolved"?`${c.resolution.selection?.model_name??c.resolution.model_policy.model} \xB7 ${c.resolution.selection?.provider_name??"\u5DF2\u552F\u4E00\u5339\u914D"} \xB7 High\uFF0C\u5C1A\u672A\u8C03\u7528\u3002`:c.resolution.instruction),c.resolution.status!=="resolved"&&c.resolution.candidates?.map(ne=>A.default.createElement("p",{key:ne.provider+"/"+ne.model},ne.model_name," \xB7 ",ne.provider_name))),c?.resolution.status==="ambiguous"&&A.default.createElement("div",{className:"connection-actions"},[...new Set(c.resolution.candidates?.map(ne=>ne.provider_name)??[])].map(ne=>A.default.createElement(_,{key:ne,kind:"soft",onClick:()=>Ve(h,"\u8BF7\u7528 "+ne)},"\u9009\u62E9 ",ne)))),A.default.createElement("div",{className:"stack"},A.default.createElement(V,{className:"connection-panel",title:"\u590D\u7528\u804A\u5929\u4E0E\u901A\u77E5",icon:"chat",sub:"\u53EF\u9009\u3002\u672A\u52FE\u9009\u4EC5\u8DF3\u8FC7\u672C\u6B21\u6838\u9A8C\uFF0C\u4E0D\u505C\u7528\u5DF2\u6709\u673A\u5668\u4EBA\u6216\u901A\u77E5\u3002\u9009\u62E9\u540E\uFF0C\u6838\u5BF9\u5DF2\u4FDD\u5B58\u7684\u9ED8\u8BA4\u7AEF\u53CA\u5BF9\u8BDD\uFF0C\u4E0D\u5F3A\u5236\u586B\u5199 ID\u3002"},A.default.createElement(R,{title:"\u6838\u5BF9\u5E76\u590D\u7528\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3",checked:T,onChange:ne=>{Fe(),w(ne),d(null)}})),T&&A.default.createElement(A.default.Fragment,null,A.default.createElement(ht,{request:e}),A.default.createElement(V,{className:"connection-panel",title:"\u6838\u5BF9\u4E91\u7AEF\u901A\u77E5\u8D26\u672C",icon:"shield"},A.default.createElement(_,{kind:"secondary",onClick:()=>$e("notifications")},"\u6838\u5BF9\u5DF2\u4FDD\u5B58\u7684\u6536\u53D1\u9009\u62E9"),r&&A.default.createElement("div",{role:"status"},A.default.createElement(S,{label:"\u9ED8\u8BA4\u7AEF",value:r.target?.host==="local"?"\u672C\u5730\u673A\u5668\u4EBA":r.target?.host==="cloud"?"\u4E91\u7AEF\u673A\u5668\u4EBA":"\u672A\u914D\u7F6E"}),A.default.createElement(S,{label:"\u8FD4\u56DE\u5BF9\u8BDD",value:r.target?.label??"\u672A\u914D\u7F6E"}),A.default.createElement(S,{label:"\u53CC\u7AEF\u8BB0\u5F55",value:r.enabled&&r.synchronized?"\u4E00\u81F4 \xB7 \u5B9E\u9645\u9001\u8FBE\u4ECD\u987B\u9A8C\u6536":"\u5C1A\u672A\u4E00\u81F4\uFF0C\u8BF7\u5148\u6838\u5BF9\u9ED8\u8BA4\u8BBE\u7F6E"}))))),A.default.createElement(V,{className:"connection-panel",title:"\u590D\u7528\u53EF\u9009 Gitee \u4ED3\u5E93",icon:"git",sub:"\u53EA\u8BFB\u6838\u9A8C\u7528\u6237\u81EA\u5DF1\u7684\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93\uFF0C\u4E0D\u64CD\u4F5C\u4EA7\u54C1\u6E90\u7801\u4ED3\u5E93\uFF1B\u672A\u9009\u62E9\u4E0D\u4F1A\u89E3\u9664\u5386\u53F2\u4EFB\u52A1\u7ED1\u5B9A\u3002"},A.default.createElement(R,{title:"\u6838\u5BF9\u5DF2\u6709 Gitee \u4EFB\u52A1\u4ED3\u5E93",checked:P,onChange:ne=>{Fe(),D(ne),C(null)}}),P?A.default.createElement(A.default.Fragment,null,A.default.createElement(Se,{label:"Gitee \u4ED3\u5E93\u5730\u5740",placeholder:"https://gitee.com/team/task-results",value:O,onChange:ne=>{Fe(),W(ne.target.value),C(null)}}),A.default.createElement(_,{kind:"secondary",disabled:Pe||!O.trim(),onClick:()=>$e("repository")},"\u901A\u8FC7\u4E91\u7AEF API \u53EA\u8BFB\u6838\u9A8C\u4ED3\u5E93"),L&&A.default.createElement("div",{className:"connection-result",role:"status"},A.default.createElement(S,{label:"\u5DF2\u6838\u9A8C\u4ED3\u5E93",value:L.repository.url}),A.default.createElement(S,{label:"\u9ED8\u8BA4\u5206\u652F",value:L.repository.branch}),A.default.createElement(S,{label:"\u8BFB\u53D6\u6743\u9650",value:"\u5DF2\u6838\u9A8C \xB7 \u4E0D\u6388\u6743\u5199\u5165\u6216\u5EFA\u7ACB\u65B0\u4EFB\u52A1\u7ED1\u5B9A"}))):A.default.createElement(x,null,"\u65E0\u9700\u4ED3\u5E93\u4E5F\u80FD\u5DE5\u4F5C\uFF0C\u6210\u679C\u4FDD\u7559\u4ECB\u7ECD\u4E0E\u6267\u884C\u4F1A\u8BDD\u5165\u53E3\u3002\u4E0D\u4F1A\u6E05\u9664\u4EFB\u4F55\u73B0\u6709\u4ED3\u5E93\u8BBE\u7F6E\u3002")),A.default.createElement("div",{className:"stack"},_a,A.default.createElement(V,{className:"connection-panel",title:"\u4FDD\u7559\u89C4\u5219\u4E0E\u7528\u6237\u5185\u5BB9",icon:"shield",sub:"\u53EA\u6838\u5BF9\u6709\u771F\u5B9E\u5F52\u5C5E\u8D26\u672C\u7684\u6258\u7BA1\u89C4\u5219\u4E0E Skill\u3002\u672A\u77E5\u6587\u4EF6\u4E0D\u8BA4\u9886\uFF0C\u7528\u6237\u5185\u5BB9\u4E0D\u8986\u76D6\u3002\u4E91\u7AEF\u89C4\u5219\u987B\u5728\u4E91\u7AEF\u81EA\u8EAB\u5B89\u88C5\u5668\u5904\u7406\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u8C03\u7528\u4EFB\u610F\u8FDC\u7AEF\u5B89\u88C5\u64CD\u4F5C\u3002"},A.default.createElement(S,{label:"\u53CC\u7AEF\u89C4\u5219",value:Ye?"\u6587\u4EF6\u6838\u9A8C\u4E00\u81F4 \xB7 \u4F1A\u8BDD\u52A0\u8F7D\u53E6\u9A8C":"\u5C1A\u672A\u6838\u9A8C\u4E00\u81F4\uFF0C\u4E0D\u80FD\u786E\u8BA4\u590D\u7528"}),A.default.createElement(R,{title:"\u6211\u5DF2\u6838\u5BF9\u4FDD\u62A4\u8303\u56F4\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u5199\u5165",checked:Ke,onChange:Qe})),u&&A.default.createElement("details",{className:"details"},A.default.createElement("summary",null,"\u672C\u7AEF\u89C4\u5219\u5B89\u88C5\u4E0E\u7EF4\u62A4"),A.default.createElement(gt,{request:e}),l>0&&A.default.createElement(Ct,{request:e,contract:l,mutation:a}))),A.default.createElement(V,{className:"connection-panel",title:"\u786E\u8BA4\u590D\u7528\u73B0\u6709\u914D\u7F6E",icon:"shield",sub:"\u6700\u540E\u91CD\u65B0\u6838\u5BF9\u4E24\u7AEF\u3001\u6A21\u578B\u3001\u53EF\u9009\u901A\u77E5\u53CA\u4ED3\u5E93\uFF0C\u7136\u540E\u53EA\u4FDD\u5B58\u672C\u63D2\u4EF6\u7684\u590D\u7528\u786E\u8BA4\u8BB0\u5F55\u3002\u4E0D\u521B\u5EFA Host\u3001\u4E0D\u590D\u5236\u5BC6\u94A5\u3001\u4E0D\u6267\u884C\u4EFB\u52A1\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u6743\u9650\u3002"},A.default.createElement("div",{className:"connection-actions"},A.default.createElement(_,{kind:"primary",disabled:Pe||!!se,onClick:()=>$e("preview")},"\u9884\u89C8\u590D\u7528\u786E\u8BA4"),A.default.createElement(_,{kind:"secondary",disabled:Pe,onClick:()=>$e("status")},"\u67E5\u8BE2\u539F\u590D\u7528\u56DE\u6267")),j&&A.default.createElement("section",{className:"connection-confirm"},A.default.createElement(S,{label:"\u4E91\u7AEF\u6A21\u578B",value:j.evidence.model.model+" \xB7 High \xB7 \u4E0D\u8BBE\u5168\u5C40\u9ED8\u8BA4"}),A.default.createElement(S,{label:"\u6536\u53D1\u5165\u53E3",value:j.evidence.notification?`${j.evidence.notification.target.host==="local"?"\u672C\u5730":"\u4E91\u7AEF"} \xB7 ${j.evidence.notification.target.label}`:"\u672C\u6B21\u8DF3\u8FC7\uFF0C\u4FDD\u7559\u73B0\u6709\u8BBE\u7F6E"}),A.default.createElement(S,{label:"\u4ED3\u5E93",value:j.evidence.repository?.url??"\u672C\u6B21\u8DF3\u8FC7\uFF0C\u4FDD\u7559\u73B0\u6709\u7ED1\u5B9A"}),A.default.createElement(R,{title:"\u6211\u786E\u8BA4\u590D\u7528\u4E0A\u8FF0\u914D\u7F6E\uFF0C\u4EC5\u4FDD\u5B58\u786E\u8BA4\u8BB0\u5F55",checked:Ie,onChange:fe}),A.default.createElement("div",{className:"connection-actions"},A.default.createElement(_,{kind:"primary",disabled:Pe||!Ie||!_t(j),onClick:()=>$e("apply")},"\u786E\u8BA4\u590D\u7528\u914D\u7F6E"))),Ee&&A.default.createElement("div",{className:"connection-result",role:"status"},A.default.createElement("h3",null,Ee.state==="confirmed_history"?"\u5DF2\u4FDD\u5B58\u590D\u7528\u786E\u8BA4\u56DE\u6267":"\u5C1A\u65E0\u6709\u6548\u590D\u7528\u786E\u8BA4"),A.default.createElement("p",null,"\u8FD9\u662F\u5386\u53F2\u914D\u7F6E\u9009\u62E9\uFF0C\u4E0D\u662F\u5B9E\u65F6\u5728\u7EBF\u6216\u4EFB\u52A1\u6210\u529F\u8BC1\u660E\u3002\u539F\u751F\u914D\u7F6E\u548C\u5B89\u88C5\u5F52\u5C5E\u6CA1\u6709\u6539\u53D8\uFF1B\u5B9E\u9645\u4EFB\u52A1\u3001IM \u9001\u8FBE\u548C\u6210\u679C\u4ECD\u9700\u9A8C\u6536\u3002")),se&&A.default.createElement("div",{className:"connection-confirm"},A.default.createElement(x,null,"\u539F\u4FDD\u5B58\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u4E0D\u91CD\u590D\u70B9\u51FB\u786E\u8BA4\u3002\u82E5\u6838\u5BF9\u540E\u4ECD\u9700\u5173\u95ED\u6B64\u8BF7\u6C42\uFF0C\u53EA\u4F5C\u7248\u672C\u5C4F\u969C\uFF0C\u5B9E\u9645\u914D\u7F6E\u4FDD\u6301\u4E0D\u53D8\u3002"),Ee&&A.default.createElement(A.default.Fragment,null,A.default.createElement(R,{title:"\u5173\u95ED\u672A\u786E\u8BA4\u8BF7\u6C42\uFF0C\u4F7F\u539F\u590D\u7528\u786E\u8BA4\u5931\u6548\u4F46\u4FDD\u7559\u5B9E\u9645\u914D\u7F6E",checked:Te,onChange:qe}),A.default.createElement(_,{kind:"secondary",disabled:Pe||!Te,onClick:()=>$e("fence")},"\u5173\u95ED\u672A\u786E\u8BA4\u7684\u590D\u7528\u8BF7\u6C42"))))][f];return A.default.createElement(mt,{onHelp:(ne,xe)=>ia({title:ne,body:xe})},A.default.createElement("div",{className:"dsh-onboarding existing-setup"+(ua?" keyboard":""),style:nt?{"--mascot":`url("${nt}")`}:void 0,onKeyDownCapture:()=>re(!0),onPointerDownCapture:()=>re(!1)},A.default.createElement("div",{className:"window-frame"},A.default.createElement("header",{className:"window-header"},A.default.createElement("div",{className:"brand"},A.default.createElement("span",{className:"brand-portrait"},A.default.createElement(Ge,null)),A.default.createElement("strong",null,"\u5927\u80A5\u9C7Cbot",A.default.createElement("span",null,"\u4FDD\u7559\u6570\u636E\uFF0C\u590D\u7528\u5DF2\u6709\u914D\u7F6E"))),A.default.createElement("div",{className:"header-actions"},A.default.createElement(ve,null,"\u65E2\u6709\u53CC\u7AEF"),A.default.createElement(_,{kind:"text",disabled:Pe,onClick:()=>Be(s)},"\u65B0\u73AF\u5883\u914D\u7F6E"),n&&A.default.createElement(_,{kind:"text",disabled:Pe,onClick:()=>Be(n)},"\u8FD4\u56DE\u5927\u80A5\u9C7Cbot"))),A.default.createElement("main",null,A.default.createElement("div",{className:"page-top"},A.default.createElement("div",{className:"page-position"},A.default.createElement("strong",null,f+1,A.default.createElement("span",null,"/6")),A.default.createElement("h1",{ref:Ze,tabIndex:"-1"},Vo[f]),A.default.createElement(Ja,{title:Vo[f]},"\u53EA\u590D\u7528\u5F53\u524D\u5DF2\u8BA4\u8BC1\u914D\u5BF9\u7684\u4E24\u4E2A Host\u3002\u586B\u5199\u8FDB\u5EA6\u4E0D\u7B49\u4E8E\u771F\u5B9E\u9A8C\u6536\uFF1B\u6BCF\u4E2A\u5B9E\u9645\u914D\u7F6E\u4FEE\u6539\u4ECD\u4F7F\u7528\u72EC\u7ACB\u9884\u89C8\u4E0E\u786E\u8BA4\u3002")),A.default.createElement("span",{className:"step-mascot mascot-zone"},A.default.createElement(Ge,{pose:Sl[f]}))),A.default.createElement("div",{className:"page-progress progress-track",role:"progressbar","aria-label":"\u65E2\u6709\u914D\u7F6E\u586B\u5199\u8FDB\u5EA6","aria-valuemin":"0","aria-valuemax":"6","aria-valuenow":f},A.default.createElement("span",{style:{transform:`scaleX(${f/6})`}})),A.default.createElement("fieldset",{disabled:Pe,style:{border:0,padding:0,margin:0}},A.default.createElement("div",{className:"page-content","data-page":f+1},Ue)),st&&A.default.createElement("p",{className:"connection-error",role:"alert"},st),A.default.createElement("footer",{className:"wizard-footer"},A.default.createElement("p",{className:"fine-print"},"\u53EA\u624B\u52A8\u6838\u5BF9\uFF1B\u8DF3\u8FC7\u53EF\u9009\u9879\u4E0D\u4F1A\u505C\u7528\u73B0\u6709\u529F\u80FD\u3002\u5F53\u524D\u586B\u5199\u5C1A\u672A\u4FDD\u5B58\uFF0C\u6700\u7EC8\u786E\u8BA4\u53E6\u6709\u56DE\u6267\u3002"),A.default.createElement("div",null,A.default.createElement(_,{kind:"text",icon:"back",disabled:!f||Pe||!!se,onClick:()=>{Fe(),m(f-1)}},"\u4E0A\u4E00\u6B65")),A.default.createElement("div",null,f<5&&A.default.createElement(_,{kind:"primary",end:"arrow",disabled:Pe||!ye[f],onClick:Ca},"\u7EE7\u7EED"))))),A.default.createElement(sa,{modal:Dt,onClose:()=>ia(null)})))}var $=Ce(ge());var xl={outgoing:"\u53D1\u4EF6",incoming:"\u6536\u4EF6",broker:"\u4E91\u7AEF\u4E2D\u7EE7"},vt={cloud:"\u4E91\u7AEF",local:"\u672C\u5730"},zo={PEER_FILE_SCOPE_CHANGED:"\u53D1\u9001\u8303\u56F4\u5DF2\u8C03\u6574\uFF0C\u539F\u8BB0\u5F55\u5DF2\u6302\u8D77",PEER_FILE_UNAVAILABLE:"\u4F20\u8F93\u5931\u8D25\uFF0C\u9700\u8981\u4EBA\u5DE5\u6838\u5BF9",PEER_FILE_PEER_REVIEW_REQUIRED:"\u5BF9\u7AEF\u5C1A\u672A\u786E\u8BA4\u6062\u590D",ONBOARDING_FILES_QUEUE_HISTORY_MISSING:"\u7F3A\u5C11\u53EF\u4FE1\u7684\u539F\u9636\u6BB5\u8BB0\u5F55\uFF0C\u6682\u53EA\u80FD\u4FDD\u7559",ONBOARDING_FILES_QUEUE_RETRY_BUDGET:"\u91CD\u8BD5\u9884\u7B97\u5DF2\u8017\u5C3D\uFF0C\u4E0D\u80FD\u901A\u8FC7\u6062\u590D\u91CD\u7F6E",ONBOARDING_FILES_QUEUE_METADATA_REVIEW:"\u539F\u8BB0\u5F55\u4FE1\u606F\u9700\u8981\u6838\u5BF9"},Nl={ONBOARDING_FILES_QUEUE_DISABLE_REQUIRED:"\u8BF7\u5148\u505C\u7528\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u518D\u9010\u9879\u590D\u6838\u3002",ONBOARDING_FILES_QUEUE_HISTORY_MISSING:"\u7F3A\u5C11\u53EF\u4FE1\u9636\u6BB5\u8BC1\u660E\uFF0C\u4E0D\u80FD\u731C\u6D4B\u6062\u590D\uFF1B\u53EF\u4EE5\u7EE7\u7EED\u4FDD\u7559\u3002",ONBOARDING_FILES_QUEUE_SIZE_LIMIT:"\u6587\u4EF6\u8D85\u8FC7\u5F53\u524D\u4E0A\u9650\uFF0C\u5C1A\u672A\u6062\u590D\u3002",ONBOARDING_FILES_QUEUE_RETRY_BUDGET:"\u9884\u7B97\u5DF2\u8017\u5C3D\uFF0C\u4E0D\u4F1A\u91CD\u7F6E\u6B21\u6570\u3002",ONBOARDING_FILES_QUEUE_DESTINATION_EXISTS:"\u6536\u4EF6\u4F4D\u7F6E\u5DF2\u6709\u6587\u4EF6\uFF0C\u672A\u8986\u76D6\u6216\u8BA4\u9886\u3002",ONBOARDING_FILES_QUEUE_BYTES_CHANGED:"\u5DF2\u4FDD\u5B58\u5B57\u8282\u53D1\u751F\u53D8\u5316\uFF0C\u4FDD\u6301\u6302\u8D77\u3002",ONBOARDING_FILES_QUEUE_CHANGED:"\u961F\u5217\u6216\u5FEB\u7167\u4E0E\u9884\u89C8\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u624B\u52A8\u91CD\u65B0\u67E5\u8BE2\u3002",ONBOARDING_FILES_QUEUE_NOT_HELD:"\u6B64\u8BB0\u5F55\u5DF2\u4E0D\u662F\u6302\u8D77\u72B6\u6001\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_FILES_RECOVERY_REQUIRED:"\u539F\u51B3\u5B9A\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u80FD\u7528\u65B0\u51B3\u5B9A\u8986\u76D6\u672A\u77E5\u7ED3\u679C\u3002",ONBOARDING_CLOUD_FILES_QUEUE_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u961F\u5217\u590D\u6838\uFF0C\u672A\u66FF\u6362\u63A7\u5236\u5668\u6216\u964D\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_QUEUE_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u5F53\u524D\u961F\u5217\u590D\u6838\u5408\u540C\uFF0C\u672A\u6267\u884C\u3002",ONBOARDING_FILES_QUEUE_CLOSED:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED\uFF0C\u8FDF\u5230\u786E\u8BA4\u4E0D\u4F1A\u6267\u884C\u3002",ONBOARDING_FILES_ALREADY_APPLIED:"\u539F\u51B3\u5B9A\u5DF2\u8BB0\u8D26\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5F53\u4F5C\u53D6\u6D88\u3002"},Gt=e=>({operation:{state:e.receipt?"applied":e.closed?"closed":"needs_review"},receipt:e.receipt,freshness:"remote_checked"});function Ko({request:e,cloud:t=!1}){let[s,n]=(0,$.useState)(null),[u,l]=(0,$.useState)(null),[a,f]=(0,$.useState)(null),[m,p]=(0,$.useState)(!1),[i,c]=(0,$.useState)(!1),[o,r]=(0,$.useState)(""),[d,L]=(0,$.useState)(null),C=(0,$.useRef)(!1),h=t?"cloud_file_transfer_":"file_transfer_",g=t?"\u4E91\u7AEF":"\u672C\u7AEF",v=u?.operation?.state,N=!!d&&!u||["sending","closing","needs_review"].includes(v),T=O=>"dsh-own-file-queue-review:"+O;function w(O){let W={id:O.id,fingerprint:O.fingerprint,name:O.review.name};try{sessionStorage.setItem(T(s.runtimeId),JSON.stringify(W))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}return L(W),W}function P(O){try{let W=sessionStorage.getItem(T(O.runtimeId));if(!W)return;let j=JSON.parse(W);if(typeof j.id!="string"||!/^[a-f0-9-]{36}$/.test(j.id)||typeof j.fingerprint!="string"||!/^[a-f0-9]{64}$/.test(j.fingerprint))throw Error();j.id!==d?.id&&(L(j),l(null))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}}async function D(O,W){if(C.current)return;C.current=!0,c(!0),r("");let j=!1;try{if(O==="list"){f(null),p(!1);let H=await e(h+"queueList",{}),Ie=t?H.queue:H;n(Ie),t?l(await e(h+"queueReviewStatus",{refresh:!1})):P(Ie)}if((O==="resume"||O==="retain")&&(f(null),p(!1),f(await e(h+"queueReviewPreview",{item:W.item,decision:O}))),O==="apply"){if(!a||!m)return;let H=a;f(null),p(!1),t||w(H),l({operation:{state:"sending"},receipt:null,freshness:"cached"}),j=!0;let Ie=await e(h+"queueReviewApply",{id:H.id,fingerprint:H.fingerprint,confirm:!0});l(t?Ie:Gt({receipt:Ie,closed:!1})),n(null)}if(O==="status"){let H=await e(h+"queueReviewStatus",t?{refresh:!0}:{operation:d.id,fingerprint:d.fingerprint});l(t?H:Gt(H)),f(null),p(!1)}if(O==="closePreview"&&(p(!1),f(t?await e(h+"queueReviewClosePreview",{}):{kind:"queue_review_close",name:d.name,reference:d})),O==="close"){if(!a||!m)return;let H=a;f(null),p(!1),l(fe=>({...fe,operation:{...fe?.operation,state:"closing"}}));let Ie=await e(h+"queueReviewClose",t?{id:H.id,fingerprint:H.fingerprint,confirm:!0}:{operation:H.reference.id,fingerprint:H.reference.fingerprint,confirm:!0});l(t?Ie:Gt(Ie))}}catch(H){f(null),p(!1),O==="list"&&n(null),(["status","close"].includes(O)||O==="apply"&&j)&&l(Ie=>({...Ie,operation:{...Ie?.operation,state:"needs_review"},freshness:"check_failed"})),r(Nl[H.message]??(H.message==="UI_REQUEST_INDEX_UNAVAILABLE"?"\u65E0\u6CD5\u4FDD\u5B58\u6216\u8BFB\u53D6\u672C\u7AEF\u8BF7\u6C42\u7D22\u5F15\uFF0C\u5C1A\u672A\u53D1\u51FA\u65B0\u7684\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u6D4F\u89C8\u5668\u5B58\u50A8\u6743\u9650\u3002":"\u6838\u9A8C\u672A\u5B8C\u6210\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u539F\u51B3\u5B9A\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u3001\u5220\u9664\u6216\u542F\u7528\u3002"))}finally{C.current=!1,c(!1)}}return $.default.createElement("section",{className:"connection-utility file-queue","aria-label":g+"\u6302\u8D77\u6587\u4EF6\u590D\u6838"},$.default.createElement("div",{className:"file-queue-heading"},$.default.createElement("div",null,$.default.createElement("h3",null,"\u6302\u8D77\u6587\u4EF6\uFF0C\u9010\u9879\u51B3\u5B9A"),$.default.createElement("p",null,"\u6309\u6587\u4EF6\u540D\u6838\u5BF9\u3002\u4FDD\u7559\u4E0D\u5220\u9664\uFF0C\u6062\u590D\u4E0D\u7B49\u4E8E\u9001\u8FBE\u3002")),$.default.createElement(ve,null,"\u624B\u52A8\u67E5\u8BE2")),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"secondary",icon:"file",disabled:i,onClick:()=>D("list")},"\u67E5\u770B",g,"\u6302\u8D77\u6587\u4EF6"),$.default.createElement(_,{kind:"secondary",icon:"reset",disabled:i||!t&&!d,onClick:()=>D("status")},"\u6838\u5BF9",g,"\u539F\u51B3\u5B9A\u56DE\u6267")),s&&$.default.createElement($.default.Fragment,null,$.default.createElement("p",{className:"fine-print"},s.enabled?"\u5F53\u524D\u6587\u4EF6\u76F4\u4F20\u5DF2\u542F\u7528\uFF0C\u8BF7\u5148\u5728\u4E0A\u65B9\u72EC\u7ACB\u505C\u7528\uFF1B\u6B64\u5904\u6682\u4E0D\u80FD\u786E\u8BA4\u6062\u590D\u3002":"\u6B64\u7AEF\u5DF2\u505C\u7528\u3002\u9010\u9879\u786E\u8BA4\u540E\u4ECD\u4FDD\u6301\u505C\u7528\uFF1B\u53E6\u884C\u542F\u7528\u624D\u4F1A\u4F20\u8F93\u3002"),$.default.createElement("div",{className:"file-queue-list"},s.items.map(O=>$.default.createElement("article",{className:"file-queue-card",key:JSON.stringify(O.item),"aria-label":O.name??"\u4FE1\u606F\u5F85\u6838\u5BF9\u7684\u6587\u4EF6"},$.default.createElement("div",{className:"file-queue-heading"},$.default.createElement("h4",null,O.name??"\u6587\u4EF6\u4FE1\u606F\u5F85\u6838\u5BF9"),$.default.createElement(ve,null,xl[O.item.queue])),$.default.createElement("p",null,O.from?vt[O.from]+" \u2192 "+vt[O.to]:"\u65B9\u5411\u5F85\u6838\u5BF9"," \xB7 ",O.size===null?"\u5927\u5C0F\u5F85\u6838\u5BF9":O.size+" \u5B57\u8282"),$.default.createElement("p",null,zo[O.reason]??"\u8BB0\u5F55\u4ECD\u5904\u4E8E\u5F85\u6838\u5BF9\u72B6\u6001",O.retained?" \xB7 \u5DF2\u9009\u62E9\u7EE7\u7EED\u4FDD\u7559":""),$.default.createElement("p",{className:"fine-print"},O.recoveryCheck==="requires_byte_validation"?"\u6062\u590D\u9884\u89C8\u8FD8\u4F1A\u68C0\u67E5\u5DF2\u4FDD\u5B58\u5B57\u8282\u3001\u5F53\u524D\u4E0A\u9650\u53CA\u76EE\u6807\u51B2\u7A81\u3002":zo[O.recoveryCheck]??"\u9700\u4FDD\u7559\u5E76\u4EBA\u5DE5\u6838\u5BF9\u3002",O.attempts!==null?" \u5DF2\u7528\u91CD\u8BD5 "+O.attempts+" \u6B21\uFF0C\u4E0D\u4F1A\u91CD\u7F6E\u3002":""),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"secondary",icon:"pause",disabled:i||N||s.enabled,onClick:()=>D("retain",O)},"\u9884\u89C8\u7EE7\u7EED\u4FDD\u7559"),$.default.createElement(_,{kind:"primary",icon:"play",disabled:i||N||s.enabled||O.recoveryCheck!=="requires_byte_validation",onClick:()=>D("resume",O)},"\u9884\u89C8\u6062\u590D\u6B64\u6587\u4EF6")))),!s.items.length&&$.default.createElement(x,null,"\u5F53\u524D\u6CA1\u6709\u6302\u8D77\u8BB0\u5F55\u3002\u8FD9\u4E0D\u4EE3\u8868\u6240\u6709\u4F20\u8F93\u5DF2\u7ECF\u9001\u8FBE\uFF1B\u6210\u679C\u548C\u6536\u4EF6\u72B6\u6001\u9700\u5206\u522B\u6838\u9A8C\u3002"))),u&&$.default.createElement("div",{className:"connection-result",role:"status"},$.default.createElement(S,{label:"\u539F\u51B3\u5B9A",value:{not_started:"\u5C1A\u65E0\u672C\u7AEF\u53D1\u8D77\u7684\u4E91\u7AEF\u51B3\u5B9A",sending:"\u5DF2\u53D1\u8D77 \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1",closing:"\u5173\u95ED\u8BF7\u6C42\u5F85\u6838\u5BF9",closed:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED \xB7 \u672A\u56E0\u6B64\u6539\u53D8\u961F\u5217",applied:"\u51B3\u5B9A\u5DF2\u8BB0\u8D26 \xB7 \u4E0D\u662F\u9001\u8FBE\u56DE\u6267"}[v]??"\u9700\u6838\u5BF9"}),u.receipt&&$.default.createElement(S,{label:"\u51B3\u5B9A\u5F53\u65F6\u7684\u7ED3\u679C",value:u.receipt.decision==="retain"?"\u7EE7\u7EED\u4FDD\u7559\uFF0C\u6587\u4EF6\u4E0E\u961F\u5217\u4E0D\u5220\u9664":"\u6062\u590D\u539F\u961F\u5217\uFF0C\u4ECD\u9700\u53E6\u884C\u542F\u7528\u5E76\u6838\u9A8C\u9001\u8FBE"}),$.default.createElement("p",{className:"fine-print"},u.freshness==="remote_checked"?"\u5DF2\u67E5\u8BE2\u76EE\u6807\u7AEF\u56DE\u6267\u3002\u56DE\u6267\u4E0D\u662F\u5F53\u524D\u4F20\u8F93\u8FDB\u5EA6\u3002":"\u5C1A\u672A\u53D6\u5F97\u76EE\u6807\u7AEF\u65B0\u9C9C\u56DE\u6267\uFF1B\u7F13\u5B58\u4E0D\u80FD\u8BC1\u660E\u5F53\u524D\u72B6\u6001\u3002")),N&&$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"secondary",icon:"shield",disabled:i,onClick:()=>D("closePreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5",g,"\u51B3\u5B9A")),a&&$.default.createElement("section",{className:"connection-confirm","aria-label":g+"\u5355\u6587\u4EF6\u51B3\u5B9A\u786E\u8BA4"},$.default.createElement("h3",null,a.kind==="queue_review_close"?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4E0D\u64A4\u9500\u5DF2\u5B8C\u6210\u51B3\u5B9A":a.review.decision==="resume"?"\u53EA\u6062\u590D\u8FD9\u4E00\u4E2A\u6587\u4EF6\u7684\u539F\u961F\u5217":"\u7EE7\u7EED\u4FDD\u7559\u8FD9\u4E00\u4E2A\u6587\u4EF6"),$.default.createElement(S,{label:"\u6587\u4EF6",value:a.review?.name??a.name??"\u4FE1\u606F\u5F85\u6838\u5BF9"}),(a.remoteTarget??a.target)&&$.default.createElement(S,{label:"\u7ED1\u5B9A\u4E91\u7AEF\u73AF\u5883",value:(a.remoteTarget??a.target).root}),a.review&&$.default.createElement($.default.Fragment,null,$.default.createElement(S,{label:"\u65B9\u5411",value:a.review.from?vt[a.review.from]+" \u2192 "+vt[a.review.to]:"\u5F85\u6838\u5BF9"}),$.default.createElement(S,{label:"\u5927\u5C0F",value:a.review.size===null?"\u5F85\u6838\u5BF9":a.review.size+" \u5B57\u8282"}),$.default.createElement(x,null,a.review.decision==="resume"?"\u53EA\u5904\u7406\u539F\u5FEB\u7167\u548C\u539F\u6587\u4EF6 ID\uFF0C\u4E0D\u91CD\u65B0\u8BFB\u53D6\u65E7\u6765\u6E90\uFF0C\u4E0D\u91CD\u7F6E\u6B21\u6570\uFF1B\u4ECD\u4FDD\u6301\u505C\u7528\uFF0C\u5BF9\u7AEF\u987B\u72EC\u7ACB\u786E\u8BA4\u3002":"\u53EA\u8BB0\u5F55\u4FDD\u7559\u51B3\u5B9A\uFF0C\u4E0D\u5220\u9664\u6587\u4EF6\u3001\u5FEB\u7167\u6216\u961F\u5217\uFF0C\u4E5F\u4E0D\u6267\u884C\u6587\u4EF6\u3002")),a.kind==="queue_review_close"&&$.default.createElement(x,null,"\u53EA\u963B\u65AD\u8FD9\u4E2A\u672A\u77E5\u8BF7\u6C42\u7684\u8FDF\u5230\u5E94\u7528\u3002\u82E5\u539F\u51B3\u5B9A\u5DF2\u5B8C\u6210\uFF0C\u4F1A\u663E\u793A\u771F\u5B9E\u56DE\u6267\uFF0C\u4E0D\u5047\u62A5\u53D6\u6D88\uFF1B\u4E0D\u6539\u53D8\u73B0\u6709\u542F\u7528\u72B6\u6001\u3002"),$.default.createElement(R,{title:a.kind==="queue_review_close"?"\u6211\u786E\u8BA4\u53EA\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u51B3\u5B9A\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743":"\u6211\u786E\u8BA4\u53EA\u5904\u7406\u6B64\u6587\u4EF6\uFF0C\u4FDD\u6301\u505C\u7528\u4E14\u4E0D\u91CD\u7F6E\u6B21\u6570",checked:m,disabled:i,onChange:p}),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"primary",icon:"check",disabled:i||!m,onClick:()=>D(a.kind==="queue_review_close"?"close":"apply")},a.kind==="queue_review_close"?"\u786E\u8BA4\u5173\u95ED\u539F\u8BF7\u6C42":a.review.decision==="resume"?"\u786E\u8BA4\u6062\u590D\u539F\u961F\u5217":"\u786E\u8BA4\u7EE7\u7EED\u4FDD\u7559"),$.default.createElement(_,{kind:"secondary",disabled:i,onClick:()=>{f(null),p(!1)}},"\u53D6\u6D88"))),o&&$.default.createElement("p",{className:"connection-error",role:"alert"},o))}function Xo(e,{uncertain:t=!1,cloud:s=!1,freshness:n}={}){if(!e?.available||!Array.isArray(e.sendRoots))return null;let u=typeof e.scopeHash=="string"&&e.scopeHash.length>0;return{roots:[...e.sendRoots],title:u?"\u4E0A\u6B21\u6838\u5BF9\u7684\u5DF2\u767B\u8BB0\u8303\u56F4":"\u9ED8\u8BA4\u5019\u9009\u8303\u56F4 \xB7 \u5C1A\u672A\u6388\u6743",note:t||s&&n!=="remote_checked"?"\u5F53\u524D\u7ED3\u679C\u672A\u6838\u5BF9\uFF1B\u4E0B\u5217\u5386\u53F2\u76EE\u5F55\u4E0D\u80FD\u8BC1\u660E\u73B0\u5728\u53EF\u53D1\u9001\u3002":u?"\u4EC5\u8868\u793A\u672C\u6B21\u67E5\u8BE2\u7684\u76EE\u5F55\u8BB0\u5F55\uFF1B\u5B9E\u9645\u53EF\u53D1\u9001\u6027\u4ECD\u7531\u542F\u7528\u72B6\u6001\u3001\u6587\u4EF6\u548C\u76EE\u6807\u7AEF\u6821\u9A8C\u51B3\u5B9A\u3002":"\u8FD9\u4E9B\u9ED8\u8BA4\u8DEF\u5F84\u5C1A\u672A\u83B7\u5F97\u53D1\u9001\u6388\u6743\u3002"}}var B=Ce(ge());var Al={ONBOARDING_CLOUD_FILES_MIGRATION_UNSUPPORTED:"\u4E91\u7AEF\u539F\u5F52\u6863\u4E0D\u652F\u6301\u8303\u56F4\u8FC1\u79FB\uFF0C\u8BF7\u4FDD\u7559\u5F53\u524D\u914D\u7F6E\uFF1B\u4E0D\u66FF\u6362\u63A7\u5236\u5668\u7ED5\u8FC7\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_MIGRATION_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u8303\u56F4\u8FC1\u79FB\uFF0C\u672A\u964D\u7EA7\u6267\u884C\u3002",ONBOARDING_FILES_MIGRATION_DISABLE_REQUIRED:"\u8BF7\u5148\u72EC\u7ACB\u505C\u7528\u6587\u4EF6\u76F4\u4F20\u5E76\u6838\u5BF9\u72B6\u6001\uFF0C\u518D\u8C03\u6574\u8303\u56F4\u3002",ONBOARDING_FILES_MIGRATION_NO_CHANGE:"\u8303\u56F4\u548C\u4E0A\u9650\u6CA1\u6709\u53D8\u5316\uFF0C\u65E0\u9700\u8FC1\u79FB\u3002",ONBOARDING_FILES_MIGRATION_PENDING:"\u5DF2\u8BB0\u5F55\u539F\u8FC1\u79FB\uFF0C\u5C1A\u9700\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u542F\u7528\u6216\u91CD\u53D1\u3002",ONBOARDING_FILES_MIGRATION_CHANGED:"\u961F\u5217\u6216\u6388\u6743\u5DF2\u53D8\u5316\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u4E0D\u8986\u76D6\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_FILES_UNSUPPORTED:"\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u6587\u4EF6\u914D\u7F6E\u5408\u540C\uFF0C\u8BF7\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u76F4\u63A5\u66FF\u6362\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u5F53\u524D\u6587\u4EF6\u914D\u7F6E\u7248\u672C\uFF0C\u672A\u964D\u7EA7\u6267\u884C\u3002",ONBOARDING_FILES_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u4ECD\u5F85\u6838\u5BF9\uFF0C\u8BF7\u5148\u624B\u52A8\u8BFB\u53D6\u56DE\u6267\uFF0C\u4E0D\u80FD\u7528\u65B0\u8BF7\u6C42\u8986\u76D6\u3002",ONBOARDING_FILES_ALREADY_APPLIED:"\u539F\u8BF7\u6C42\u5DF2\u7ECF\u8BB0\u8D26\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u5B9E\u9645\u72B6\u6001\uFF0C\u4E0D\u5FC5\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_FILES_RUNTIME_REQUIRED:"\u8BF7\u5148\u542F\u7528\u5F53\u524D\u4E91\u7AEF\u7684\u53D7\u7BA1\u4EFB\u52A1\u53D7\u7406\uFF0C\u6216\u5728\u672C\u7AEF\u5B8C\u6210\u4E0E\u4E91\u7AEF\u7684\u914D\u5BF9\uFF1B\u4E0D\u4F1A\u63A5\u7BA1\u65E7\u8FD0\u884C\u65F6\u3002",ONBOARDING_FILES_SOURCE_DENIED:"\u53D1\u9001\u8303\u56F4\u8FC7\u5927\u6216\u5C5E\u4E8E\u53D7\u4FDD\u62A4\u76EE\u5F55\u3002\u8BF7\u9009\u62E9\u4E13\u7528\u666E\u901A\u76EE\u5F55\uFF1B\u4E0D\u8981\u9009\u62E9\u4E3B\u76EE\u5F55\u6216 DSH \u914D\u7F6E\u533A\uFF08\u5305\u62EC\u5176\u4E2D\u7684 IM \u6682\u5B58\u76EE\u5F55\uFF09\u3002",ONBOARDING_FILES_SOURCE_REVIEW:"\u53D1\u9001\u76EE\u5F55\u4E0D\u5B58\u5728\u3001\u4E0D\u662F\u89C4\u8303\u7EDD\u5BF9\u8DEF\u5F84\u6216\u65E0\u6CD5\u6838\u9A8C\uFF0C\u8BF7\u68C0\u67E5\u540E\u518D\u9884\u89C8\u3002",ONBOARDING_FILES_SOURCE_OVERLAP:"\u53D1\u9001\u76EE\u5F55\u91CD\u590D\u6216\u4E92\u76F8\u5305\u542B\uFF0C\u8BF7\u4FDD\u7559\u660E\u786E\u3001\u4E0D\u91CD\u53E0\u7684\u8303\u56F4\u3002",ONBOARDING_FILES_SOURCE_CHANGED:"\u76EE\u5F55\u8EAB\u4EFD\u53D1\u751F\u53D8\u5316\uFF0C\u539F\u9884\u89C8\u5931\u6548\uFF1B\u6CA1\u6709\u6269\u5927\u6388\u6743\u3002",ONBOARDING_FILES_SCOPE_CHANGE_REQUIRES_MIGRATION:"\u5DF2\u6709\u8303\u56F4\u4E0D\u80FD\u4ECE\u542F\u7528\u5165\u53E3\u6539\u5199\uFF1B\u8BF7\u5148\u505C\u7528\uFF0C\u518D\u4F7F\u7528\u72EC\u7ACB\u7684\u8C03\u6574\u8303\u56F4\u5165\u53E3\u3002",ONBOARDING_FILES_PLAN_EXPIRED:"\u9884\u89C8\u8FC7\u671F\u6216\u5DF2\u6D88\u8D39\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002",ONBOARDING_FILES_CONFLICT:"\u6388\u6743\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u8986\u76D6\u53E6\u4E00\u9879\u786E\u8BA4\u3002",ONBOARDING_FILES_PATH_REVIEW:"\u4E13\u7528\u76EE\u5F55\u5F52\u5C5E\u6216\u6743\u9650\u9700\u8981\u6838\u5BF9\uFF0C\u539F\u6587\u4EF6\u4E0D\u4F1A\u88AB\u8986\u76D6\u6216\u8BA4\u9886\u3002",ONBOARDING_FILES_LEDGER_REVIEW:"\u6388\u6743\u8BB0\u5F55\u9700\u8981\u6838\u5BF9\uFF0C\u672A\u63A5\u7BA1\u6216\u8986\u76D6\u5DF2\u6709\u8BB0\u5F55\u3002"},kl={active:"\u5DF2\u542F\u7528 \xB7 \u5355\u72EC\u6587\u4EF6\u4ECD\u9700\u660E\u786E\u4EA4\u529E",disabled:"\u5DF2\u505C\u7528 \xB7 \u6587\u4EF6\u4E0E\u961F\u5217\u4FDD\u7559",not_configured:"\u5C1A\u672A\u6388\u6743\u6587\u4EF6\u76F4\u4F20",runtime_required:"\u8BF7\u5148\u5EFA\u7ACB\u53D7\u7BA1\u8FD0\u884C\u65F6",needs_review:"\u9700\u8981\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u4FEE\u590D",activation_pending:"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u5C1A\u672A\u5B9E\u9645\u542F\u7528"};function qt({request:e,cloud:t=!1,migration:s=!1,queueReview:n=!1}){let[u,l]=(0,B.useState)(!1),[a,f]=(0,B.useState)(null),[m,p]=(0,B.useState)(""),[i,c]=(0,B.useState)(2097152),[o,r]=(0,B.useState)(null),[d,L]=(0,B.useState)(!1),[C,h]=(0,B.useState)(!1),[g,v]=(0,B.useState)(!1),[N,T]=(0,B.useState)(""),w=t?a?.files:a,P=t?a?.operation:null,D=g||t&&["sending","needs_review","recovering"].includes(P?.state),O=t?"cloud_file_transfer_":"file_transfer_",W=t?"\u4E91\u7AEF":"\u672C\u7AEF",j=!!w&&!w.enabled&&w.state==="needs_review"&&(w.error==="ONBOARDING_FILES_MIGRATION_PENDING"||t&&P?.scopeMigration),H=C||!!D||j,Ie=Xo(w,{uncertain:g,cloud:t,freshness:a?.freshness}),fe=(0,B.useRef)(!1);function Ke(se){l(!1),f(se);let De=t?se.files:se;De?.available&&(p(De.scopeHash?De.sendRoots.join(`
7
- `):""),c(De.maxBytes)),v(!1)}let Qe=JSON.stringify([m,i,t]),Ee=(0,B.useRef)(Qe);Ee.current=Qe,(0,B.useEffect)(()=>{r(null),L(!1)},[m,i,t]);async function Ae(se,De){if(!fe.current){fe.current=!0,h(!0),T("");try{if(se==="status"&&(r(null),L(!1),v(!0),Ke(await e(O+"status",t?{refresh:!0}:{}))),["preview","recoveryPreview","migrationPreview"].includes(se)){r(null),L(!1);let Te=await e(O+se,se==="preview"?{enabled:De,sendRoots:m.split(`
8
- `).map(qe=>qe.trim()).filter(Boolean),maxBytes:i}:se==="migrationPreview"?{sendRoots:m.split(`
9
- `).map(qe=>qe.trim()).filter(Boolean),maxBytes:i}:{});Ee.current===Qe&&r({...Te,recovery:se==="recoveryPreview"})}if(["apply","recoveryApply","migrationRecover"].includes(se)){if(!o||!d)return;let Te=o;r(null),L(!1),v(!0),Ke(await e(O+se,se==="migrationRecover"?{operation:Te.operation,confirm:!0}:{id:Te.id,fingerprint:Te.fingerprint,confirm:!0}))}}catch(Te){r(null),L(!1),se==="status"&&f(qe=>t&&qe?{...qe,files:null,freshness:"check_failed"}:null),T(Al[Te.message]??"\u64CD\u4F5C\u7ED3\u679C\u9700\u8981\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u539F\u6388\u6743\u56DE\u6267\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3001\u4E0D\u5F00\u653E\u5176\u4ED6\u76EE\u5F55\u3002")}finally{fe.current=!1,h(!1)}}}return B.default.createElement(V,{title:t?"\u4E91\u7AEF\u6587\u4EF6\u76F4\u4F20":"\u672C\u7AEF\u6587\u4EF6\u76F4\u4F20",icon:"file",sub:t?"\u4EC5\u8C03\u6574\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684 ECS\uFF1B\u4E0D\u4F1A\u6539\u53D8\u672C\u7AEF\u6587\u4EF6\u6388\u6743\u3002":"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u6539 IM \u539F\u751F\u6536\u53D1\uFF0C\u4E5F\u4E0D\u9ED8\u8BA4\u5F00\u653E IM \u6682\u5B58\u76EE\u5F55\u3002",className:"connection-panel"},B.default.createElement(S,{label:"\u5F53\u524D\u72B6\u6001",value:g?"\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":w?kl[w.state]??"\u9700\u8981\u6838\u5BF9":"\u5C1A\u672A\u67E5\u8BE2\u76EE\u6807\u7AEF \xB7 \u4E0D\u81EA\u52A8\u8FDE\u63A5"}),w?.available&&B.default.createElement(B.default.Fragment,null,B.default.createElement(S,{label:"\u5B9E\u9645\u7AEF",value:w.role==="cloud"?"\u4E91\u7AEF DSH":"\u672C\u5730 DSH"}),B.default.createElement(S,{label:"\u4E13\u7528\u6536\u4EF6\u76EE\u5F55",value:w.receiveRoot}),B.default.createElement(S,{label:"\u4FDD\u7559\u8BB0\u5F55\uFF08\u53D1\u4EF6\uFF0F\u6536\u4EF6\uFF0F\u4E2D\u7EE7\uFF09",value:`${w.counts.outgoing} / ${w.counts.incoming} / ${w.counts.broker}`})),Ie&&B.default.createElement("details",{className:"details file-scope-observation"},B.default.createElement("summary",null,B.default.createElement("span",null,Ie.title," \xB7 ",Ie.roots.length," \u4E2A\u76EE\u5F55"),B.default.createElement(ke,{name:"down"})),B.default.createElement("p",null,Ie.note),B.default.createElement("ul",null,Ie.roots.map(se=>B.default.createElement("li",{key:se},B.default.createElement("code",null,se)))),B.default.createElement("p",null,"IM \u63A5\u6536\u76EE\u5F55\u4E0D\u4F1A\u81EA\u52A8\u52A0\u5165\uFF1B\u666E\u901A\u5DE5\u4F5C\u533A\u5185\u7684\u4E13\u7528\u76EE\u5F55\u987B\u5355\u72EC\u786E\u8BA4\u3002\u4EE5\u8FD9\u4EFD\u5B9E\u9645\u76EE\u5F55\u6E05\u5355\u4E3A\u51C6\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u63A8\u65AD\u6388\u6743\u3002")),B.default.createElement(Se,{label:"\u6587\u4EF6\u53D1\u9001\u76EE\u5F55",hint:u?"\u4EE5\u4E0B\u4E3A\u62DF\u8C03\u6574\u8303\u56F4\uFF0C\u5C1A\u672A\u751F\u6548\u3002\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u6240\u9009\u7AEF\u4E13\u7528\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u4E0A\u6B21\u6838\u5BF9\u7684\u5DF2\u767B\u8BB0\u8303\u56F4\u89C1\u4E0A\u65B9\u3002":"\u6BCF\u884C\u4E00\u4E2A\u6240\u9009\u7AEF\u7684\u4E13\u7528\u7EDD\u5BF9\u8DEF\u5F84\u3002\u4E91\u7AEF\u8BF7\u586B ECS \u8DEF\u5F84\uFF0C\u4E0D\u662F Mac \u8DEF\u5F84\uFF1B\u7559\u7A7A\u53EA\u4F7F\u7528\u8BE5\u7AEF\u81EA\u6709\u53D1\u4EF6\u533A\u3002"},B.default.createElement("textarea",{rows:3,value:m,disabled:!!H||!!w?.scopeHash&&!u,onChange:se=>p(se.target.value),maxLength:32768,placeholder:"\u7559\u7A7A\u4F7F\u7528\u672C\u9879\u76EE\u4E13\u7528\u53D1\u4EF6\u76EE\u5F55"})),B.default.createElement(Se,{label:"\u5355\u6587\u4EF6\u4E0A\u9650"},B.default.createElement("select",{value:i,disabled:!!H||!!w?.scopeHash&&!u,onChange:se=>c(Number(se.target.value))},B.default.createElement("option",{value:2097152},"2 MiB"),B.default.createElement("option",{value:1048576},"1 MiB"),B.default.createElement("option",{value:524288},"512 KiB"))),B.default.createElement(x,null,"\u9ED8\u8BA4\u5173\u95ED\u3002\u542F\u7528\u53EA\u6388\u4E88\u4E0A\u8FF0\u76EE\u5F55\u5230\u5BF9\u7AEF\u4E13\u7528\u6536\u4EF6\u533A\u7684\u6587\u4EF6\u4F20\u9001\u80FD\u529B\uFF1B\u6BCF\u4E2A\u6587\u4EF6\u4ECD\u9700\u4F60\u660E\u786E\u4EA4\u529E\u3002\u6BCF\u7C7B\u961F\u5217\u6700\u591A 64 \u6761\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\uFF1B\u8C03\u6574\u8303\u56F4\u9700\u5148\u505C\u7528\uFF0C\u8FC1\u79FB\u6302\u8D77\u65E7\u7684\u672A\u5B8C\u6210\u8BB0\u5F55\uFF0C\u4FDD\u7559\u6587\u4EF6\uFF1B\u91CD\u65B0\u542F\u7528\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\u6302\u8D77\u8BB0\u5F55\uFF0C\u6302\u8D77\u6587\u4EF6\u987B\u9010\u9879\u590D\u6838\u3002\u539F\u751F IM \u6309\u5E73\u53F0\u9650\u5236\u5904\u7406\uFF0C\u4E0D\u53D7\u8FD9\u91CC\u7684\u4E0A\u9650\u66FF\u4EE3\u3002"),B.default.createElement("div",{className:"connection-actions",role:"group","aria-label":W+"\u6587\u4EF6\u76F4\u4F20\u6388\u6743\u64CD\u4F5C"},B.default.createElement(_,{kind:"primary",icon:"file",disabled:!!H||u,onClick:()=>Ae("preview",!0)},"\u9884\u89C8\u542F\u7528",W,"\u6587\u4EF6\u76F4\u4F20"),B.default.createElement(_,{kind:"secondary",icon:"pause",disabled:!!H||u||!w?.enabled,onClick:()=>Ae("preview",!1)},"\u9884\u89C8\u505C\u7528",W,"\u5E76\u4FDD\u7559\u6587\u4EF6"),B.default.createElement(_,{kind:"secondary",icon:"reset",disabled:C,onClick:()=>Ae("status")},"\u624B\u52A8\u6838\u5BF9",W,"\u6587\u4EF6\u6388\u6743")),s&&w?.scopeHash&&B.default.createElement("div",{className:"connection-utility"},B.default.createElement("p",null,w.enabled?"\u8C03\u6574\u8303\u56F4\u524D\uFF0C\u8BF7\u5148\u505C\u7528"+W+"\u6587\u4EF6\u76F4\u4F20\u3002":"\u65B0\u8303\u56F4\u5148\u9884\u89C8\u3001\u72EC\u7ACB\u786E\u8BA4\uFF0C\u8FC1\u79FB\u540E\u4ECD\u505C\u7528\u3002\u65E7\u8BB0\u5F55\u4FDD\u7559\u5E76\u5F85\u6838\u5BF9\u3002"),u?B.default.createElement("div",{className:"connection-actions"},B.default.createElement(_,{kind:"primary",icon:"folder",disabled:!!H,onClick:()=>Ae("migrationPreview")},"\u9884\u89C8\u8FC1\u79FB",W,"\u8303\u56F4"),B.default.createElement(_,{kind:"secondary",disabled:C,onClick:()=>{r(null),L(!1),Ke(a)}},"\u53D6\u6D88\u8C03\u6574")):B.default.createElement(_,{kind:"secondary",icon:"settings",disabled:!!H||w.enabled||w.active,onClick:()=>{r(null),L(!1),l(!0)}},"\u8C03\u6574",W,"\u53D1\u9001\u8303\u56F4")),s&&j&&B.default.createElement("div",{className:"connection-utility"},B.default.createElement("p",null,"\u539F\u8FC1\u79FB\u5DF2\u8BB0\u8D26\u4F46\u5C1A\u9700\u6838\u5BF9\u3002\u53EA\u7EED\u5B8C\u540C\u4E00\u4E8B\u52A1\uFF0C\u4E0D\u9009\u62E9\u65B0\u8303\u56F4\u3001\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u65E7\u6587\u4EF6\u3002"),B.default.createElement(_,{kind:"secondary",icon:"shield",disabled:C,onClick:()=>{L(!1),r({resume:!0,operation:w.appliedOperation,scope:{role:w.role,sendRoots:w.sendRoots.map(se=>({path:se})),receiveRoot:w.receiveRoot,maxBytes:w.maxBytes},remoteTarget:t?a.remoteTarget:null})}},"\u9884\u89C8\u6838\u5BF9",W,"\u539F\u8FC1\u79FB")),t&&P&&B.default.createElement("div",{className:"connection-result",role:"status"},B.default.createElement(S,{label:"\u539F\u64CD\u4F5C\u56DE\u6267",value:{not_started:"\u5C1A\u65E0\u64CD\u4F5C",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u6388\u6743\u53D8\u66F4\u5DF2\u8BB0\u8D26",closed:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"}[P.state]??"\u9700\u6838\u5BF9"}),B.default.createElement("p",{className:"fine-print"},a.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u8BFB\u53D6\u4E91\u7AEF\uFF1B\u8BB0\u8D26\u4E0E\u5B9E\u9645\u542F\u7528\u5206\u5F00\u663E\u793A\u3002":"\u672A\u53D6\u5F97\u4E91\u7AEF\u65B0\u9C9C\u72B6\u6001\uFF0C\u7F13\u5B58\u4E0D\u80FD\u8BC1\u660E\u5F53\u524D\u6587\u4EF6\u80FD\u529B\u5728\u7EBF\u3002")),t&&D&&B.default.createElement("div",{className:"connection-utility"},B.default.createElement("p",null,"\u5148\u67E5\u539F\u56DE\u6267\uFF1B\u5FC5\u8981\u65F6\u72EC\u7ACB\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\u3002\u5173\u95ED\u4E0D\u7B49\u4E8E\u505C\u7528\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743\u3001\u961F\u5217\u4E0E\u6587\u4EF6\u3002"),B.default.createElement(_,{kind:"secondary",icon:"shield",disabled:C,onClick:()=>Ae("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42")),o&&B.default.createElement("section",{className:"connection-confirm","aria-label":W+"\u6587\u4EF6\u76F4\u4F20\u786E\u8BA4"},B.default.createElement("h3",null,o.resume?"\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4FDD\u6301\u505C\u7528":o.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+W+"\u53D1\u9001\u8303\u56F4":o.recovery?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":o.enabled?"\u786E\u8BA4\u542F\u7528"+W+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+W+"\u5E76\u4FDD\u7559\u961F\u5217"),o.remoteTarget&&B.default.createElement(S,{label:"\u672C\u6B21\u4E91\u7AEF\u73AF\u5883",value:o.remoteTarget.root}),o.scope&&B.default.createElement(B.default.Fragment,null,B.default.createElement(S,{label:"\u5B9E\u9645\u7AEF",value:o.scope.role==="cloud"?"\u4E91\u7AEF DSH":"\u672C\u5730 DSH"}),B.default.createElement(S,{label:"\u5141\u8BB8\u53D1\u9001\u76EE\u5F55",value:o.scope.sendRoots.map(se=>se.path).join("\uFF1B")}),B.default.createElement(S,{label:"\u4E13\u7528\u6536\u4EF6\u76EE\u5F55",value:o.scope.receiveRoot}),B.default.createElement(S,{label:"\u5355\u6587\u4EF6\u4E0A\u9650",value:`${o.scope.maxBytes} \u5B57\u8282`})),o.kind==="scope_migration"&&B.default.createElement(B.default.Fragment,null,B.default.createElement(S,{label:"\u539F\u53D1\u9001\u8303\u56F4",value:o.migration.previousScope.sendRoots.map(se=>se.path).join("\uFF1B")}),B.default.createElement(S,{label:"\u539F\u5355\u6587\u4EF6\u4E0A\u9650",value:`${o.migration.previousScope.maxBytes} \u5B57\u8282`}),B.default.createElement(S,{label:"\u6302\u8D77\u5F85\u6838\u5BF9\uFF08\u53D1\u4EF6\uFF0F\u6536\u4EF6\uFF0F\u4E2D\u7EE7\uFF09",value:`${o.migration.snapshot.held.outgoing} / ${o.migration.snapshot.held.incoming} / ${o.migration.snapshot.held.broker}`}),B.default.createElement(x,null,"\u53EA\u53D8\u66F4\u6B64\u7AEF\u6388\u6743\u8303\u56F4\uFF0C\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55\uFF1B\u8FC1\u79FB\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u3002\u4E4B\u540E\u9700\u53E6\u884C\u786E\u8BA4\u542F\u7528\u3002")),o.resume&&B.default.createElement(x,null,"\u6838\u5BF9\u539F\u6301\u4E45\u610F\u56FE\u4E0E\u4E8B\u52A1\u56DE\u6267\uFF1B\u4EC5\u5728\u76EE\u5F55\u8EAB\u4EFD\u3001\u8D26\u672C\u548C\u961F\u5217\u5339\u914D\u65F6\u7EED\u5B8C\uFF0C\u4E0D\u91CD\u5EFA\u6216\u8986\u76D6\u672A\u77E5\u6570\u636E\u3002"),o.recovery&&B.default.createElement(x,null,"\u4EC5\u963B\u65AD\u8FDF\u5230\u5E94\u7528\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7248\u672C\u3002\u82E5\u539F\u8BF7\u6C42\u5DF2\u6210\u529F\uFF0C\u4F1A\u62A5\u544A\u539F\u56DE\u6267\uFF0C\u4E0D\u5047\u62A5\u64A4\u9500\uFF1B\u4E0D\u91CD\u53D1\u539F\u8BF7\u6C42\u3002"),B.default.createElement(R,{checked:d,disabled:C,onChange:L,title:o.resume?"\u6211\u786E\u8BA4\u53EA\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4E0D\u542F\u7528\u6216\u91CD\u53D1":o.kind==="scope_migration"?"\u6211\u786E\u8BA4\u8FC1\u79FB\u8303\u56F4\u3001\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55":o.recovery?"\u6211\u786E\u8BA4\u4EC5\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u4E0D\u6388\u6743\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165"}),B.default.createElement("div",{className:"connection-actions"},B.default.createElement(_,{kind:"primary",icon:"check",disabled:C||!d,onClick:()=>Ae(o.resume?"migrationRecover":o.recovery?"recoveryApply":"apply")},o.resume?"\u786E\u8BA4\u6838\u5BF9"+W+"\u539F\u8FC1\u79FB":o.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+W+"\u8303\u56F4":o.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42":o.enabled?"\u786E\u8BA4\u542F\u7528"+W+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+W+"\u6587\u4EF6\u76F4\u4F20"),B.default.createElement(_,{kind:"secondary",disabled:C,onClick:()=>{r(null),L(!1)}},"\u53D6\u6D88"))),n&&B.default.createElement(Ko,{request:e,cloud:t}),N&&B.default.createElement("p",{className:"connection-error",role:"alert"},N))}var I=Ce(ge());async function $o(e,t,s){try{let n=await e("/api","task-onboarding/control",{method:t,args:s});if(!n?.ok)throw{code:n?.error?.code};return n.value}catch(n){let u=[n?.code,n?.message].find(a=>typeof a=="string"&&/^ONBOARDING_[A-Z_]+$/.test(a));if(u)throw Error(u);let l=/^transport failure for \/api\/task-onboarding\/control: HTTP (\d{3})$/.exec(n?.message??"")?.[1];throw l?Error(["401","403"].includes(l)?"ONBOARDING_TRANSPORT_AUTH_REQUIRED":l==="431"?"ONBOARDING_TRANSPORT_HEADERS_TOO_LARGE":["502","503","504"].includes(l)?"ONBOARDING_TRANSPORT_UNAVAILABLE":"ONBOARDING_TRANSPORT_HTTP_REJECTED"):n?.name==="AbortError"||n?.name==="TimeoutError"||n?.name==="TypeError"&&["Failed to fetch","NetworkError when attempting to fetch resource.","Load failed"].includes(n.message)?Error("ONBOARDING_TRANSPORT_INTERRUPTED"):typeof n?.message=="string"&&(/^connection: invalid server-response (envelope|result|failure)$/.test(n.message)||n.message.startsWith("rpcId mismatch for task-onboarding/control: "))?Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID"):Error("ONBOARDING_UNAVAILABLE")}}var Q=Ce(ge());var Qo=e=>({ONBOARDING_SSH_AUTH_FAILED:"SSH \u8EAB\u4EFD\u9A8C\u8BC1\u5931\u8D25\uFF0C\u8BF7\u6838\u5BF9\u767B\u5F55\u7528\u6237\u3001\u79C1\u94A5\u6216\u4EE3\u7406\u3002\u6CA1\u6709\u56DE\u9000\u5230\u5BC6\u7801\u6216\u5176\u4ED6\u5BC6\u94A5\u3002",ONBOARDING_SSH_HOSTKEY_CHANGED:"\u4E3B\u673A\u516C\u94A5\u4E0E\u5DF2\u786E\u8BA4\u8BB0\u5F55\u4E0D\u4E00\u81F4\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u65B0\u4FE1\u4EFB\u3002",ONBOARDING_SSH_IDENTITY_CHANGED:"\u79C1\u94A5\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u7ED1\u5B9A\u3002",ONBOARDING_SSH_IDENTITY_UNAVAILABLE:"\u672A\u627E\u5230\u8BE5\u79C1\u94A5\u6587\u4EF6\uFF1B\u53EA\u586B\u5199\u5F53\u524D Host \u53EF\u8BBF\u95EE\u7684\u8DEF\u5F84\uFF0C\u4E0D\u4E0A\u4F20\u79C1\u94A5\u3002",ONBOARDING_SSH_IDENTITY_UNSAFE:"\u79C1\u94A5\u8DEF\u5F84\u3001\u6587\u4EF6\u7C7B\u578B\u6216\u6743\u9650\u4E0D\u5B89\u5168\uFF0C\u8BF7\u6838\u5BF9\u3002",ONBOARDING_SSH_AGENT_UNAVAILABLE:"\u5F53\u524D Host \u672A\u53D1\u73B0\u53EF\u7528\u7684 SSH \u4EE3\u7406\u3002",ONBOARDING_SSH_BINDING_CONFLICT:"\u8FDE\u63A5\u8BB0\u5F55\u5DF2\u88AB\u5176\u4ED6\u9875\u9762\u4FEE\u6539\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u6700\u65B0\u72B6\u6001\u3002",ONBOARDING_SSH_OBSERVATION_EXPIRED:"\u4E3B\u673A\u516C\u94A5\u89C2\u5BDF\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6\u5E76\u6838\u5BF9\u3002",ONBOARDING_SSH_UNREACHABLE:"\u65E0\u6CD5\u8FDE\u63A5\u76EE\u6807 SSH \u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u5730\u5740\u3001\u7AEF\u53E3\u548C\u7F51\u7EDC\u3002"})[e]??"\u672C\u6B21\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u8FDE\u63A5\u8BB0\u5F55\u3002\u6CA1\u6709\u81EA\u52A8\u91CD\u8BD5\u6216\u521D\u59CB\u5316\u4E91\u7AEF\u3002";function Yo({request:e,target:t,onReference:s}){let n=(0,Q.useRef)(0),u=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>(u.current=!0,()=>{u.current=!1,n.current++}),[]);let[l,a]=(0,Q.useState)("file"),[f,m]=(0,Q.useState)(""),[p,i]=(0,Q.useState)(null),[c,o]=(0,Q.useState)(null),[r,d]=(0,Q.useState)(!1),[L,C]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(!1),[v,N]=(0,Q.useState)("");(0,Q.useEffect)(()=>{let P=!0;return e("ssh_status",{}).then(D=>{P&&(i(D),D.connection&&(a(D.connection.auth),m(D.connection.identityPath)))}).catch(D=>{P&&N(Qo(D.message))}),()=>{P=!1}},[]),(0,Q.useEffect)(()=>{n.current++,o(null),d(!1),C(null)},[t.host,t.user,t.port,l,f]);let T=p?.configured&&p.connection.host===t.host.toLowerCase()&&p.connection.user===t.user&&p.connection.port===Number(t.port)&&p.connection.auth===l&&p.connection.identityPath===(l==="file"?f:"");async function w(P){if(h)return;let D=n.current,O=()=>u.current&&D===n.current;g(!0),N("");try{if(P==="status"){let W=await e("ssh_status",{});O()&&(i(W),o(null),C(null))}if(P==="scan"){C(null),o(null),d(!1);let W=await e("ssh_scan",{connection:{host:t.host,user:t.user,port:Number(t.port),auth:l,identityPath:l==="file"?f:""}});O()&&o(W)}if(P==="trust"){let W=await e("ssh_trust",{id:c.id,fingerprint:c.fingerprint,expectedRevision:p.revision,confirm:!0});O()&&(i(W),o(null),d(!1),s(W.reference))}if(P==="probe"){C(null);let W=await e("cloud_probe",{expectedRevision:p.revision});O()&&C(W)}}catch(W){O()&&N(Qo(W.message))}finally{u.current&&g(!1)}}return Q.default.createElement(V,{title:"SSH \u8FDE\u63A5\u4E0E\u4E3B\u673A\u4FE1\u4EFB",icon:"shield",sub:"\u53EA\u5F15\u7528\u672C\u673A\u5BC6\u94A5\u6216 SSH \u4EE3\u7406\uFF0C\u4E0D\u590D\u5236\u79C1\u94A5\uFF0C\u4E5F\u4E0D\u4FEE\u6539\u65E5\u5E38 SSH \u914D\u7F6E\u3002"},Q.default.createElement("fieldset",{disabled:h,style:{border:0,padding:0,margin:0}},Q.default.createElement("div",{className:"form-grid"},Q.default.createElement(Se,{label:"SSH \u8BA4\u8BC1\u65B9\u5F0F"},Q.default.createElement("select",{value:l,onChange:P=>a(P.target.value)},Q.default.createElement("option",{value:"file"},"\u5DF2\u6709\u79C1\u94A5\u6587\u4EF6"),Q.default.createElement("option",{value:"agent"},"\u5DF2\u6709 SSH \u4EE3\u7406"))),l==="file"&&Q.default.createElement(Se,{label:"SSH \u79C1\u94A5\u6587\u4EF6\u8DEF\u5F84",value:f,autoComplete:"off",spellCheck:!1,onChange:P=>m(P.target.value),placeholder:"\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/.ssh/\u4F60\u7684\u5BC6\u94A5"})),Q.default.createElement(S,{label:"\u5F53\u524D\u4FE1\u4EFB\u8BB0\u5F55",value:p?.configured?`${p.connection.user}@${p.connection.host}:${p.connection.port}${T?"":" \xB7 \u4E0E\u8868\u5355\u4E0D\u540C"}`:"\u5C1A\u672A\u7ED1\u5B9A"}),Q.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E3B\u673A\u4FE1\u4EFB\u8BB0\u5F55\u64CD\u4F5C"},Q.default.createElement(_,{kind:"soft",icon:"shield",disabled:!p,onClick:()=>w("scan")},"\u83B7\u53D6\u4E3B\u673A\u516C\u94A5"),Q.default.createElement(_,{kind:"secondary",icon:"reset",onClick:()=>w("status")},"\u6838\u5BF9\u8FDE\u63A5\u8BB0\u5F55")),c&&Q.default.createElement("div",{className:"ssh-trust-review"},Q.default.createElement(x,null,"\u4E3B\u673A ",c.host,":",c.port," \u7684\u4EE5\u4E0B\u4FE1\u606F\u4EC5\u4E3A\u7F51\u7EDC\u89C2\u5BDF\uFF0C\u8FD8\u4E0D\u53EF\u4FE1\u3002\u8BF7\u901A\u8FC7 ECS \u63A7\u5236\u53F0\u6216\u7BA1\u7406\u5458\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u6307\u7EB9\uFF1B\u4E00\u81F4\u540E\u518D\u786E\u8BA4\u3002\u9996\u6B21\u89C2\u5BDF\u4E0D\u4F1A\u81EA\u52A8\u4FE1\u4EFB\u3002"),c.keys.map(P=>Q.default.createElement("div",{className:"path-line",key:P.type},Q.default.createElement("span",null,P.type),Q.default.createElement("code",null,P.fingerprint))),Q.default.createElement("div",{className:"ssh-trust-consent"},Q.default.createElement(R,{checked:r,onChange:d,title:"\u6211\u5DF2\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\u8FD9\u4E9B\u4E3B\u673A\u516C\u94A5"}),Q.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E3B\u673A\u4FE1\u4EFB\u786E\u8BA4"},Q.default.createElement(_,{kind:"primary",icon:"check",disabled:!r,onClick:()=>w("trust")},"\u786E\u8BA4\u4FE1\u4EFB\u5E76\u4FDD\u5B58\u8FDE\u63A5")))),Q.default.createElement("div",{className:"form-actions ssh-probe-actions",role:"group","aria-label":"\u4E91\u7AEF\u53EA\u8BFB\u9884\u68C0"},Q.default.createElement(_,{kind:"primary",icon:"cloud",disabled:!T,onClick:()=>w("probe")},"\u53EA\u8BFB\u9884\u68C0\u4E91\u7AEF"))),h&&Q.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"),v&&Q.default.createElement("p",{role:"alert"},v),L&&Q.default.createElement("div",{className:"cloud-observation"},Q.default.createElement(ve,null,"\u53EA\u8BFB\u89C2\u5BDF \xB7 \u975E\u5B89\u88C5\u6388\u6743"),L.state==="observed"?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement(S,{label:"\u767B\u5F55\u8D26\u53F7 / \u7CFB\u7EDF",value:`${L.user}\uFF08uid ${L.uid}\uFF09 / ${L.platform} ${L.arch}`}),Q.default.createElement(S,{label:"Node / npm",value:`${L.node.version} / ${L.tools.npm?"\u5DF2\u53D1\u73B0\uFF0C\u672A\u5B89\u88C5":"\u672A\u53D1\u73B0"}`}),Q.default.createElement(S,{label:"\u53EF\u7528\u7A7A\u95F4",value:L.freeBytes===null?"\u672A\u77E5":(L.freeBytes/1073741824).toFixed(1)+" GiB"}),Q.default.createElement("div",{className:"path-line"},Q.default.createElement("span",null,"\u62DF\u5EFA\u72EC\u7ACB Host \u6839"),Q.default.createElement("code",null,L.root)),Q.default.createElement(S,{label:"\u76EE\u6807\u76EE\u5F55",value:L.rootExists?"\u5DF2\u5B58\u5728\uFF0C\u9700\u8981\u6838\u5BF9":"\u5C1A\u4E0D\u5B58\u5728\uFF0C\u672A\u521B\u5EFA"}),Q.default.createElement(S,{label:"\u73B0\u6709 DSH \u6837\u5F0F\u8FDB\u7A0B",value:`${L.possibleHosts.length} \u4E2A \xB7 \u4E0D\u64CD\u4F5C\u3001\u4E0D\u63A8\u6D4B\u914D\u7F6E\u8DEF\u5F84`}),Q.default.createElement("p",{className:"fine-print"},"\u68C0\u6D4B\u4E8E ",new Date(L.observedAt).toLocaleString(),"\uFF0C60 \u79D2\u540E\u89C6\u4E3A\u5386\u53F2\u89C2\u5BDF\u3002\u8DEF\u5F84\u6765\u81EA\u8FDC\u7AEF\u771F\u5B9E\u8D26\u53F7\uFF0C\u4E0D\u662F\u4ECE\u672C\u673A\u731C\u6D4B\u3002")):Q.default.createElement(x,null,"\u4E91\u7AEF\u9700\u8981\u8FDB\u4E00\u6B65\u51C6\u5907\uFF1A",L.state==="runtime_bootstrap_required"?"\u5C1A\u672A\u53D1\u73B0\u7B26\u5408\u8981\u6C42\u7684 Node\uFF08\u81F3\u5C11 v22\uFF09\uFF0C\u9700\u5148\u5B8C\u6210\u8FD0\u884C\u65F6\u5B89\u88C5\u8BA1\u5212\u3002":"\u5F53\u524D\u7CFB\u7EDF\u4E0D\u5728\u5DF2\u652F\u6301\u7684\u4E91\u7AEF\u8303\u56F4\u3002","\u6CA1\u6709\u521D\u59CB\u5316\u3002")))}var k=Ce(ge());var de=Ce(ge());function Vt(e,t=Date.now()){let s=e.loaded&&!e.busy,n=!e.record||["not_started","rolled_back"].includes(e.record.state),u=e.record?.receipt,l=s&&e.fresh&&t-e.observedAt<6e4;return{load:!e.busy,refresh:s,preview:s&&n&&!e.uncertain,start:s&&n&&!e.uncertain&&e.plan?.canStart===!0&&e.plan.expiresAt>t,stop:l&&u?.workerActive===!0,rollback:l&&!n&&u?.workerActive===!1&&["ready","failed","stopped","needs_review","rolling_back"].includes(u.state)}}function Zo(e,t,s=()=>{},n=Date.now){let u={loaded:!1,busy:!1,fresh:!1,uncertain:!1,record:null,plan:null,error:null,observedAt:null},l=!0,a=m=>{u={...u,...m},l&&t(u)};async function f(m,p=!1){if(!l||u.busy)return!1;if(!Vt(u,n())[m])return a({error:"REFRESH_REQUIRED"}),!1;let i=["start","stop","rollback"].includes(m);if(i&&p!==!0)return a({error:"CONFIRMATION_REQUIRED"}),!1;let c=u.plan,o=u.record;a({busy:!0,error:null,fresh:!1,plan:null});try{if(i&&(a({uncertain:!0}),s()),m==="load"||m==="refresh"){let r=await e("node_status",{refresh:m==="refresh"});a({record:r,uncertain:["outcome_unknown","rollback_requested"].includes(r.state),loaded:!0,fresh:m==="refresh",observedAt:m==="refresh"?n():null})}else if(m==="preview"){let r=await e("ssh_status",{});if(!r.configured)throw Error("ONBOARDING_SSH_NOT_BOUND");a({plan:await e("node_preview",{expectedRevision:r.revision})})}else a(m==="start"?{record:await e("node_start",{id:c.id,fingerprint:c.fingerprint,confirm:!0})}:{record:await e("node_action",{action:m,operationId:o.operationId,expectedRevision:o.revision,confirm:!0})});return!0}catch(r){return a({error:/^ONBOARDING_[A-Z_]+$/.test(r.message)?r.message:"UNCONFIRMED"}),!1}finally{a({busy:!1})}}return{act:f,get:()=>u,resume:()=>{l=!0},dispose:()=>{l=!1}}}var Jo={not_started:"\u5C1A\u672A\u5B89\u88C5\u4E13\u7528 Node",rolled_back:"\u4E13\u7528 Node \u5DF2\u79FB\u9664",start_requested:"\u8BF7\u6C42\u5DF2\u767B\u8BB0",observed:"\u5DF2\u6709\u6301\u4E45\u56DE\u6267",outcome_unknown:"\u7ED3\u679C\u5F85\u6838\u5BF9",rollback_requested:"\u56DE\u6EDA\u5F85\u6838\u5BF9",launching:"\u542F\u52A8\u72EC\u7ACB\u5B89\u88C5\u8FDB\u7A0B",downloading:"\u4E0B\u8F7D\u5B98\u65B9\u56FA\u5B9A\u7248\u672C",extracting:"\u6821\u9A8C\u5E76\u5C55\u5F00\u5B98\u65B9\u6587\u4EF6",checking:"\u6838\u5BF9\u5B8C\u6574\u6027\u4E0E\u7248\u672C",ready:"\u4E13\u7528 Node \u5C31\u7EEA",failed:"\u5B89\u88C5\u5931\u8D25\uFF0C\u4FDD\u7559\u73B0\u573A",stopped:"\u5B89\u88C5\u8FDB\u7A0B\u5DF2\u505C\u6B62",needs_review:"\u9700\u6838\u5BF9\uFF0C\u672A\u81EA\u52A8\u91CD\u8BD5",rolling_back:"\u6B63\u5728\u56DE\u6EDA\uFF0F\u7B49\u5F85\u6838\u5BF9"},bl={ONBOARDING_NODE_KERNEL_UNSUPPORTED:"\u56FA\u5B9A\u53D1\u884C\u5305\u9700\u8981 Linux \u5185\u6838 4.18+\uFF1B\u4E0D\u4F1A\u64C5\u81EA\u66F4\u65B0\u5185\u6838\u3002",ONBOARDING_NODE_PYTHON_MISSING:"\u672A\u68C0\u6D4B\u5230 Python 3\u3002\u6B64\u51C6\u5907\u5668\u9700\u8981 Linux \u4E0A\u7684 Python 3.8+ \u6807\u51C6\u5E93\uFF1B\u4E0D\u4F1A\u64C5\u81EA\u5B89\u88C5\u7CFB\u7EDF\u8F6F\u4EF6\u3002",ONBOARDING_NODE_LIBC_UNSUPPORTED:"\u6B64\u53D1\u884C\u5305\u8981\u6C42 glibc 2.28+\uFF1B\u4E0D\u4F1A\u5C06\u4E0D\u517C\u5BB9\u7684\u4E8C\u8FDB\u5236\u5B89\u88C5\u5230\u76EE\u6807\u673A\u3002",ONBOARDING_NODE_ARCH_UNSUPPORTED:"\u76EE\u524D\u56FA\u5B9A\u53D1\u884C\u5305\u652F\u6301 Linux x64 / arm64\u3002",ONBOARDING_NODE_HOST_REMOVAL_REQUIRED:"\u8BF7\u5148\u505C\u6B62\u5E76\u6E05\u7406\u5F15\u7528\u6B64 Node \u7684\u72EC\u7ACB Host \u53CA\u5B89\u88C5\u6587\u4EF6\uFF0C\u518D\u79FB\u9664 Node\u3002",ONBOARDING_NODE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF0C\u4E0D\u4F1A\u6CBF\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u5728\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58\u8FDE\u63A5\u3002"};function jo({request:e,onMutation:t}){let[s,n]=(0,de.useState)({}),[u]=(0,de.useState)(()=>Zo(e,n,t)),[l,a]=(0,de.useState)(null),[f,m]=(0,de.useState)(!1);(0,de.useEffect)(()=>(u.resume(),u.act("load"),()=>u.dispose()),[u]);let p=Vt(s),i=s.plan,c=s.record?.receipt,o=s.error??s.record?.error??c?.error,r=L=>{a(null),m(!1),u.act(L)},d=(L,C,h)=>p[L]&&de.default.createElement("div",{className:"cloud-action"},de.default.createElement(_,{"data-node-action":L,disabled:s.busy,kind:L==="start"?"primary":"soft",onClick:()=>{a(L),m(!1)}},C),l===L&&de.default.createElement("div",{className:"cloud-confirm","aria-label":C+"\u786E\u8BA4"},de.default.createElement("p",null,h),de.default.createElement(R,{checked:f,onChange:m,disabled:s.busy,title:"\u6211\u5DF2\u6838\u5BF9\u4E13\u7528 Node \u7684\u64CD\u4F5C\u8303\u56F4",sub:"\u4E0D\u66FF\u6362\u7CFB\u7EDF Node\uFF0C\u4E0D\u4FEE\u6539 shell\u3001\u5168\u5C40 npm \u6216\u65E5\u5E38\u670D\u52A1\u3002"}),de.default.createElement("div",{className:"form-actions"},de.default.createElement(_,{kind:"primary",disabled:s.busy||!f,onClick:()=>{a(null),m(!1),u.act(L,!0)}},"\u786E\u8BA4",C),de.default.createElement(_,{disabled:s.busy,kind:"secondary",onClick:()=>{a(null),m(!1)}},"\u53D6\u6D88"))));return de.default.createElement(V,{title:"\u72EC\u7ACB Node \u8FD0\u884C\u73AF\u5883",sub:"\u7F3A\u5C11\u5408\u9002 Node \u65F6\u5148\u51C6\u5907\uFF1B\u5DF2\u6709\u7CFB\u7EDF Node \u4E5F\u53EF\u9009\u62E9\u72EC\u7ACB\u7248\u672C\uFF0C\u4E0D\u66FF\u6362\u539F\u7248\u672C\u3002",icon:"terminal",extra:de.default.createElement(ve,null,"\u5355\u72EC\u786E\u8BA4 \xB7 \u624B\u52A8\u5237\u65B0")},de.default.createElement(S,{label:"\u6301\u4E45\u8BB0\u5F55",value:Jo[s.record?.state]??"\u5C1A\u672A\u8BFB\u53D6"}),c&&de.default.createElement(S,{label:"\u5B89\u88C5\u8FDB\u7A0B",value:Jo[c.state]??"\u5F85\u6838\u5BF9"}),de.default.createElement("p",{className:"fine-print"},s.fresh?"\u6700\u8FD1\u89C2\u5BDF\uFF1A"+new Date(s.observedAt).toLocaleString()+"\uFF0C\u6267\u884C\u524D\u4ECD\u91CD\u65B0\u6838\u9A8C\u3002":"\u5F53\u524D\u663E\u793A\u5386\u53F2\u56DE\u6267\uFF1B\u91CD\u65B0\u6253\u5F00\u9875\u9762\u4E0D\u4F1A\u81EA\u52A8\u8FDE\u63A5\u3001\u5B89\u88C5\u6216\u91CD\u8BD5\u3002"),de.default.createElement("div",{className:"form-actions"},de.default.createElement(_,{icon:"search",disabled:!p.preview,onClick:()=>r("preview")},"\u9884\u89C8\u4E13\u7528 Node \u8BA1\u5212"),de.default.createElement(_,{icon:"reset",disabled:!p.refresh,onClick:()=>r("refresh")},"\u624B\u52A8\u5237\u65B0 Node \u72B6\u6001"),!s.loaded&&de.default.createElement(_,{disabled:s.busy,onClick:()=>r("load")},"\u91CD\u8BFB Node \u8D26\u672C")),s.busy&&de.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u672C\u6B21 Node \u8BF7\u6C42\uFF1B\u4E0B\u8F7D\u548C\u5B89\u88C5\u4F7F\u7528\u72EC\u7ACB\u8FDB\u7A0B\u3002"),o&&de.default.createElement(x,{tone:"warn"},de.default.createElement("span",{role:"alert"},bl[o]??"\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u6216\u6539\u7528\u7CFB\u7EDF Node\u3002"),de.default.createElement("code",null,o)),i&&de.default.createElement("div",{className:"cloud-plan"},de.default.createElement(S,{label:"\u56FA\u5B9A\u5B98\u65B9\u7248\u672C",value:`Node ${i.remote.release.version} / ${i.remote.arch}`}),de.default.createElement(S,{label:"\u4E0B\u8F7D\u6765\u6E90",value:"nodejs.org \xB7 HTTPS \xB7 \u56FA\u5B9A SHA-256 \u6821\u9A8C"}),de.default.createElement("div",{className:"path-line"},de.default.createElement("span",null,"\u4E13\u7528 Node \u76EE\u5F55"),de.default.createElement("code",null,i.remote.root)),de.default.createElement("div",{className:"path-line"},de.default.createElement("span",null,"\u53D1\u884C\u5305 SHA-256"),de.default.createElement("code",null,i.remote.release.sha256)),de.default.createElement(x,null,"\u53EA\u51C6\u5907 Node \u4E0E\u53D1\u884C\u5305\u81EA\u5E26\u7684 npm\uFF1B\u4E0D\u5B89\u88C5 DSH\u3001\u4E0D\u542F\u52A8\u670D\u52A1\u3001\u4E0D\u8C03\u7528\u6A21\u578B\u3002\u652F\u6301 Linux x64 / arm64\u3001\u5185\u6838 4.18+\u3001glibc 2.28+\u3001Python 3.8+\u3002\u82E5\u4E0D\u6EE1\u8DB3\u6761\u4EF6\u4F1A\u505C\u6B62\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u7CFB\u7EDF\u7EC4\u4EF6\u3002"),de.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(i.expiresAt).toLocaleString(),"\u3002",!i.canStart&&" \u5F53\u524D\u76EE\u5F55\u5DF2\u5B58\u5728\u3001\u7A7A\u95F4\u4E0D\u8DB3\u6216\u4E0D\u53EF\u5199\uFF0C\u9700\u8981\u5148\u6838\u5BF9\u3002"),d("start","\u51C6\u5907\u4E13\u7528 Node","\u5C06\u4E0B\u8F7D\u4E0A\u65B9\u56FA\u5B9A\u5B98\u65B9\u53D1\u884C\u5305\uFF0C\u9A8C\u8BC1\u54C8\u5E0C\u540E\u5728\u4E13\u7528\u76EE\u5F55\u5C55\u5F00\u3002\u672A\u77E5\u540C\u540D\u76EE\u5F55\u4E0D\u4F1A\u8986\u76D6\u3002")),c?.root&&de.default.createElement("div",{className:"path-line"},de.default.createElement("span",null,"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),de.default.createElement("code",null,c.root)),c?.state==="ready"&&de.default.createElement(x,null,"\u540E\u7EED\u4E91\u7AEF\u8BA1\u5212\u4F1A\u91CD\u65B0\u6838\u9A8C\u5E76\u4F7F\u7528\u6B64\u4E13\u7528 Node\u3002\u8BF7\u91CD\u65B0\u751F\u6210\u4E0B\u65B9\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212\uFF1B\u4E0D\u80FD\u7528\u65E7\u57FA\u7EBF\u7EE7\u7EED\u5B89\u88C5\u3002"),d("stop","\u505C\u6B62 Node \u51C6\u5907\u8FDB\u7A0B","\u53EA\u505C\u6B62\u672C\u4E8B\u52A1\u8BB0\u5F55\u4E14\u51FA\u751F\u8EAB\u4EFD\u4E00\u81F4\u7684\u8FDB\u7A0B\u3002\u4FDD\u7559\u6587\u4EF6\u7528\u4E8E\u6838\u5BF9\uFF0C\u4E0D\u505C\u6B62\u5176\u4ED6\u670D\u52A1\u3002"),d("rollback","\u79FB\u9664\u4E13\u7528 Node","\u6309\u5F52\u5C5E\u8D26\u672C\u9010\u9879\u6838\u9A8C\u540E\u6E05\u7406\u3002\u5148\u6E05\u7406\u4F9D\u8D56\u5B83\u7684\u72EC\u7ACB Host\uFF1B\u6709\u6587\u4EF6\u53D8\u5316\u6216\u672A\u77E5\u5185\u5BB9\u65F6\u4FDD\u7559\u73B0\u573A\u3002\u5171\u4EAB\u7236\u76EE\u5F55\u4E0D\u4F1A\u9012\u5F52\u5220\u9664\u3002"))}var Ne=Ce(ge());function er(e){let t=e.repairStatus?.repair,s=e.repairStatus?.activation,n=s?.contract===1&&Number.isSafeInteger(s.observedAt)&&s.observedAt>0,u=n&&s.repairId===t?.id&&s.sameRecordedRepair===!0&&s.sameRecordedHost===!0,l=t?.activationSupported!==!1&&u&&t?.state==="committed"&&s.activationVerified===!0&&s.cached===!1&&e.repairFresh===!0,a=l?"\u672C\u6B21\u72EC\u7ACB\u6838\u9A8C\u901A\u8FC7":n?"\u5DF2\u6709\u5386\u53F2\u6838\u9A8C\u8BB0\u5F55":"\u5C1A\u672A\u72EC\u7ACB\u6838\u9A8C",f=null;return t?.state==="committed"&&(t.activationSupported===!1?f="\u5F53\u524D\u4EC5\u8BC1\u660E\u7B7E\u540D\u5386\u53F2\u4E2D\u7684\u540C\u7248\u672C\u6587\u4EF6\u5DF2\u4FEE\u590D\uFF1B\u8BE5\u8DEF\u5F84\u7684\u72EC\u7ACB\u52A0\u8F7D\u56DE\u6267\u5C1A\u672A\u63D0\u4F9B\uFF0C\u4E0D\u7B49\u4E8E\u5728\u7EBF\u751F\u6548\u3002\u91CD\u542F\u4ECD\u9700\u53E6\u884C\u9884\u89C8\u3001\u786E\u8BA4\u3002":l?f="\u672C\u6B21\u65B0\u8FDB\u7A0B\u52A0\u8F7D\u6838\u9A8C\u5DF2\u901A\u8FC7\uFF0C\u65E0\u9700\u4E3A\u8FD9\u6761\u56DE\u6267\u91CD\u590D\u91CD\u542F\u3002\u7ED3\u679C\u4EC5\u4EE3\u8868\u6838\u9A8C\u65F6\u523B\uFF0C\u4E0D\u4FDD\u8BC1\u6301\u7EED\u5728\u7EBF\uFF1B\u518D\u6B21\u89C2\u5BDF\u9700\u624B\u52A8\u64CD\u4F5C\u3002":u?f="\u5DF2\u4FDD\u7559\u8FD9\u6B21\u4FEE\u590D\u4E0E\u5DF2\u767B\u8BB0 Host \u7684\u5386\u53F2\u6838\u9A8C\uFF0C\u4E0D\u4EE3\u8868\u5F53\u524D\u5728\u7EBF\u3002\u9700\u8981\u4E86\u89E3\u73B0\u5728\u7684\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u56E0\u5386\u53F2\u8BB0\u5F55\u81EA\u52A8\u91CD\u542F\u6216\u91CD\u590D\u6838\u9A8C\u3002":n?f="\u5386\u53F2\u56DE\u6267\u4E0E\u5F53\u524D\u5DF2\u767B\u8BB0\u7684\u4FEE\u590D\u6216 Host \u4E0D\u4E00\u81F4\uFF0C\u4E0D\u80FD\u6CBF\u7528\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u5F53\u524D\u8FDB\u7A0B\uFF1B\u9700\u8981\u91CD\u542F\u65F6\u4ECD\u987B\u53E6\u884C\u9884\u89C8\u3001\u786E\u8BA4\u3002":f="\u6587\u4EF6\u4FEE\u590D\u6210\u529F\u4E0D\u7B49\u4E8E\u5DF2\u7ECF\u52A0\u8F7D\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF1B\u53EA\u6709\u672C\u6B21\u4FEE\u590D\u4E4B\u540E\u72EC\u7ACB\u786E\u8BA4\u7684\u65B0\u542F\u52A8\u624D\u80FD\u8FDB\u884C\u751F\u6548\u6838\u9A8C\uFF0C\u4E0D\u6CBF\u7528\u4FEE\u590D\u524D\u7684\u8FDB\u7A0B\u8BB0\u5F55\u3002"),{label:a,guidance:f,observedAt:n?s.observedAt:null,matching:u,passed:l}}var yl={not_started:"\u5C1A\u65E0\u4FEE\u590D\u8BB0\u5F55",committed:"\u540C\u7248\u672C\u6587\u4EF6\u5DF2\u4FEE\u590D",rolled_back:"\u4FEE\u590D\u5DF2\u56DE\u6EDA",needs_review:"\u4FEE\u590D\u4E2D\u65AD\uFF0C\u5F85\u6838\u5BF9",applying:"\u4FEE\u590D\u7ED3\u679C\u5F85\u6838\u5BF9",refused:"\u672C\u6B21\u4FEE\u590D\u672A\u6267\u884C",planned:"\u4FEE\u590D\u8BA1\u5212\u5C1A\u672A\u6267\u884C",preparing:"\u4FEE\u590D\u9884\u89C8\u5F85\u6838\u5BF9"};function ar({s:e,actions:t,act:s,confirm:n}){if(!e.repairCapability?.supported)return null;let u=e.repairPlan,l=e.repairStatus?.repair,a=e.repairStatus?.activation,f=e.repairCapability.activationSupported&&l?.activationSupported!==!1&&u?.activationSupported!==!1,m=er(e),p=m.observedAt?new Date(m.observedAt).toLocaleString():null;return Ne.default.createElement("section",{className:"cloud-plan plugin-repair","aria-label":"\u81EA\u6709\u63D2\u4EF6\u4FEE\u590D\u4E0E\u751F\u6548\u6838\u9A8C"},Ne.default.createElement("h3",null,"\u81EA\u6709\u63D2\u4EF6\u4FEE\u590D\u4E0E\u751F\u6548\u6838\u9A8C"),Ne.default.createElement("p",null,"\u53EA\u4ECE\u7B7E\u540D\u5386\u53F2\u5BF9\u5E94\u7684\u540C\u7248\u672C\u5F52\u6863\u6062\u590D\u5DF2\u5217\u51FA\u7684\u81EA\u6709\u6587\u4EF6\u3002\u4E0D\u4FEE\u6539 DSH\u3001\u7B2C\u4E09\u65B9\u63D2\u4EF6\u3001\u7528\u6237\u89C4\u5219\u3001\u51ED\u636E\u6216\u4EFB\u52A1\u6210\u679C\u3002"),(u?.version||l?.version)&&Ne.default.createElement(S,{label:"\u4FEE\u590D\u7248\u672C",value:u?.version??l.version}),Ne.default.createElement(S,{label:"\u6587\u4EF6\u4FEE\u590D",value:e.repairPending?"\u539F\u4FEE\u590D\u4E8B\u52A1\u5F85\u6838\u5BF9":yl[l?.state]??"\u5C1A\u672A\u6838\u5BF9"}),Ne.default.createElement(S,{label:"\u52A0\u8F7D\u751F\u6548",value:m.label}),p&&Ne.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",p,"\u3002\u8FD9\u662F\u5F53\u65F6\u7684\u89C2\u5BDF\uFF0C\u4E0D\u662F\u5B9E\u65F6\u5728\u7EBF\u4FDD\u8BC1\u3002",(!a.sameRecordedRepair||!a.sameRecordedHost)&&" \u8BB0\u5F55\u4E0E\u5F53\u524D\u5DF2\u767B\u8BB0\u7684\u4FEE\u590D\u6216 Host \u4E0D\u540C\uFF0C\u4E0D\u80FD\u6CBF\u7528\u3002"),!e.repairFresh&&Ne.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u663E\u793A\u672C\u5730\u5386\u53F2\u56DE\u6267\uFF1B\u4E0A\u65B9\u624B\u52A8\u5237\u65B0\u624D\u4F1A\u67E5\u8BE2\u8FDC\u7AEF\uFF0C\u4E0D\u81EA\u52A8\u4FEE\u590D\u6216\u91CD\u542F\u3002"),e.repairPending&&Ne.default.createElement(x,{tone:"warn"},"\u4E0D\u8981\u91CD\u590D\u5E94\u7528\u6216\u53E6\u5EFA\u4E8B\u52A1\u3002\u5148\u624B\u52A8\u5237\u65B0\u539F\u8BB0\u5F55\uFF1B\u786E\u8BA4\u8FDC\u7AEF\u4E2D\u65AD\u53CA Host \u5DF2\u505C\u6B62\u540E\uFF0C\u624D\u53EF\u5355\u72EC\u6062\u590D\u539F\u4E8B\u52A1\u3002"),Ne.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4FEE\u590D\u64CD\u4F5C"},Ne.default.createElement(_,{disabled:!t.runtime_repair_preview,onClick:()=>s("runtime_repair_preview")},"\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D"),f&&Ne.default.createElement(_,{disabled:!t.runtime_repair_verify,onClick:()=>s("runtime_repair_verify")},"\u6838\u9A8C\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D")),u&&Ne.default.createElement("div",{className:"cloud-confirm","aria-label":"\u4FEE\u590D\u5DEE\u5F02\u8BA1\u5212"},Ne.default.createElement(S,{label:"\u5F85\u4FEE\u590D\u6587\u4EF6",value:u.changes.length+" \u9879"}),u.changes.length>0&&Ne.default.createElement("details",{open:u.changes.length<=8},Ne.default.createElement("summary",null,"\u67E5\u770B\u6587\u4EF6\u5DEE\u5F02"),Ne.default.createElement("ul",null,u.changes.map(i=>Ne.default.createElement("li",{className:"plan-item",key:i.path},Ne.default.createElement("code",null,i.path)," \xB7 ",i.action==="create"?"\u6062\u590D\u7F3A\u5931\u6587\u4EF6":"\u6062\u590D\u5F52\u6863\u5185\u5BB9")))),Ne.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(u.expiresAt).toLocaleString(),"\u3002\u6267\u884C\u524D\u91CD\u65B0\u6838\u9A8C\u505C\u673A\u3001\u5F52\u5C5E\u4E0E\u6587\u4EF6\uFF1B\u672A\u77E5\u5185\u5BB9\u4FDD\u7559\u3002"),!u.canApply&&Ne.default.createElement(x,null,"\u6CA1\u6709\u9700\u8981\u4FEE\u590D\u7684\u81EA\u6709\u6587\u4EF6\uFF1B\u4E0D\u4F1A\u6267\u884C\u7A7A\u4E8B\u52A1\u3002"),n("runtime_repair_apply","\u4FEE\u590D\u5DF2\u5217\u51FA\u7684\u6587\u4EF6","\u4EC5\u66FF\u6362\u4E0A\u65B9\u786E\u5207\u6587\u4EF6\uFF0C\u4FDD\u5B58\u9519\u8BEF\u5185\u5BB9\u5907\u4EFD\u548C\u7B7E\u540D\u5F52\u5C5E\u589E\u91CF\uFF1B\u4E0D\u66F4\u65B0\u6574\u4F53\u5F52\u5C5E\u6E05\u5355\uFF0C\u4E0D\u542F\u52A8 Host\u3002")),n("runtime_repair_recover","\u6062\u590D\u539F\u4FEE\u590D\u4E8B\u52A1","\u53EA\u6838\u5BF9\u5E76\u6062\u590D\u539F\u4E8B\u52A1\uFF1B\u53D1\u751F\u51B2\u7A81\u5219\u4FDD\u7559\u5F85\u6838\u5BF9\uFF0C\u4E0D\u91CD\u53D1\u539F\u5E94\u7528\uFF0C\u4E0D\u63A5\u7BA1\u672A\u77E5\u6587\u4EF6\uFF0C\u4E0D\u542F\u52A8 Host\u3002"),m.guidance&&Ne.default.createElement(x,null,m.guidance),!f&&Ne.default.createElement(x,null,"\u6B64\u4FEE\u590D\u8DEF\u5F84\u5C1A\u4E0D\u63D0\u4F9B\u72EC\u7ACB\u751F\u6548\u6838\u9A8C\uFF1B\u4FDD\u7559\u6587\u4EF6\u56DE\u6267\uFF0C\u4E0D\u5BA3\u79F0\u5728\u7EBF\u52A0\u8F7D\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u66F4\u6362\u539F\u63A7\u5236\u5668\u3002"))}var y=Ce(ge());var rr={requested:"\u8BF7\u6C42\u5DF2\u767B\u8BB0\uFF0C\u5F85\u6838\u5BF9",observed:"\u5DF2\u6536\u5230\u56DE\u6267",ready:"\u5019\u9009\u5DF2\u63A5\u6536",receiving:"\u63A5\u6536\u4E2D",committed:"\u6587\u4EF6\u4E8B\u52A1\u5DF2\u5B8C\u6210",rolled_back:"\u5DF2\u6062\u590D\u539F\u6587\u4EF6",needs_review:"\u9700\u6838\u5BF9",refused:"\u6267\u884C\u524D\u5DF2\u62D2\u7EDD",version_outcome_unknown:"\u5207\u6362\u7ED3\u679C\u672A\u77E5",artifacts_outcome_unknown:"\u89C4\u5219\u914D\u5957\u7ED3\u679C\u672A\u77E5"},wl=["receive","apply","rollback","recover","rules_apply","rules_recover"],tr={candidate_preview:"receive",preview:"apply",rollback_preview:"rollback",recover_preview:"recover",rules_preview:"rules_apply",rules_recover_preview:"rules_recover"},or=(e,t)=>e?.filter(s=>s.targetId===t&&s.receipt?.state!=="refused").at(-1);function Rt(e,{stopped:t=!1}={},s=Date.now()){let n=e.loaded&&!e.busy,u=e.versions,l=e.artifacts,a=u?.pending||l?.pending,f=or(u?.requests,e.versionId),m=or(l?.requests,e.artifactId),p=[...u?.requests??[],...l?.requests??[]].some(o=>o.state==="requested"),i=n&&u?.supported,c=e.plan;return{load:!e.busy,candidate_preview:i&&!a&&!e.uncertain,candidate_status:i&&!!e.candidateId,preview:i&&t&&!a&&!e.uncertain&&u?.requests?.some(o=>o.action==="receive"&&o.targetId===e.candidateId&&o.receipt?.state==="ready"),status:i&&!!e.versionId,rollback_preview:i&&t&&!a&&!e.uncertain&&f?.receipt?.state==="committed",recover_preview:i&&t&&!e.uncertain&&!p&&!l?.pending&&f?.receipt?.recoveryRequired===!0,rules_preview:n&&t&&l?.supported&&!a&&!e.uncertain,rules_status:n&&l?.supported&&!!e.artifactId,activation_status:n&&e.activation?.supported&&!!e.versionId,activation_verify:n&&e.activation?.supported&&!!e.versionId&&!a&&!e.uncertain&&["committed","rolled_back"].includes(f?.receipt?.state),rules_recover_preview:n&&t&&l?.supported&&!e.uncertain&&!p&&!u?.pending&&m?.receipt?.recoveryRequired===!0,confirm:n&&t&&!!c&&c.value.expiresAt>s&&!e.uncertain&&(!a||["recover","rules_recover"].includes(c.action)&&!p)}}function lr(e,t,{operationId:s,onMutation:n=()=>{},now:u=Date.now}={}){let l=!1,a={loaded:!1,busy:null,error:null,uncertain:!1,versions:null,artifacts:null,activation:null,plan:null,candidateId:"",versionId:"",artifactId:"",observation:null,uncertainRequest:null},f=()=>{l||t({...a})},m=(o,r={})=>e("cloud_version",{action:o,operationId:s,...r});function p(o,r,d){if(r.some(C=>C.id===o))return o;let L=d?.find(C=>C.state==="requested"||C.receipt?.recoveryRequired);return r.find(C=>C.id===L?.targetId)?.id??r.at(-1)?.id??""}async function i(){let o=await m("record"),r=await m("rules_record"),d=await m("activation_record");if(o.operationId!==s||r.operationId!==s||d.operationId!==s)throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");a={...a,loaded:!0,versions:o,artifacts:r,activation:d,candidateId:p(a.candidateId,o.candidates??[],o.requests?.filter(h=>h.action==="receive")),versionId:p(a.versionId,o.plans?.filter(h=>h.kind==="apply")??[],o.requests?.filter(h=>h.action!=="receive")),artifactId:p(a.artifactId,r.plans?.filter(h=>h.kind==="apply")??[],r.requests)};let L=a.uncertainRequest,C=L&&(L.rules?r:o).requests?.find(h=>h.key===L.key);L&&C?.state==="observed"&&(a.uncertain=!1,a.uncertainRequest=null)}async function c(o,{confirmed:r=!1,stopped:d=!1}={}){if(l||a.busy)return!1;let L=Rt(a,{stopped:d},u());if(o==="confirm"?!r||!L.confirm:!L[o])return a={...a,error:"ONBOARDING_VERSION_UI_REFRESH_REQUIRED"},f(),!1;let C=a.plan,h=o==="confirm"?C.action:o,g=wl.includes(h);a={...a,busy:h,error:null,...h.startsWith("activation_")?{observation:null}:{},...o==="confirm"?{}:{plan:null}},f();try{if(o==="load")await i(),a.observation=null;else{let v=o==="confirm"?{id:C.value.id,fingerprint:C.value.fingerprint,confirm:!0}:h==="preview"?{candidateId:a.candidateId}:h==="candidate_status"?{id:a.candidateId}:["status","rollback_preview","recover_preview","activation_status","activation_verify"].includes(h)?{id:a.versionId}:["rules_status","rules_recover_preview"].includes(h)?{id:a.artifactId}:{};g&&(a.uncertain=!0,a.uncertainRequest={rules:h.startsWith("rules_"),key:h.replace(/^rules_/,"")+":"+C.value.id},n());let N=await m(h,v);if(a.observation={action:h,value:N,observedAt:u()},tr[h]&&N.id&&N.fingerprint){a.plan={action:tr[h],value:N};let T={candidate_preview:"candidateId",preview:"versionId",rules_preview:"artifactId"}[h];T&&(a[T]=N.id)}else a.plan=null;await i()}return!0}catch(v){return a.error=/^ONBOARDING_[A-Z_]+$/.test(v.message??"")?v.message:"ONBOARDING_UNAVAILABLE",g&&(a.plan=null,a.uncertain=!0),o==="load"&&(a.loaded=!1),!1}finally{a.busy=null,f()}}return{act:c,snapshot:()=>({...a}),select:(o,r)=>{let d=o==="candidateId"?a.versions?.candidates:o==="versionId"?a.versions?.plans?.filter(L=>L.kind==="apply"):a.artifacts?.plans?.filter(L=>L.kind==="apply");return a.busy||!["candidateId","versionId","artifactId"].includes(o)||!d?.some(L=>L.id===r)?!1:(a={...a,[o]:r,plan:null,observation:null},f(),!0)},cancel:()=>{a.busy||(a.plan=null,f())},dispose:()=>{l=!0},resume:()=>{l=!1,f()}}}var Wt={receive:"\u63A5\u6536\u5019\u9009\u6587\u4EF6",apply:"\u5207\u6362\u63D2\u4EF6\u6587\u4EF6",rollback:"\u56DE\u6EDA\u63D2\u4EF6\u6587\u4EF6",recover:"\u6062\u590D\u539F\u6587\u4EF6\u4E8B\u52A1",rules_apply:"\u914D\u5957\u66F4\u65B0\u89C4\u5219\u4E0E Skill",rules_recover:"\u6062\u590D\u539F\u89C4\u5219\u4E8B\u52A1"},Ol={receive:"\u53D1\u9001\u672C\u7AEF\u51BB\u7ED3\u7684\u81EA\u6709\u5019\u9009\u5305\u3002\u4E0D\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u66FF\u6362\u73B0\u7528\u63D2\u4EF6\u3001\u4E0D\u542F\u52A8 Host\u3002",apply:"\u53EA\u5207\u6362\u5F53\u524D\u5DF2\u505C\u6B62 Host \u7684\u81EA\u6709\u63D2\u4EF6\u76EE\u5F55\uFF0C\u4FDD\u7559\u65E7\u7248\u672C\u5907\u4EFD\u3002\u4E4B\u540E\u4ECD\u9700\u89C4\u5219\u914D\u5957\u4E0E\u72EC\u7ACB\u91CD\u542F\u786E\u8BA4\u3002",rollback:"\u53EA\u6062\u590D\u539F\u63D2\u4EF6\u76EE\u5F55\u3002\u4E0D\u4F1A\u987A\u5E26\u8986\u76D6\u7528\u6237\u89C4\u5219\uFF1B\u5982\u89C4\u5219\u7248\u672C\u4E0D\u5339\u914D\uFF0C\u987B\u53E6\u884C\u9884\u89C8\u5E76\u786E\u8BA4\u914D\u5957\u3002",recover:"\u53EA\u6062\u590D\u539F\u4E2D\u65AD\u6587\u4EF6\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u53D1\u5207\u6362\uFF0C\u4E0D\u63A5\u7BA1\u672A\u77E5\u6587\u4EF6\u3002",rules_apply:"\u53EA\u66F4\u65B0\u81EA\u6709\u6258\u7BA1\u5757\u4E0E\u672A\u88AB\u7528\u6237\u4FEE\u6539\u7684 Skill\uFF0C\u4FDD\u7559\u7528\u6237\u524D\u540E\u6587\u5B57\u3001\u51ED\u636E\u548C\u6210\u679C\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u542F\u3002",rules_recover:"\u53EA\u6838\u5BF9\u5E76\u6062\u590D\u539F\u89C4\u5219\u4E8B\u52A1\uFF1B\u7F3A\u5C11\u65E5\u5FD7\u6216\u51FA\u73B0\u51B2\u7A81\u65F6\u4FDD\u7559\u5F85\u6838\u5BF9\uFF0C\u4E0D\u5F3A\u884C\u6E05\u9501\u3002"},zt=e=>rr[e]??"\u5C1A\u672A\u6838\u5BF9";function Kt({label:e,items:t,value:s,onChange:n,disabled:u}){return t?.length>0&&y.default.createElement("label",{className:"version-choice"},y.default.createElement("span",null,e),y.default.createElement("select",{"aria-label":e,value:s,disabled:u,onChange:l=>n(l.target.value)},t.map((l,a)=>y.default.createElement("option",{key:l.id,value:l.id},l.version??`${l.fromVersion} \u2192 ${l.toVersion}`," \xB7 \u7B2C ",a+1," \u6B21"))))}function Dl({request:e,operationId:t,stoppedUntil:s,busy:n,onMutation:u}){let l=(0,y.useRef)(u);l.current=u;let[a,f]=(0,y.useState)({}),[m]=(0,y.useState)(()=>lr(e,f,{operationId:t,onMutation:()=>l.current?.()})),[p,i]=(0,y.useState)(!1),[,c]=(0,y.useState)(0);(0,y.useEffect)(()=>(m.resume(),m.act("load"),()=>m.dispose()),[m]);let o=s>Date.now()&&!n,r=Rt({...a,busy:a.busy||n},{stopped:o}),d=a.plan,L=a.versions,C=a.artifacts;(0,y.useEffect)(()=>{if(i(!1),!d)return;let D=setTimeout(()=>{i(!1),c(O=>O+1)},Math.max(0,d.value.expiresAt-Date.now())+1);return()=>clearTimeout(D)},[d]),(0,y.useEffect)(()=>{if(!s)return;let D=setTimeout(()=>{i(!1),c(O=>O+1)},Math.max(0,s-Date.now())+1);return()=>clearTimeout(D)},[s]);let h=D=>{if(i(!1),!n)return m.act(D,{stopped:s>Date.now()})},g=L?.requests?.filter(D=>D.targetId===a.versionId).at(-1),v=C?.requests?.filter(D=>D.targetId===a.artifactId).at(-1),N=a.observation?.value,T=d?.value?.changes,w=N?.scope==="maintained_plugin_version_observed"?N:null,P=a.activation?.records?.filter(D=>D.requestedTransactionId===a.versionId).at(-1);return y.default.createElement("div",{className:"version-maintenance-body"},y.default.createElement("p",{className:"fine-print"},"\u91CD\u65B0\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u5386\u53F2\u3002\u67E5\u8BE2\u8FDC\u7AEF\u3001\u6587\u4EF6\u5207\u6362\u3001\u89C4\u5219\u914D\u5957\u548C\u91CD\u542F\u5206\u522B\u64CD\u4F5C\uFF1B\u4E0D\u4F1A\u5B9A\u65F6\u5237\u65B0\u3002"),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{icon:"reset",disabled:!r.load,onClick:()=>h("load")},"\u91CD\u8BFB\u672C\u7AEF\u7EF4\u62A4\u8BB0\u5F55")),a.busy&&y.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u7EF4\u62A4\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&y.default.createElement(x,{tone:"warn"},y.default.createElement("span",{role:"alert"},"\u7ED3\u679C\u5C1A\u9700\u6838\u5BF9\u3002\u8BF7\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u5019\u9009\u6216\u4E8B\u52A1\uFF1B\u4E0D\u8981\u56E0\u62A5\u9519\u91CD\u65B0\u53D1\u9001\u3002"),y.default.createElement("code",null,a.error)),(L?.pending||C?.pending||a.uncertain)&&y.default.createElement(x,{tone:"warn"},"\u5B58\u5728\u672A\u6838\u5BF9\u8BF7\u6C42\u3002\u65B0\u5207\u6362\u548C\u91CD\u542F\u4ECD\u88AB\u95E8\u7981\u963B\u6B62\uFF1B\u67E5\u8BE2\u4E0D\u4EE3\u8868\u91CD\u65B0\u6267\u884C\u3002"),a.loaded&&!L?.supported&&y.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u7248\u672C\u7EF4\u62A4\u5951\u7EA6\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u63A5\u7BA1\u3002"),L?.supported&&y.default.createElement(y.default.Fragment,null,!o&&y.default.createElement(x,null,"\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C\u72B6\u6001\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u505C\u673A\u5E76\u6838\u5BF9\u9000\u51FA\u3002\u6587\u4EF6\u64CD\u4F5C\u9700\u8981\u9000\u51FA\u8BC1\u660E\uFF1B\u8BFB\u53D6\u52A0\u8F7D\u72B6\u6001\u4E0D\u8981\u6C42\u505C\u673A\uFF0C\u4E5F\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u673A\u3002"),y.default.createElement("ol",{className:"phase-timeline version-phases"},y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"1"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u51C6\u5907\u81EA\u6709\u5019\u9009"),y.default.createElement("p",null,"\u53EA\u53D6\u672C\u7AEF\u81EA\u6709\u5206\u53D1\u5305\uFF1B\u9884\u89C8\u4F1A\u4FDD\u5B58\u672C\u5730\u51BB\u7ED3\u5FEB\u7167\uFF0C\u4E0D\u8054\u7CFB ECS\u3002"),y.default.createElement(Kt,{label:"\u5019\u9009\u7248\u672C",items:L.candidates,value:a.candidateId,disabled:!!a.busy,onChange:D=>m.select("candidateId",D)}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.candidate_preview,onClick:()=>h("candidate_preview")},"\u9884\u89C8\u672C\u7AEF\u5019\u9009"),y.default.createElement(_,{disabled:!r.candidate_status,onClick:()=>h("candidate_status")},"\u6838\u5BF9\u5019\u9009\u63A5\u6536")))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"2"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u5207\u6362\u63D2\u4EF6\u6587\u4EF6"),y.default.createElement(S,{label:"\u5386\u53F2\u6587\u4EF6\u56DE\u6267",value:g?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":zt(g?.receipt?.state)}),y.default.createElement(Kt,{label:"\u6587\u4EF6\u7248\u672C\u4E8B\u52A1",items:L.plans?.filter(D=>D.kind==="apply"),value:a.versionId,disabled:!!a.busy,onChange:D=>m.select("versionId",D)}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.preview,onClick:()=>h("preview")},"\u9884\u89C8\u6587\u4EF6\u5207\u6362"),y.default.createElement(_,{disabled:!r.status,onClick:()=>h("status")},"\u67E5\u8BE2\u539F\u6587\u4EF6\u4E8B\u52A1"),y.default.createElement(_,{disabled:!r.rollback_preview,onClick:()=>h("rollback_preview")},"\u9884\u89C8\u6587\u4EF6\u56DE\u6EDA"),y.default.createElement(_,{disabled:!r.recover_preview,onClick:()=>h("recover_preview")},"\u9884\u89C8\u4E2D\u65AD\u6062\u590D")))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"3"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u914D\u5957\u89C4\u5219\u4E0E Skill"),y.default.createElement(S,{label:"\u5386\u53F2\u89C4\u5219\u56DE\u6267",value:v?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":zt(v?.receipt?.state)}),y.default.createElement(Kt,{label:"\u89C4\u5219\u914D\u5957\u4E8B\u52A1",items:C?.plans?.filter(D=>D.kind==="apply"),value:a.artifactId,disabled:!!a.busy,onChange:D=>m.select("artifactId",D)}),C?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.rules_preview,onClick:()=>h("rules_preview")},"\u9884\u89C8\u89C4\u5219\u914D\u5957"),y.default.createElement(_,{disabled:!r.rules_status,onClick:()=>h("rules_status")},"\u67E5\u8BE2\u539F\u89C4\u5219\u4E8B\u52A1"),y.default.createElement(_,{disabled:!r.rules_recover_preview,onClick:()=>h("rules_recover_preview")},"\u9884\u89C8\u89C4\u5219\u6062\u590D")):y.default.createElement(x,null,"\u539F\u5F52\u6863\u4E0D\u652F\u6301\u89C4\u5219\u914D\u5957\uFF1B\u4E0D\u80FD\u4EC5\u51ED\u63D2\u4EF6\u6587\u4EF6\u5207\u6362\u5C31\u542F\u52A8\u65B0\u7248\u672C\u3002"))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"4"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u6838\u9A8C\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D"),y.default.createElement("p",null,"\u914D\u5957\u540E\u5148\u5728\u4E0A\u65B9\u53E6\u884C\u786E\u8BA4\u91CD\u542F\uFF0C\u518D\u624B\u52A8\u6838\u9A8C\u3002\u4E0D\u8981\u6C42\u5148\u4FEE\u590D\u6587\u4EF6\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u8F6E\u8BE2\u3002"),y.default.createElement(S,{label:"\u5386\u53F2\u52A0\u8F7D\u89C2\u5BDF",value:P?.observedAt?`${P.pluginVersion} \xB7 ${new Date(P.observedAt).toLocaleString()}`:"\u5C1A\u65E0\u5DF2\u8BB0\u5F55\u7684\u52A0\u8F7D\u89C2\u5BDF"}),y.default.createElement("p",{className:"fine-print"},"\u5386\u53F2\u8BB0\u5F55\u4E0D\u662F\u5F53\u524D\u5728\u7EBF\u8BC1\u660E\u3002\u6838\u9A8C\u53EA\u4EE3\u8868\u8BE5\u65F6\u523B\u7248\u672C\u3001\u89C4\u5219\u548C Skill \u4E00\u81F4\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u6216\u53D1\u5E03\u6743\u9650\u3002"),a.activation?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.activation_status,onClick:()=>h("activation_status")},"\u67E5\u8BE2\u5386\u53F2\u52A0\u8F7D\u8BB0\u5F55"),y.default.createElement(_,{icon:"check",disabled:!r.activation_verify,onClick:()=>h("activation_verify")},"\u624B\u52A8\u6838\u9A8C\u5F53\u524D\u52A0\u8F7D")):y.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u666E\u901A\u7248\u672C\u52A0\u8F7D\u6838\u9A8C\u5951\u7EA6\uFF1B\u66F4\u65B0\u63D2\u4EF6\u6587\u4EF6\u4E0D\u80FD\u8865\u6388\u65E7\u63A7\u5236\u5668\u6743\u9650\u3002"),w&&y.default.createElement(x,{tone:w.activationVerified?"info":"warn"},y.default.createElement("strong",null,w.activationVerified?"\u672C\u6B21\u52A0\u8F7D\u6838\u9A8C\u901A\u8FC7":"\u4EC5\u67E5\u8BE2\u5230\u5386\u53F2\u8BB0\u5F55\uFF0C\u672A\u6838\u9A8C\u5728\u7EBF\u72B6\u6001"),y.default.createElement("p",null,w.pluginVersion?`\u89C2\u5BDF\u7248\u672C\uFF1A${w.pluginVersion}\u3002`:"\u5C1A\u65E0\u6210\u529F\u52A0\u8F7D\u89C2\u5BDF\u3002",w.observedAt&&`\u89C2\u5BDF\u65F6\u95F4\uFF1A${new Date(w.observedAt).toLocaleString()}\u3002`),!w.activationVerified&&w.observedAt&&(!w.sameRecordedRelease||!w.sameRecordedHost)&&y.default.createElement("p",null,"\u8BB0\u5F55\u6240\u5C5E\u7248\u672C\u6216\u8FDB\u7A0B\u5DF2\u6539\u53D8\uFF0C\u4E0D\u53EF\u4F5C\u4E3A\u5F53\u524D\u751F\u6548\u4F9D\u636E\u3002"))))),N&&!w&&y.default.createElement("div",{className:"version-observation","aria-live":"polite"},y.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),y.default.createElement("p",null,N.artifactsMatched?"\u89C4\u5219\u4E0E\u5F53\u524D\u955C\u50CF\u7684\u5185\u5BB9\u5339\u914D\uFF1B\u5C1A\u672A\u8BC1\u660E\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D\u3002":N.canApply===!1?"\u5F53\u524D\u6CA1\u6709\u53EF\u6267\u884C\u7684\u914D\u5957\u8BA1\u5212\uFF1B\u8BF7\u67E5\u770B\u51B2\u7A81\u6216\u5DF2\u5339\u914D\u8BF4\u660E\u3002":N.state?zt(N.state):"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8BA1\u5212\u3002"),N.conflicts?.length>0&&y.default.createElement("ul",null,N.conflicts.map((D,O)=>y.default.createElement("li",{key:O},y.default.createElement("code",null,D.code),D.path&&y.default.createElement("span",null," \xB7 ",D.path))))),d&&y.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":Wt[d.action]+"\u786E\u8BA4"},y.default.createElement("h3",null,Wt[d.action]),y.default.createElement("p",null,Ol[d.action]),y.default.createElement(S,{label:"\u7248\u672C",value:d.value.version??d.value.targetVersion??`${d.value.fromVersion??""} \u2192 ${d.value.toVersion??""}`}),T&&y.default.createElement("details",null,y.default.createElement("summary",null,"\u67E5\u770B ",T.length," \u9879\u6587\u4EF6\u53D8\u5316"),y.default.createElement("ul",null,T.map(D=>y.default.createElement("li",{className:"plan-item",key:D.path},y.default.createElement("code",null,D.path)," \xB7 ",D.action)))),y.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.value.expiresAt).toLocaleString(),"\u3002\u5173\u95ED\u6216\u53D6\u6D88\u4E0D\u4F1A\u7EED\u7528\u6279\u51C6\u3002"),!r.confirm&&y.default.createElement(x,{tone:"warn"},"\u786E\u8BA4\u6682\u4E0D\u53EF\u6267\u884C\uFF1A\u8BF7\u6838\u5BF9\u505C\u673A\u72B6\u6001\u3001\u672A\u77E5\u8BF7\u6C42\u6216\u8BA1\u5212\u6709\u6548\u671F\u3002\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),y.default.createElement(R,{title:"\u6211\u5DF2\u6838\u5BF9\u672C\u6B21\u6587\u4EF6\u7EF4\u62A4\u8303\u56F4",sub:"\u4E0D\u81EA\u52A8\u91CD\u542F\uFF0C\u4E0D\u5F00\u653E\u4E1A\u52A1\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u3002",checked:p,onChange:i,disabled:!r.confirm}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{kind:"primary",disabled:!r.confirm||!p,onClick:()=>{i(!1),n||m.act("confirm",{confirmed:!0,stopped:s>Date.now()})}},"\u786E\u8BA4",Wt[d.action]),y.default.createElement(_,{disabled:!!a.busy,onClick:()=>{i(!1),m.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4"))),y.default.createElement(x,null,"\u6587\u4EF6\u5207\u6362 \u2260 \u89C4\u5219\u914D\u5957 \u2260 \u52A0\u8F7D\u751F\u6548\u3002\u5B8C\u6210\u914D\u5957\u540E\u8BF7\u5728\u4E0A\u65B9\u91CD\u65B0\u6838\u9A8C\u72B6\u6001\u3001\u72EC\u7ACB\u786E\u8BA4\u91CD\u542F\uFF1B\u518D\u624B\u52A8\u6838\u9A8C\u65B0\u8FDB\u7A0B\u52A0\u8F7D\uFF0C\u4E0D\u80FD\u628A\u5386\u53F2\u6587\u4EF6\u56DE\u6267\u5F53\u4F5C\u5728\u7EBF\u8BC1\u660E\u3002")))}function sr(e){let[t,s]=(0,y.useState)(!1);return y.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u81EA\u6709\u63D2\u4EF6\u7248\u672C\u7EF4\u62A4"},y.default.createElement("div",{className:"version-heading"},y.default.createElement("div",null,y.default.createElement("h3",null,"\u81EA\u6709\u63D2\u4EF6\u7248\u672C\u7EF4\u62A4"),y.default.createElement("p",null,"\u6587\u4EF6\u3001\u89C4\u5219\u3001\u91CD\u542F\u4E0E\u52A0\u8F7D\u6838\u9A8C\u5206\u5F00\u3002\u4FDD\u7559\u7528\u6237\u89C4\u5219\u548C\u539F\u7248\u672C\u5907\u4EFD\u3002")),y.default.createElement(Ge,{pose:"tasks"})),y.default.createElement(_,{"aria-expanded":t,disabled:e.busy,onClick:()=>s(n=>!n)},t?"\u6536\u8D77\u7248\u672C\u7EF4\u62A4":"\u5C55\u5F00\u7248\u672C\u7EF4\u62A4"),t&&y.default.createElement(Dl,{...e}))}var F=Ce(ge());var nr={intent:"\u5378\u8F7D\u610F\u56FE\u5DF2\u767B\u8BB0\uFF0C\u9700\u6838\u5BF9",rules_removed:"\u89C4\u5219\u5DF2\u64A4\u4E0B\uFF0C\u63D2\u4EF6\u9000\u5F79\u5F85\u6838\u5BF9",capturing:"\u63D2\u4EF6\u9000\u5F79\u4E2D\uFF0C\u9700\u6838\u5BF9",committed:"\u81EA\u6709\u80FD\u529B\u5DF2\u5378\u8F7D\uFF0C\u6570\u636E\u4E0E\u5907\u4EFD\u4FDD\u7559",rolled_back:"\u5DF2\u6062\u590D\u539F\u72B6\u6001",refused:"\u672C\u6B21\u64CD\u4F5C\u6267\u884C\u524D\u5DF2\u62D2\u7EDD",uninstall_outcome_unknown:"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5"},El=e=>e.record?.requests?.filter(t=>t.targetId===e.id&&t.receipt?.state!=="refused").at(-1);function Xt(e,{stopped:t=!1}={},s=Date.now()){let n=e.loaded&&!e.busy&&e.record?.supported,u=El(e),l=e.record?.requests?.some(f=>f.state==="requested"),a=n&&t&&!e.otherPending&&!e.uncertain&&!l&&u?.receipt?.recoveryRequired===!0;return{load:!e.busy,preview:n&&t&&!e.otherPending&&!e.uncertain&&!e.record.blocked,status:n&&!!e.id,recover_preview:a,confirm:n&&t&&!e.otherPending&&!e.uncertain&&e.plan?.value.expiresAt>s&&(e.plan.action==="apply"?!e.record.blocked:a)}}function ir(e,t,{operationId:s,onMutation:n=()=>{},now:u=Date.now}={}){let l=!1,a={loaded:!1,busy:null,error:null,record:null,otherPending:!1,id:"",plan:null,observation:null,uncertain:!1,uncertainKey:null},f=()=>{l||t({...a})},m=(c,o={})=>e("cloud_version",{action:"uninstall_"+c,operationId:s,...o});async function p(){let c=await m("record"),o=await e("cloud_version",{action:"record",operationId:s}),r=await e("cloud_version",{action:"rules_record",operationId:s});if([c,o,r].some(h=>h.operationId!==s))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let d=c.plans?.filter(h=>h.kind==="apply")??[],L=c.requests?.find(h=>h.state==="requested"||h.receipt?.recoveryRequired),C=d.some(h=>h.id===a.id)?a.id:d.find(h=>h.id===L?.targetId)?.id??d.at(-1)?.id??"";a={...a,loaded:!0,record:c,otherPending:!!(o.pending||r.pending),id:C},a.uncertainKey&&c.requests?.find(h=>h.key===a.uncertainKey)?.state==="observed"&&(a.uncertain=!1,a.uncertainKey=null)}async function i(c,{confirmed:o=!1,stopped:r=!1}={}){if(l||a.busy)return!1;if(!Xt(a,{stopped:r},u())[c]||c==="confirm"&&!o)return a.error="ONBOARDING_UNINSTALL_UI_REFRESH_REQUIRED",f(),!1;let L=a.plan,C=c==="confirm"?L.action:c,h=c==="confirm";a={...a,busy:C,error:null,...h?{}:{plan:null}},f();try{if(c==="load")await p(),a.observation=null;else{h&&(a.uncertain=!0,a.uncertainKey=C+":"+L.value.id,n());let g=await m(C,h?{id:L.value.id,fingerprint:L.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:C,value:g,observedAt:u()},a.plan=null,["preview","recover_preview"].includes(c)&&g.id&&g.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:g},c==="preview"&&(a.id=g.id)),await p()}return!0}catch(g){return a.error=/^ONBOARDING_[A-Z_]+$/.test(g.message??"")?g.message:"ONBOARDING_UNAVAILABLE",h&&(a.plan=null,a.uncertain=!0),c==="load"&&(a.loaded=!1),!1}finally{a.busy=null,f()}}return{act:i,snapshot:()=>({...a}),select:c=>a.busy||!a.record?.plans?.some(o=>o.kind==="apply"&&o.id===c)?!1:(a={...a,id:c,plan:null,observation:null},f(),!0),cancel:()=>{a.busy||(a.plan=null,f())},dispose:()=>{l=!0},resume:()=>{l=!1,f()}}}var ur=e=>nr[e]??"\u5C1A\u65E0\u5378\u8F7D\u56DE\u6267",Pl={cancel_proven_unstarted_uninstall:"\u53D6\u6D88\u5DF2\u8BC1\u5B9E\u5C1A\u672A\u5F00\u59CB\u7684\u5378\u8F7D",rollback_incomplete_changes:"\u6062\u590D\u539F\u89C4\u5219\u4E0E Skill",finalize_receipt:"\u6838\u5BF9\u5DF2\u79FB\u9664\u89C4\u5219\u5E76\u5B8C\u6210\u63D2\u4EF6\u9000\u5F79",finish_recorded_uninstall:"\u7EE7\u7EED\u6838\u5BF9\u539F\u5378\u8F7D\u8BB0\u5F55"},Bl={user_configuration_credentials_sessions_preserved:"\u914D\u7F6E\u3001\u51ED\u636E\u4E0E\u4F1A\u8BDD\u4FDD\u7559",tasks_and_artifacts_preserved:"\u4EFB\u52A1\u4E0E\u6210\u679C\u4FDD\u7559",all_history_and_retired_image_preserved:"\u5378\u8F7D\u8BB0\u5F55\u3001\u5386\u53F2\u4E0E\u9000\u5F79\u63D2\u4EF6\u5907\u4EFD\u4FDD\u7559",unknown_sidecars_preserved:"\u7528\u6237\u65C1\u7F6E\u6587\u4EF6\u4FDD\u7559"};function Tl({request:e,operationId:t,stoppedUntil:s,busy:n,onMutation:u}){let l=(0,F.useRef)(u);l.current=u;let[a,f]=(0,F.useState)({}),[m]=(0,F.useState)(()=>ir(e,f,{operationId:t,onMutation:()=>l.current?.()})),[p,i]=(0,F.useState)(!1),[,c]=(0,F.useState)(0);(0,F.useEffect)(()=>(m.resume(),m.act("load"),()=>m.dispose()),[m]);let o=s>Date.now()&&!n,r=Xt({...a,busy:a.busy||n},{stopped:o}),d=a.plan,L=a.record;(0,F.useEffect)(()=>{if(i(!1),!d)return;let N=setTimeout(()=>{i(!1),c(T=>T+1)},Math.max(0,d.value.expiresAt-Date.now())+1);return()=>clearTimeout(N)},[d]),(0,F.useEffect)(()=>{if(i(!1),!s)return;let N=setTimeout(()=>{i(!1),c(T=>T+1)},Math.max(0,s-Date.now())+1);return()=>clearTimeout(N)},[s]);let C=N=>{if(i(!1),!n)return m.act(N,{stopped:s>Date.now()})},h=L?.plans?.filter(N=>N.kind==="apply")??[],g=L?.requests?.filter(N=>N.targetId===a.id&&N.receipt?.state!=="refused").at(-1),v=a.observation?.value;return F.default.createElement("div",{className:"version-maintenance-body"},F.default.createElement("p",{className:"fine-print"},"\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u5386\u53F2\u3002\u8FDC\u7AEF\u67E5\u8BE2\u548C\u6BCF\u6B21\u6267\u884C\u5747\u7531\u4F60\u624B\u52A8\u89E6\u53D1\uFF0C\u4E0D\u5B9A\u65F6\u5237\u65B0\u3001\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),F.default.createElement("div",{className:"form-actions"},F.default.createElement(_,{icon:"reset",disabled:!r.load,onClick:()=>C("load")},"\u91CD\u8BFB\u672C\u7AEF\u5378\u8F7D\u8BB0\u5F55")),a.busy&&F.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u5378\u8F7D\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&F.default.createElement(x,{tone:"warn"},F.default.createElement("span",{role:"alert"},"\u5F53\u524D\u7ED3\u679C\u5C1A\u9700\u6838\u5BF9\u3002\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u5378\u8F7D\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u3002"),F.default.createElement("code",null,a.error)),a.loaded&&!L?.supported&&F.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u5B8C\u6574\u5378\u8F7D\u8BF7\u6C42\u5951\u7EA6\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u6216\u5220\u9664\u5386\u53F2\u6765\u53D6\u5F97\u6743\u9650\u3002"),L?.supported&&F.default.createElement(F.default.Fragment,null,F.default.createElement(x,null,"\u8FD9\u91CC\u53EA\u64A4\u4E0B\u81EA\u6709\u63D2\u4EF6\u3001\u6258\u7BA1\u89C4\u5219\u4E0E\u672A\u88AB\u4FEE\u6539\u7684 Skill\u3002\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u6210\u679C\u3001\u4F9D\u8D56\u548C\u5386\u53F2\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u6E05\u7A7A ECS\uFF0C\u4E5F\u4E0D\u5378\u8F7D\u672C\u5730\u63A7\u5236\u5668\u3002"),!o&&F.default.createElement(x,null,"\u9700\u8981\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C\u72B6\u6001\uFF1B\u82E5\u4ECD\u8FD0\u884C\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u505C\u673A\u5E76\u6838\u5BF9\u9000\u51FA\u3002\u8FD9\u91CC\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u6B62 Host\u3002"),a.otherPending&&F.default.createElement(x,{tone:"warn"},"\u7248\u672C\u5207\u6362\u3001\u89C4\u5219\u914D\u5957\u4ECD\u6709\u672A\u6838\u5BF9\u8BF7\u6C42\u3002\u8BF7\u5148\u67E5\u8BE2\u5E76\u5B8C\u6210\u539F\u4E8B\u52A1\uFF0C\u6682\u4E0D\u5F00\u59CB\u5378\u8F7D\u3002"),(L.pending||a.uncertain)&&F.default.createElement(x,{tone:"warn"},"\u5378\u8F7D\u5C1A\u672A\u6838\u5BF9\uFF0C\u91CD\u542F\u4E0E\u65B0\u7EF4\u62A4\u88AB\u963B\u6B62\u3002\u67E5\u8BE2\u4E0D\u4F1A\u91CD\u65B0\u6267\u884C\uFF0C\u6062\u590D\u9700\u8981\u5355\u72EC\u9884\u89C8\u786E\u8BA4\u3002"),h.length>0&&F.default.createElement("label",{className:"version-choice"},F.default.createElement("span",null,"\u5378\u8F7D\u8BB0\u5F55"),F.default.createElement("select",{"aria-label":"\u5378\u8F7D\u8BB0\u5F55",value:a.id,disabled:!!a.busy||n,onChange:N=>m.select(N.target.value)},h.map((N,T)=>F.default.createElement("option",{value:N.id,key:N.id},N.version," \xB7 \u7B2C ",T+1," \u6B21")))),F.default.createElement(S,{label:"\u5386\u53F2\u5378\u8F7D\u56DE\u6267",value:g?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":ur(g?.receipt?.state)}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(_,{disabled:!r.preview,onClick:()=>C("preview")},"\u9884\u89C8\u5378\u8F7D\u8303\u56F4"),F.default.createElement(_,{disabled:!r.status,onClick:()=>C("status")},"\u67E5\u8BE2\u539F\u5378\u8F7D"),F.default.createElement(_,{disabled:!r.recover_preview,onClick:()=>C("recover_preview")},"\u9884\u89C8\u5378\u8F7D\u6062\u590D")),v&&F.default.createElement("div",{className:"version-observation","aria-live":"polite"},F.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),F.default.createElement("p",null,v.canApply===!1?"\u53D1\u73B0\u51B2\u7A81\uFF0C\u672A\u751F\u6210\u53EF\u6267\u884C\u5378\u8F7D\u8BA1\u5212\u3002":v.state?ur(v.state):"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8BA1\u5212\uFF1B\u76EE\u6807\u6587\u4EF6\u5C1A\u672A\u6539\u53D8\u3002"),v.conflicts?.length>0&&F.default.createElement("ul",null,v.conflicts.map((N,T)=>F.default.createElement("li",{key:T},F.default.createElement("code",null,N.code),N.path&&F.default.createElement("span",null," \xB7 ",N.path))))),d&&F.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":"\u81EA\u6709\u80FD\u529B\u5378\u8F7D\u786E\u8BA4"},F.default.createElement("h3",null,d.action==="apply"?"\u786E\u8BA4\u5378\u8F7D\u81EA\u6709\u80FD\u529B":Pl[d.value.action]??"\u786E\u8BA4\u6062\u590D\u539F\u5378\u8F7D"),F.default.createElement("p",null,d.action==="apply"?"\u5148\u4FDD\u62A4\u6027\u79FB\u9664\u81EA\u6709\u89C4\u5219\u4E0E Skill\uFF0C\u518D\u5C06\u5DF2\u6838\u9A8C\u63D2\u4EF6\u76EE\u5F55\u79FB\u5165\u4FDD\u7559\u533A\uFF1B\u7528\u6237\u4FEE\u6539\u6216\u672A\u77E5\u6587\u4EF6\u4F1A\u963B\u6B62\u64CD\u4F5C\u3002":"\u4EC5\u5904\u7406\u539F\u5378\u8F7D\u4E8B\u52A1\uFF1B\u4E0D\u4F1A\u91CD\u53D1\u5E94\u7528\u3001\u5220\u9664\u672A\u77E5\u9501\u6216\u91CD\u5EFA\u5F52\u5C5E\u3002"),F.default.createElement(S,{label:"\u7248\u672C",value:d.value.version??h.find(N=>N.id===a.id)?.version}),d.value.changes&&F.default.createElement("details",null,F.default.createElement("summary",null,"\u67E5\u770B ",d.value.changes.length," \u9879\u53D8\u5316"),F.default.createElement("ul",null,d.value.changes.map(N=>F.default.createElement("li",{className:"plan-item",key:N.path},F.default.createElement("code",null,N.path)," \xB7 ",N.action==="retire_owned_image"?"\u9000\u5F79\u5E76\u4FDD\u7559\u63D2\u4EF6\u5907\u4EFD":N.action==="remove"?"\u79FB\u9664\u81EA\u6709\u6587\u4EF6":"\u4EC5\u79FB\u9664\u81EA\u6709\u6258\u7BA1\u5757")))),d.value.retained&&F.default.createElement("details",{open:!0},F.default.createElement("summary",null,"\u4FDD\u7559\u5185\u5BB9"),F.default.createElement("ul",null,d.value.retained.map((N,T)=>F.default.createElement("li",{className:"plan-item",key:T},F.default.createElement("span",null,Bl[N.reason]??"\u4FDD\u7559\u7528\u6237\u5185\u5BB9"),F.default.createElement("code",null,N.path))))),F.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.value.expiresAt).toLocaleString(),"\u3002\u53D6\u6D88\u6216\u5173\u95ED\u540E\u4E0D\u4FDD\u7559\u6279\u51C6\u3002"),!r.confirm&&F.default.createElement(x,{tone:"warn"},"\u8BA1\u5212\u3001\u505C\u673A\u89C2\u5BDF\u6216\u8BF7\u6C42\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),F.default.createElement(R,{title:"\u6211\u5DF2\u6838\u5BF9\u79FB\u9664\u8303\u56F4\u4E0E\u4FDD\u7559\u5185\u5BB9",sub:"\u4E0D\u6E05\u7A7A Host\uFF0C\u4E0D\u5220\u9664\u4EFB\u52A1/\u51ED\u636E/\u5907\u4EFD\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u5F00\u653E\u5F00\u53D1\u5199\u5165\u3002",checked:p,onChange:i,disabled:!r.confirm}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(_,{kind:"primary",disabled:!r.confirm||!p,onClick:()=>{i(!1),n||m.act("confirm",{confirmed:!0,stopped:s>Date.now()})}},d.action==="apply"?"\u786E\u8BA4\u5378\u8F7D\u81EA\u6709\u80FD\u529B":"\u786E\u8BA4\u672C\u6B21\u6062\u590D"),F.default.createElement(_,{disabled:!!a.busy,onClick:()=>{i(!1),m.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function dr(e){let[t,s]=(0,F.useState)(!1);return F.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B"},F.default.createElement("div",{className:"version-heading"},F.default.createElement("div",null,F.default.createElement("h3",null,"\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B"),F.default.createElement("p",null,"\u64A4\u4E0B\u80FD\u529B\uFF0C\u4E0D\u6E05\u7A7A\u6570\u636E\u3002\u6BCF\u4E00\u6B65\u90FD\u53EF\u6838\u5BF9\u3002")),F.default.createElement(Ge,{pose:"tasks"})),F.default.createElement(_,{"aria-expanded":t,disabled:e.busy,onClick:()=>s(n=>!n)},t?"\u6536\u8D77\u5378\u8F7D\u7EF4\u62A4":"\u5C55\u5F00\u5378\u8F7D\u7EF4\u62A4"),t&&F.default.createElement(Tl,{...e}))}var U=Ce(ge());var Ml={refused:"\u672C\u6B21\u786E\u8BA4\u5DF2\u5931\u6548\uFF0C\u6267\u884C\u524D\u62D2\u7EDD",not_requested:"\u5C1A\u65E0\u76EE\u6807\u7AEF\u5220\u9664\u610F\u56FE",unobserved:"\u672A\u89C2\u5BDF\u5230\u5220\u9664\u610F\u56FE\uFF0C\u539F\u8BF7\u6C42\u7ED3\u679C\u4ECD\u672A\u77E5",deleting:"\u56DE\u6536\u5C1A\u672A\u5B8C\u6210\uFF0C\u9700\u6838\u5BF9",committed:"\u8FD0\u884C\u65F6\u5DF2\u56DE\u6536\uFF0C\u7528\u6237\u6570\u636E\u548C\u5386\u53F2\u4FDD\u7559",reclamation_outcome_unknown:"\u539F\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5"},$t=e=>e?.executionState==="running"?"\u540E\u53F0\u56DE\u6536\u6267\u884C\u4E2D\uFF0C\u624B\u52A8\u67E5\u8BE2\u8FDB\u5EA6":e?.executionState==="interrupted"?"\u540E\u53F0\u56DE\u6536\u5DF2\u4E2D\u65AD\uFF0C\u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4":Ml[e?.state]??"\u5C1A\u65E0\u56DE\u6536\u56DE\u6267",Fl=e=>e.record?.requests?.filter(t=>t.targetId===e.id).at(-1);function Qt(e,{stopped:t=!1}={},s=Date.now()){let n=e.loaded&&!e.busy&&e.record?.supported,u=Fl(e),l=u&&(u.receipt?.state==="deleting"&&u.receipt?.workerActive!==!0||u.state==="requested"&&u.observedAbsent),a=n&&t&&e.uninstallCompleted&&!e.otherPending&&!e.uncertain;return{load:!e.busy,preview:a&&!e.record.blocked,status:n&&(!!u&&u.receipt?.state!=="refused"||e.uncertain&&!!e.id),recover_preview:a&&!!l,confirm:a&&e.plan?.value.expiresAt>s&&(e.plan.action==="apply"?!e.record.blocked:!!l)}}function fr(e,t,{operationId:s,onMutation:n=()=>{},now:u=Date.now}={}){let l=!1,a={loaded:!1,busy:null,error:null,record:null,id:"",plan:null,observation:null,uncertain:!1,uncertainKey:null,uninstallCompleted:!1,otherPending:!1},f=()=>{l||t({...a})},m=(c,o={})=>e("cloud_version",{action:"reclaim_"+c,operationId:s,...o});async function p(){let c=await m("record"),o=await e("cloud_version",{action:"uninstall_record",operationId:s}),r=await e("cloud_version",{action:"record",operationId:s}),d=await e("cloud_version",{action:"rules_record",operationId:s});if([c,o,r,d].some(g=>g.operationId!==s))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let L=c.plans?.filter(g=>g.kind==="apply")??[],C=c.requests?.filter(g=>g.receipt?.state!=="refused").at(-1)?.targetId??L.at(-1)?.id??"";a={...a,loaded:!0,record:c,id:C,uninstallCompleted:o.pending===!1&&o.requests?.at(-1)?.receipt?.state==="committed",otherPending:!!(r.pending||d.pending||o.pending)};let h=c.requests?.find(g=>g.key===a.uncertainKey);h&&(h.state==="observed"||h.observedAbsent)&&(a.uncertain=!1,a.uncertainKey=null)}async function i(c,{confirmed:o=!1,stopped:r=!1}={}){if(l||a.busy)return!1;if(!Qt(a,{stopped:r},u())[c]||c==="confirm"&&!o)return a.error="ONBOARDING_RECLAIM_UI_REFRESH_REQUIRED",f(),!1;let L=a.plan,C=c==="confirm"?L.action:c,h=c==="confirm";a={...a,busy:C,error:null,observation:null,...h?{}:{plan:null}},f();try{if(c==="load")await p(),a.observation=null;else{h&&(a.uncertain=!0,a.uncertainKey=C+":"+L.value.id,n());let g=await m(C,h?{id:L.value.id,fingerprint:L.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:C,value:g,observedAt:u()},a.plan=null,["preview","recover_preview"].includes(c)&&g.id&&g.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:g}),await p()}return!0}catch(g){return a.error=/^ONBOARDING_[A-Z_]+$/.test(g.message??"")?g.message:"ONBOARDING_UNAVAILABLE",h&&(a.plan=null,a.uncertain=!0),c==="load"&&(a.loaded=!1),!1}finally{a.busy=null,f()}}return{act:i,snapshot:()=>({...a}),cancel:()=>{a.busy||(a.plan=null,f())},dispose:()=>{l=!0},resume:()=>{l=!1,f()}}}function Ul({request:e,operationId:t,stoppedUntil:s,busy:n,onMutation:u}){let l=(0,U.useRef)(u);l.current=u;let[a,f]=(0,U.useState)({}),[m]=(0,U.useState)(()=>fr(e,f,{operationId:t,onMutation:()=>l.current?.()})),[p,i]=(0,U.useState)(!1),[,c]=(0,U.useState)(0);(0,U.useEffect)(()=>(m.resume(),m.act("load"),()=>m.dispose()),[m]);let o=a.plan,r=s>Date.now()&&!n,d=Qt({...a,busy:a.busy||n},{stopped:r});(0,U.useEffect)(()=>{if(i(!1),!o)return;let g=setTimeout(()=>{i(!1),c(v=>v+1)},Math.max(0,o.value.expiresAt-Date.now())+1);return()=>clearTimeout(g)},[o]),(0,U.useEffect)(()=>{if(i(!1),!s)return;let g=setTimeout(()=>{i(!1),c(v=>v+1)},Math.max(0,s-Date.now())+1);return()=>clearTimeout(g)},[s]);let L=g=>{if(i(!1),!n)return m.act(g,{stopped:s>Date.now()})},C=a.record?.requests?.at(-1),h=a.observation?.value;return U.default.createElement("div",{className:"version-maintenance-body"},U.default.createElement("p",{className:"fine-print"},"\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u8BB0\u5F55\u3002\u8FDC\u7AEF\u67E5\u8BE2\u548C\u6BCF\u6B21\u6267\u884C\u5747\u624B\u52A8\u89E6\u53D1\uFF1B\u4E0D\u5B9A\u65F6\u5237\u65B0\uFF0C\u4E0D\u81EA\u52A8\u505C\u673A\u3001\u91CD\u542F\u6216\u91CD\u590D\u5220\u9664\u3002"),U.default.createElement("div",{className:"form-actions"},U.default.createElement(_,{icon:"reset",disabled:!d.load,onClick:()=>L("load")},"\u91CD\u8BFB\u672C\u7AEF\u56DE\u6536\u8BB0\u5F55")),a.busy&&U.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u56DE\u6536\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&U.default.createElement(x,{tone:"warn"},U.default.createElement("span",{role:"alert"},a.error==="ONBOARDING_CLOUD_RUNTIME_RECLAIM_PLAN_EXPIRED"?"\u672C\u6B21\u786E\u8BA4\u5DF2\u5931\u6548\u3002\u8BF7\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\u540E\u91CD\u65B0\u9884\u89C8\uFF1B\u65E7\u786E\u8BA4\u4E0D\u4F1A\u91CD\u53D1\u3002":"\u5F53\u524D\u7ED3\u679C\u9700\u8981\u6838\u5BF9\u3002\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u56DE\u6536\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u5220\u9664\u3002"),U.default.createElement("code",null,a.error)),a.loaded&&!a.record?.supported&&U.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u6301\u4E45\u56DE\u6536\u8BF7\u6C42\u3002\u4FDD\u6301\u539F\u73AF\u5883\uFF0C\u4E0D\u6539\u5199\u65E7\u5F52\u6863\u8865\u80FD\u529B\u3002"),a.record?.supported&&U.default.createElement(U.default.Fragment,null,U.default.createElement(x,{tone:"warn"},"\u56DE\u6536\u4F1A\u6C38\u4E45\u5220\u9664\u539F\u6E05\u5355\u4E2D\u7684\u4F9D\u8D56\u548C\u8FD0\u884C\u65F6\u7A0B\u5E8F\u6587\u4EF6\uFF0C\u4E0D\u627F\u8BFA\u6062\u590D\u5DF2\u5220\u9664\u6587\u4EF6\u3002\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u6210\u679C\u3001\u9000\u5F79\u63D2\u4EF6\u548C\u5386\u53F2\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u6E05\u7A7A ECS \u6216\u6574\u4E2A\u76EE\u5F55\u3002"),!a.uninstallCompleted&&U.default.createElement(x,null,"\u8BF7\u5148\u5B8C\u6210\u4E0A\u65B9\u201C\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B\u201D\uFF0C\u5E76\u624B\u52A8\u6838\u5BF9\u5378\u8F7D\u56DE\u6267\u3002"),!r&&U.default.createElement(x,null,"\u8BF7\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C Host \u5DF2\u9000\u51FA\u3002\u8FD9\u91CC\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u673A\uFF0C\u4E5F\u4E0D\u628A\u65E7\u89C2\u5BDF\u5F53\u4F5C\u5F53\u524D\u72B6\u6001\u3002"),a.otherPending&&U.default.createElement(x,{tone:"warn"},"\u7248\u672C\u3001\u89C4\u5219\u6216\u5378\u8F7D\u4ECD\u6709\u5F85\u6838\u5BF9\u4E8B\u52A1\u3002\u5148\u5904\u7406\u539F\u8BB0\u5F55\uFF0C\u4E0D\u5F00\u59CB\u56DE\u6536\u3002"),C?.receipt?.workerActive===!0&&!a.uncertain&&U.default.createElement(x,null,"\u4E0A\u6B21\u89C2\u5BDF\u5230\u540E\u53F0\u56DE\u6536\u6B63\u5728\u6267\u884C\uFF0C\u4E0D\u4EE3\u8868\u5DF2\u7ECF\u5B8C\u6210\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u8FDB\u5EA6\uFF1B\u8FD0\u884C\u671F\u95F4\u4E0D\u80FD\u91CD\u590D\u542F\u52A8\u6216\u786E\u8BA4\u6062\u590D\u3002"),(a.record.pending&&C?.receipt?.workerActive!==!0||a.uncertain)&&U.default.createElement(x,{tone:"warn"},"\u539F\u56DE\u6536\u7ED3\u679C\u5C1A\u672A\u5B8C\u6574\u6838\u5BF9\uFF1B\u67E5\u8BE2\u4E0D\u7EE7\u7EED\u5220\u9664\u3002\u5373\u4F7F\u6682\u672A\u89C2\u5BDF\u5230\u76EE\u6807\u610F\u56FE\uFF0C\u4E5F\u4E0D\u8868\u793A\u65E7\u8BF7\u6C42\u4ECE\u672A\u6267\u884C\uFF0C\u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4\u3002"),U.default.createElement(S,{label:"\u5386\u53F2\u56DE\u6536\u56DE\u6267",value:a.uncertain||C?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":$t(C?.receipt)}),U.default.createElement("div",{className:"form-actions"},U.default.createElement(_,{disabled:!d.preview,onClick:()=>L("preview")},"\u9884\u89C8\u8FD0\u884C\u65F6\u56DE\u6536"),U.default.createElement(_,{disabled:!d.status,onClick:()=>L("status")},"\u67E5\u8BE2\u539F\u56DE\u6536"),U.default.createElement(_,{disabled:!d.recover_preview,onClick:()=>L("recover_preview")},"\u9884\u89C8\u539F\u56DE\u6536\u6062\u590D")),h&&U.default.createElement("div",{className:"version-observation","aria-live":"polite"},U.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),U.default.createElement("p",null,h.canApply?"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8303\u56F4\uFF0C\u5C1A\u672A\u5220\u9664\u6587\u4EF6\u3002":$t(h)),h.total>0&&U.default.createElement(S,{label:"\u5DF2\u8BB0\u8D26\u6761\u76EE",value:`${h.completed??0} / ${h.total}`})),o&&U.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":"\u72EC\u7ACB\u8FD0\u884C\u65F6\u56DE\u6536\u786E\u8BA4"},U.default.createElement("h3",null,o.action==="apply"?"\u786E\u8BA4\u56DE\u6536\u8FD0\u884C\u65F6\u6587\u4EF6":"\u786E\u8BA4\u6062\u590D\u539F\u56DE\u6536"),U.default.createElement("p",null,o.action==="apply"?"\u53EA\u5904\u7406\u539F\u7B7E\u540D\u6E05\u5355\uFF0C\u9047\u5230\u672A\u77E5\u6587\u4EF6\u6216\u5F52\u5C5E\u53D8\u5316\u5C31\u4FDD\u7559\u5F85\u6838\u5BF9\u3002":o.value.action==="start_original_manifest_if_still_unobserved"?"\u5F53\u524D\u672A\u89C2\u5BDF\u5230\u76EE\u6807\u610F\u56FE\u3002\u518D\u6B21\u786E\u8BA4\u540E\uFF0C\u4EC5\u5728\u4ECD\u672A\u51FA\u73B0\u610F\u56FE\u4E14\u539F\u8303\u56F4\u4ECD\u543B\u5408\u65F6\u767B\u8BB0\u5E76\u6267\u884C\uFF1B\u8FDF\u5230\u8BF7\u6C42\u4E0D\u80FD\u89E6\u53D1\u91CD\u590D\u5220\u9664\u3002":"\u53EA\u7EE7\u7EED\u539F\u6E05\u5355\u7684\u672A\u5B8C\u6210\u90E8\u5206\uFF0C\u4E0D\u6269\u5927\u8303\u56F4\u3001\u4E0D\u91CD\u65B0\u5B89\u88C5\u6216\u542F\u52A8 Host\u3002"),o.action==="apply"&&U.default.createElement(U.default.Fragment,null,U.default.createElement(S,{label:"\u56DE\u6536\u8303\u56F4",value:`${o.value.files} \u4E2A\u6587\u4EF6 \xB7 ${o.value.entries} \u4E2A\u6761\u76EE`}),U.default.createElement(S,{label:"\u6587\u4EF6\u603B\u91CF",value:`${(o.value.bytes/1024/1024).toFixed(2)} MiB`}),U.default.createElement("details",null,U.default.createElement("summary",null,"\u67E5\u770B\u5C06\u6E05\u7406\u7684\u8FD0\u884C\u65F6\u76EE\u5F55"),U.default.createElement("ul",null,o.value.removeRoots.map(g=>U.default.createElement("li",{className:"plan-item",key:g},U.default.createElement("code",null,g)))))),U.default.createElement("details",{open:!0},U.default.createElement("summary",null,"\u59CB\u7EC8\u4FDD\u7559"),U.default.createElement("ul",null,U.default.createElement("li",null,"\u539F\u751F\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4E34\u65F6\u6570\u636E\u4E0E\u4EFB\u52A1\u6210\u679C"),U.default.createElement("li",null,"\u539F\u5B89\u88C5\u6E90\u3001\u9000\u5F79\u63D2\u4EF6\u3001\u63A7\u5236\u8D26\u672C\u53CA\u5168\u90E8\u5386\u53F2\u5907\u4EFD"),U.default.createElement("li",null,"\u7528\u6237\u539F\u6709\u89C4\u5219\u3001\u65C1\u7F6E\u6587\u4EF6\u53CA\u975E\u672C\u6B21\u6E05\u5355\u5185\u5BB9"))),U.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(o.value.expiresAt).toLocaleString(),"\u3002\u5173\u95ED\u6216\u53D6\u6D88\u4E0D\u4FDD\u7559\u6279\u51C6\u3002"),!d.confirm&&U.default.createElement(x,{tone:"warn"},"\u8BA1\u5212\u3001\u505C\u673A\u89C2\u5BDF\u6216\u8BF7\u6C42\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),U.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4EC5\u56DE\u6536\u4E0A\u8FF0\u8FD0\u884C\u65F6\u6587\u4EF6\uFF0C\u5E76\u7406\u89E3\u5220\u9664\u4E0D\u53EF\u9006",sub:"\u4FDD\u7559\u7528\u6237\u6570\u636E\u4E0E\u5168\u90E8\u5386\u53F2\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u542F\u6216\u5F00\u653E\u4E1A\u52A1\u5199\u5165\u3002",checked:p,onChange:i,disabled:!d.confirm}),U.default.createElement("div",{className:"form-actions"},U.default.createElement(_,{kind:"primary",disabled:!d.confirm||!p,onClick:()=>{i(!1),n||m.act("confirm",{confirmed:!0,stopped:s>Date.now()})}},o.action==="apply"?"\u786E\u8BA4\u6C38\u4E45\u56DE\u6536\u8FD0\u884C\u65F6":"\u786E\u8BA4\u672C\u6B21\u6062\u590D"),U.default.createElement(_,{disabled:!!a.busy,onClick:()=>{i(!1),m.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function cr(e){let[t,s]=(0,U.useState)(!1);return U.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u72EC\u7ACB\u8FD0\u884C\u65F6\u7CBE\u786E\u56DE\u6536"},U.default.createElement("div",{className:"version-heading"},U.default.createElement("div",null,U.default.createElement("h3",null,"\u72EC\u7ACB\u8FD0\u884C\u65F6\u7CBE\u786E\u56DE\u6536"),U.default.createElement("p",null,"\u5B8C\u6210\u5378\u8F7D\u540E\u518D\u56DE\u6536\u7A0B\u5E8F\u6587\u4EF6\uFF0C\u6570\u636E\u4E0E\u5386\u53F2\u7559\u4E0B\u3002")),U.default.createElement(Ge,{pose:"tasks"})),U.default.createElement(_,{"aria-expanded":t,disabled:e.busy,onClick:()=>s(n=>!n)},t?"\u6536\u8D77\u8FD0\u884C\u65F6\u56DE\u6536":"\u5C55\u5F00\u8FD0\u884C\u65F6\u56DE\u6536"),t&&U.default.createElement(Ul,{...e}))}var pr={reclamation_needs_review:"\u8FD0\u884C\u65F6\u56DE\u6536\u5F85\u6838\u5BF9\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2",runtime_reclaimed:"\u8FD0\u884C\u65F6\u5DF2\u56DE\u6536\uFF0C\u6570\u636E\u4E0E\u5386\u53F2\u4FDD\u7559",plugin_uninstalled:"\u81EA\u6709\u80FD\u529B\u5DF2\u5378\u8F7D\uFF0C\u6570\u636E\u4FDD\u7559",uninstall_needs_review:"\u5378\u8F7D\u5F85\u6838\u5BF9\uFF0C\u7981\u6B62\u91CD\u542F",stop_outcome_unknown:"\u505C\u6B62\u7ED3\u679C\u5F85\u6838\u5BF9",cleanup_running:"\u6B63\u5728\u6309\u767B\u8BB0\u6E05\u5355\u6E05\u7406",cleanup_pending:"\u6E05\u7406\u5DF2\u4E2D\u65AD\uFF0C\u5F85\u786E\u8BA4\u7EE7\u7EED",not_started:"\u5C1A\u672A\u6267\u884C",preparing:"\u51C6\u5907\u6587\u4EF6\u4E2D",prepared:"\u5B89\u88C5\u6587\u4EF6\u5DF2\u51C6\u5907",needs_review:"\u9700\u6838\u5BF9\uFF0C\u672A\u81EA\u52A8\u91CD\u8BD5",rolling_back:"\u6B63\u5728\u56DE\u6EDA\uFF0F\u7ED3\u679C\u5F85\u6838\u5BF9",rolled_back:"\u5DF2\u56DE\u6EDA",retiring:"\u9694\u79BB\u5904\u7406\u4E2D",retired:"\u65E7\u8BF7\u6C42\u5DF2\u9694\u79BB\uFF0C\u4FDD\u7559\u73B0\u573A",launching:"\u542F\u52A8\u5B89\u88C5\u8FDB\u7A0B",installing:"\u5B89\u88C5\u56FA\u5B9A\u4F9D\u8D56",configuring:"\u4FDD\u62A4\u6027\u914D\u7F6E\u89C4\u5219\u4E0E Skill",starting_host:"\u6B63\u5728\u542F\u52A8\u72EC\u7ACB Host",restart_needs_review:"\u91CD\u65B0\u542F\u52A8\u5DF2\u4E2D\u65AD\uFF0C\u9700\u6838\u5BF9",restarting:"\u91CD\u65B0\u542F\u52A8\u539F\u751F Host",restart_outcome_unknown:"\u91CD\u65B0\u542F\u52A8\u7ED3\u679C\u5F85\u6838\u5BF9",host_ready:"\u539F\u751F Host \u5C31\u7EEA",host_stopped:"\u539F\u751F Host \u5DF2\u505C\u6B62",runtime_ready:"\u4F9D\u8D56\u5DF2\u5B89\u88C5",failed:"\u5931\u8D25\uFF0C\u4FDD\u7559\u73B0\u573A",stopped:"\u5B89\u88C5\u8FDB\u7A0B\u5DF2\u505C\u6B62",outcome_unknown:"\u53D1\u9001\u7ED3\u679C\u5F85\u6838\u5BF9",rollback_outcome_unknown:"\u56DE\u6EDA\u7ED3\u679C\u5F85\u6838\u5BF9"};function Yt(e){let t=e.source,s=t?.remote,n=e.binding,u=t?.state==="retired"&&typeof t.root=="string"&&s?.state==="retired"&&s.operationId===t.operationId&&s.root===t.root&&s.barrier==="regular-file-no-replace"&&s.originalRequestIsolated===!0&&s.originalProcessTerminated===!1,l=n?.configured===!0&&Number.isSafeInteger(n.revision)&&n.revision>0&&typeof n.installationId=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(n.installationId);return{fenced:u,replacement:!!(u&&l&&!t.root.endsWith("/host-"+n.installationId)),originalBinding:!!(u&&l&&t.root.endsWith("/host-"+n.installationId))}}var St=e=>["plugin_uninstalled","runtime_reclaimed","uninstall_needs_review","reclamation_needs_review"].includes(e?.state),mr=e=>e?.state==="not_started"||e?.inventoryCount===0&&(e.workerActive===!0||e.childActive===!0),Ir=e=>e?.contract===1&&e.nativeWorkMayResume===!0&&e.imMayReconnect===!0&&e.configurationPreserved===!0&&e.automaticTaskApproval===!1&&e.automaticRetry===!1&&e.requiresExplicitAcknowledgement===!0,Hl=e=>e?.contract===1&&e.lateNativeInputMayAbort===!0&&e.imInFlightMayAbort===!0&&e.ownQueuesRetained===!0&&e.ingressFrozen===!1&&e.automaticStop===!1&&e.requiresExplicitAcknowledgement===!0;function Zt(e,{preparation:t=!1,runtime:s=!1}={},n=Date.now()){let u=Yt(e),l=e.fresh&&!e.uncertain&&n-e.observedAt<6e4,a=!e.busy&&e.loaded,f=["not_started","rolled_back"].includes(e.source?.state)||u.replacement&&l,m=e.fresh&&e.source?.state==="prepared",p=m&&n-e.observedAt<6e4,i=e.runtime,c=i&&(i.workerActive||i.childActive||i.hostActive||i.restartLauncherActive||i.cleanupActive),o=i?.state==="stop_outcome_unknown"||i?.stop?.reconcileRequired===!0,r=i&&i.workerActive===!1&&i.childActive===!1&&i.hostActive===!1&&i.restartLauncherActive!==!0&&i.cleanupActive!==!0,d=a&&s&&e.runtimeRecorded&&!mr(i)&&!St(i)&&p&&!e.uncertain&&e.repairCapability?.supported,L=e.repairPending===!0,C={load:!e.busy,refresh:a,preview:a&&t&&f&&!e.uncertain,retire:a&&t&&l&&["needs_review","retiring"].includes(e.source?.state)&&e.source?.remote?.state==="absent",new_target:a&&t&&l&&u.originalBinding,stage:a&&t&&!e.uncertain&&(f||u.replacement&&e.fresh)&&e.plan?.canStage===!0&&e.plan.expiresAt>n,runtime_preview:a&&s&&p&&!e.runtimeRecorded&&i?.state==="not_started",runtime_start:a&&s&&m&&!e.uncertain&&!e.runtimeRecorded&&!!e.runtimePlan&&e.runtimePlan.expiresAt>n,runtime_restart_preview:a&&s&&!o&&p&&!e.uncertain&&r&&i.restartSupported&&i.restartConsentContract===1&&["host_stopped","failed","stopped"].includes(i.state),runtime_restart:a&&s&&!o&&m&&!e.uncertain&&r&&i.restartSupported&&i.restartConsentContract===1&&Ir(e.restartPlan?.resumePolicy)&&e.restartPlan?.expiresAt>n,runtime_reconcile_restart:a&&s&&!o&&p&&r&&i?.state==="restart_needs_review",runtime_stop_preview:a&&s&&!o&&i?.cleanupActive!==!0&&p&&e.runtimeRecorded&&i?.stopPlanSupported===!0&&!!c,runtime_stop:a&&s&&!o&&p&&!e.uncertain&&e.runtimeRecorded&&(i?.hostActive!==!0||i?.hostStopSupported===!0&&i.hostStopConsentContract===1&&e.stopPlan?.scope==="owned_host_with_loss_risk"&&Hl(e.stopPlan.risk))&&e.stopPlan?.canApply===!0&&e.stopPlan.expiresAt>n,runtime_stop_reconcile:a&&s&&p&&i?.stop?.reconcileRequired===!0&&i.stop.activeInstallerMembers===0&&i.stop.hostActive!==!0,runtime_rollback:a&&s&&p&&e.runtimeRecorded&&r&&i?.stop?.reconcileRequired!==!0&&["host_stopped","runtime_ready","failed","stopped","needs_review"].includes(i?.state),runtime_rollback_resume:a&&s&&!o&&p&&e.runtimeRecorded&&r&&i?.state==="cleanup_pending"&&i.cleanupSupported===!0&&typeof i.cleanupFingerprint=="string",runtime_reconcile_rollback:a&&s&&!o&&p&&e.runtimeRecorded&&i?.state==="rollback_outcome_unknown",runtime_repair_preview:d&&!L&&!o&&r,runtime_repair_apply:a&&s&&!St(i)&&m&&!e.uncertain&&!L&&!o&&r&&e.repairCapability?.supported&&e.repairPlan?.canApply===!0&&e.repairPlan.expiresAt>n,runtime_repair_recover:d&&!o&&r&&e.repairStatus?.repair?.recoveryRequired===!0&&e.repairStatus.repair.id===e.repairOriginalId,runtime_repair_verify:e.repairStatus?.repair?.activationSupported!==!1&&d&&!L&&!o&&e.repairCapability?.activationSupported&&i?.nativeHostReady===!0&&i.hostActive===!0&&e.repairStatus?.repair?.state==="committed",rollback:a&&p&&(!e.runtimeRecorded&&i?.state==="not_started"||i?.state==="rolled_back")};if(L)for(let h of["runtime_start","runtime_restart_preview","runtime_restart","runtime_reconcile_restart","runtime_stop_preview","runtime_stop","runtime_stop_reconcile","runtime_rollback","runtime_rollback_resume","runtime_reconcile_rollback","rollback"])C[h]=!1;return C}function Lr(e,t,s={},n=Date.now){let u={loaded:!1,busy:!1,fresh:!1,uncertain:!1,source:null,binding:null,runtime:null,runtimeRecorded:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,error:null,observedAt:null,optionalIm:!1,repairCapability:null,repairStatus:null,repairPending:!1,repairOriginalId:null},l=!0,a=i=>{u={...u,...i},l&&t(u)};async function f(i){if(i.state!=="prepared"||!s.runtime)return{runtime:null,runtimeRecorded:!1,repairCapability:null,repairStatus:null,repairPlan:null,repairPending:!1,repairOriginalId:null,repairFresh:!1};let c=await e("cloud_runtime",{action:"runtime_record",operationId:i.operationId});return{runtime:c.receipt??{state:c.recorded?"outcome_unknown":"not_started"},runtimeRecorded:c.recorded,repairCapability:c.pluginRepair??null,repairStatus:c.pluginRepair?.receipt??null,repairPending:c.pluginRepair?.pending===!0,repairOriginalId:c.pluginRepair?.id??null,repairFresh:!1}}let m=new Set(["runtime_repair_apply","runtime_repair_recover","stage","retire","new_target","runtime_start","runtime_stop","runtime_stop_reconcile","runtime_rollback","runtime_reconcile_rollback","runtime_restart","runtime_reconcile_restart","runtime_rollback_resume","rollback"]);async function p(i,c=!1){if(!l||u.busy)return!1;if(!Zt(u,s,n())[i])return a({error:"ACTION_REQUIRES_REFRESH"}),!1;if(m.has(i)&&c!==!0)return a({error:"CONFIRMATION_REQUIRED"}),!1;a({busy:!0,error:null});try{if(i==="load"){let o=await e("cloud_operation_status",{refresh:!1});a({source:o,binding:o.state==="retired"?await e("ssh_status",{}):null,...await f(o),loaded:!0,fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1})}else if(i==="refresh"){a({fresh:!1,binding:null,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let o=await e("cloud_operation_status",{refresh:!0});if(a({source:o,runtime:null,runtimeRecorded:!1}),o.state==="retired"&&a({binding:await e("ssh_status",{})}),o.state==="prepared"&&s.runtime){let r=await e("cloud_runtime",{action:"runtime_status",operationId:o.operationId}),d=await f(o);if(a({...d,runtime:r}),St(r)&&!(r.managedRestartBlocked===!0&&r.hostActive===!1&&r.childActive===!1&&r.workerActive===!1&&r.restartLauncherActive!==!0&&r.cleanupActive!==!0))throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");if(d.repairCapability?.supported&&!St(r)&&(!mr(r)||d.repairPending)){let L=await e("cloud_runtime",{action:"runtime_repair_status",operationId:o.operationId});a({repairStatus:L,repairPending:L.state==="repair_outcome_unknown"||L.repair?.recoveryRequired===!0,repairOriginalId:L.originalRepairId??L.repair?.id??d.repairOriginalId,repairFresh:!0})}}else o.state==="prepared"&&a({runtime:{state:"not_started"}});a({fresh:!0,uncertain:!1,observedAt:n()})}else if(i==="preview"){a({plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let o=await e("ssh_status",{});if(!o.configured)throw Error("ONBOARDING_SSH_NOT_BOUND");a({plan:await e("cloud_preview",{expectedRevision:o.revision}),uncertain:!1})}else if(i==="stage"){let o=u.plan;a({plan:null,fresh:!1,uncertain:!0});let r=await e("cloud_stage",{id:o.id,fingerprint:o.fingerprint,confirm:!0});a({source:r,runtime:null,runtimeRecorded:!1,uncertain:r.state!=="prepared"})}else if(i==="retire"){let o=u.source;a({fresh:!1,uncertain:!0,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let r=await e("cloud_retire",{operationId:o.operationId,expectedRevision:o.revision,confirm:!0});a({source:r,binding:null,uncertain:r.state!=="retired"})}else if(i==="new_target"){let o=u.source,r=u.binding;a({fresh:!1,uncertain:!0,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let d=await e("cloud_new_target",{operationId:o.operationId,expectedBindingRevision:r.revision,confirm:!0});a({binding:d,uncertain:!1})}else if(i==="rollback"){let o=u.source;a({fresh:!1,uncertain:!0});let r=await e("cloud_rollback",{operationId:o.operationId,expectedRevision:o.revision,confirm:!0});a({source:r,runtime:null,runtimeRecorded:!1,uncertain:r.state!=="rolled_back"})}else{let o={action:i,operationId:u.source.operationId};m.has(i)&&(o.confirm=!0),i==="runtime_repair_apply"&&(o.repairId=u.repairPlan.id,o.fingerprint=u.repairPlan.fingerprint),i==="runtime_repair_recover"&&(o.repairId=u.repairOriginalId),i==="runtime_repair_verify"&&(o.repairId=u.repairStatus.repair.id),i==="runtime_preview"&&u.optionalIm&&(o.im=!0),i==="runtime_start"&&(o.fingerprint=u.runtimePlan.fingerprint,u.runtimePlan.optionalIm&&(o.im=!0)),i==="runtime_restart"&&(o.fingerprint=u.restartPlan.fingerprint,o.acknowledgeNativeResume=!0),i==="runtime_stop"&&(o.stopPlan=u.stopPlan.stopPlan,o.stopPlan.schema===2&&(o.acknowledgeNativeInterruption=!0)),i==="runtime_stop_reconcile"&&(o.stopPlan=u.runtime.stop.stopPlan),i==="runtime_rollback_resume"&&(o.fingerprint=u.runtime.cleanupFingerprint),m.has(i)&&a({fresh:!1,uncertain:!0,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1}),["runtime_repair_apply","runtime_repair_recover"].includes(i)&&a({repairPending:!0,repairOriginalId:o.repairId});let r=await e("cloud_runtime",o);if(i==="runtime_repair_preview"){if(!Array.isArray(r.changes)||r.scope!=="stopped_owned_plugin_files_only")throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");a({repairPlan:r})}else if(["runtime_repair_apply","runtime_repair_recover","runtime_repair_verify"].includes(i)){let d=r.state==="repair_outcome_unknown"||r.repair?.recoveryRequired===!0;a({repairStatus:r,repairFresh:!0,repairPending:d,uncertain:d,repairOriginalId:r.originalRepairId??r.repair?.id??o.repairId})}else if(i==="runtime_preview"){if(u.optionalIm?r.optionalIm?.package!=="@xmanrui/dsh-im"||r.optionalIm?.version!=="5.0.3":r.optionalIm)throw Error("ONBOARDING_CLOUD_RUNTIME_OPTIONAL_IM_UNSUPPORTED");a({runtimePlan:{...r,expiresAt:n()+3e5}})}else if(i==="runtime_stop_preview")a({stopPlan:r});else if(i==="runtime_restart_preview"){if(!Ir(r.resumePolicy))throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");a({restartPlan:{...r,expiresAt:n()+3e5}})}else a({runtime:r,runtimeRecorded:!0,uncertain:!["rolled_back","host_stopped","stopped","launching","installing","host_ready"].includes(r.state)})}return!0}catch(o){return a({fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,uncertain:!0,error:/^ONBOARDING_[A-Z_]+$/.test(o.message)?o.message:"OBSERVATION_UNCONFIRMED"}),!1}finally{a({busy:!1})}}return{act:p,get:()=>u,selectIm:i=>typeof i!="boolean"||!s.optionalIm||u.busy||u.runtimeRecorded?!1:(a({optionalIm:i,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,error:null}),!0),invalidate:()=>a({fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1}),resume:()=>{l=!0},dispose:()=>{l=!1}}}var xt=e=>pr[e]??"\u5F85\u6838\u5BF9",Gl={ONBOARDING_CLOUD_RUNTIME_VERSION_IMAGE_DRIFT:"\u5F53\u524D\u63D2\u4EF6\u6587\u4EF6\u4E0E\u7B7E\u540D\u7248\u672C\u4E0D\u7B26\uFF0C\u64CD\u4F5C\u5DF2\u505C\u6B62\u5E76\u4FDD\u7559\u73B0\u573A\u3002\u8BF7\u6838\u5BF9\u5F53\u524D\u7248\u672C\uFF0C\u518D\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D\uFF1B\u4E0D\u8981\u91CD\u8BD5\u542F\u52A8\u6216\u91CD\u5EFA\u5F52\u5C5E\u3002",ONBOARDING_CLOUD_RUNTIME_VERSION_RECOVERY_REQUIRED:"\u539F\u7248\u672C\u5207\u6362\u5C1A\u672A\u5B8C\u6210\u3002\u8BF7\u67E5\u8BE2\u540C\u4E00\u7248\u672C\u4E8B\u52A1\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\uFF1B\u4E0D\u8981\u91CD\u65B0\u5B89\u88C5\u3001\u4FEE\u590D\u6216\u542F\u52A8\u3002",ONBOARDING_CLOUD_RUNTIME_REPAIR_ACTIVATION_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u6B64\u8DEF\u5F84\u7684\u72EC\u7ACB\u52A0\u8F7D\u6838\u9A8C\u3002\u517C\u5BB9\u6587\u4EF6\u53EF\u4EE5\u5347\u7EA7\uFF0C\u4F46\u65E7\u63A7\u5236\u5668\u4E0D\u4F1A\u81EA\u52A8\u83B7\u5F97\u65B0\u6743\u9650\uFF1B\u4FDD\u7559\u6587\u4EF6\u56DE\u6267\uFF0C\u4E0D\u66FF\u6362\u539F\u5F52\u6863\u3002",ONBOARDING_CLOUD_RUNTIME_VERSION_HISTORY_PRESERVED:"\u5B58\u5728\u7248\u672C\u6216\u4FEE\u590D\u5386\u53F2\uFF0C\u666E\u901A\u5B89\u88C5\u56DE\u6EDA\u4E0D\u80FD\u6E05\u7406\u6B64\u5B9E\u4F8B\u3002\u8BF7\u4FDD\u7559\u5907\u4EFD\u3001\u89C4\u5219\u548C\u4EFB\u52A1\u6570\u636E\uFF1B\u53EF\u53E6\u884C\u9884\u89C8\u81EA\u6709\u80FD\u529B\u5378\u8F7D\uFF0C\u4F46\u4E0D\u4F1A\u56DE\u6536\u6574\u4E2A Host\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_RESTART_REQUIRED:"\u9700\u8981\u672C\u6B21\u4FEE\u590D\u4E4B\u540E\u72EC\u7ACB\u786E\u8BA4\u7684\u65B0\u542F\u52A8\u56DE\u6267\uFF0C\u4E0D\u80FD\u4F7F\u7528\u4FEE\u590D\u524D\u7684\u65E7\u8FDB\u7A0B\u8BB0\u5F55\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_OWNERSHIP_REVIEW:"\u4FEE\u590D\u6587\u4EF6\u7684\u5F52\u5C5E\u6216\u5185\u5BB9\u5DF2\u53D8\u5316\uFF0C\u751F\u6548\u6838\u9A8C\u505C\u6B62\uFF1B\u4E0D\u4F1A\u63A5\u7BA1\u6216\u8986\u76D6\u53D8\u5316\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_INSTALLATION_REVIEW:"\u539F\u751F Host \u7684\u5168\u5C40\u89C4\u5219\uFF0FSkill \u5B89\u88C5\u72B6\u6001\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u6587\u4EF6\u4FEE\u590D\u8BB0\u5F55\u4ECD\u4FDD\u7559\u3002",ONBOARDING_CLOUD_RUNTIME_REPAIR_RECOVERY_REQUIRED:"\u539F\u4FEE\u590D\u4E8B\u52A1\u5C1A\u9700\u6838\u5BF9\u3002\u5148\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\uFF0C\u4E0D\u91CD\u53D1\u5E94\u7528\u6216\u542F\u52A8\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONSENT_REQUIRED:"\u91CD\u65B0\u542F\u52A8\u53EF\u80FD\u6062\u590D\u539F\u751F\u5DE5\u4F5C\u6216 IM \u8FDE\u63A5\uFF0C\u8BF7\u6838\u5BF9\u65B0\u8BA1\u5212\u5E76\u660E\u786E\u786E\u8BA4\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONSENT_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u91CD\u542F\u5F71\u54CD\u786E\u8BA4\u5951\u7EA6\uFF0C\u672C\u5165\u53E3\u4E0D\u518D\u53D1\u8D77\u65B0\u91CD\u542F\uFF1B\u5386\u53F2\u8BB0\u5F55\u4ECD\u4FDD\u7559\u67E5\u8BE2\uFF0C\u4E0D\u6362\u63A7\u5236\u5668\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_RUNTIME_HOST_DRAIN_REQUIRED:"\u539F\u751F Host \u6B63\u5728\u8FD0\u884C\uFF0C\u6574\u673A\u6392\u7A7A\u672A\u901A\u8FC7\uFF1B\u6B64\u5165\u53E3\u4E0D\u4F1A\u505C\u6B62\u5B83\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_RECONCILE_REQUIRED:"\u539F\u505C\u6B62\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u53D1\u505C\u6B62\u6216\u53E6\u5EFA\u542F\u52A8\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_PLAN_EXPIRED:"\u505C\u6B62\u8BA1\u5212\u5DF2\u8FC7\u671F\u3002\u672C\u6B21\u672A\u53D1\u9001\u4FE1\u53F7\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_NOT_READY:"\u5F53\u524D\u6CA1\u6709\u7B26\u5408\u672C\u6B21\u8BA1\u5212\u7684\u5B89\u88C5\u8FDB\u7A0B\uFF1B\u672A\u53D1\u9001\u505C\u6B62\u4FE1\u53F7\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_PLAN_DRIFT:"\u5B89\u88C5\u8FDB\u7A0B\u6216\u4E8B\u52A1\u5DF2\u53D8\u5316\uFF0C\u8BF7\u4FDD\u7559\u539F\u8BB0\u5F55\u5E76\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u6CBF\u7528\u65E7\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u505C\u6B62\u8BA1\u5212\u5951\u7EA6\uFF0C\u4E0D\u80FD\u7528\u65B0\u63A7\u5236\u5668\u63A5\u7BA1\u65E7\u4E8B\u52A1\u3002",ONBOARDING_TRANSPORT_HEADERS_TOO_LARGE:"\u672C\u7AEF\u8BF7\u6C42\u5934\u8FC7\u5927\uFF0C\u4E91\u7AEF\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u4E0D\u8981\u6E05\u7406\u65E5\u5E38\u767B\u5F55\u4FE1\u606F\uFF1B\u4F7F\u7528\u72EC\u7ACB\u6D4B\u8BD5\u5165\u53E3\uFF0C\u5E76\u5148\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_TRANSPORT_AUTH_REQUIRED:"\u672C\u7AEF\u8FDE\u63A5\u9274\u6743\u672A\u901A\u8FC7\uFF0C\u8BF7\u4ECE\u5F53\u524D Host \u7684\u6709\u6548\u5165\u53E3\u91CD\u65B0\u767B\u5F55\uFF1B\u4E0D\u91CD\u53D1\u5B89\u88C5\u6216\u4EFB\u52A1\u3002",ONBOARDING_TRANSPORT_UNAVAILABLE:"\u672C\u7AEF HTTP \u627F\u8F7D\u6682\u4E0D\u53EF\u7528\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u65AD\u4E91\u7AEF\u505C\u6B62\uFF1B\u8BF7\u5148\u6838\u5BF9\u539F\u4E8B\u52A1\u3002",ONBOARDING_TRANSPORT_INTERRUPTED:"\u672C\u7AEF\u8BF7\u6C42\u8FDE\u63A5\u5DF2\u4E2D\u65AD\uFF0C\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\uFF0C\u6062\u590D\u8FDE\u63A5\u540E\u5148\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_TRANSPORT_RESPONSE_INVALID:"\u672C\u7AEF\u54CD\u5E94\u5951\u7EA6\u672A\u901A\u8FC7\u6838\u9A8C\uFF1B\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_TRANSPORT_HTTP_REJECTED:"\u672C\u7AEF HTTP \u8BF7\u6C42\u88AB\u62D2\u7EDD\uFF1B\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u8FDE\u63A5\u548C\u56DE\u6267\u3002",ONBOARDING_CLOUD_RETIREMENT_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u9694\u79BB\u5951\u7EA6\uFF0C\u5DF2\u505C\u6B62\uFF1B\u4E0D\u4F1A\u6539\u5199\u65E7\u5F52\u6863\u6216\u6362\u63A7\u5236\u5668\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_FENCE_SOURCE_PRESENT:"\u65E7\u76EE\u5F55\u5DF2\u51FA\u73B0\uFF0C\u4E0D\u80FD\u521B\u5EFA\u9694\u79BB\u5C4F\u969C\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u539F\u4E8B\u52A1\uFF1B\u4E0D\u8986\u76D6\u3001\u4E0D\u5220\u9664\u5DF2\u6709\u5185\u5BB9\u3002",ONBOARDING_CLOUD_RETIREMENT_UNKNOWN:"\u9694\u79BB\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u590D\u5B89\u88C5\u3001\u4E0D\u53E6\u5EFA\u76EE\u6807\u3002",ONBOARDING_CLOUD_REPLACEMENT_REQUIRED:"\u65E7\u8BF7\u6C42\u9694\u79BB\u6216\u76EE\u6807\u7ED1\u5B9A\u4ECD\u5F85\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u91CD\u65B0\u786E\u8BA4\uFF1B\u4E0D\u4F1A\u590D\u7528\u65E7\u76EE\u5F55\u3002",ONBOARDING_SSH_BINDING_CONFLICT:"SSH \u7ED1\u5B9A\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u786E\u8BA4\u4E0D\u518D\u9002\u7528\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u6838\u5BF9\u76EE\u6807\u540E\u91CD\u65B0\u786E\u8BA4\u3002",ONBOARDING_CLOUD_RUNTIME_OPTIONAL_IM_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u53EF\u9009 IM \u4F9D\u8D56\uFF1B\u672A\u6539\u65E7\u5B9E\u4F8B\uFF0C\u4E5F\u4E0D\u4F1A\u628A\u672C\u7AEF\u6E05\u5355\u5F53\u4F5C\u4E91\u7AEF\u914D\u7F6E\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_UNSUPPORTED:"\u65E7\u5F52\u6863\u6CA1\u6709\u65AD\u70B9\u6E05\u7406\u5951\u7EA6\uFF0C\u4E0D\u7528\u65B0\u63A7\u5236\u7A0B\u5E8F\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_PLAN_DRIFT:"\u6E05\u7406\u8FDB\u5EA6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u786E\u8BA4\u672C\u6B21\u65AD\u70B9\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_REVIEW:"\u6E05\u7406\u8D26\u672C\u4E0D\u5B8C\u6574\u6216\u5F52\u5C5E\u4E0D\u5339\u914D\uFF0C\u5DF2\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u80FD\u81EA\u52A8\u91CD\u5EFA\u6E05\u5355\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_DRIFT:"\u5269\u4F59\u6587\u4EF6\u53D1\u751F\u53D8\u5316\u6216\u51FA\u73B0\u672A\u77E5\u5185\u5BB9\uFF0C\u5DF2\u505C\u6B62\u5E76\u4FDD\u7559\uFF0C\u4E0D\u4F1A\u6269\u5927\u5220\u9664\u8303\u56F4\u3002",ONBOARDING_CLOUD_RUNTIME_CONTROL_BUSY:"\u539F\u63A7\u5236\u8FDB\u7A0B\u4ECD\u6301\u6709\u72EC\u5360\u9501\uFF1B\u8BF7\u7B49\u5F85\u5E76\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u542F\u52A8\u7B2C\u4E8C\u4E2A\u6E05\u7406\u8FDB\u7A0B\u3002",ONBOARDING_CLOUD_RUNTIME_LOCK_UNAVAILABLE:"\u4E91\u7AEF\u7F3A\u5C11\u53EF\u6838\u9A8C\u7684\u7CFB\u7EDF flock\uFF0C\u672A\u5F00\u59CB\u5199\u5165\u6216\u6E05\u7406\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_UNSUPPORTED:"\u8BE5\u5F52\u6863\u7248\u672C\u6CA1\u6709\u91CD\u65B0\u542F\u52A8\u5951\u7EA6\uFF0C\u4E0D\u80FD\u7528\u65B0\u63A7\u5236\u7A0B\u5E8F\u63A5\u7BA1\u65E7\u4E8B\u52A1\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_IMMUTABLE_DRIFT:"\u5DF2\u5B89\u88C5\u7684\u7A0B\u5E8F\u6587\u4EF6\u53D1\u751F\u53D8\u5316\uFF0C\u505C\u6B62\u91CD\u65B0\u542F\u52A8\u5E76\u4FDD\u7559\u73B0\u573A\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u4FEE\u590D\u6216\u91CD\u88C5\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONTROL_REVIEW:"\u542F\u52A8\u63A7\u5236\u76EE\u5F55\u7684\u5F52\u5C5E\u6216\u6E05\u5355\u4E0D\u543B\u5408\uFF0C\u5DF2\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u91C7\u7528\u6216\u5220\u9664\u672A\u77E5\u6587\u4EF6\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_REVIEW:"\u672C\u6B21\u542F\u52A8\u5C1A\u9700\u6838\u5BF9\uFF0C\u4E0D\u80FD\u66F4\u6362\u8BA1\u5212\u7ED5\u8FC7\u672A\u77E5\u8BF7\u6C42\u3002",ACTION_REQUIRES_REFRESH:"\u5F53\u524D\u89C2\u5BDF\u6216\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u540E\u91CD\u65B0\u9884\u89C8\uFF1B\u672C\u6B21\u6CA1\u6709\u53D1\u9001\u6267\u884C\u8BF7\u6C42\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u56DE\u5230\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58 SSH \u8FDE\u63A5\u3002",ONBOARDING_CLOUD_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_BASELINE_DRIFT:"\u8FDC\u7AEF\u76EE\u5F55\u6216\u57FA\u7EBF\u5DF2\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u3002",ONBOARDING_CLOUD_SOURCE_CHANGED:"\u672C\u7AEF\u5019\u9009\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u5B89\u88C5\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_PROCESS_ACTIVE:"\u8FDB\u7A0B\u4ECD\u5728\u8FD0\u884C\uFF0C\u7981\u6B62\u4FEE\u590D\u6216\u5220\u9664\u3002\u8BF7\u5148\u9884\u89C8\u505C\u6B62\u8BA1\u5212\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u540E\u505C\u6B62\uFF0C\u5E76\u5355\u72EC\u6838\u5BF9\u9000\u51FA\u3002",ONBOARDING_CLOUD_RUNTIME_REMOVAL_REQUIRED:"\u8BF7\u5148\u56DE\u6EDA\u72EC\u7ACB\u8FD0\u884C\u65F6\uFF0C\u518D\u6E05\u7406\u5B89\u88C5\u6587\u4EF6\u3002",ONBOARDING_CLOUD_RUNTIME_RECOVERY_REQUIRED:"\u5DF2\u6709\u5B89\u88C5\u8BB0\u5F55\uFF0C\u4E0D\u4F1A\u91CD\u65B0\u542F\u52A8\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u3002",ONBOARDING_CLOUD_RUNTIME_DISABLED:"\u5F53\u524D Host \u5C1A\u672A\u5F00\u653E\u72EC\u7ACB\u5B89\u88C5\u80FD\u529B\u3002"};function ql({allowed:e=!0,riskStop:t=!1,id:s,action:n,title:u,detail:l,children:a,flow:f,busy:m,pending:p,setPending:i,checked:c,setChecked:o}){let r=p===n;return(0,k.useEffect)(()=>{e||o(!1)},[e,o]),k.default.createElement("div",{className:"cloud-action"},k.default.createElement(_,{"data-cloud-action":s??n,kind:n==="stage"||n==="runtime_start"?"primary":"soft",disabled:m||!e,onClick:()=>{i(n),o(!1)}},u),r&&k.default.createElement("div",{className:"cloud-confirm",role:"region","aria-label":u+"\u786E\u8BA4"},k.default.createElement("p",null,l),a,!m&&!e&&k.default.createElement(x,{tone:"warn"},k.default.createElement("span",{role:"alert"},"\u6B64\u786E\u8BA4\u5DF2\u4E0D\u53EF\u6267\u884C\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\u3001\u6838\u5BF9\u539F\u4E8B\u52A1\uFF1B\u6CA1\u6709\u5F85\u6838\u5BF9\u8BF7\u6C42\u65F6\u518D\u91CD\u65B0\u9884\u89C8\u3002\u539F\u786E\u8BA4\u4E0D\u4F1A\u81EA\u52A8\u7EED\u7528\u3002")),k.default.createElement(R,{checked:c,disabled:m||!e,onChange:o,title:t?"\u6211\u7406\u89E3\u539F\u751F\u65B0\u8F93\u5165\u4E0E\u5728\u9014 IM \u53EF\u80FD\u4E2D\u6B62\uFF0C\u4ECD\u786E\u8BA4\u505C\u6B62\u6B64 Host":n==="runtime_restart"?"\u6211\u786E\u8BA4\u91CD\u542F\uFF0C\u5E76\u7406\u89E3\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u6062\u590D":"\u6211\u5DF2\u6838\u5BF9\u672C\u6B21\u64CD\u4F5C\u8303\u56F4",sub:t?"\u4E0D\u627F\u8BFA\u65E0\u635F\u6392\u7A7A\uFF1B\u81EA\u6709\u961F\u5217\u4FDD\u7559\uFF0C\u6062\u590D\u542F\u52A8\u987B\u53E6\u884C\u786E\u8BA4\u3002":n==="runtime_restart"?"\u4E0D\u662F\u65E0\u6A21\u578B\u542F\u52A8\u4FDD\u8BC1\uFF1B\u4E0D\u91CD\u65B0\u6279\u51C6\u4EFB\u52A1\u3001\u91CD\u653E\u5931\u8D25\u6D88\u606F\u6216\u653E\u5BBD\u5199\u5165\u95E8\u7981\u3002":"\u4EC5\u9650\u4E0A\u65B9\u4E13\u7528\u76EE\u5F55\uFF1B\u4E0D\u64CD\u4F5C\u65E5\u5E38\u73AF\u5883\uFF0C\u4E0D\u8C03\u7528\u6A21\u578B\u6216\u542F\u7528\u4E1A\u52A1\u5199\u5165\u3002"}),k.default.createElement("div",{className:"form-actions"},k.default.createElement(_,{disabled:m||!e||!c,kind:"primary",onClick:async()=>{let d=await f.act(n,!0);o(!1),d&&i(null)}},"\u786E\u8BA4",u),k.default.createElement(_,{kind:"secondary",disabled:m,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))))}function Jt({request:e,preparation:t=!1,runtime:s=!1,execution:n=!1,optionalIm:u=!1}){let[l,a]=(0,k.useState)({}),[f]=(0,k.useState)(()=>Lr(e,a,{preparation:t,runtime:s,optionalIm:u})),[m,p]=(0,k.useState)(null),[i,c]=(0,k.useState)(!1);(0,k.useEffect)(()=>(f.resume(),f.act("load"),()=>f.dispose()),[f]);let o=Zt(l,{preparation:t,runtime:s}),r=Yt(l),d=l.runtime,L=l.plan,C=(v,N,T,w)=>(o[v]||m===v)&&k.default.createElement(ql,{key:v,allowed:!!o[v],riskStop:v==="runtime_stop"&&l.stopPlan?.scope==="owned_host_with_loss_risk",action:v,title:N,detail:T,flow:f,busy:l.busy,pending:m,setPending:p,checked:i,setChecked:c},w),h=()=>(p(null),c(!1),f.act("refresh")),g=v=>k.default.createElement(k.default.Fragment,null,k.default.createElement(S,{label:"\u5B98\u65B9 DSH",value:v.hostVersion}),k.default.createElement(S,{label:"\u5B9E\u9645 Node \u7248\u672C",value:v.snapshot?.node?.version??v.node?.version??"\u5C1A\u672A\u6838\u5BF9"}),k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,"\u5B9E\u9645 Node \u8DEF\u5F84"),k.default.createElement("code",null,v.snapshot?.node?.path??v.node?.path??"\u5C1A\u672A\u6838\u5BF9")),k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,"\u4E13\u7528\u5B89\u88C5\u76EE\u5F55"),k.default.createElement("code",null,v.snapshot?.root??v.root??"\u9884\u68C0\u540E\u786E\u5B9A")));return k.default.createElement("div",{className:"page-columns cloud-installation"},k.default.createElement("div",{className:"stack"},t&&k.default.createElement(jo,{request:e,onMutation:()=>{p(null),c(!1),f.invalidate()}}),k.default.createElement(V,{title:n?"\u4E91\u7AEF\u914D\u7F6E\u4E0E\u6062\u590D":"\u4E91\u7AEF\u72EC\u7ACB\u5B89\u88C5\u8BA1\u5212",icon:"cloud",sub:"\u5173\u95ED\u9875\u9762\u4E0D\u4F1A\u53D6\u6D88\u5DF2\u786E\u8BA4\u7684\u5B89\u88C5\uFF1B\u91CD\u65B0\u8FDB\u5165\u53EA\u8BFB\u53D6\u672C\u5730\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u7EED\u8DD1\u3002",extra:k.default.createElement(ve,null,"\u624B\u52A8\u5237\u65B0")},k.default.createElement("div",{className:"cloud-status","aria-live":"polite"},k.default.createElement(S,{label:"\u5B89\u88C5\u6587\u4EF6",value:xt(l.source?.state)}),k.default.createElement(S,{label:"\u72EC\u7ACB\u8FD0\u884C\u65F6",value:d?xt(d.state):"\u5C1A\u672A\u6838\u5BF9"}),k.default.createElement("p",{className:"fine-print"},l.fresh?"\u6700\u8FD1\u4E00\u6B21\u8FDC\u7AEF\u89C2\u5BDF\uFF1A"+new Date(l.observedAt).toLocaleString()+"\uFF08\u72B6\u6001\u89C2\u5BDF 60 \u79D2\u5185\u6709\u6548\uFF0C\u670D\u52A1\u7AEF\u6267\u884C\u524D\u4ECD\u91CD\u65B0\u6838\u5BF9\uFF09":"\u5386\u53F2\u56DE\u6267\uFF0F\u672A\u6838\u9A8C\u5B9E\u65F6\u72B6\u6001\u3002\u6267\u884C\u540E\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u8F6E\u8BE2\u3001\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")),l.source?.root&&k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,r.fenced?"\u4FDD\u7559\u7684\u65E7\u4E8B\u52A1\u76EE\u5F55\u5C4F\u969C":"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),k.default.createElement("code",null,l.source.root)),k.default.createElement("div",{className:"form-actions"},k.default.createElement(_,{icon:"reset",disabled:!o.refresh,onClick:h},"\u624B\u52A8\u5237\u65B0\u4E91\u7AEF\u72B6\u6001"),!l.loaded&&k.default.createElement(_,{disabled:l.busy,onClick:()=>f.act("load")},"\u91CD\u8BFB\u672C\u5730\u8D26\u672C")),l.busy&&k.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u672C\u6B21\u8BF7\u6C42\uFF1B\u5B89\u88C5\u8FDB\u7A0B\u72EC\u7ACB\u8FD0\u884C\uFF0C\u4E0D\u5360\u7528\u4E3B\u4F1A\u8BDD\u3002"),l.error&&k.default.createElement(x,{tone:"warn"},k.default.createElement("span",{role:"alert"},Gl[l.error]??"\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\u3002\u4E0D\u8981\u56E0\u62A5\u9519\u91CD\u590D\u5B89\u88C5\u6216\u5220\u9664\uFF0C\u4E5F\u4E0D\u8981\u63A8\u65AD\u6CA1\u6709\u53D1\u751F\u5199\u5165\u3002"),k.default.createElement("code",null,l.error)),l.source?.error&&k.default.createElement(x,{tone:"warn"},"\u5B89\u88C5\u6587\u4EF6\u9700\u8981\u6838\u5BF9\uFF1A",k.default.createElement("code",null,l.source.error)),d?.error&&k.default.createElement(x,{tone:"warn"},"\u8FD0\u884C\u65F6\u9700\u8981\u6838\u5BF9\uFF1A",k.default.createElement("code",null,d.error)),["needs_review","retiring","retired"].includes(l.source?.state)&&k.default.createElement("section",{className:"cloud-plan","aria-label":"\u5B89\u88C5\u8BF7\u6C42\u6062\u590D"},k.default.createElement("h3",null,"\u4FDD\u7559\u73B0\u573A\uFF0C\u5206\u6B65\u6062\u590D"),k.default.createElement("p",null,r.fenced?"\u539F\u8BF7\u6C42\u5DF2\u7531\u76EE\u5F55\u5C4F\u969C\u9694\u79BB\u3002\u5C4F\u969C\u548C\u539F\u59CB\u5B89\u88C5\u6863\u6848\u7EE7\u7EED\u4FDD\u7559\uFF1B\u8FD9\u4E0D\u8868\u793A\u539F\u8FDB\u7A0B\u5DF2\u88AB\u7EC8\u6B62\u3002":"\u8BF7\u6C42\u5931\u8D25\u4E0D\u4EE3\u8868\u6CA1\u6709\u6267\u884C\uFF1B\u8FDC\u7AEF\u76EE\u5F55\u6682\u672A\u51FA\u73B0\uFF0C\u4E5F\u4E0D\u80FD\u76F4\u63A5\u91CD\u65B0\u5B89\u88C5\u3002\u5148\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u518D\u6838\u5BF9\u53EF\u7528\u64CD\u4F5C\u3002"),l.source?.remote?.state==="absent"&&k.default.createElement("p",null,"\u5F53\u524D\u89C2\u5BDF\u672A\u53D1\u73B0\u65E7\u5B89\u88C5\u76EE\u5F55\u3002\u9694\u79BB\u64CD\u4F5C\u4F1A\u5728\u65E7\u8DEF\u5F84\u521B\u5EFA\u4E0D\u53EF\u66FF\u6362\u7684\u6587\u4EF6\u5C4F\u969C\uFF0C\u963B\u6B62\u8FDF\u5230\u7684\u539F\u8BF7\u6C42\u521B\u5EFA\u76EE\u5F55\uFF1B\u4E0D\u4F1A\u8986\u76D6\u5DF2\u6709\u6587\u4EF6\u6216\u7EC8\u6B62\u672A\u77E5\u8FDB\u7A0B\u3002"),C("retire","\u9694\u79BB\u65E7\u5B89\u88C5\u8BF7\u6C42","\u4EC5\u4E3A\u4E0A\u65B9\u539F\u4E8B\u52A1\u521B\u5EFA\u76EE\u5F55\u5C4F\u969C\uFF1B\u4E0D\u5220\u9664\u5185\u5BB9\uFF0C\u4E0D\u91CD\u53D1\u5B89\u88C5\uFF0C\u4E0D\u81EA\u52A8\u521B\u5EFA\u65B0\u76EE\u6807\u3002\u82E5\u539F\u76EE\u5F55\u5DF2\u51FA\u73B0\u5219\u505C\u6B62\u5E76\u4FDD\u7559\u3002"),C("new_target","\u5206\u914D\u65B0\u7684\u72EC\u7ACB\u76EE\u6807","\u53EA\u66F4\u65B0\u672C\u6B21 SSH \u7ED1\u5B9A\u7684\u5B89\u88C5\u6807\u8BC6\uFF1B\u4FDD\u7559\u65E7\u8DEF\u5F84\u5C4F\u969C\u4E0E\u5386\u53F2\u6863\u6848\u3002\u4E0D\u5728\u8FDC\u7AEF\u5B89\u88C5\u6216\u542F\u52A8\uFF1B\u4E4B\u540E\u4ECD\u987B\u91CD\u65B0\u9884\u89C8\u8BA1\u5212\u5E76\u786E\u8BA4\u3002"),r.replacement&&k.default.createElement(x,null,"\u65B0\u7684\u72EC\u7ACB\u76EE\u6807\u5DF2\u5206\u914D\u3002\u624B\u52A8\u5237\u65B0\u540E\uFF0C\u5728\u7B2C 5 \u9875\u91CD\u65B0\u751F\u6210\u5B89\u88C5\u8BA1\u5212\uFF0C\u6838\u5BF9\u65B0\u76EE\u5F55\u518D\u786E\u8BA4\u3002\u65E7\u4E8B\u52A1\u548C\u5C4F\u969C\u4E0D\u4F1A\u88AB\u590D\u7528\u6216\u5220\u9664\u3002"),!l.fresh&&k.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u4EC5\u4E3A\u5386\u53F2\u56DE\u6267\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EE7\u7EED\u6062\u590D\u3002")),!n&&k.default.createElement(k.default.Fragment,null,k.default.createElement("div",{className:"form-actions cloud-plan-preview",role:"group","aria-label":"\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212\u9884\u89C8"},k.default.createElement(_,{icon:"file",disabled:!o.preview,onClick:()=>{p(null),c(!1),f.act("preview")}},"\u751F\u6210\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212")),L&&k.default.createElement("div",{className:"cloud-plan"},g(L),k.default.createElement(S,{label:"\u81EA\u6709\u63D2\u4EF6 / \u6587\u4EF6\u6570",value:`${L.pluginVersion} / ${L.sourceFiles}`}),k.default.createElement("ol",null,L.steps.map(v=>k.default.createElement("li",{key:v},v))),k.default.createElement(x,null,L.conflicts.length?"\u5F85\u6838\u5BF9\uFF1A"+L.conflicts.join("\u3001"):"\u5F53\u524D\u9884\u68C0\u672A\u53D1\u73B0\u963B\u788D\u3002"," \u672C\u6B21\u786E\u8BA4\u53EA\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF1B\u5B98\u65B9\u4F9D\u8D56\u5B89\u88C5\u548C Host \u542F\u52A8\u5728\u7B2C 6 \u9875\u53E6\u884C\u786E\u8BA4\u3002"),k.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u671F\u81F3 ",new Date(L.expiresAt).toLocaleString(),"\u3002\u6267\u884C\u524D\u518D\u6B21\u6821\u9A8C\u5F52\u5C5E\u3001\u6587\u4EF6\u4E0E\u57FA\u7EBF\u3002"),C("stage","\u51C6\u5907\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6","\u5C06\u5411\u4E0A\u65B9\u65B0\u5EFA\u4E13\u7528\u76EE\u5F55\u5199\u5165\u5DF2\u9884\u89C8\u7684\u81EA\u6709\u5B89\u88C5\u6587\u4EF6\uFF0C\u4E0D\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u542F\u52A8 Host\u3002"))),n&&k.default.createElement(k.default.Fragment,null,l.source?.state!=="prepared"&&k.default.createElement(x,null,"\u8BF7\u5148\u5728\u7B2C 5 \u9875\u751F\u6210\u8BA1\u5212\u3001\u786E\u8BA4\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF1B\u5DF2\u6709\u672A\u5B8C\u6210\u4E8B\u52A1\u5219\u5148\u6838\u5BF9\uFF0C\u4E0D\u65B0\u5EFA\u91CD\u590D\u4EFB\u52A1\u3002"),u&&!l.runtimeRecorded&&k.default.createElement("div",{className:"connection-confirm"},k.default.createElement(R,{title:"\u4E3A\u4E91\u7AEF\u5B89\u88C5\u53EF\u9009 IM \u63D2\u4EF6",checked:l.optionalIm===!0,disabled:l.busy,onChange:v=>{p(null),c(!1),f.selectIm(v)},sub:"\u5B98\u65B9 @xmanrui/dsh-im 5.0.3 \xB7 \u7A7A\u914D\u7F6E\u52A0\u8F7D\uFF1B\u4E0D\u4F1A\u590D\u5236\u672C\u7AEF\u51ED\u636E\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\u3002"}),k.default.createElement("p",null,"\u4E0D\u9009\u5219\u4EC5\u5B89\u88C5\u57FA\u7840 Host\uFF1B\u52FE\u9009\u540E\u91CD\u65B0\u9884\u89C8\uFF0C\u6700\u7EC8\u5B89\u88C5\u4ECD\u9700\u4E0B\u65B9\u786E\u8BA4\u3002")),k.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E91\u7AEF\u542F\u52A8\u8BA1\u5212\u64CD\u4F5C"},k.default.createElement(_,{disabled:!o.runtime_preview,onClick:()=>{p(null),c(!1),f.act("runtime_preview")}},"\u9884\u89C8\u4F9D\u8D56\u4E0E Host \u542F\u52A8\u8BA1\u5212"),o.runtime_restart_preview&&k.default.createElement(_,{onClick:()=>{p(null),c(!1),f.act("runtime_restart_preview")}},"\u9884\u89C8\u91CD\u65B0\u542F\u52A8\u8BA1\u5212")),l.runtimePlan&&k.default.createElement("div",{className:"cloud-plan"},g(l.runtimePlan),k.default.createElement(S,{label:"\u5B98\u65B9\u4F9D\u8D56\u6E90",value:l.runtimePlan.registry}),k.default.createElement(S,{label:"\u53EF\u9009 IM",value:l.runtimePlan.optionalIm?"@xmanrui/dsh-im 5.0.3 \xB7 \u7A7A\u914D\u7F6E\u52A0\u8F7D":"\u8DF3\u8FC7 \xB7 \u4E0D\u4E0B\u8F7D\u3001\u4E0D\u52A0\u8F7D"}),k.default.createElement(S,{label:"\u76D1\u542C\u8303\u56F4",value:"127.0.0.1 \xB7 \u81EA\u52A8\u5206\u914D\u7AEF\u53E3\uFF0C\u4E0D\u5F00\u653E\u516C\u7F51"}),k.default.createElement(x,null,"\u5B89\u88C5\u56FA\u5B9A\u7248\u672C\u5B98\u65B9\u4F9D\u8D56\uFF0C\u521B\u5EFA\u9694\u79BB profile\u3001\u5168\u5C40 AGENTS.md \u548C Skill\uFF1B\u901A\u8FC7\u81EA\u6709\u8986\u76D6\u5C42\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u4E0D\u8986\u76D6\u5B98\u65B9\u9ED8\u8BA4\u914D\u7F6E\u3002\u4EC5\u542F\u52A8\u65E0\u6A21\u578B\u3001\u65E0\u4E1A\u52A1 worker \u7684\u539F\u751F Host\u3002",l.runtimePlan.optionalIm?" \u672C\u6B21\u53E6\u5B89\u88C5\u5B98\u65B9 IM 5.0.3 \u5E76\u4EE5\u7A7A\u914D\u7F6E\u52A0\u8F7D\uFF0C\u4E0D\u7ED1\u5B9A\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\u3002":" \u672C\u6B21\u4E0D\u5B89\u88C5\u53EF\u9009 IM\u3002"),k.default.createElement("p",{className:"fine-print"},"\u672C\u542F\u52A8\u8BA1\u5212\u6709\u6548\u671F\u81F3 ",new Date(l.runtimePlan.expiresAt).toLocaleString(),"\uFF1B\u8FC7\u671F\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u91CD\u65B0\u9884\u89C8\u3002\u670D\u52A1\u7AEF\u6267\u884C\u524D\u518D\u6B21\u6821\u9A8C\u57FA\u7EBF\u3002"),C("runtime_start","\u5B89\u88C5\u5E76\u542F\u52A8\u72EC\u7ACB Host","\u5C06\u6267\u884C\u4E0A\u8FF0\u5B89\u88C5\u8BA1\u5212\u3002\u4E0D\u4F1A\u590D\u5236\u65E5\u5E38\u914D\u7F6E\u6216\u51ED\u636E\uFF0C\u4E5F\u4E0D\u4EE3\u8868\u53CC\u7AEF\u6574\u5957\u914D\u7F6E\u5B8C\u6210\u3002")),l.restartPlan&&k.default.createElement("div",{className:"cloud-plan"},g(l.restartPlan),k.default.createElement(S,{label:"\u914D\u7F6E\u4E0E\u6570\u636E\u53D8\u5316\uFF08\u4EC5\u4FDD\u7559\uFF09",value:l.restartPlan.preservedMutableChanges}),k.default.createElement(x,{tone:"warn"},"\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u968F\u542F\u52A8\u6062\u590D\uFF1B\u5E76\u975E\u9996\u6B21\u5B89\u88C5\u65F6\u7684\u7A7A\u914D\u7F6E\u3001\u65E0\u6A21\u578B\u72B6\u6001\u3002\u4E4B\u524D\u624B\u52A8\u65AD\u5F00\u7684\u673A\u5668\u4EBA\u4E5F\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\u3002\u8BF7\u5148\u6838\u5BF9\u539F\u4EFB\u52A1\u548C\u914D\u7F6E\uFF1B\u672C\u786E\u8BA4\u4E0D\u91CD\u65B0\u6279\u51C6\u4EFB\u52A1\u6216\u653E\u5BBD\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u95E8\u7981\u3002"),k.default.createElement(x,null,"\u53EA\u91CD\u65B0\u542F\u52A8\u5DF2\u505C\u6B62\u7684\u72EC\u7ACB Host\uFF1B\u4E0D\u91CD\u65B0\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u91CD\u65B0\u5199\u5165\u5168\u5C40\u89C4\u5219\u6216 Skill\uFF0C\u4E5F\u4E0D\u8986\u76D6\u73B0\u6709\u914D\u7F6E\u3002\u6BCF\u6B21\u542F\u52A8\u4F7F\u7528\u72EC\u7ACB\u65E5\u5FD7\u4E0E\u56DE\u6267\uFF0C\u65E7\u767B\u5F55\u5730\u5740\u4E0D\u80FD\u4F5C\u4E3A\u65B0\u5C31\u7EEA\u8BC1\u636E\u3002\u914D\u7F6E\uFF0F\u6570\u636E\u7684\u53D8\u5316\u4E0D\u4F1A\u88AB\u7EB3\u5165\u81EA\u52A8\u5220\u9664\u6E05\u5355\u3002"),k.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u671F\u81F3 ",new Date(l.restartPlan.expiresAt).toLocaleString(),"\uFF0C\u6267\u884C\u524D\u518D\u6B21\u6838\u5BF9\u3002\u4EC5\u6B64\u6D4B\u8BD5 Host\uFF0C\u4E0D\u91CD\u542F ECS \u64CD\u4F5C\u7CFB\u7EDF\u6216\u5176\u4ED6\u670D\u52A1\u3002"),C("runtime_restart","\u91CD\u65B0\u542F\u52A8\u72EC\u7ACB Host","\u6309\u5F53\u524D\u8BA1\u5212\u91CD\u65B0\u542F\u52A8\u5DF2\u505C\u6B62\u7684\u672C\u4E8B\u52A1 Host\uFF1B\u5148\u524D\u7684\u542F\u52A8\u7ED3\u679C\u4E0D\u80FD\u4EE3\u66FF\u672C\u6B21\u9A8C\u8BC1\u3002")),d&&k.default.createElement("ol",{className:"phase-timeline cloud-phases"},k.default.createElement("li",{className:l.source?.state==="prepared"?"done":"pending"},k.default.createElement("span",{className:"phase-dot"},"1"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u51C6\u5907\u5B89\u88C5\u6587\u4EF6"),k.default.createElement("p",null,xt(l.source?.state)))),k.default.createElement("li",{className:d.nativeHostReady?"done":"pending"},k.default.createElement("span",{className:"phase-dot"},"2"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u4F9D\u8D56\u3001\u4FDD\u62A4\u6027\u89C4\u5219\u4E0E\u539F\u751F Host"),k.default.createElement("p",null,xt(d.state),l.fresh?"":" \xB7 \u5386\u53F2\u8BB0\u5F55"),d.defaultConfig?.preserved&&k.default.createElement("p",null,"\u542F\u52A8\u65F6\u914D\u7F6E\u57FA\u7EBF\u5DF2\u6838\u9A8C\uFF1B\u540E\u7EED\u4FEE\u6539\u9700\u53E6\u884C\u6838\u5BF9"))),k.default.createElement("li",{className:"pending"},k.default.createElement("span",{className:"phase-dot"},"3"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u6A21\u578B\u3001IM\u3001\u53CC\u7AEF\u76F4\u8FDE\u4E0E\u5168\u94FE\u8DEF\u9A8C\u6536"),k.default.createElement("p",null,"\u72EC\u7ACB\u6838\u9A8C \xB7 \u6A21\u578B\u72B6\u6001\u89C1\u4E0B\u65B9\u63A5\u5165\u533A\uFF1BHost \u542F\u52A8\u4E0D\u8BC1\u660E\u5176\u4ED6\u914D\u7F6E\u5DF2\u5B8C\u6210")))),k.default.createElement(ar,{s:l,actions:o,act:v=>{p(null),c(!1),f.act(v)},confirm:C}),l.source?.state==="prepared"&&l.source.operationId&&k.default.createElement(sr,{key:"version:"+l.source.operationId,request:e,operationId:l.source.operationId,busy:l.busy,stoppedUntil:l.fresh&&!l.uncertain&&!l.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?l.observedAt+6e4:0,onMutation:()=>{p(null),c(!1),f.invalidate()}}),l.source?.state==="prepared"&&l.source.operationId&&k.default.createElement(dr,{key:"uninstall:"+l.source.operationId,request:e,operationId:l.source.operationId,busy:l.busy,stoppedUntil:l.fresh&&!l.uncertain&&!l.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?l.observedAt+6e4:0,onMutation:()=>{p(null),c(!1),f.invalidate()}}),l.source?.state==="prepared"&&l.source.operationId&&k.default.createElement(cr,{key:"reclaim:"+l.source.operationId,request:e,operationId:l.source.operationId,busy:l.busy,stoppedUntil:l.fresh&&!l.uncertain&&!l.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?l.observedAt+6e4:0,onMutation:()=>{p(null),c(!1),f.invalidate()}}),C("runtime_reconcile_restart","\u6838\u5BF9\u5DF2\u4E2D\u65AD\u7684\u542F\u52A8","\u518D\u6B21\u8BC1\u660E\u672C\u6B21\u63A7\u5236\u8FDB\u7A0B\u4E0E Host \u5747\u5DF2\u9000\u51FA\u540E\uFF0C\u53EA\u5C06\u8BE5\u6B21\u542F\u52A8\u6807\u8BB0\u4E3A\u4E2D\u65AD\uFF1B\u4E0D\u91CD\u8BD5\u3001\u4E0D\u5220\u6587\u4EF6\u3002\u4E4B\u540E\u987B\u53E6\u884C\u751F\u6210\u8BA1\u5212\u548C\u786E\u8BA4\u3002"),k.default.createElement("div",{className:"form-actions"},o.runtime_stop_preview&&k.default.createElement(_,{onClick:()=>{p(null),c(!1),f.act("runtime_stop_preview")}},"\u9884\u89C8\u505C\u6B62\u8BA1\u5212")),l.stopPlan&&k.default.createElement("div",{className:"cloud-plan","aria-label":"\u505C\u6B62\u8BA1\u5212"},k.default.createElement(S,{label:"\u8303\u56F4",value:l.stopPlan.scope==="owned_host_with_loss_risk"?"\u672C\u4E8B\u52A1\u7684\u72EC\u7ACB Host\uFF0C\u4E0D\u5305\u542B ECS \u6216\u5176\u4ED6\u670D\u52A1":"\u4EC5\u672C\u4E8B\u52A1\u5B89\u88C5\u8FDB\u7A0B\uFF0C\u4E0D\u5305\u542B\u539F\u751F Host"}),k.default.createElement(x,{tone:l.stopPlan.scope==="owned_host_with_loss_risk"||!l.stopPlan.canApply?"warn":"info"},l.stopPlan.scope==="owned_host_with_loss_risk"?"\u7A7A\u95F2\u89C2\u5BDF\u4E0D\u7B49\u4E8E\u65E0\u635F\u6392\u7A7A\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u8F93\u5165\u53CA\u5728\u9014 IM \u53EF\u80FD\u4E2D\u6B62\uFF1B\u81EA\u6709\u6301\u4E45\u961F\u5217\u4FDD\u7559\u3002\u9ED8\u8BA4\u4E0D\u505C\u6B62\uFF0C\u52FE\u9009\u98CE\u9669\u786E\u8BA4\u540E\u624D\u6267\u884C\u3002":"\u53EA\u5411\u6838\u9A8C\u8FC7\u51FA\u751F\u8EAB\u4EFD\u7684\u5B89\u88C5\u8FDB\u7A0B\u53D1\u9001 SIGTERM\uFF0C\u4E0D\u505C\u6B62\u539F\u751F Host\u3002"),!l.stopPlan.canApply&&k.default.createElement(x,{tone:"warn"},{host_drain_required:"\u65E7\u76EE\u6807\u672A\u63D0\u4F9B Host \u98CE\u9669\u505C\u673A\u5951\u7EA6\uFF1B\u4FDD\u6301\u8FD0\u884C\u3002",host_observation_required:"\u5F53\u524D\u5FD9\u95F2\u6216\u5F52\u5C5E\u65E0\u6CD5\u6838\u9A8C\uFF0C\u4E0D\u80FD\u505C\u6B62\u3002",host_busy:"\u68C0\u6D4B\u5230\u6D3B\u52A8\u4EFB\u52A1\u3001\u5F85\u5904\u7406\u8F93\u5165\u6216\u72B6\u6001\u672A\u77E5\uFF0C\u4E0D\u80FD\u505C\u6B62\u3002",installer_active:"\u5B89\u88C5\u6216\u542F\u52A8\u63A7\u5236\u8FDB\u7A0B\u4ECD\u5728\u5DE5\u4F5C\uFF0C\u8BF7\u5148\u6838\u5BF9\u3002",prior_stop_unresolved:"\u539F\u505C\u6B62\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\uFF0C\u4E0D\u80FD\u518D\u53D1\u4FE1\u53F7\u3002",no_active_installer:"\u6CA1\u6709\u53EF\u505C\u6B62\u7684\u8FDB\u7A0B\u3002"}[l.stopPlan.reason]??"\u8BA1\u5212\u4E0D\u53EF\u6267\u884C\uFF0C\u8BF7\u6838\u5BF9\u539F\u4E8B\u52A1\u3002"),k.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(l.stopPlan.expiresAt).toLocaleString(),"\uFF1B\u505C\u673A\u8FD8\u8981\u6C42\u6700\u8FD1\u4E00\u6B21\u72B6\u6001\u89C2\u5BDF\u672A\u8D85\u8FC7 60 \u79D2\uFF0C\u4E24\u4E2A\u671F\u9650\u4EE5\u5148\u5230\u8005\u4E3A\u51C6\u3002\u8FC7\u671F\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u91CD\u65B0\u9884\u89C8\u3002\u786E\u8BA4\u540E\u518D\u6B21\u68C0\u67E5\u5FD9\u95F2\u3001\u8EAB\u4EFD\u4E0E\u5B9E\u4F8B\uFF0C\u5148\u8BB0\u8D26\uFF0C\u518D\u53D1\u9001\u4E00\u6B21 SIGTERM\uFF1B\u4E0D\u5220\u6587\u4EF6\u3001\u4E0D\u5F3A\u6740\u3001\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002"),C("runtime_stop",l.stopPlan.scope==="owned_host_with_loss_risk"?"\u505C\u6B62\u72EC\u7ACB Host":"\u505C\u6B62\u5B89\u88C5\u8FDB\u7A0B","\u53EA\u505C\u6B62\u672C\u8BA1\u5212\u5217\u660E\u7684\u8FDB\u7A0B\uFF1B\u672A\u77E5\u7ED3\u679C\u4FDD\u7559\u539F\u8BF7\u6C42\uFF0C\u53E6\u884C\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")),d?.stop&&k.default.createElement(x,null,"\u505C\u6B62\u8BF7\u6C42\uFF1A",{requested:"\u505C\u6B62\u8BF7\u6C42\u5DF2\u767B\u8BB0",signalled:"\u5DF2\u53D1\u9001\u4FE1\u53F7\uFF0C\u5F85\u6838\u5BF9",needs_review:"\u4E2D\u65AD\u6216\u72B6\u6001\u53D8\u5316\uFF0C\u5F85\u6838\u5BF9",ended:"\u539F\u8BA1\u5212\u8FDB\u7A0B\u5DF2\u6838\u5BF9\u7ED3\u675F"}[d.stop.phase]??"\u672A\u77E5\u72B6\u6001\uFF0C\u4FDD\u7559\u73B0\u573A","\uFF1B\u4ECD\u6D3B\u8DC3\u7684\u5B89\u88C5\u8FDB\u7A0B\uFF1A",d.stop.activeInstallerMembers,d.stop.scope==="owned_host_with_loss_risk"?`\uFF1B\u539F\u8BA1\u5212 Host\uFF1A${d.stop.hostActive?"\u4ECD\u5728\u8FD0\u884C":"\u5DF2\u9000\u51FA"}`:"","\u3002\u53D1\u9001\u4FE1\u53F7\u4E0D\u7B49\u4E8E\u5DF2\u9000\u51FA\u3002"),C("runtime_stop_reconcile","\u6838\u5BF9\u505C\u6B62\u7ED3\u679C","\u4EC5\u6838\u9A8C\u539F\u8BA1\u5212\u5185\u7684\u6240\u6709\u8FDB\u7A0B\u5747\u5DF2\u9000\u51FA\u5E76\u4FDD\u5B58\u7ED3\u679C\uFF1B\u4E0D\u518D\u6B21\u53D1\u9001\u4FE1\u53F7\u3001\u4E0D\u542F\u52A8 Host\u3002"),C("runtime_rollback","\u56DE\u6EDA\u72EC\u7ACB\u8FD0\u884C\u65F6","\u6309\u5DF2\u8BB0\u5F55\u6E05\u5355\u6E05\u7406\u672C\u4E8B\u52A1\u8FD0\u884C\u65F6\u3002\u8FDB\u7A0B\u4ECD\u5B58\u6D3B\u3001\u6587\u4EF6\u53D1\u751F\u6F02\u79FB\u6216\u5B58\u5728\u672A\u77E5\u6587\u4EF6\u65F6\u4F1A\u505C\u6B62\u5E76\u4FDD\u7559\u73B0\u573A\u3002"),d?.cleanupId&&k.default.createElement(x,null,"\u5F53\u524D\u6E05\u7406\u9636\u6BB5\uFF1A",{payload:"\u8FD0\u884C\u65F6\u6587\u4EF6",controls:"\u63A7\u5236\u6587\u4EF6",finalizing:"\u6536\u5C3E\u6838\u9A8C"}[d.cleanupPhase]??"\u5F85\u6838\u5BF9","\uFF1B\u5DF2\u786E\u8BA4\u5904\u7406 ",d.cleanupCompleted??0," \u9879\uFF08\u672C\u9636\u6BB5\uFF09\u3002\u624B\u52A8\u5237\u65B0\u53EA\u8BFB\u72B6\u6001\uFF0C\u4E0D\u7EE7\u7EED\u5220\u9664\u3002"),C("runtime_rollback_resume","\u7EE7\u7EED\u5DF2\u767B\u8BB0\u7684\u6E05\u7406","\u518D\u6B21\u6838\u9A8C\u539F\u8FDB\u7A0B\u9000\u51FA\u3001\u72EC\u5360\u9501\u548C\u7B7E\u540D\u5220\u9664\u8FDB\u5EA6\uFF0C\u53EA\u7EE7\u7EED\u539F\u6765\u5DF2\u6388\u6743\u7684\u6761\u76EE\uFF1B\u4E0D\u91CD\u626B\u8BA4\u9886\u5176\u4ED6\u5185\u5BB9\uFF0C\u4E0D\u91CD\u65B0\u542F\u52A8 Host\u3002"),C("runtime_reconcile_rollback","\u6838\u5BF9\u56DE\u6EDA\u7ED3\u679C","\u53EA\u6838\u5BF9\u5F52\u5C5E\u3001\u8FDB\u7A0B\u9000\u51FA\u548C\u76EE\u5F55\u662F\u5426\u5DF2\u5220\u9664\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u5220\u9664\u64CD\u4F5C\u3002")),C("rollback","\u6E05\u7406\u672C\u4E8B\u52A1\u5B89\u88C5\u6587\u4EF6","\u4EC5\u5728\u8FD0\u884C\u65F6\u5DF2\u7ECF\u56DE\u6EDA\uFF08\u6216\u4ECE\u672A\u542F\u52A8\uFF09\u65F6\uFF0C\u6309\u539F\u59CB\u5B89\u88C5\u6E05\u5355\u6E05\u7406\u672C\u4E8B\u52A1\u6587\u4EF6\u3002\u4E0D\u4F1A\u5220\u9664\u5176\u4ED6\u76EE\u5F55\u3002"),!t&&k.default.createElement(x,null,"\u5F53\u524D Host \u672A\u5F00\u653E\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6\u51C6\u5907\uFF0C\u754C\u9762\u4E0D\u4F1A\u7ED5\u8FC7\u80FD\u529B\u95E8\u7981\u3002"),n&&!s&&k.default.createElement(x,null,"\u5F53\u524D Host \u672A\u5F00\u653E\u72EC\u7ACB\u8FD0\u884C\u65F6\u5B89\u88C5\uFF0C\u4E0D\u80FD\u5728\u6B64\u542F\u52A8\u3002"))),k.default.createElement(Oe,{pose:n?"model":"cloud",title:n?"\u542F\u52A8\u6210\u529F \u2260 \u5168\u90E8\u914D\u7F6E\u5B8C\u6210":"\u5206\u5F00\u786E\u8BA4\uFF0C\u770B\u6E05\u6BCF\u4E00\u5904\u53D8\u5316\u3002",open:!0},k.default.createElement("p",null,"\u5148\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF0C\u518D\u6838\u5BF9\u56FA\u5B9A\u4F9D\u8D56\u4E0E\u542F\u52A8\u8BA1\u5212\uFF1B\u6BCF\u6B21\u786E\u8BA4\u53EA\u5BF9\u5E94\u5F53\u524D\u64CD\u4F5C\u3002"),k.default.createElement("p",null,"\u5237\u65B0\u662F\u53EA\u8BFB\u89C2\u5BDF\uFF0C\u4E0D\u4F1A\u91CD\u53D1\u5B89\u88C5\u3002\u9047\u5230\u672A\u77E5\u7ED3\u679C\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u518D\u5904\u7406\u3002"),k.default.createElement(S,{label:"\u672C\u5B89\u88C5\u64CD\u4F5C\u8303\u56F4",value:"\u4E0D\u4F20\u9001\u51ED\u636E\u3001\u4E0D\u7ED1\u5B9A\u673A\u5668\u4EBA\u3001\u4E0D\u6388\u6743\u4E1A\u52A1\u5199\u5165"}),k.default.createElement(S,{label:"\u5168\u94FE\u8DEF\u9A8C\u6536",value:"\u9700\u53E6\u884C\u6838\u9A8C\uFF0C\u4E0D\u7531\u5B89\u88C5\u72B6\u6001\u63A8\u65AD"})))}var he=Ce(ge());var Vl={ONBOARDING_REPOSITORY_DEFAULT_BRANCH_REQUIRED:"\u4ED3\u5E93\u53EF\u8BFB\u53D6\uFF0C\u4F46\u672A\u8BBE\u7F6E\u9ED8\u8BA4\u5206\u652F\uFF1B\u8BF7\u586B\u5199\u5DF2\u6709\u5206\u652F\u540E\u91CD\u65B0\u6838\u9A8C\u3002\u7A7A\u4ED3\u5E93\u987B\u53E6\u884C\u521D\u59CB\u5316\uFF0C\u672C\u5BFC\u89C8\u4E0D\u4F1A\u521B\u5EFA\u63D0\u4EA4\u3002",ONBOARDING_REPOSITORY_ARGUMENTS:"\u8BF7\u586B\u5199\u6709\u6548\u7684 Gitee \u4ED3\u5E93\u5730\u5740\u548C\u5206\u652F\uFF1B\u5730\u5740\u4E2D\u4E0D\u80FD\u5305\u542B\u51ED\u636E\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_REQUIRED:"\u5F53\u524D\u76EE\u6807\u6CA1\u6709\u4FDD\u5B58\u672C\u9879\u76EE\u7684 Gitee \u4EE4\u724C\uFF1B\u516C\u5F00\u4ED3\u5E93\u53EF\u9009\u62E9\u533F\u540D\u6838\u9A8C\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_INVALID:"Gitee \u4EE4\u724C\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u901A\u8FC7\u72EC\u7ACB\u51ED\u636E\u7A97\u53E3\u6838\u5BF9\uFF0C\u4E0D\u8981\u586B\u5165\u5730\u5740\u6216\u804A\u5929\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_CHANGED:"\u6838\u9A8C\u671F\u95F4\u51ED\u636E\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u7ED3\u679C\u4E0D\u91C7\u7528\uFF1B\u8BF7\u624B\u52A8\u91CD\u65B0\u6838\u9A8C\u3002",ONBOARDING_REPOSITORY_NOT_FOUND_OR_PRIVATE:"\u4ED3\u5E93\uFF0F\u5206\u652F\u4E0D\u5B58\u5728\uFF0C\u6216\u5F53\u524D\u8EAB\u4EFD\u65E0\u6743\u67E5\u770B\uFF1B\u4E0D\u80FD\u4EC5\u51ED\u6B64\u7ED3\u679C\u5224\u65AD\u4ED3\u5E93\u5DF2\u5220\u9664\u3002",ONBOARDING_REPOSITORY_ACCESS_DENIED:"\u5F53\u524D\u8EAB\u4EFD\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF1B\u4E0D\u4F1A\u5207\u6362\u5176\u4ED6\u51ED\u636E\u91CD\u8BD5\u3002",ONBOARDING_REPOSITORY_RATE_LIMIT:"Gitee \u6682\u65F6\u9650\u6D41\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u9A8C\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_REPOSITORY_PROVIDER_UNAVAILABLE:"Gitee \u53EA\u8BFB\u63A5\u53E3\u6682\u4E0D\u53EF\u8FBE\uFF1B\u672C\u6B21\u6CA1\u6709\u786E\u8BA4\u8BFB\u53D6\u6743\u9650\u3002",ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u4ED3\u5E93\u6838\u9A8C\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u7528\u65B0\u63A7\u5236\u5668\u8986\u76D6\u65E7\u5F52\u6863\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u672C\u5BFC\u89C8\u7684\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u6838\u5BF9\u7B2C 6 \u9875\uFF1B\u4E0D\u56DE\u9000\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u8BF7\u5148\u5B8C\u6210\u672C\u5BFC\u89C8\u7684\u4E91\u7AEF\u72EC\u7ACB\u521D\u59CB\u5316\uFF1B\u672C\u7AEF\u6210\u529F\u4E0D\u80FD\u4EE3\u66FF\u4E91\u7AEF\u9A8C\u8BC1\u3002"};function Nt({request:e,url:t,cloud:s=!1}){let[n,u]=(0,he.useState)(""),[l,a]=(0,he.useState)("anonymous"),[f,m]=(0,he.useState)(!1),[p,i]=(0,he.useState)(null),[c,o]=(0,he.useState)(""),r=(0,he.useRef)(null),d=(0,he.useRef)(!0),L=(0,he.useRef)(!1),C=JSON.stringify([t,n,l,s]);r.current=C,(0,he.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]),(0,he.useEffect)(()=>{i(null),o("")},[C]);async function h(){if(L.current)return;L.current=!0,m(!0),i(null),o("");let v=C;try{let N=await e(s?"cloud_repository_inspect":"repository_inspect",{url:t,branch:n,authentication:l});d.current&&r.current===v&&i({key:v,value:N})}catch(N){d.current&&r.current===v&&o(Vl[N.message]??"\u6838\u9A8C\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u68C0\u67E5\u76EE\u6807\u548C\u8FDE\u63A5\u3002\u4E0D\u91C7\u7528\u65E7\u7ED3\u679C\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{L.current=!1,d.current&&m(!1)}}let g=p?.key===C?p.value:null;return he.default.createElement(V,{className:"connection-panel",title:s?"\u4E91\u7AEF\u4ED3\u5E93\u53EA\u8BFB\u6838\u9A8C":"\u672C\u7AEF\u4ED3\u5E93\u53EA\u8BFB\u6838\u9A8C",icon:"git",sub:"\u624B\u52A8\u67E5\u8BE2 Gitee \u5143\u6570\u636E\uFF1B\u4E0D\u514B\u9686\u3001\u4E0D\u5199\u6587\u4EF6\u3001\u4E0D\u63D0\u4EA4\u6216\u63A8\u9001\u3002"},he.default.createElement(S,{label:"\u67E5\u8BE2\u76EE\u6807",value:s?"\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF Host \xB7 \u4EC5\u4F7F\u7528\u4E91\u7AEF\u51ED\u636E":"\u5F53\u524D Host \xB7 \u4E0D\u501F\u7528\u4E91\u7AEF\u6216\u65E5\u5E38\u51ED\u636E"}),he.default.createElement("div",{className:"form-grid"},he.default.createElement(Se,{label:"\u6838\u9A8C\u5206\u652F",value:n,onChange:v=>u(v.target.value),placeholder:"\u7559\u7A7A\u4F7F\u7528\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F"}),he.default.createElement(Se,{label:"\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD"},he.default.createElement("select",{value:l,onChange:v=>a(v.target.value)},he.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),he.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C")))),he.default.createElement("div",{className:"connection-actions",role:"group","aria-label":s?"\u4E91\u7AEF\u4ED3\u5E93\u6838\u9A8C\u64CD\u4F5C":"\u672C\u7AEF\u4ED3\u5E93\u6838\u9A8C\u64CD\u4F5C"},he.default.createElement(_,{kind:"primary",icon:f?"spinner":"git",disabled:f||!t,onClick:h},f?"\u6B63\u5728\u53EA\u8BFB\u6838\u9A8C\u2026":s?"\u624B\u52A8\u6838\u9A8C\u4E91\u7AEF\u4ED3\u5E93\u8BBF\u95EE":"\u624B\u52A8\u6838\u9A8C\u672C\u7AEF\u4ED3\u5E93\u8BBF\u95EE")),g&&he.default.createElement("div",{role:"status"},he.default.createElement(S,{label:"\u8BFB\u53D6\u6743\u9650",value:"\u672C\u6B21\u5143\u6570\u636E\u8BFB\u53D6\u901A\u8FC7 \xB7 \u4E0D\u4EE3\u8868\u5199\u6743\u9650"}),he.default.createElement(S,{label:"\u5B9E\u9645 Host",value:g.target.name+" / "+g.target.platform}),he.default.createElement(S,{label:"\u4ED3\u5E93",value:g.repository.url}),he.default.createElement(S,{label:"\u5206\u652F",value:g.repository.branch}),he.default.createElement("div",{className:"path-line"},he.default.createElement("span",null,"\u89C2\u5BDF\u5230\u7684\u63D0\u4EA4"),he.default.createElement("code",null,g.repository.base_sha)),he.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",new Date(s?g.checkedAt:g.observedAt).toLocaleString(),"\u3002\u4EC5\u4E3A\u672C\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0\uFF1B\u5B9E\u9645\u4EFB\u52A1\u6267\u884C\u524D\u4ECD\u987B\u91CD\u65B0\u6838\u9A8C\u3002")),c&&he.default.createElement("p",{role:"alert"},c),he.default.createElement(x,null,"\u8FD9\u4E0D\u662F\u4EFB\u52A1\u7ED1\u5B9A\u6216\u5F00\u53D1\u6388\u6743\u3002\u8349\u7A3F\u522B\u540D\u9700\u53E6\u884C\u786E\u8BA4\u767B\u8BB0\uFF1B\u4E3A\u4EFB\u52A1\u5173\u8054\u4ED3\u5E93\u3001\u5F00\u53D1\u3001commit\u3001push \u5FC5\u987B\u5206\u522B\u8D70\u5B9E\u9645\u4EFB\u52A1\u6D41\u7A0B\u548C\u5BA1\u6279\u3002Gitee \u4E0D\u662F\u53CC\u7AEF\u901A\u4FE1\u5E73\u53F0\u3002"))}var ae=Ce(ge());var Rl={active:"\u53D7\u7406\u5DF2\u542F\u7528 \xB7 \u4E0D\u6267\u884C\u4EFB\u52A1",disabled:"\u5DF2\u505C\u7528 \xB7 \u6570\u636E\u4FDD\u7559",not_configured:"\u5C1A\u672A\u542F\u7528",activation_pending:"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u5C1A\u672A\u542F\u52A8",needs_review:"\u9700\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u91CD\u8BD5"},Wl={not_started:"\u5C1A\u65E0\u672C\u8F6E\u64CD\u4F5C",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u539F\u6388\u6743\u56DE\u6267\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"},hr={ONBOARDING_TASK_RUNTIME_PAIR_WORKER_DISABLE_REQUIRED:"\u8BF7\u5148\u505C\u7528\u53EA\u8BFB\u6267\u884C\uFF0C\u518D\u53D8\u66F4\u53CC\u7AEF\u914D\u5BF9\uFF1B\u539F\u961F\u5217\u548C\u6570\u636E\u4FDD\u7559\u3002",ONBOARDING_TASK_RUNTIME_AUTHORIZATION_REVIEW:"\u6388\u6743\u5B58\u50A8\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u81EA\u6709\u8FD0\u884C\u65F6\u5DF2\u5173\u95ED\uFF0C\u4E0D\u4F1A\u7EE7\u7EED\u6309\u4E0D\u786E\u5B9A\u6388\u6743\u6267\u884C\u3002",ONBOARDING_TASK_RUNTIME_WORKER_PRESET_REVIEW:"\u53EA\u8BFB worker \u7684\u539F\u751F\u9884\u8BBE\u672A\u901A\u8FC7\u52A0\u8F7D\u6838\u9A8C\uFF0C\u672A\u542F\u52A8\u8C03\u5EA6\u3002",ONBOARDING_TASK_RUNTIME_PAIR_REVOKE_REQUIRED:"\u53CC\u7AEF\u4ECD\u6709\u914D\u5BF9\u6388\u6743\uFF0C\u8BF7\u5148\u5728\u672C\u5730\u76F4\u8FDE\u9762\u677F\u64A4\u9500\u914D\u5BF9\uFF0C\u518D\u505C\u7528\u53D7\u7406\u3002",ONBOARDING_TASK_RUNTIME_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u5148\u5237\u65B0\u539F\u56DE\u6267\uFF1B\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002",ONBOARDING_TASK_RUNTIME_BUSY:"\u53D7\u7406\u5668\u6216\u4EFB\u52A1\u5C1A\u672A\u7A7A\u95F2\u3002\u672A\u505C\u7528\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_TASK_RUNTIME_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5DF2\u6D88\u8017\uFF1B\u82E5\u70B9\u8FC7\u786E\u8BA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\u3002",ONBOARDING_TASK_RUNTIME_ALREADY_APPLIED:"\u539F\u8BF7\u6C42\u5DF2\u83B7\u786E\u8BA4\uFF0C\u8BF7\u5237\u65B0\u67E5\u770B\u5B9E\u9645\u8FD0\u884C\u72B6\u6001\uFF0C\u4E0D\u5FC5\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_TASK_RUNTIME_PATH_REVIEW:"\u53D7\u7BA1\u76EE\u5F55\u6216\u6587\u4EF6\u5F52\u5C5E\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u8986\u76D6\u6216\u653E\u5BBD\u6743\u9650\u3002",ONBOARDING_CLOUD_TASK_RUNTIME_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u8FD9\u4E2A\u5408\u540C\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_TASK_RUNTIME_UNSUPPORTED:"\u76EE\u6807\u4E0D\u652F\u6301\u53D7\u7406\u542F\u505C\u548C\u6062\u590D\u5408\u540C\uFF0C\u4E0D\u56DE\u9000\u65E7\u63A5\u53E3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u5B89\u88C5\u4E0E\u8FDB\u7A0B\u72B6\u6001\u3002"};function jt({request:e,cloud:t=!1}){let[s,n]=(0,ae.useState)(null),[u,l]=(0,ae.useState)(null),[a,f]=(0,ae.useState)(!1),[m,p]=(0,ae.useState)(!1),[i,c]=(0,ae.useState)(!1),[o,r]=(0,ae.useState)(""),d=(0,ae.useRef)(!0),L=(0,ae.useRef)(!1),C=t?"cloud_task_runtime_":"task_runtime_",h=t?"\u4E91\u7AEF":"\u5F53\u524D\u7AEF";(0,ae.useEffect)(()=>(d.current=!0,e(C+"status",t?{refresh:!1}:{}).then(w=>{d.current&&n(w)}).catch(()=>{d.current&&r("\u8BFB\u53D6\u672C\u7AEF\u8BB0\u5F55\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u6838\u5BF9\u3002")}),()=>{d.current=!1}),[t]);let g=t?s?.runtime:s,v=t?s?.operation:null,N=i||t&&["sending","needs_review","recovering"].includes(v?.state);async function T(w,P,D=!1){if(L.current)return;L.current=!0,p(!0),r("");let O=u;["apply","recoveryApply"].includes(w)&&(l(null),f(!1),c(!0));try{let W=w==="status"?t?{refresh:!0}:{}:w==="preview"?{enabled:P,workerEnabled:D}:w==="recoveryPreview"?{}:{id:O.id,fingerprint:O.fingerprint,confirm:!0};w==="status"&&(l(null),f(!1));let j=await e(C+w,W);if(!d.current)return;["preview","recoveryPreview"].includes(w)?(l({...j,recovery:w==="recoveryPreview"}),f(!1)):(n(j),c(!1))}catch(W){d.current&&(r(hr[W.message]??"\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u6539\u6295\u5176\u4ED6 Host \u6216\u542F\u52A8\u4EFB\u52A1\u3002"),w==="status"&&n(j=>t&&j?{...j,runtime:null,freshness:"check_failed"}:null))}finally{L.current=!1,d.current&&p(!1)}}return ae.default.createElement(V,{className:"connection-panel",title:h+"\u4EFB\u52A1\u53D7\u7406",icon:"cloud",sub:"\u4EFB\u52A1\u53D7\u7406\u4E0E\u53EA\u8BFB\u540E\u53F0\u6267\u884C\u5206\u5F00\u6388\u6743\uFF1B\u4ED3\u5E93\u5199\u5165\u4ECD\u5173\u95ED\u3002"},ae.default.createElement(S,{label:"\u64CD\u4F5C\u8303\u56F4",value:t?"\u4EC5\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684 ECS\uFF0C\u4E0D\u6539\u672C\u7AEF":"\u4EC5\u5F53\u524D\u4E91\u7AEF Host\uFF0C\u4E0D\u64CD\u4F5C\u5176\u4ED6\u8BBE\u5907"}),ae.default.createElement(S,{label:"\u5F53\u524D\u53D7\u7406\u72B6\u6001",value:g?g.workerEnabled?"\u53EA\u8BFB worker \u8FD0\u884C\u4E2D \xB7 \u4ED3\u5E93\u5199\u5165\u5173\u95ED":Rl[g.state]??"\u5F85\u6838\u5BF9":"\u5C1A\u672A\u67E5\u8BE2\u76EE\u6807\u7AEF"}),g&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(S,{label:"\u53EA\u8BFB\u540E\u53F0\u6267\u884C",value:(g.workerDesiredEnabled?"\u5DF2\u6388\u6743":"\u672A\u6388\u6743")+" / "+(g.workerEnabled?"\u8C03\u5EA6\u5668\u5DF2\u6302\u8F7D":"\u672A\u6267\u884C")}),ae.default.createElement(S,{label:"\u6388\u6743\u4E0E\u8FDB\u7A0B",value:(g.desiredEnabled?"\u6388\u6743\u5DF2\u542F\u7528":"\u6388\u6743\u672A\u542F\u7528")+" / "+(g.configured?"\u53D7\u7406\u8FDB\u7A0B\u5DF2\u6302\u8F7D":"\u53D7\u7406\u8FDB\u7A0B\u672A\u6302\u8F7D")}),ae.default.createElement("p",{className:"fine-print"},"\u6388\u6743\u4FEE\u8BA2 ",g.revision,"\u3002\u8FD9\u662F\u672C\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u6301\u7EED\u76D1\u63A7\u3002")),ae.default.createElement("div",{className:"connection-actions",role:"group","aria-label":h+"\u4EFB\u52A1\u53D7\u7406\u64CD\u4F5C"},ae.default.createElement(_,{kind:"primary",icon:"cloud",disabled:m||!!N||g?.configured,onClick:()=>T("preview",!0)},"\u9884\u89C8\u542F\u7528",h,"\u53D7\u7406"),ae.default.createElement(_,{kind:"secondary",icon:"pause",disabled:m||!!N||!g?.desiredEnabled,onClick:()=>T("preview",!1)},"\u9884\u89C8\u505C\u7528",h,"\u53D7\u7406"),ae.default.createElement(_,{kind:"secondary",icon:"reset",disabled:m,onClick:()=>T("status")},"\u624B\u52A8\u5237\u65B0",h,"\u53D7\u7406")),g?.contract===4&&g?.configured&&ae.default.createElement("section",{className:"connection-result worker-runtime","aria-label":"\u53EA\u8BFB\u540E\u53F0\u6267\u884C"},ae.default.createElement("h3",null,"\u53EA\u8BFB\u4EFB\u52A1 Worker"),ae.default.createElement("p",null,"\u72EC\u7ACB\u540E\u53F0\u6267\u884C\uFF0C\u4E0D\u5360\u7528\u5165\u53E3\u4F1A\u8BDD\u3002\u6A21\u578B\u6309\u6BCF\u4E2A\u4EFB\u52A1\u9009\u62E9\uFF1B\u91CD\u542F\u6062\u590D\u540C\u4E00\u68C0\u67E5\u70B9\u3002\u505C\u7528\u4F1A\u4FDD\u7559\u961F\u5217\uFF0C\u91CD\u65B0\u542F\u7528\u540E\u7EE7\u7EED\u7B26\u5408\u539F\u6388\u6743\u7684\u5F85\u6267\u884C\u4EFB\u52A1\u3002"),ae.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53EA\u8BFB worker \u64CD\u4F5C"},ae.default.createElement(_,{kind:"primary",icon:"cloud",disabled:m||!!N||g.workerDesiredEnabled,onClick:()=>T("preview",!0,!0)},"\u9884\u89C8\u542F\u7528\u53EA\u8BFB\u6267\u884C"),ae.default.createElement(_,{kind:"secondary",icon:"pause",disabled:m||!!N||!g.workerDesiredEnabled,onClick:()=>T("preview",!0,!1)},"\u9884\u89C8\u505C\u7528\u53EA\u8BFB\u6267\u884C")),ae.default.createElement("p",{className:"fine-print"},"\u4E0D\u5F00\u653E shell\u3001\u4EFB\u610F\u6587\u4EF6\u3001\u5F00\u53D1\u3001commit\u3001push \u6216\u53D1\u5E03\u3002\u914D\u5BF9\u53D8\u66F4\u524D\u5148\u505C\u7528\u53EA\u8BFB\u6267\u884C\uFF1B\u53D7\u7406\u548C\u539F\u751F DSH \u4E0D\u53D7\u8BE5\u6388\u6743\u6269\u5927\u3002")),v&&ae.default.createElement("div",{className:"connection-result",role:"status"},ae.default.createElement(S,{label:"\u539F\u64CD\u4F5C\u56DE\u6267",value:Wl[v.state]??"\u5F85\u6838\u5BF9"}),ae.default.createElement("p",{className:"fine-print"},s.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF1B\u6388\u6743\u786E\u8BA4\u4E0E\u5B9E\u9645\u8FD0\u884C\u5206\u5F00\u663E\u793A\u3002":s.freshness==="check_failed"?"\u67E5\u8BE2\u5931\u8D25\u3002\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u8FDB\u7A0B\u5728\u7EBF\u3002":"\u672C\u7AEF\u7F13\u5B58\uFF1B\u5C1A\u672A\u8FDE\u63A5\u4E91\u7AEF\u67E5\u8BE2\u3002")),g?.error&&ae.default.createElement("p",{className:"connection-error",role:"status"},hr[g.error]??"\u6388\u6743\u4E0E\u5B9E\u9645\u8FDB\u7A0B\u72B6\u6001\u4E0D\u4E00\u81F4\uFF0C\u9700\u8981\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u542F\u52A8\u6216\u4FEE\u590D\u3002"),t&&N&&ae.default.createElement("div",{className:"connection-utility"},ae.default.createElement("p",null,"\u5148\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4ECD\u65E0\u6CD5\u786E\u8BA4\u65F6\uFF0C\u53EF\u53E6\u884C\u5173\u95ED\u65E7\u8BF7\u6C42\u5E76\u963B\u65AD\u8FDF\u5230\u5E94\u7528\u3002\u4FDD\u7559\u5F53\u524D\u6388\u6743\u3001\u5BC6\u94A5\u548C\u4EFB\u52A1\u6570\u636E\uFF0C\u4E0D\u7B49\u4E8E\u505C\u7528\u3002"),ae.default.createElement(_,{kind:"soft",icon:"shield",disabled:m,onClick:()=>T("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u53D7\u7406\u64CD\u4F5C")),u&&ae.default.createElement("section",{className:"connection-confirm","aria-label":h+"\u4EFB\u52A1\u53D7\u7406\u786E\u8BA4"},ae.default.createElement("h3",null,u.recovery?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u72B6\u6001":u.workerEnabled?"\u786E\u8BA4\u542F\u7528\u53EA\u8BFB\u6267\u884C":u.enabled?"\u786E\u8BA4\u4EC5\u542F\u7528\u53D7\u7406 \xB7 \u53EA\u8BFB\u6267\u884C\u5173\u95ED":"\u786E\u8BA4\u505C\u7528\u53D7\u7406"),!u.recovery&&ae.default.createElement(S,{label:"\u5B9E\u9645 Host",value:u.target.name+" / "+u.target.platform}),ae.default.createElement(x,null,u.recovery?"\u4EC5\u63A8\u8FDB\u7248\u672C\u5C4F\u969C\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7248\u672C\u3002\u539F\u8BF7\u6C42\u82E5\u5DF2\u6210\u529F\uFF0C\u4F1A\u62A5\u544A\u6210\u529F\u800C\u4E0D\u662F\u5047\u62A5\u64A4\u9500\u3002":u.workerEnabled?"\u6302\u8F7D\u672C\u9879\u76EE\u72EC\u7ACB\u53EA\u8BFB worker\uFF0C\u53EF\u6309\u4EFB\u52A1\u6A21\u578B\u8C03\u7528\u4EA7\u751F\u8D39\u7528\uFF1B\u91CD\u542F\u540E\u81EA\u52A8\u6062\u590D\u5DF2\u6388\u6743\u7684\u53EA\u8BFB\u961F\u5217\u548C\u68C0\u67E5\u70B9\u3002\u53EA\u5411\u63D2\u4EF6\u79C1\u6709\u6210\u679C\u533A\u5199\u62A5\u544A\uFF0C\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165\u3001\u5F00\u53D1\u6216\u63D0\u4EA4\u63A8\u9001\u3002":u.enabled?"\u53EA\u6302\u8F7D\u672C\u9879\u76EE\u53D7\u7406\u4E0E\u4ED3\u5E93\u8BFB\u53D6\uFF1B\u505C\u6B62\u53EA\u8BFB\u8C03\u5EA6\u5E76\u4FDD\u7559\u961F\u5217\u3002\u4E0D\u4F1A\u542F\u52A8 worker\u3001\u8C03\u7528\u6A21\u578B\u3001\u914D\u5BF9\u53CC\u7AEF\u3001\u5199\u4ED3\u5E93\u6216\u63D0\u4EA4\u63A8\u9001\u3002":"\u4EC5\u5728\u53D7\u7406\u7A7A\u95F2\u65F6\u64A4\u4E0B\u672C\u9879\u76EE\u670D\u52A1\u4E0E\u5DE5\u5177\uFF0C\u4FDD\u7559\u914D\u7F6E\u548C\u4EFB\u52A1\u6570\u636E\uFF1B\u4E0D\u5173\u95ED\u539F\u751F DSH\u3002"),ae.default.createElement(R,{checked:a,disabled:m,onChange:f,title:u.workerEnabled&&!u.recovery?"\u6211\u540C\u610F\u53EA\u8BFB\u6A21\u578B\u6267\u884C\u3001\u8D39\u7528\u53CA\u91CD\u542F\u6062\u590D\uFF0C\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165":"\u6211\u5DF2\u6838\u5BF9\u8303\u56F4\uFF0C\u4E0D\u65B0\u589E\u6A21\u578B\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165\u6388\u6743"}),ae.default.createElement("div",{className:"connection-actions",role:"group","aria-label":h+"\u53D7\u7406\u6700\u7EC8\u786E\u8BA4"},ae.default.createElement(_,{kind:"primary",icon:"check",disabled:m||!a,onClick:()=>T(u.recovery?"recoveryApply":"apply")},u.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u53D7\u7406\u64CD\u4F5C":u.workerEnabled?"\u786E\u8BA4\u542F\u7528\u53EA\u8BFB\u6267\u884C":u.enabled?"\u786E\u8BA4\u4EC5\u4FDD\u7559"+h+"\u53D7\u7406":"\u786E\u8BA4\u505C\u7528"+h+"\u53D7\u7406"),ae.default.createElement(_,{kind:"secondary",disabled:m,onClick:()=>{l(null),f(!1)}},"\u53D6\u6D88"))),o&&ae.default.createElement("p",{className:"connection-error",role:"alert"},o),ae.default.createElement(x,null,"\u53D7\u7406\u3001\u6A21\u578B\u63A5\u5165\u3001\u4EFB\u52A1\u6267\u884C\u548C A2A \u4E0D\u662F\u540C\u4E00\u9879\u6388\u6743\u3002\u9875\u9762\u4E0D\u81EA\u52A8\u5237\u65B0\uFF0C\u4E5F\u4E0D\u8868\u793A\u516D\u9875\u914D\u7F6E\u5DF2\u5168\u90E8\u9A8C\u6536\u3002"))}var me=Ce(ge());var zl={not_started:"\u5C1A\u672A\u914D\u5BF9",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u914D\u5BF9\u64CD\u4F5C\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"},Kl={ONBOARDING_LOCAL_PAIR_OTHER_CONTROLLER:"\u8BE5\u4E91\u7AEF\u5DF2\u7ED1\u5B9A\u5176\u4ED6\u63A7\u5236\u7AEF\u3002\u4E3A\u4FDD\u62A4\u5386\u53F2\u90AE\u7BB1\uFF0C\u4E0D\u4F1A\u76F4\u63A5\u6362\u7ED1\u3002",ONBOARDING_LOCAL_PAIR_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\uFF0C\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002",ONBOARDING_LOCAL_PAIR_BUSY:"\u672C\u5730\u4F20\u8F93\u5C1A\u5728\u8FDB\u884C\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_LOCAL_PAIR_ALREADY_APPLIED:"\u539F\u914D\u5BF9\u5DF2\u83B7\u786E\u8BA4\uFF0C\u8BF7\u5237\u65B0\u67E5\u770B\uFF0C\u4E0D\u9700\u8981\u91CD\u53D1\u6216\u5173\u95ED\u3002",ONBOARDING_LOCAL_PAIR_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u8FC7\u671F\u6216\u5DF2\u6D88\u8017\uFF1B\u82E5\u70B9\u8FC7\u786E\u8BA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\u3002",ONBOARDING_TASK_RUNTIME_PAIR_RUNTIME_NOT_READY:"\u8BF7\u5148\u786E\u8BA4\u4E91\u7AEF\u4EFB\u52A1\u53D7\u7406\u5DF2\u542F\u7528\uFF0C\u518D\u9884\u89C8\u914D\u5BF9\u3002",ONBOARDING_TASK_RUNTIME_PAIR_BUSY:"\u4E91\u7AEF\u4F20\u8F93\u6216\u53D7\u7406\u5C1A\u672A\u7A7A\u95F2\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_CLOUD_PAIR_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u53D7\u7BA1\u914D\u5BF9\u3002\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u539F\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u5B89\u88C5\u548C\u8FDB\u7A0B\u72B6\u6001\u3002"};function gr({request:e}){let[t,s]=(0,me.useState)(null),[n,u]=(0,me.useState)(null),[l,a]=(0,me.useState)(!1),[f,m]=(0,me.useState)(!1),[p,i]=(0,me.useState)(!1),[c,o]=(0,me.useState)(""),r=(0,me.useRef)(!0),d=(0,me.useRef)(!1);(0,me.useEffect)(()=>(r.current=!0,e("local_pair_status",{refresh:!1}).then(h=>{r.current&&s(h)}).catch(()=>{r.current&&o("\u8BFB\u53D6\u672C\u5730\u914D\u5BF9\u8BB0\u5F55\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{r.current=!1}),[]);let L=p||["sending","needs_review","recovering"].includes(t?.operation.state);async function C(h,g){if(d.current)return;d.current=!0,m(!0),o("");let v=n;["apply","recoveryApply"].includes(h)&&(u(null),a(!1),i(!0)),h==="status"&&(u(null),a(!1));try{let N=h==="status"?{refresh:!0}:h==="preview"?{enabled:g}:h==="recoveryPreview"?{}:{id:v.id,fingerprint:v.fingerprint,confirm:!0},T=await e("local_pair_"+h,N);if(!r.current)return;["preview","recoveryPreview"].includes(h)?(u({...T,recovery:h==="recoveryPreview"}),a(!1)):(s(T),i(!1))}catch(N){r.current&&(o(Kl[N.message]??"\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u540C\u4E00\u914D\u5BF9\u56DE\u6267\uFF0C\u4E0D\u91CD\u53D1\u3001\u4E0D\u6539\u6295\u5176\u4ED6 Host\u3002"),h==="status"&&s(T=>T?{...T,remote:null,freshness:"check_failed"}:null))}finally{d.current=!1,r.current&&m(!1)}}return me.default.createElement(V,{className:"connection-panel",title:"\u672C\u5730\u4E0E\u4E91\u7AEF\u76F4\u8FDE",icon:"cloud",sub:"\u6CBF\u7528\u5DF2\u6838\u5BF9\u7684 SSH \u76EE\u6807\uFF1B\u4E0D\u4F9D\u8D56 IM \u7FA4\u804A\uFF0C\u4E5F\u4E0D\u590D\u5236\u4E91\u7AEF\u5185\u90E8\u4EE4\u724C\u3002"},me.default.createElement(S,{label:"\u64CD\u4F5C\u8303\u56F4",value:"\u5F53\u524D\u672C\u5730\u5927\u80A5\u9C7C \u2194 \u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684\u4E91\u7AEF\u5927\u80A5\u9C7C"}),me.default.createElement(S,{label:"\u672C\u5730\u6388\u6743",value:t?.localEnabled?"\u5DF2\u5141\u8BB8\u8FDE\u63A5":"\u5C1A\u672A\u5141\u8BB8\u8FDE\u63A5"}),me.default.createElement(S,{label:"\u672C\u5730\u63A5\u5165",value:t?.mounted?"\u63A5\u5165\u5668\u5DF2\u6302\u8F7D \xB7 \u4E0D\u4EE3\u8868\u4E91\u7AEF\u5728\u7EBF":"\u63A5\u5165\u5668\u672A\u6302\u8F7D"}),me.default.createElement(S,{label:"\u4E91\u7AEF\u89C2\u5BDF",value:t?.remote?t.remote.mounted?"\u63A5\u6536\u901A\u9053\u5DF2\u6302\u8F7D":t.remote.enabled?"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u672A\u6302\u8F7D":"\u63A5\u6536\u901A\u9053\u672A\u542F\u7528":"\u5C1A\u65E0\u672C\u6B21\u4E91\u7AEF\u89C2\u5BDF"}),me.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53CC\u7AEF\u76F4\u8FDE\u64CD\u4F5C"},me.default.createElement(_,{kind:"primary",icon:"cloud",disabled:f||!!L||!!t?.localEnabled,onClick:()=>C("preview",!0)},"\u9884\u89C8\u53CC\u7AEF\u914D\u5BF9"),me.default.createElement(_,{kind:"secondary",icon:"pause",disabled:f||!!L||!t?.operation.target,onClick:()=>C("preview",!1)},"\u9884\u89C8\u64A4\u9500\u914D\u5BF9"),me.default.createElement(_,{kind:"secondary",icon:"reset",disabled:f,onClick:()=>C("status")},"\u624B\u52A8\u5237\u65B0\u76F4\u8FDE\u72B6\u6001")),t&&me.default.createElement("div",{className:"connection-result",role:"status"},me.default.createElement(S,{label:"\u64CD\u4F5C\u56DE\u6267",value:zl[t.operation.state]??"\u5F85\u6838\u5BF9"}),me.default.createElement("p",{className:"fine-print"},t.freshness==="remote_checked"?"\u5DF2\u67E5\u8BE2\u7ED1\u5B9A\u76EE\u6807\u3002\u672C\u6B21\u89C2\u5BDF\u4E0D\u6388\u4E88\u4EFB\u52A1\u6267\u884C\u6216\u5199\u5165\u6743\u9650\u3002":t.freshness==="check_failed"?"\u67E5\u8BE2\u5931\u8D25\uFF1B\u672C\u5730\u5DF2\u6302\u8F7D\u4E0D\u8BC1\u660E\u7F51\u7EDC\u6216\u4E91\u7AEF\u5065\u5EB7\u3002":"\u4EC5\u672C\u5730\u7F13\u5B58\u3002\u6253\u5F00\u9875\u9762\u4E0D\u4F1A\u81EA\u52A8\u8FDE\u63A5\u4E91\u7AEF\u5237\u65B0\u3002")),t?.activationError&&me.default.createElement("p",{className:"connection-error",role:"status"},"\u672C\u5730\u6388\u6743\u4E0E\u6302\u8F7D\u72B6\u6001\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u8986\u76D6\u5176\u4ED6\u7F51\u5173\u3002"),L&&me.default.createElement("div",{className:"connection-utility"},me.default.createElement("p",null,"\u5148\u67E5\u8BE2\u539F\u64CD\u4F5C\u3002\u4ECD\u672A\u77E5\u65F6\u53EF\u5173\u95ED\u65E7\u8BF7\u6C42\u5E76\u963B\u65AD\u8FDF\u5230\u5E94\u7528\uFF1B\u4FDD\u7559\u4E91\u7AEF\u65E2\u6709\u6388\u6743\uFF0C\u672C\u5730\u4E0D\u4F1A\u56E0\u6B64\u81EA\u52A8\u63A5\u7BA1\u3002"),me.default.createElement(_,{kind:"soft",icon:"shield",disabled:f,onClick:()=>C("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u64CD\u4F5C")),n&&me.default.createElement("section",{className:"connection-confirm","aria-label":"\u53CC\u7AEF\u914D\u5BF9\u786E\u8BA4"},me.default.createElement("h3",null,n.recovery?"\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u8BF7\u6C42":n.enabled?"\u786E\u8BA4\u8FDE\u63A5\u8FD9\u4E24\u4E2A Host":"\u786E\u8BA4\u64A4\u9500\u53CC\u7AEF\u914D\u5BF9"),me.default.createElement(S,{label:"\u4E91\u7AEF\u8303\u56F4",value:"\u5DF2\u7ED1\u5B9A ECS / DSH "+n.target.hostVersion}),me.default.createElement(x,null,n.recovery?"\u4FDD\u7559\u4E91\u7AEF\u5F53\u524D\u6388\u6743\uFF0C\u4EC5\u5173\u95ED\u539F\u64CD\u4F5C\u5E76\u963B\u65AD\u8FDF\u5230\u786E\u8BA4\uFF1B\u4E0D\u4EE3\u8868\u4E91\u7AEF\u5DF2\u505C\u7528\u3002\u539F\u786E\u8BA4\u82E5\u5148\u6210\u529F\uFF0C\u4F1A\u5982\u5B9E\u663E\u793A\u5DF2\u751F\u6548\u3002":n.enabled?"\u542F\u7528\u672C\u5730\u53D7\u7406\u3001\u4EFB\u52A1\u4E0E\u4ED3\u5E93\u8BFB\u53D6\u548C\u6301\u4E45\u6D88\u606F\u4F20\u8F93\u3002\u4F20\u8F93\u5668\u4F1A\u5904\u7406\u5DF2\u6388\u6743\u961F\u5217\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u3001\u5F00\u542F worker\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002":"\u5148\u505C\u6B62\u672C\u5730\u63A5\u5165\uFF0C\u518D\u8BF7\u6C42\u64A4\u9500\u4E91\u7AEF\u914D\u5BF9\u3002\u5386\u53F2\u4EFB\u52A1\u4E0E\u90AE\u7BB1\u4FDD\u7559\uFF0C\u4E0D\u5173\u95ED\u539F\u751F DSH\u3002\u82E5\u7F51\u7EDC\u4E2D\u65AD\u987B\u6838\u5BF9\u4E91\u7AEF\u56DE\u6267\u3002"),me.default.createElement(R,{checked:l,disabled:f,onChange:a,title:"\u6211\u5DF2\u6838\u5BF9\u53CC\u7AEF\u8303\u56F4\uFF0C\u4E0D\u6388\u6743\u6A21\u578B\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165"}),me.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53CC\u7AEF\u914D\u5BF9\u6700\u7EC8\u786E\u8BA4"},me.default.createElement(_,{kind:"primary",icon:"check",disabled:f||!l,onClick:()=>C(n.recovery?"recoveryApply":"apply")},n.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u64CD\u4F5C":n.enabled?"\u786E\u8BA4\u53CC\u7AEF\u914D\u5BF9":"\u786E\u8BA4\u64A4\u9500\u53CC\u7AEF\u914D\u5BF9"),me.default.createElement(_,{kind:"secondary",disabled:f,onClick:()=>{u(null),a(!1)}},"\u53D6\u6D88"))),c&&me.default.createElement("p",{className:"connection-error",role:"alert"},c),me.default.createElement(x,null,"\u8BF7\u5148\u5F00\u542F\u4E91\u7AEF\u4EFB\u52A1\u53D7\u7406\uFF1B\u505C\u7528\u53D7\u7406\u524D\u987B\u64A4\u9500\u914D\u5BF9\u3002\u9875\u9762\u4EC5\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u628A\u914D\u7F6E\u5B8C\u6210\u5F53\u4F5C\u6A21\u578B\u6216 IM \u5168\u94FE\u8DEF\u9A8C\u6536\u901A\u8FC7\u3002"))}var J=Ce(ge());var Xl={ONBOARDING_REPOSITORY_ALIAS_CONFLICT:"\u8FD9\u4E2A\u522B\u540D\u5DF2\u7ECF\u767B\u8BB0\u7ED9\u5176\u4ED6\u4ED3\u5E93\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_REPOSITORY_REGISTRY_ARGUMENTS:"\u8BF7\u6838\u5BF9\u4ED3\u5E93\u5730\u5740\u548C\u522B\u540D\uFF1B\u4E0D\u8981\u586B\u5199\u4EE4\u724C\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_REQUIRED:"\u76EE\u6807\u7AEF\u6CA1\u6709\u672C\u9879\u76EE Gitee \u4EE4\u724C\u3002\u8BF7\u5148\u4FDD\u5B58\uFF0F\u4EA4\u63A5\uFF0C\u6216\u660E\u786E\u9009\u62E9\u533F\u540D\u8BBF\u95EE\u516C\u5F00\u4ED3\u5E93\u3002",ONBOARDING_REPOSITORY_RECOVERY_REQUIRED:"\u4E0A\u6B21\u4E91\u7AEF\u767B\u8BB0\u5C1A\u5F85\u6838\u5BF9\uFF0C\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002\u8BF7\u5148\u5237\u65B0\u539F\u56DE\u6267\uFF0C\u5FC5\u8981\u65F6\u9884\u89C8\u5173\u95ED\u672A\u77E5\u64CD\u4F5C\u3002",ONBOARDING_REPOSITORY_PLAN_EXPIRED:"\u786E\u8BA4\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u88AB\u6D88\u8017\u3002\u82E5\u66FE\u70B9\u51FB\u786E\u8BA4\uFF0C\u8BF7\u5148\u5237\u65B0\u56DE\u6267\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u590D\u767B\u8BB0\u3002",ONBOARDING_REPOSITORY_REGISTRY_CONFLICT:"\u767B\u8BB0\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u6CA1\u6709\u8986\u76D6\u65B0\u7248\u672C\u3002\u8BF7\u5237\u65B0\u540E\u91CD\u65B0\u5BA1\u9605\u3002",ONBOARDING_REPOSITORY_ALREADY_APPLIED:"\u539F\u64CD\u4F5C\u5DF2\u767B\u8BB0\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u67E5\u770B\u56DE\u6267\uFF0C\u65E0\u9700\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u767B\u8BB0\u5408\u540C\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_REPOSITORY_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u767B\u8BB0\u4E0E\u6062\u590D\u5408\u540C\uFF0C\u4E0D\u56DE\u9000\u5230\u65E7\u63A5\u53E3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u53D7\u7BA1\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u6838\u5BF9\u7B2C 6 \u9875\uFF1B\u4E0D\u4F1A\u6539\u767B\u8BB0\u5230\u672C\u7AEF\u3002"},$l=e=>e?.replace(/^git@gitee\.com:/,"https://gitee.com/").replace(/\.git\/?$/,"").replace(/\/$/,"").toLowerCase(),Ql={not_started:"\u5C1A\u65E0\u672C\u8F6E\u4E91\u7AEF\u767B\u8BB0\u64CD\u4F5C",sending:"\u5DF2\u8BB0\u53D1\u9001\u610F\u56FE \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u6B63\u5728\u6838\u5BF9\u5173\u95ED\u7ED3\u679C",applied:"\u539F\u767B\u8BB0\u56DE\u6267\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"};function At({request:e,url:t,alias:s,cloud:n=!1}){let[u,l]=(0,J.useState)("anonymous"),[a,f]=(0,J.useState)(null),[m,p]=(0,J.useState)(null),[i,c]=(0,J.useState)(!1),[o,r]=(0,J.useState)(!1),[d,L]=(0,J.useState)(""),[C,h]=(0,J.useState)(!1),g=(0,J.useRef)(!0),v=(0,J.useRef)(!1),N=(0,J.useRef)(""),T=JSON.stringify([t,s,u,n]);N.current=T;let w=n?"cloud_repository_registry_":"repository_registry_",P=n?"\u4E91\u7AEF":"\u672C\u7AEF",D=s?.trim()||t?.replace(/\/$/,"").split("/").pop()?.replace(/\.git$/,"")||"";(0,J.useEffect)(()=>(g.current=!0,e(w+"status",n?{refresh:!1}:{}).then(fe=>{g.current&&f(fe)}).catch(()=>{g.current&&L("\u672C\u7AEF\u767B\u8BB0\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u6838\u5BF9\u3002")}),()=>{g.current=!1}),[n]),(0,J.useEffect)(()=>{p(null),c(!1)},[T]);let O=n?a?.registry:a,W=n?a?.operation:null,j=O?.entries?.find(fe=>fe.url.toLowerCase()===$l(t)),H=n?W&&["sending","needs_review","recovering"].includes(W.state):C;async function Ie(fe,Ke){if(v.current)return;v.current=!0,r(!0),L("");let Qe=T,Ee=m;(fe==="apply"||fe==="recoveryApply")&&(p(null),c(!1),h(!0));try{let Ae;fe==="status"?(p(null),c(!1),Ae=n?{refresh:!0}:{}):fe==="preview"?Ae=Ke?{url:t,alias:D,authentication:u,enabled:!0}:{url:j.url,alias:j.alias,authentication:j.authentication,enabled:!1}:fe==="recoveryPreview"?Ae={}:Ae={id:Ee.id,fingerprint:Ee.fingerprint,confirm:!0};let se=await e(w+fe,Ae);if(!g.current)return;fe==="preview"||fe==="recoveryPreview"?N.current===Qe&&(p({...se,recovery:fe==="recoveryPreview"}),c(!1)):(f(se),h(!1))}catch(Ae){g.current&&(L(Xl[Ae.message]??"\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u539F\u8BB0\u5F55\uFF0C\u4E0D\u4F9D\u636E\u9519\u8BEF\u63A8\u65AD\u672A\u5199\u5165\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"),fe==="status"&&f(se=>n&&se?{...se,registry:null,freshness:"check_failed"}:null))}finally{v.current=!1,g.current&&r(!1)}}return J.default.createElement(V,{className:"connection-panel",title:P+"\u4ED3\u5E93\u767B\u8BB0",icon:"git",sub:"\u628A\u8349\u7A3F\u53D8\u6210\u660E\u786E\u767B\u8BB0\uFF1B\u4E0D\u662F\u4EFB\u52A1\u7ED1\u5B9A\uFF0C\u4E5F\u4E0D\u5F00\u653E\u5F00\u53D1\u6216 Git \u5199\u5165\u3002"},J.default.createElement(S,{label:"\u767B\u8BB0\u4F4D\u7F6E",value:n?"\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684\u4E91\u7AEF Host \xB7 \u4E0D\u6539\u672C\u7AEF":"\u5F53\u524D Host \xB7 \u4E0D\u81EA\u52A8\u540C\u6B65\u4E91\u7AEF"}),J.default.createElement(S,{label:"\u62DF\u7528\u522B\u540D",value:D||"\u586B\u5199\u5730\u5740\u540E\u9ED8\u8BA4\u4F7F\u7528\u4ED3\u5E93\u540D\u79F0\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u522B\u540D"}),J.default.createElement(Se,{label:"\u767B\u8BB0\u8BBF\u95EE\u8EAB\u4EFD"},J.default.createElement("select",{value:u,disabled:o,onChange:fe=>l(fe.target.value)},J.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),J.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C"))),J.default.createElement("div",{className:"connection-actions",role:"group","aria-label":P+"\u4ED3\u5E93\u767B\u8BB0\u64CD\u4F5C"},J.default.createElement(_,{kind:"primary",icon:o?"spinner":"git",disabled:o||!t||!D||!!H,onClick:()=>Ie("preview",!0)},"\u9884\u89C8",P,"\u4ED3\u5E93\u767B\u8BB0"),J.default.createElement(_,{kind:"secondary",icon:"pause",disabled:o||!j?.enabled||!!H,onClick:()=>Ie("preview",!1)},"\u9884\u89C8\u505C\u7528",P,"\u767B\u8BB0"),J.default.createElement(_,{kind:"secondary",icon:"reset",disabled:o,onClick:()=>Ie("status")},"\u624B\u52A8\u5237\u65B0",P,"\u767B\u8BB0")),W&&J.default.createElement("div",{className:"connection-result",role:"status"},J.default.createElement(S,{label:"\u539F\u64CD\u4F5C",value:Ql[W.state]??"\u5F85\u6838\u5BF9"}),J.default.createElement("p",{className:"fine-print"},a.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF1B\u4EC5\u4EE3\u8868\u672C\u6B21\u89C2\u5BDF\u3002":a.freshness==="check_failed"?"\u672C\u6B21\u67E5\u8BE2\u5931\u8D25\uFF0C\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u5728\u7EBF\u3002":"\u672C\u7AEF\u5386\u53F2\u8BB0\u5F55\uFF0C\u5C1A\u672A\u67E5\u8BE2\u4E91\u7AEF\u3002")),O&&J.default.createElement("div",{className:"connection-result",role:"status"},J.default.createElement(S,{label:"\u5F53\u524D\u5730\u5740\u7684\u767B\u8BB0",value:j?j.enabled?"\u5DF2\u767B\u8BB0 \xB7 "+j.alias:"\u5DF2\u505C\u7528\uFF0C\u4FDD\u7559\u8BB0\u5F55":"\u672A\u767B\u8BB0"}),J.default.createElement(S,{label:"\u4EFB\u52A1\u8FD0\u884C\u65F6",value:O.runtimeConfigured?"\u76EE\u6807\u914D\u7F6E\u5DF2\u63A5\u5165\uFF1B\u4EFB\u52A1\u4ECD\u987B\u53E6\u884C\u5173\u8054\u548C\u5BA1\u6279":"\u5C1A\u672A\u542F\u7528\u6B64\u767B\u8BB0\u7684\u4E91\u7AEF\u4EFB\u52A1\u8FD0\u884C\u65F6\uFF1B\u4FDD\u5B58\u4E0D\u4EE3\u8868\u53EF\u6267\u884C"}),J.default.createElement("p",{className:"fine-print"},"\u767B\u8BB0\u4FEE\u8BA2 ",O.revision,"\uFF1B\u4E0D\u662F\u4ED3\u5E93\u5185\u5BB9\u6216\u6743\u9650\u7684\u6301\u7EED\u76D1\u63A7\u3002")),n&&H&&J.default.createElement("div",{className:"connection-utility"},J.default.createElement("p",null,"\u5148\u5237\u65B0\u539F\u56DE\u6267\u3002\u4ECD\u672A\u786E\u8BA4\u65F6\uFF0C\u53EF\u5355\u72EC\u5173\u95ED\u539F\u64CD\u4F5C\u5E76\u963B\u65AD\u8FDF\u5230\u8BF7\u6C42\uFF1B\u4E0D\u5220\u9664\u4ED3\u5E93\u767B\u8BB0\u6216\u51ED\u636E\u3002"),J.default.createElement(_,{kind:"soft",icon:"shield",disabled:o,onClick:()=>Ie("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u767B\u8BB0")),m&&J.default.createElement("section",{className:"connection-confirm","aria-label":P+"\u4ED3\u5E93\u767B\u8BB0\u786E\u8BA4"},J.default.createElement("h3",null,m.recovery?"\u5173\u95ED\u672A\u77E5\u767B\u8BB0\uFF0C\u4E0D\u91CD\u53D1":m.entry.enabled?"\u786E\u8BA4\u767B\u8BB0\u8BA1\u5212":"\u786E\u8BA4\u505C\u7528\u8BA1\u5212"),!m.recovery&&J.default.createElement(J.default.Fragment,null,J.default.createElement(S,{label:"\u4ED3\u5E93",value:m.entry.url}),J.default.createElement(S,{label:"\u522B\u540D",value:m.entry.alias}),J.default.createElement(S,{label:"\u8BBF\u95EE\u65B9\u5F0F",value:m.entry.authentication==="anonymous"?"\u533F\u540D\uFF0C\u4E0D\u4F7F\u7528\u4EFB\u4F55\u5DF2\u5B58\u4EE4\u724C":"\u4EC5\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C"}),J.default.createElement(S,{label:"\u5B9E\u9645 Host",value:m.target.name+" / "+m.target.platform})),J.default.createElement(x,null,m.recovery?"\u4EC5\u63A8\u8FDB\u767B\u8BB0\u7248\u672C\u5C4F\u969C\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7684\u7248\u672C\uFF1B\u4FDD\u7559\u5F53\u524D\u6240\u6709\u6761\u76EE\uFF0C\u4E0D\u91CD\u53D1\u539F\u767B\u8BB0\u3002\u82E5\u539F\u8BF7\u6C42\u5DF2\u6210\u529F\uFF0C\u4F1A\u663E\u793A\u539F\u767B\u8BB0\u751F\u6548\uFF0C\u800C\u4E0D\u662F\u5047\u62A5\u64A4\u9500\u3002":"\u4EC5\u4FDD\u5B58\u6216\u505C\u7528\u8FD9\u4E2A\u5730\u5740\u7684\u767B\u8BB0\u3002\u539F\u4EFB\u52A1\u5173\u8054\u4E0D\u53D8\uFF1B\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u4ECD\u987B\u72EC\u7ACB\u5BA1\u6279\u3002"),J.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4EC5\u53D8\u66F4\u672C\u9879\u76EE\u4ED3\u5E93\u767B\u8BB0\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216 Git \u5199\u5165",checked:i,onChange:c}),J.default.createElement("div",{className:"connection-actions",role:"group","aria-label":P+"\u4ED3\u5E93\u767B\u8BB0\u6700\u7EC8\u786E\u8BA4"},J.default.createElement(_,{kind:"primary",icon:"check",disabled:o||!i,onClick:()=>Ie(m.recovery?"recoveryApply":"apply")},m.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u767B\u8BB0":m.entry.enabled?"\u786E\u8BA4"+P+"\u4ED3\u5E93\u767B\u8BB0":"\u786E\u8BA4\u505C\u7528"+P+"\u767B\u8BB0"),J.default.createElement(_,{kind:"secondary",disabled:o,onClick:()=>{p(null),c(!1)}},"\u53D6\u6D88"))),d&&J.default.createElement("p",{className:"connection-error",role:"alert"},d),J.default.createElement(x,null,"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u767B\u8BB0\u72EC\u7ACB\uFF1BGitee \u4ECD\u4E0D\u662F\u901A\u4FE1\u901A\u9053\u6216\u4EFB\u52A1\u9501\u3002\u9875\u9762\u4E0D\u81EA\u52A8\u5237\u65B0\uFF0C\u4E0D\u8BBF\u95EE Gitee \u7F51\u9875\u3002"))}var _e=Ce(ge());var eo={"deepseek-local":"\u672C\u7AEF DeepSeek","deepseek-cloud":"\u9884\u5907\u4E91\u7AEF DeepSeek","token-plan":"\u672C\u7AEF\u963F\u91CC\u4E91 Token Plan","token-plan-cloud":"\u9884\u5907\u4E91\u7AEF Token Plan",gitee:"\u672C\u7AEF Gitee","gitee-cloud":"\u9884\u5907\u4E91\u7AEF Gitee"};function ao({request:e,onReference:t,category:s="model"}){let n=s==="repository",[u,l]=(0,_e.useState)([]),[a,f]=(0,_e.useState)(!1),[m,p]=(0,_e.useState)(""),[i,c]=(0,_e.useState)(null),[o,r]=(0,_e.useState)(""),[d,L]=(0,_e.useState)(!1),[C,h]=(0,_e.useState)("");(0,_e.useEffect)(()=>{let w=!0;return e("secret_status",{}).then(P=>{w&&l(P.slots)}).catch(()=>{w&&p("\u51ED\u636E\u72B6\u6001\u672A\u8BFB\u53D6\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\u540E\u518D\u64CD\u4F5C\u3002")}),()=>{w=!1}},[]);async function g(){f(!0),p("");try{l((await e("secret_status",{})).slots)}catch{p("\u72B6\u6001\u6838\u5BF9\u5931\u8D25\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u4FDD\u5B58\u3002")}finally{f(!1)}}let v=()=>{a||(c(null),r(""),L(!1))};async function N(w){if(a||!d||!i||!w&&!o)return;f(!0),p(""),h("");let P={slot:i.slot,expectedRevision:i.revision,operation:crypto.randomUUID(),confirm:!0,...w?{}:{secret:o}};r("");try{let D=await e(w?"secret_remove":"secret_put",P);l(O=>O.map(W=>W.slot===D.slot?D:W)),h(w?"\u5DF2\u79FB\u9664\u672C\u9879\u76EE\u4FDD\u5B58\u7684\u51ED\u636E\uFF1B\u5176\u4ED6\u7528\u6237\u51ED\u636E\u4E0D\u53D8\u3002":"\u5DF2\u5B58\u5165\u5F53\u524D Host \u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF1B\u672C\u6B21\u4FDD\u5B58\u4E0D\u9A8C\u8BC1\u6709\u6548\u6027\u3001\u4E0D\u6267\u884C\u4E91\u7AEF\u4EA4\u63A5\uFF1B\u4EA4\u63A5\u72B6\u6001\u8BF7\u770B\u7B2C 6 \u9875\u3002"),c(null),L(!1)}catch{p("\u64CD\u4F5C\u7ED3\u679C\u9700\u6838\u5BF9\uFF0C\u53EF\u80FD\u5DF2\u4FDD\u5B58\u3002\u8BF7\u5148\u5173\u95ED\u7A97\u53E3\u5E76\u624B\u52A8\u6838\u5BF9\u72B6\u6001\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u590D\u4FDD\u5B58\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{P.secret=void 0,f(!1)}}let T=i?{title:eo[i.slot]+"\u51ED\u636E",body:_e.default.createElement(_e.default.Fragment,null,_e.default.createElement("p",null,n?"\u53EA\u4FDD\u5B58\u672C\u9879\u76EE Gitee API \u4EE4\u724C\uFF0C\u4E0D\u6536\u53D6\u6216\u590D\u5236 SSH \u79C1\u94A5\uFF1B\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165\u3002":"\u8FD9\u91CC\u53EA\u7BA1\u7406\u672C\u9879\u76EE\u72EC\u7ACB\u8BB0\u5F55\uFF0C\u4E0D\u8986\u76D6 DEEPSEEK_API_KEY \u7B49\u5DF2\u6709\u7528\u6237\u5F15\u7528\u3002","\u201C\u9884\u5907\u4E91\u7AEF\u201D\u69FD\u4F4D\u6682\u5B58\u4E8E\u5F53\u524D Host\uFF1B\u4FDD\u5B58\u4E0D\u4F1A\u81EA\u52A8\u4F20\u9001\u5230 ECS\uFF0C\u5B9E\u9645\u4EA4\u63A5\u4EE5\u7B2C 6 \u9875\u8D26\u672C\u4E3A\u51C6\u3002"),_e.default.createElement(Se,{label:n?"Gitee \u8BBF\u95EE\u4EE4\u724C":"API Key",type:"password",value:o,autoComplete:"new-password",spellCheck:!1,onChange:w=>r(w.target.value)}),_e.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4FDD\u5B58\u6216\u79FB\u9664\u8FD9\u4E2A\u72EC\u7ACB\u51ED\u636E",checked:d,onChange:L}),m&&_e.default.createElement("p",{role:"alert"},m),_e.default.createElement("div",{className:"form-actions"},_e.default.createElement(_,{disabled:a||!d||!o||!!m,onClick:()=>N(!1)},"\u4FDD\u5B58\u51ED\u636E"),i.configured&&_e.default.createElement(_,{disabled:a||!d||!!m,onClick:()=>N(!0)},"\u79FB\u9664\u51ED\u636E"),_e.default.createElement(_,{kind:"text",disabled:a,onClick:v},"\u5173\u95ED")))}:null;return _e.default.createElement(V,{title:n?"\u53EF\u9009 Gitee \u51ED\u636E":"\u5B89\u5168\u4FDD\u5B58 Key",icon:"key",sub:n?"\u516C\u5F00\u4ED3\u5E93\u53EF\u4E0D\u586B\uFF1B\u79C1\u6709\u4ED3\u5E93\u4F7F\u7528\u72EC\u7ACB\u53D7\u7BA1\u4EE4\u724C\uFF0C\u4E0D\u80FD\u636E\u6B64\u83B7\u5F97\u4E1A\u52A1\u5199\u5165\u6388\u6743\u3002":"\u624B\u52A8\u4FDD\u5B58\u5230\u5B98\u65B9 Host \u51ED\u636E\u670D\u52A1\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u3002"},_e.default.createElement(x,null,"\u5B98\u65B9\u9ED8\u8BA4\u5B58\u50A8\u4E3A\u4EC5\u5C5E\u4E3B\u53EF\u8BFB\u7684\u672C\u673A\u6587\u4EF6\uFF0C\u4E0D\u662F\u63D2\u4EF6\u52A0\u5BC6\u6216 OS \u8EAB\u4EFD\u9694\u79BB\u3002\u4E0D\u8981\u628A Key \u5199\u5165\u666E\u901A\u8868\u5355\u3001\u804A\u5929\u3001\u89C4\u5219\u6216 Skill\u3002"),u.filter(w=>n?w.slot.startsWith("gitee"):!w.slot.startsWith("gitee")).map(w=>_e.default.createElement("div",{className:"credential-row",key:w.slot},_e.default.createElement(S,{label:eo[w.slot],value:w.configured?"\u5DF2\u4FDD\u5B58 \xB7 \u4E0D\u4EE3\u8868\u8FDE\u901A":"\u672A\u914D\u7F6E"}),_e.default.createElement("div",{className:"credential-actions",role:"group","aria-label":eo[w.slot]+"\u51ED\u636E\u64CD\u4F5C"},_e.default.createElement(_,{kind:"soft",icon:"key",disabled:a||!!m||!w.writable,onClick:()=>{c(w),L(!1),r("")}},"\u7BA1\u7406\u51ED\u636E"),t&&_e.default.createElement(_,{kind:"secondary",icon:"link",disabled:a||!w.configured||!!m,onClick:()=>t(w.slot,w.reference)},"\u4F7F\u7528\u6B64\u5F15\u7528")))),_e.default.createElement("div",{className:"form-actions"},_e.default.createElement(_,{kind:"secondary",icon:"reset",disabled:a,onClick:g},"\u624B\u52A8\u6838\u5BF9\u51ED\u636E\u72B6\u6001")),C&&_e.default.createElement("p",{role:"status"},C),m&&!i&&_e.default.createElement("p",{role:"alert"},m),_e.default.createElement(sa,{modal:T,onClose:v}))}var ce=Ce(ge());var Yl={running:"\u6B63\u5728\u9A8C\u8BC1 \xB7 \u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2",succeeded:"\u672C\u6B21\u8BF7\u6C42\u6210\u529F",failed:"\u672C\u6B21\u8BF7\u6C42\u5931\u8D25",unknown:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1"},Zl={ONBOARDING_CLOUD_MODEL_CLARIFICATION_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u964D\u7EA7\u9A8C\u8BC1\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_CLARIFICATION_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u964D\u7EA7\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_BINDING_REQUIRED:"\u8BF7\u5148\u5355\u72EC\u542F\u7528\u6B64\u7AEF\u7684\u6A21\u578B\u63A5\u5165\uFF0C\u518D\u9884\u89C8\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_MODEL_SELECTION_REQUIRED:"\u6A21\u578B\u540D\u79F0\u8FD8\u4E0D\u80FD\u552F\u4E00\u5339\u914D\u3002\u8BF7\u5148\u7528\u4E0A\u65B9\u201C\u6A21\u578B\u540D\u79F0\u6838\u5BF9\u201D\u67E5\u770B\u5019\u9009\uFF0C\u518D\u586B\u5199\u201C\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E\u201D\uFF1B\u65E0\u9700\u8F93\u5165 provider \u7F16\u53F7\u3002",ONBOARDING_MODEL_PROBE_OWN_ROUTE_REQUIRED:"\u6240\u586B\u6A21\u578B\u5C5E\u4E8E\u5176\u4ED6\u63A5\u5165\uFF0C\u4E0D\u4F1A\u501F\u7528\u5B83\u7684 Key\u3002\u8BF7\u4F7F\u7528\u672C\u9762\u677F\u63A5\u5165\u7684\u6A21\u578B\uFF0C\u6216\u5230\u5BF9\u5E94\u670D\u52A1\u9762\u677F\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_BUSY:"\u4E0A\u4E00\u6B21\u9A8C\u8BC1\u5C1A\u672A\u7ED3\u675F\u3002\u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2\uFF0C\u4E0D\u4F1A\u65B0\u589E\u8BF7\u6C42\u3002",ONBOARDING_MODEL_PROBE_UNKNOWN_ACK_REQUIRED:"\u4E0A\u4E00\u6B21\u7ED3\u679C\u672A\u77E5\uFF0C\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u518D\u660E\u786E\u786E\u8BA4\u662F\u5426\u53D1\u8D77\u4E00\u6B21\u65B0\u7684\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u5931\u6548\u6216 Host \u5DF2\u91CD\u542F\u3002\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u518D\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_MODEL_PROBE_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u6D88\u8D39\u3001\u8FC7\u671F\u6216\u672C\u7AEF\u5DF2\u91CD\u542F\u3002\u8BF7\u5148\u67E5\u8BE2\u4E91\u7AEF\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002",ONBOARDING_CLOUD_MODEL_PROBE_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u5F02\u6B65\u6A21\u578B\u9A8C\u8BC1\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_PROBE_UNSUPPORTED:"\u76EE\u6807 Host \u672A\u58F0\u660E\u5F02\u6B65\u6A21\u578B\u9A8C\u8BC1\u80FD\u529B\uFF1B\u4E0D\u964D\u7EA7\u8C03\u7528\u3001\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_MODEL_PROBE_UNAVAILABLE:"\u5F53\u524D Host \u7684\u6A21\u578B\u8BF7\u6C42\u80FD\u529B\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u4F9D\u8D56\u3002"};function Cr({request:e,query:t,clarification:s="",cloud:n=!1,service:u="deepseek"}){let l=n?"\u4E91\u7AEF":"\u672C\u7AEF",a=u==="token-plan",f=(n?"cloud_":"")+(a?"token_":"")+"model_probe_",m=JSON.stringify([t,s,n,u]),p=(0,ce.useRef)(m);p.current=m;let[i,c]=(0,ce.useState)(null),[o,r]=(0,ce.useState)(null),[d,L]=(0,ce.useState)(!1),[C,h]=(0,ce.useState)(!1),[g,v]=(0,ce.useState)(!1),[N,T]=(0,ce.useState)(!1),[w,P]=(0,ce.useState)("");(0,ce.useEffect)(()=>{r(null),L(!1)},[t,s,n,u]);async function D(j){v(!0),P("");try{if(j==="status"&&(T(!0),r(null),L(!1),c(await e(f+"status",{})),T(!1),h(!1)),j==="preview"){r(null),L(!1);let H=await e(f+"preview",{query:t,...s.trim()?{clarification:s.trim()}:{},acknowledgeUnknown:i?.receipt?.state==="unknown"&&C?i.receipt.id:null});p.current===m&&r(H)}if(j==="start"){if(!o||!d)return;let H=o;r(null),L(!1),c(null),T(!0),h(!1),c(await e(f+"start",{id:H.id,fingerprint:H.fingerprint,confirm:!0})),T(!1)}}catch(H){r(null),L(!1),P(Zl[H.message]??"\u64CD\u4F5C\u672A\u80FD\u6838\u9A8C\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2\u56DE\u6267\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u5207\u6362\u6A21\u578B\u6216\u501F\u7528\u5176\u4ED6\u51ED\u636E\u3002")}finally{v(!1)}}let O=i?.receipt,W=O?.state==="unknown";return ce.default.createElement("section",{className:"connection-utility connection-probe","aria-label":l+"\u5355\u6B21\u6A21\u578B\u8BF7\u6C42\u9A8C\u8BC1"},ce.default.createElement("div",null,ce.default.createElement("h3",null,"\u5355\u6B21\u6A21\u578B\u8BF7\u6C42\u9A8C\u8BC1"),ce.default.createElement("p",null,"\u4FDD\u5B58\u4E0E\u542F\u7528\u4E0D\u7B49\u4E8E\u8FDE\u901A\u3002\u56DE\u6267\u662F\u624B\u52A8\u67E5\u8BE2\u65F6\u7684\u5FEB\u7167\u3002\u6B64\u5904\u72EC\u7ACB\u786E\u8BA4\uFF0C\u53EA\u9A8C\u8BC1",l,"\u5F53\u524D\u63A5\u5165\uFF1B\u53EF\u80FD\u4EA7\u751F API \u8D39\u7528\u3002")),ce.default.createElement(S,{label:"\u51C6\u5907\u9A8C\u8BC1\u7684\u6A21\u578B",value:t?.trim()||"\u8BF7\u5148\u586B\u5199\u4E0A\u65B9\u6A21\u578B\u540D\u79F0\uFF0C\u4F8B\u5982 ds flash"}),s.trim()&&ce.default.createElement(S,{label:"\u63A5\u5165\u8865\u5145\u8BF4\u660E",value:s.trim()}),ce.default.createElement(S,{label:"\u8BF7\u6C42\u56DE\u6267",value:N?"\u53D1\u9001\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":O?Yl[O.state]:i?"\u5C1A\u65E0\u8BF7\u6C42\u8BB0\u5F55":"\u5C1A\u672A\u67E5\u8BE2"}),O&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement(S,{label:"\u4E0A\u6B21\u5B9E\u9645\u6A21\u578B",value:O.selection.model_name+" \xB7 "+O.selection.provider_name}),ce.default.createElement(S,{label:"\u56DE\u6267\u65F6\u95F4",value:new Date(O.completedAt??O.startedAt).toLocaleString()}),O.state==="succeeded"&&!O.verifiedForCurrentBinding&&ce.default.createElement(x,{tone:"warn"},"\u6B64\u6210\u529F\u5C5E\u4E8E\u65E7\u914D\u7F6E\uFF1B\u51ED\u636E\u6216\u63A5\u5165\u5DF2\u53D8\u5316\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u65AD\u5F53\u524D\u6A21\u578B\u53EF\u7528\u3002"),O.error&&ce.default.createElement("p",null,"\u539F\u56E0\u5206\u7C7B\uFF1A",O.error,"\u3002\u4E0D\u4F1A\u5C55\u793A\u4E0A\u6E38\u9519\u8BEF\u6B63\u6587\u6216\u51ED\u636E\u3002")),W&&ce.default.createElement(R,{title:"\u6211\u7406\u89E3\u4E0A\u6B21\u7ED3\u679C\u672A\u77E5\uFF0C\u65B0\u9A8C\u8BC1\u53EF\u80FD\u4EA7\u751F\u989D\u5916\u8D39\u7528",checked:C,onChange:h,disabled:g}),ce.default.createElement("div",{className:"connection-actions",role:"group","aria-label":l+"\u6A21\u578B\u9A8C\u8BC1\u64CD\u4F5C"},ce.default.createElement(_,{kind:"soft",icon:"play",disabled:g||N||O?.state==="running"||W&&!C||!t?.trim(),onClick:()=>D("preview")},"\u9884\u89C8\u4E00\u6B21",l,"\u9A8C\u8BC1"),ce.default.createElement(_,{kind:"secondary",icon:"reset",disabled:g,onClick:()=>D("status")},"\u624B\u52A8\u67E5\u8BE2",l,"\u8BF7\u6C42\u56DE\u6267")),o&&ce.default.createElement("section",{className:"connection-confirm","aria-label":l+"\u6A21\u578B\u9A8C\u8BC1\u786E\u8BA4"},ce.default.createElement("h3",null,"\u786E\u8BA4\u4E00\u6B21",l,"\u8BF7\u6C42"),ce.default.createElement(S,{label:"\u5B9E\u9645 Host",value:o.target.name+" \xB7 "+o.target.platform}),o.remoteTarget&&ce.default.createElement(S,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:o.remoteTarget.root}),ce.default.createElement(S,{label:"\u5B9E\u9645\u6A21\u578B",value:o.selection.model_name+" \xB7 "+o.selection.provider_name}),ce.default.createElement(S,{label:"\u8BF7\u6C42\u8303\u56F4",value:"1 \u6B21 \xB7 High \xB7 \u6700\u591A 1024 \u8F93\u51FA token \xB7 60 \u79D2"}),ce.default.createElement(x,null,"\u56FA\u5B9A\u8FDE\u901A\u63D0\u793A\uFF0C\u65E0\u5DE5\u5177\u3001\u4E0D\u542F\u52A8\u4EFB\u52A1\u3001\u4E0D\u4FEE\u6539\u9ED8\u8BA4\u6A21\u578B\u3002\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002\u5173\u95ED\u9875\u9762\u4E0D\u4F1A\u53D6\u6D88\u5DF2\u7ECF\u786E\u8BA4\u7684\u8BF7\u6C42\uFF1B\u91CD\u65B0\u8FDB\u5165\u540E\u624B\u52A8\u67E5\u8BE2\u3002"),ce.default.createElement(R,{title:"\u6211\u540C\u610F\u4EC5\u5411"+l+"\u4E0A\u8FF0\u6A21\u578B\u53D1\u8D77\u8FD9\u4E00\u6B21\u9A8C\u8BC1\u8BF7\u6C42\uFF08\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\uFF09",checked:d,onChange:L,disabled:g}),ce.default.createElement("div",{className:"connection-actions"},ce.default.createElement(_,{kind:"primary",icon:"check",disabled:g||!d,onClick:()=>D("start")},"\u786E\u8BA4\u5F00\u59CB\u4E00\u6B21",l,"\u9A8C\u8BC1"),ce.default.createElement(_,{kind:"secondary",disabled:g,onClick:()=>{r(null),L(!1)}},"\u53D6\u6D88\u9A8C\u8BC1\u9884\u89C8"))),w&&ce.default.createElement("p",{className:"connection-error",role:"alert"},w))}var te=Ce(ge());var Jl={not_configured:"\u672A\u63A5\u5165",configured_unverified:"\u5DF2\u63A5\u5165 \xB7 \u8BF7\u6C42\u7ED3\u679C\u89C1\u4E0B\u65B9\u56DE\u6267",disabled:"\u5DF2\u505C\u7528",credential_changed:"\u51ED\u636E\u5DF2\u53D8\u5316 \xB7 \u8BF7\u91CD\u65B0\u9884\u89C8\u786E\u8BA4",registration_pending:"\u6CE8\u518C\u5F85\u6838\u5BF9",needs_review:"\u9700\u8981\u6838\u5BF9",unavailable:"\u5F53\u524D Host \u80FD\u529B\u4E0D\u53EF\u7528",not_checked:"\u5C1A\u672A\u6838\u5BF9\u4E91\u7AEF \xB7 \u4E0D\u81EA\u52A8\u8FDE\u63A5"},jl={ONBOARDING_CLOUD_MODEL_CLARIFICATION_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_CLARIFICATION_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_TOKEN_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF Host \u5C1A\u4E0D\u652F\u6301 Token Plan \u51ED\u636E\u5408\u540C\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_UNAVAILABLE:"\u76EE\u6807\u4E91\u7AEF\u6A21\u578B\u63A5\u5165\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5207\u6362\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_FENCE_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u6B64\u670D\u52A1\u7684\u7248\u672C\u5C4F\u969C\uFF0C\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_TOKEN_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301 Token Plan \u4EA4\u63A5\u4E0E\u63A5\u5165\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5B8C\u5168\u5C31\u7EEA\u6216\u4ECD\u5728\u5B89\u88C5\uFF0F\u91CD\u542F\u6536\u5C3E\u3002\u8BF7\u7B49\u5F85\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED:"\u4E91\u7AEF\u5B9E\u4F8B\u8EAB\u4EFD\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u6838\u5BF9\u539F\u76EE\u6807\uFF0C\u4E0D\u4F7F\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_HANDOFF_IDENTITY_REVIEW:"\u4E91\u7AEF\u8EAB\u4EFD\u6216\u80FD\u529B\u5C1A\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u8F6C\u4EA4\u5176\u4ED6\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_RUNTIME_SOURCE_CHANGED:"\u4E91\u7AEF\u53D7\u7BA1\u7A0B\u5E8F\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u505C\u6B62\u64CD\u4F5C\uFF1B\u4E0D\u81EA\u52A8\u66FF\u6362\u6216\u4FEE\u590D\u3002",ONBOARDING_CLOUD_HANDOFF_AUTH_FAILED:"\u4E91\u7AEF\u539F\u751F\u8BBF\u95EE\u51ED\u636E\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u8BF7\u6838\u5BF9\u5F53\u524D\u8FD0\u884C\u65F6\uFF1B\u4E0D\u5C1D\u8BD5\u65E5\u5E38\u51ED\u636E\u6216\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_CLOUD_OPERATION_BUSY:"\u53E6\u4E00\u9879\u4E91\u7AEF\u64CD\u4F5C\u6B63\u5728\u5904\u7406\uFF0C\u8BF7\u7B49\u5F85\u5B83\u7ED3\u675F\u540E\u518D\u624B\u52A8\u6838\u5BF9\uFF1B\u672C\u6B21\u4E0D\u4F1A\u6392\u961F\u6267\u884C\u6216\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_CLOUD_MODEL_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u6A21\u578B\u63A5\u7EBF\uFF0C\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u63A7\u5236\u5668\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_MODEL_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u63A7\u5236\u7AEF\u5DF2\u91CD\u542F\uFF0C\u8BF7\u5148\u6838\u5BF9\u4E91\u7AEF\u5F53\u524D\u72B6\u6001\uFF0C\u518D\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_MODEL_IDENTITY_REVIEW:"\u76EE\u6807\u8EAB\u4EFD\u53D1\u751F\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u91CD\u65B0\u6838\u5BF9\u5B9E\u4F8B\uFF0C\u4E0D\u5C06\u65E7\u786E\u8BA4\u7528\u4E8E\u65B0\u76EE\u6807\u3002",ONBOARDING_MODEL_CREDENTIAL_REQUIRED:"\u8BF7\u5148\u4FDD\u5B58\u201C\u672C\u7AEF DeepSeek\u201D\u51ED\u636E\u3002\u9884\u5907\u4E91\u7AEF\u7684 Key \u4E0D\u4F1A\u81EA\u52A8\u7528\u4E8E\u672C\u7AEF\u3002",ONBOARDING_MODEL_CREDENTIAL_CHANGED:"\u51ED\u636E\u521A\u521A\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF1B\u672C\u6B21\u6CA1\u6709\u542F\u7528\u65E7\u8BA1\u5212\u3002",ONBOARDING_MODEL_ROUTE_CONFLICT:"\u540C\u540D\u8DEF\u7531\u5DF2\u5B58\u5728\uFF0C\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u8BF7\u5148\u6838\u5BF9\u3002",ONBOARDING_MODEL_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u3002"};function at({request:e,query:t,cloud:s=!1,service:n="deepseek"}){let u=n==="token-plan",l=s?"\u4E91\u7AEF":"\u672C\u7AEF",a=u?" Token Plan":"\u6A21\u578B",f=l+a+"\u63A5\u5165",m=u?"\u963F\u91CC\u4E91 Token Plan\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09":"DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09",p=(H,Ie)=>e((s?"cloud_":"")+(u?"token_":"")+H,Ie),[i,c]=(0,te.useState)(null),[o,r]=(0,te.useState)(null),[d,L]=(0,te.useState)(!1),[C,h]=(0,te.useState)(!1),[g,v]=(0,te.useState)(""),[N,T]=(0,te.useState)(null),[w,P]=(0,te.useState)(""),D=JSON.stringify([t,s,n,w]),O=(0,te.useRef)(D);O.current=D,(0,te.useEffect)(()=>{P(""),T(null)},[t,s,n]);function W(H){P(H),T(null)}(0,te.useEffect)(()=>{if(s){c({state:"not_checked"});return}let H=!0;return e(u?"token_model_status":"model_status",{}).then(Ie=>{H&&c(Ie)}).catch(()=>{H&&v("\u5C1A\u672A\u6838\u5BF9\u6A21\u578B\u63A5\u5165\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u3002")}),()=>{H=!1}},[e,s,u]);async function j(H,Ie){h(!0),v("");try{if(H==="status"&&(r(null),L(!1),T(null),c(await p("model_status",{}))),H==="preview"&&(r(null),L(!1),r(await p("model_preview",{enabled:Ie}))),H==="apply"){if(!o||!d)return;let fe=o;r(null),L(!1),T(null),c(await p("model_apply",{id:fe.id,fingerprint:fe.fingerprint,confirm:!0}))}if(H==="resolve"){let fe=await p("model_resolve",{query:t,...w.trim()?{clarification:w.trim()}:{}});O.current===D&&T(fe)}}catch(fe){r(null),L(!1),v(u&&s&&fe.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5728\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5\u533A\u4FDD\u5B58\u4E13\u7528 Key\uFF0C\u518D\u5355\u72EC\u9884\u89C8\u4E91\u7AEF\u63A5\u5165\uFF1B\u4E0D\u4F1A\u501F\u7528\u672C\u7AEF\u6216 DeepSeek Key\u3002":u&&fe.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5148\u5728\u672C\u7AEF\u5B89\u5168\u4FDD\u5B58 Key \u533A\u4FDD\u5B58\u963F\u91CC\u4E91 Token Plan \u4E13\u7528\u51ED\u636E\uFF1B\u4E0D\u4F1A\u501F\u7528 DeepSeek Key\u3002":fe.message==="ONBOARDING_MODEL_ADAPTER_UNAVAILABLE"?"\u5F53\u524D Host \u7F3A\u5C11\u517C\u5BB9\u7684\u5B98\u65B9\u591A\u6A21\u578B\u9002\u914D\u4F9D\u8D56\u6216\u76EE\u5F55\u4E0D\u7B26\uFF0C\u8BF7\u6838\u5BF9\u5B98\u65B9\u7248\u672C\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u3001\u5207\u6362\u7AEF\u70B9\u6216\u56DE\u9000\u5176\u4ED6\u670D\u52A1\u3002":s&&fe.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5148\u5728\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5\u533A\uFF08\u6216\u4E91\u7AEF\u539F\u751F\u5BFC\u89C8\uFF09\u4FDD\u5B58\u4E91\u7AEF\u4E13\u7528 Key\uFF0C\u518D\u9884\u89C8\u4E91\u7AEF\u63A5\u5165\u3002":jl[fe.message]??"\u7ED3\u679C\u9700\u6838\u5BF9\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u72B6\u6001\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u5207\u6362\u6A21\u578B\u6216\u56DE\u9000\u81F3\u5176\u4ED6 Key\u3002")}finally{h(!1)}}return te.default.createElement(V,{className:"connection-panel",title:f,icon:"link",sub:s?"\u4EC5\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u72EC\u7ACB\u9884\u89C8\u786E\u8BA4\uFF0C\u4E0D\u8BFB\u53D6\u6216\u8F6C\u53D1\u672C\u5730 Key\u3002":"\u53EA\u4F7F\u7528\u672C\u9879\u76EE\u4FDD\u5B58\u7684\u672C\u7AEF\u4E13\u7528 Key\uFF1B\u4E0D\u4FEE\u6539\u539F\u751F\u6A21\u578B\u6216\u9ED8\u8BA4\u9009\u62E9\u3002"},te.default.createElement(S,{label:"\u5F53\u524D\u72B6\u6001",value:i?Jl[i.state]??"\u9700\u8981\u6838\u5BF9":"\u5C1A\u672A\u8BFB\u53D6"}),te.default.createElement(S,{label:s?"\u5B9E\u9645\u64CD\u4F5C\u7684\u4E91\u7AEF Host":"\u5F53\u524D\u8BBF\u95EE\u7684 Host",value:i?.target?`${i.target.name} \xB7 ${i.target.platform}`:"\u5C1A\u672A\u6838\u5BF9"}),s&&i?.remoteTarget&&te.default.createElement(S,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:i.remoteTarget.root}),s&&i?.checkedAt&&te.default.createElement(S,{label:"\u6700\u8FD1\u624B\u52A8\u6838\u9A8C",value:new Date(i.checkedAt).toLocaleString()+" \xB7 \u975E\u81EA\u52A8\u5237\u65B0"}),te.default.createElement(S,{label:"\u670D\u52A1\u5546",value:u?"\u963F\u91CC\u4E91 Token Plan \xB7 \u4E2D\u56FD\u5185\u5730":"DeepSeek \u5B98\u65B9 \xB7 \u72EC\u7ACB\u63A5\u5165"}),te.default.createElement(x,null,s?"\u6B64\u5904\u901A\u8FC7\u5DF2\u6838\u9A8C SSH \u8C03\u6574\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u81EA\u6709\u6A21\u578B\u63A5\u5165\uFF0C\u4E91\u7AEF\u8D26\u672C\u662F\u72B6\u6001\u4F9D\u636E\u3002\u8FDB\u5165\u9875\u9762\u4E0D\u8FDE\u63A5\u4E91\u7AEF\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u3002":"","\u4FDD\u5B58 Key \u4E0D\u7B49\u4E8E\u6A21\u578B\u53EF\u7528\u3002\u542F\u7528\u540E\u4F1A\u589E\u52A0\u201C",m,"\u201D\u8DEF\u7531\uFF0C\u51ED\u636E\u7528\u4E8E",s?"\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF":"\u5F53\u524D\u8BBF\u95EE\u7684 Host","\uFF0C\u4E0D\u53D1\u8D77\u63A8\u7406\u6216\u81EA\u52A8\u8F6C\u53D1\u5230\u53E6\u4E00\u7AEF\uFF1B\u5B9E\u9645\u8BF7\u6C42\u9A8C\u8BC1\u4ECD\u9700\u5355\u72EC\u8FDB\u884C\u3002"),te.default.createElement("div",{className:"connection-actions",role:"group","aria-label":f+"\u64CD\u4F5C"},te.default.createElement(_,{kind:"primary",icon:"link",disabled:C,onClick:()=>j("preview",!0)},"\u9884\u89C8",u?l+" Token Plan":l,"\u63A5\u5165"),te.default.createElement(_,{kind:"secondary",icon:"pause",disabled:C||!i?.bindingRevision,onClick:()=>j("preview",!1)},u?"\u9884\u89C8\u505C\u7528 Token Plan":"\u9884\u89C8\u505C\u7528\u63A5\u5165"),te.default.createElement(_,{kind:"secondary",icon:"reset",disabled:C,onClick:()=>j("status")},"\u624B\u52A8\u5237\u65B0",u?"Token Plan":s?"\u4E91\u7AEF\u6A21\u578B":"\u6A21\u578B","\u72B6\u6001")),o&&te.default.createElement("section",{className:"connection-confirm","aria-label":f+"\u786E\u8BA4"},te.default.createElement("h3",null,(o.enabled?"\u542F\u7528":"\u505C\u7528")+f),te.default.createElement("p",null,"\u4EC5",s?"\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF":"\u5F53\u524D Host","\uFF1B\u4E0D\u4FEE\u6539\u539F\u751F\u8DEF\u7531\u3001\u9ED8\u8BA4\u6A21\u578B\u548C\u7528\u6237\u51ED\u636E\u3002\u505C\u7528\u4E5F\u4E0D\u4F1A\u5220\u9664 Key\u3002"),te.default.createElement(S,{label:"\u5E94\u7528\u4F4D\u7F6E",value:`${o.target?.name??"\u5F53\u524D Host"} \xB7 ${o.target?.platform??"\u5E73\u53F0\u672A\u6838\u5BF9"}`}),s&&o.remoteTarget&&te.default.createElement(S,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:o.remoteTarget.root}),te.default.createElement(S,{label:"\u76EE\u6807\u7AEF\u70B9",value:o.endpoint}),te.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u672C\u9879\u76EE\u7684"+f+"\uFF0C\u4E0D\u6388\u6743\u6A21\u578B\u8BF7\u6C42\u6216\u4EFB\u52A1",checked:d,onChange:L}),te.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u6A21\u578B\u63A5\u5165"},te.default.createElement(_,{kind:"primary",icon:"check",disabled:C||!d,onClick:()=>j("apply")},"\u786E\u8BA4",o.enabled?"\u542F\u7528":"\u505C\u7528",f),te.default.createElement(_,{kind:"secondary",disabled:C,onClick:()=>{r(null),L(!1)}},"\u53D6\u6D88"))),te.default.createElement("section",{className:"connection-utility connection-model-choice","aria-label":"\u6A21\u578B\u540D\u79F0\u6838\u5BF9"},te.default.createElement("div",null,te.default.createElement("h3",null,"\u6A21\u578B\u540D\u79F0\u6838\u5BF9"),te.default.createElement("p",null,"\u6309",l,"\u5B8C\u6574\u76EE\u5F55\u5339\u914D\uFF1B\u5148\u7528\u6A21\u578B\u7B80\u79F0\uFF0C\u6709\u91CD\u540D\u518D\u8865\u5145\u63A5\u5165\u540D\u79F0\u3002\u65E0\u9700\u586B\u5199\u6280\u672F\u7F16\u53F7\u3002")),te.default.createElement(_,{kind:"soft",icon:"settings",disabled:C||!t?.trim(),onClick:()=>j("resolve")},u?"\u6838\u5BF9\u6240\u586B\u6A21\u578B\u540D\u79F0":"\u89E3\u6790\u6240\u586B\u6A21\u578B\u540D\u79F0"),(N?.status==="ambiguous"||w)&&te.default.createElement(Se,{label:"\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E",hint:"\u4EC5\u91CD\u540D\u65F6\u9700\u8981\uFF1B\u586B\u5199\u5019\u9009\u5C55\u793A\u7684\u63A5\u5165\u540D\u79F0\uFF0C\u4F8B\u5982\u201C\u8BF7\u7528 DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09\u201D\u3002\u4E0D\u586B\u5199 Key\u3002",value:w,maxLength:200,onChange:H=>W(H.target.value)}),N?.status==="ambiguous"&&te.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u7528\u6613\u61C2\u7684\u63A5\u5165\u540D\u79F0\u8865\u5145\u9009\u62E9"},[...new Set(N.candidates?.map(H=>H.provider_name)??[])].map(H=>te.default.createElement(_,{key:H,kind:"secondary",disabled:C,onClick:()=>W("\u8BF7\u7528 "+H)},"\u9009\u62E9 ",H)),te.default.createElement("p",null,"\u9009\u62E9\u4EC5\u8865\u5145\u6587\u5B57\uFF0C\u8BF7\u518D\u6838\u5BF9\u540D\u79F0\uFF1B\u540C\u540D\u63A5\u5165\u4ECD\u4F1A\u8981\u6C42\u6F84\u6E05\uFF0C\u4E0D\u81EA\u52A8\u8BF7\u6C42\u6A21\u578B\u3002")),N&&te.default.createElement("div",{className:"connection-result",role:"status"},te.default.createElement("p",null,N.status==="resolved"?`${s?"\u4E91\u7AEF":"\u5F53\u524D Host"}\u552F\u4E00\u5339\u914D\uFF1A${N.selection.model_name} \xB7 ${N.selection.provider_name}\uFF0C\u601D\u8003 High\u3002\u672A\u8BBE\u4E3A\u9ED8\u8BA4\u6A21\u578B\u3001\u672A\u8C03\u7528\u3002`:N.instruction),N.status!=="resolved"&&N.candidates?.map(H=>te.default.createElement("p",{key:H.provider+"/"+H.model},H.model_name," \xB7 ",H.provider_name)))),te.default.createElement(Cr,{request:e,query:t,clarification:w,cloud:s,service:n}),g&&te.default.createElement("p",{className:"connection-error",role:"alert"},g))}var G=Ce(ge());var es=Object.freeze({available:!1,generation:0}),vr={subscribe:()=>()=>{},getSnapshot:()=>es,render:()=>null},as={missing_dependency:"\u672A\u53D1\u73B0\u53EF\u9009 IM \u670D\u52A1",unsupported_contract:"IM \u516C\u5F00\u63A5\u53E3\u7248\u672C\u5C1A\u4E0D\u517C\u5BB9",provider_changed:"IM \u670D\u52A1\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9",needs_review:"\u672A\u80FD\u6838\u5BF9 IM \u6E05\u5355",no_bots:"\u672C\u7AEF\u5C1A\u65E0\u5DF2\u767B\u8BB0\u673A\u5668\u4EBA",listed:"\u5DF2\u8BFB\u53D6\u672C\u7AEF\u673A\u5668\u4EBA\u6E05\u5355"},ts={feishu:"\u98DE\u4E66",weixin:"\u5FAE\u4FE1",dingtalk:"\u9489\u9489",wecom:"\u4F01\u4E1A\u5FAE\u4FE1","wecom-app":"\u4F01\u4E1A\u5FAE\u4FE1\u5E94\u7528",qq:"QQ",slack:"Slack",telegram:"Telegram",discord:"Discord",whatsapp:"WhatsApp",imessage:"iMessage",email:"\u90AE\u4EF6",matrix:"Matrix"},_r={ONBOARDING_CLOUD_WEB_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u5B89\u5168 Web \u5165\u53E3\u5951\u7EA6\uFF1B\u4FDD\u7559\u65E7\u5B9E\u4F8B\uFF0C\u8BF7\u901A\u8FC7\u5176\u539F\u5165\u53E3\u914D\u7F6E\u3002",ONBOARDING_CLOUD_WEB_LOCAL_BROWSER_REQUIRED:"\u8BF7\u4ECE\u8FDE\u63A5\u672C\u673A Host \u7684 Desktop\uFF0F\u672C\u673A\u6D4F\u89C8\u5668\u6253\u5F00\uFF1B\u8FDC\u7A0B\u7F51\u9875\u4E0D\u80FD\u628A\u4E91\u7AEF\u56DE\u73AF\u7AEF\u53E3\u5F53\u4F5C\u672C\u673A\u5730\u5740\u3002",ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW:"\u4E91\u7AEF\u5165\u53E3\u6821\u9A8C\u672A\u901A\u8FC7\uFF1B\u6CA1\u6709\u6253\u5F00\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u5728\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58 SSH \u8FDE\u63A5\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u5C1A\u65E0\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u8BF7\u5148\u5B8C\u6210\u7B2C 5\u30016 \u9875\u7684\u72EC\u7ACB\u5B89\u88C5\u3002",ONBOARDING_CLOUD_IM_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u6CA1\u6709 IM \u6838\u5BF9\u5951\u7EA6\uFF1B\u4E0D\u80FD\u7528\u65B0\u7248\u63A7\u5236\u5668\u8986\u76D6\u65E7\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_IM_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u6B64 IM \u6838\u5BF9\u5951\u7EA6\uFF0C\u672A\u8BFB\u53D6\u672C\u7AEF\u4F5C\u4E3A\u66FF\u4EE3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u53D7\u7BA1\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\u6216\u5DF2\u79BB\u7EBF\uFF1B\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u8FD0\u884C\u65F6\u3002"};function oo({request:e,imClient:t=vr,onManage:s,onManageCloud:n,cloudWebEntry:u=!1,cloud:l=!1}){let a=(0,G.useSyncExternalStore)(t.subscribe,t.getSnapshot,t.getSnapshot),[f,m]=(0,G.useState)(null),[p,i]=(0,G.useState)(!1),[c,o]=(0,G.useState)(""),r=G.default.useRef(!0);(0,G.useEffect)(()=>(r.current=!0,()=>{r.current=!1}),[]);async function d(){i(!0),o("");try{let C=await e(l?"cloud_im_inventory":"im_inventory",{});r.current&&m(C)}catch(C){r.current&&(o(_r[C?.message]??"\u672A\u80FD\u6838\u5BF9\u6E05\u5355\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA\uFF0C\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"),m(null))}finally{r.current&&i(!1)}}async function L(){let C;i(!0),o("");try{if(!["127.0.0.1","localhost","[::1]"].includes(location.hostname))throw Error("ONBOARDING_CLOUD_WEB_LOCAL_BROWSER_REQUIRED");let h=await e("cloud_web_open",{});if(typeof h.entryId!="string"||!/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(h.entryId))throw Error("ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW");C=h.entryId;let g=new URL(h.url);if(h.contract!==1||h.target?.role!=="cloud"||g.protocol!=="http:"||g.hostname!=="127.0.0.1"||!g.port||g.pathname!=="/"||g.username||g.password||[...g.searchParams.keys()].join()!=="workbench_ticket"||!/^[A-Za-z0-9_-]{43}$/.test(g.searchParams.get("workbench_ticket"))||g.hash!=="#dsh-setup-im")throw Error("ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW");if(r.current)n(h);else{let v=C;C=null,await e("cloud_web_close",{entryId:v})}}catch(h){if(C)try{await e("cloud_web_close",{entryId:C})}catch{r.current&&o("\u5165\u53E3\u672A\u6253\u5F00\u4E14\u5173\u95ED\u672A\u786E\u8BA4\uFF1B\u8BF7\u6838\u5BF9\u5F53\u524D Host\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002");return}r.current&&o(_r[h?.message]??"\u4E91\u7AEF\u539F\u751F\u914D\u7F6E\u672A\u6253\u5F00\uFF1B\u8BF7\u6838\u5BF9\u5F53\u524D\u5B9E\u4F8B\u4E0E\u8FDE\u63A5\u3002\u4E0D\u81EA\u52A8\u91CD\u8BD5\uFF0C\u4E0D\u5207\u5230\u672C\u7AEF\u914D\u7F6E\u3002")}finally{r.current&&i(!1)}}return G.default.createElement(V,{className:"connection-panel",title:l?"\u4E91\u7AEF IM \u63A5\u5165":"\u672C\u7AEF IM \u63A5\u5165",icon:"chat",sub:l?"\u53EA\u67E5\u8BE2\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u4E0D\u4F1A\u7528\u672C\u7AEF\u6E05\u5355\u66FF\u4EE3\u3002":"\u53EF\u9009\u4F9D\u8D56\uFF1B\u4E0D\u5F71\u54CD DeepSeek \u6216\u539F\u751F\u4F1A\u8BDD\u3002"},G.default.createElement(S,{label:"\u6700\u8FD1\u6E05\u5355",value:c?"\u6838\u5BF9\u5931\u8D25\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA":f?(as[f.state]??"\u5F85\u6838\u5BF9").replace("\u672C\u7AEF",l?"\u4E91\u7AEF":"\u672C\u7AEF"):"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),G.default.createElement(S,{label:"\u5B9E\u9645\u64CD\u4F5C\u7684 Host",value:f?`${f.target.name} \xB7 ${f.target.platform}`:l?"\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF0C\u5C1A\u672A\u6838\u5BF9\u8EAB\u4EFD":"\u5F53\u524D\u8BBF\u95EE\u7684 Host\uFF0C\u5C1A\u672A\u6838\u5BF9\u8EAB\u4EFD"}),f?.observedAt&&G.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(f.observedAt).toLocaleString()+" \xB7 \u5386\u53F2\u89C2\u5BDF\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0"}),f?.channels?.map(C=>G.default.createElement(S,{key:C.channel,label:ts[C.channel]??C.channel,value:`${C.count} \u4E2A\u5DF2\u767B\u8BB0 \xB7 \u5728\u7EBF\u4E0E\u8EAB\u4EFD\u53E6\u884C\u6838\u9A8C`})),f?.remoteTarget&&G.default.createElement(S,{label:"\u53D7\u7BA1\u4E91\u7AEF\u76EE\u5F55",value:f.remoteTarget.root}),c&&G.default.createElement(x,{tone:"warn"},c),G.default.createElement(x,null,"\u624B\u52A8\u6838\u5BF9\u53EA\u8BFB\u6E05\u5355\uFF0C\u4E0D\u53D1\u9001\u6D88\u606F\u3001\u4E0D\u63A5\u7BA1\u6D88\u8D39\u8005\u3002\u767B\u8BB0\u4E0D\u7B49\u4E8E\u5728\u7EBF\u3001\u672C\u4EBA\u8EAB\u4EFD\u6216\u53CC\u7AEF\u8DEF\u7531\u901A\u8FC7\u3002\u4E91\u7AEF\u539F\u751F\u914D\u7F6E\u53EA\u64CD\u4F5C\u76EE\u6807 Host\uFF1B\u4E0D\u80FD\u7531\u672C\u7AEF\u7ED3\u679C\u63A8\u65AD\u4E91\u7AEF\u5DF2\u5B8C\u6210\u3002"),G.default.createElement("div",{className:"connection-actions",role:"group","aria-label":l?"\u4E91\u7AEF IM \u5BFC\u89C8\u64CD\u4F5C":"\u672C\u7AEF IM \u5BFC\u89C8\u64CD\u4F5C"},G.default.createElement(_,{kind:"secondary",icon:"reset",disabled:p,onClick:d},p?"\u6B63\u5728\u6838\u5BF9\u6E05\u5355":l?"\u624B\u52A8\u6838\u5BF9\u4E91\u7AEF IM":"\u624B\u52A8\u6838\u5BF9\u672C\u7AEF IM"),l&&u&&G.default.createElement(_,{kind:"primary",icon:"chat",disabled:p||!n,onClick:L},"\u6253\u5F00\u4E91\u7AEF\u539F\u751F IM \u914D\u7F6E"),!l&&G.default.createElement(_,{kind:"primary",icon:"chat",disabled:!a.available||!s||p,onClick:s},"\u6253\u5F00\u672C\u7AEF\u539F\u751F IM \u7BA1\u7406")),!l&&!a.available&&G.default.createElement("p",{className:"fine-print"},"\u539F\u751F\u9762\u677F\u670D\u52A1\u4E0D\u53EF\u7528\uFF1B\u53EF\u5728 DSH \u539F\u8BBE\u7F6E\u5165\u53E3\u68C0\u67E5\u5B98\u65B9 IM \u4F9D\u8D56\u3002\u5BFC\u89C8\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u6216\u4FEE\u6539\u5B83\u3002"),l?G.default.createElement("p",{className:"fine-print"},"\u6E05\u70B9\u548C\u6253\u5F00\u914D\u7F6E\u90FD\u4E0D\u4F1A\u5B89\u88C5\u4F9D\u8D56\u6216\u7ED1\u5B9A\u673A\u5668\u4EBA\u3002\u539F\u751F Web \u4E0D\u662F\u53EA\u8BFB\u6C99\u7BB1\uFF1B\u51ED\u636E\u3001\u7ED1\u5B9A\u53CA\u8FDE\u63A5\u5728\u4E91\u7AEF\u539F\u751F\u754C\u9762\u5355\u72EC\u64CD\u4F5C\u3002"):G.default.createElement("p",{className:"fine-print"},"\u7BA1\u7406\u9875\u7531 IM \u63D2\u4EF6\u63D0\u4F9B\uFF0C\u4FDD\u7559\u539F\u8BBE\u7F6E\u5165\u53E3\u3002\u7ED1\u5B9A\u3001\u8FDE\u63A5\u6216\u5220\u9664\u9700\u5728\u539F\u751F\u9875\u660E\u786E\u64CD\u4F5C\uFF1B\u6253\u5F00\u9875\u9762\u672C\u8EAB\u4E0D\u6388\u6743\u4EFB\u4F55\u673A\u5668\u4EBA\u53D8\u66F4\u3002"))}var to=class extends G.default.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?G.default.createElement("p",{role:"alert"},"\u539F\u751F IM \u9762\u677F\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u8FD4\u56DE\u5BFC\u89C8\u6216\u4F7F\u7528\u539F\u8BBE\u7F6E\u5165\u53E3\uFF1B\u672A\u81EA\u52A8\u91CD\u8BD5\u3002"):this.props.children}};function os({bridge:e}){return e.render()??G.default.createElement("p",{role:"status"},"IM \u9762\u677F\u63D0\u4F9B\u65B9\u5DF2\u9000\u51FA\uFF0C\u8BF7\u8FD4\u56DE\u5BFC\u89C8\u91CD\u65B0\u6838\u5BF9\u3002")}function Sr({imClient:e=vr,onBack:t}){let s=(0,G.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot);return G.default.createElement("div",{className:"dsh-native-im-shell"},G.default.createElement("div",{className:"dsh-onboarding",style:{height:"auto",flex:"0 0 auto",overflow:"visible"}},G.default.createElement("div",{className:"im-manager-heading"},G.default.createElement("div",null,G.default.createElement("h2",null,"\u5F53\u524D Host \xB7 \u539F\u751F IM \u7BA1\u7406"),G.default.createElement("p",null,"\u8FD9\u91CC\u7531\u5DF2\u5B89\u88C5\u7684 IM \u63D2\u4EF6\u63D0\u4F9B\uFF1B\u4E0D\u662F\u4E91\u7AEF\u81EA\u52A8\u914D\u7F6E\u3001\u8DEF\u7531\u63A5\u7BA1\u6216\u4E1A\u52A1\u6388\u6743\u3002\u539F\u8BBE\u7F6E\u5165\u53E3\u4FDD\u7559\u3002")),G.default.createElement(_,{kind:"secondary",icon:"back",onClick:t},"\u8FD4\u56DE\u914D\u7F6E\u5BFC\u89C8")),G.default.createElement("details",{className:"details im-directory-help"},G.default.createElement("summary",null,"\u9009\u62E9\u5DE5\u4F5C\u533A\u4E00\u76F4\u52A0\u8F7D\uFF1F",G.default.createElement(ke,{name:"down"})),G.default.createElement("p",null,"\u672C\u673A Host \u53EF\u80FD\u5728\u7B49\u5F85\u72EC\u7ACB\u7684\u7CFB\u7EDF\u9009\u76EE\u5F55\u7A97\u53E3\uFF1B\u8BF7\u68C0\u67E5 Host \u6240\u5728\u7535\u8111\u7684\u524D\u53F0\u7A97\u53E3\uFF0C\u9501\u5C4F\u65F6\u5148\u89E3\u9501\u3002\u7F51\u9875\u91CC\u7684\u53D6\u6D88\u4E0D\u4E00\u5B9A\u5173\u95ED\u7CFB\u7EDF\u7A97\u53E3\uFF1B\u5148\u5728\u7CFB\u7EDF\u7A97\u53E3\u53D6\u6D88\uFF0C\u518D\u91CD\u8BD5\uFF0C\u907F\u514D\u53E0\u52A0\u8BF7\u6C42\u3002"),G.default.createElement("p",null,"\u76EE\u5F55\u5C5E\u4E8E\u5F53\u524D Host\uFF0C\u4E0D\u5C5E\u4E8E\u6D4F\u89C8\u5668\u6240\u5728\u7535\u8111\u3002\u8FDC\u7A0B Host \u5E94\u4F7F\u7528\u5B83\u63D0\u4F9B\u7684\u76EE\u5F55\u6D4F\u89C8\u80FD\u529B\uFF1B\u4E0D\u8981\u628A\u672C\u673A\u8DEF\u5F84\u586B\u5230\u4E91\u7AEF\u3002\u4FEE\u6539\u5DE5\u4F5C\u533A\u4F1A\u5F71\u54CD\u539F\u751F\u4F1A\u8BDD\uFF0C\u4E0D\u80FD\u4EC5\u4E3A\u6587\u4EF6\u53D1\u9001\u800C\u81EA\u52A8\u6539\u76EE\u5F55\u3002"),G.default.createElement("p",null,"\u539F\u751F\u5DE5\u4F5C\u533A\u8BBE\u7F6E\u4E0D\u7B49\u4E8E\u81EA\u6709\u76F4\u4F20\u6388\u6743\uFF1B\u666E\u901A\u5DE5\u4F5C\u533A\u5185\u7684 IM \u4E13\u7528\u63A5\u6536\u76EE\u5F55\uFF0C\u4E5F\u9700\u5728\u7B2C 6 \u9875\u5355\u72EC\u9884\u89C8\u786E\u8BA4\u3002"))),G.default.createElement("div",{className:"dsh-native-im-frame","data-native-im-manager":"true"},s.available?G.default.createElement(to,{key:s.generation},G.default.createElement(os,{bridge:e})):G.default.createElement("p",{role:"status"},"IM \u9762\u677F\u670D\u52A1\u4E0D\u53EF\u7528\uFF0C\u8BF7\u8FD4\u56DE\u5BFC\u89C8\uFF1B\u5176\u4ED6\u914D\u7F6E\u4ECD\u53EF\u7EE7\u7EED\u3002")))}function xr({entry:e,request:t,onBack:s}){let[n,u]=(0,G.useState)(!1),[l,a]=(0,G.useState)(""),[f,m]=(0,G.useState)(null);(0,G.useEffect)(()=>()=>{t("cloud_web_close",{entryId:e.entryId}).catch(()=>{})},[t,e.entryId]);async function p(){u(!0),a(""),m(null);try{let o=await t("cloud_web_status",{entryId:e.entryId});if(o?.contract!==1||o.entryId!==e.entryId||o.scope!=="local_owned_carrier_only"||!["open","closed","closing","cleanup_required","not_found"].includes(o.state))throw Error("INVALID_STATUS");m(o)}catch{a("\u672A\u80FD\u6838\u5BF9\u672C\u6B21\u627F\u8F7D\u8FDE\u63A5\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA\uFF1B\u6CA1\u6709\u91CD\u8FDE\u3001\u91CD\u542F\u6216\u91CD\u653E\u914D\u7F6E\u3002")}finally{u(!1)}}async function i(){u(!0),a("");try{await t("cloud_web_close",{entryId:e.entryId}),s()}catch{a("\u901A\u9053\u5173\u95ED\u672A\u786E\u8BA4\uFF1B\u8BF7\u91CD\u8BD5\u5173\u95ED\uFF0C\u4E0D\u4F1A\u505C\u6B62\u4E91\u7AEF Host \u6216\u5220\u9664\u673A\u5668\u4EBA\u3002")}finally{u(!1)}}let c={open:"\u672C\u673A\u627F\u8F7D\u8FDB\u7A0B\u4ECD\u5728\u8FD0\u884C\uFF1B\u4E0D\u8BC1\u660E\u4E91\u7AEF\u9875\u9762\u6216\u673A\u5668\u4EBA\u5728\u7EBF\u3002",closed:"\u672C\u6B21\u627F\u8F7D\u8FDE\u63A5\u5DF2\u5173\u95ED\u3002",closing:"\u672C\u6B21\u627F\u8F7D\u6B63\u5728\u5173\u95ED\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u65B0\u63D0\u4EA4\u539F\u751F\u914D\u7F6E\u3002",cleanup_required:"\u672C\u6B21\u627F\u8F7D\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u5148\u91CD\u8BD5\u5173\u95ED\uFF1B\u4E0D\u4F1A\u91CD\u5EFA\u53E6\u4E00\u6761\u901A\u9053\u3002",not_found:"\u5F53\u524D Host \u5DF2\u4E0D\u4FDD\u7559\u8BE5\u5165\u53E3\uFF0C\u53EF\u80FD\u5DF2\u91CD\u542F\u6216\u88AB\u540E\u7EED\u5165\u53E3\u66FF\u4EE3\u3002"};return G.default.createElement("div",{className:"dsh-native-im-shell"},G.default.createElement("div",{className:"dsh-onboarding",style:{height:"auto",flex:"0 0 auto",overflow:"visible"}},G.default.createElement("div",{className:"im-manager-heading"},G.default.createElement("div",null,G.default.createElement("h2",null,"\u4E91\u7AEF\u5927\u80A5\u9C7C \xB7 \u539F\u751F IM \u914D\u7F6E"),G.default.createElement("p",null,"\u4EC5\u672C\u6B21\u53D7\u7BA1\u5B9E\u4F8B\uFF1A",e.target.root,"\u3002\u539F\u751F Web \u53EF\u64CD\u4F5C\uFF0C\u4E0D\u662F\u53EA\u8BFB\u6C99\u7BB1\uFF1B\u6253\u5F00\u4E0D\u7B49\u4E8E\u5DF2\u8FDE\u63A5\u6216\u5DF2\u6279\u51C6\u4EFB\u52A1\u3002\u624B\u52A8\u6838\u5BF9\u53EA\u89C2\u5BDF\u672C\u673A\u627F\u8F7D\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0\u3002")),G.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E91\u7AEF\u914D\u7F6E\u8FDE\u63A5\u64CD\u4F5C"},G.default.createElement(_,{kind:"soft",icon:"reset",disabled:n,onClick:p},"\u624B\u52A8\u6838\u5BF9\u627F\u8F7D\u8FDE\u63A5"),G.default.createElement(_,{kind:"secondary",icon:"back",disabled:n,onClick:i},"\u5173\u95ED\u4E91\u7AEF\u5165\u53E3\uFF0C\u8FD4\u56DE\u5BFC\u89C8"))),l&&G.default.createElement("p",{role:"alert"},l),f&&G.default.createElement("div",{role:"status"},G.default.createElement("p",null,c[f.state]),G.default.createElement("p",null,"\u6838\u5BF9\u65F6\u95F4\uFF1A",new Date(f.observedAt).toLocaleString()," \xB7 \u5386\u53F2\u89C2\u5BDF"),f.transport?.reason&&G.default.createElement("p",null,"\u8FDB\u7A0B\u8BB0\u5F55\uFF1A",f.transport.reason,"\uFF1B\u9000\u51FA\u7801\uFF1A",f.transport.exitCode??"\u672A\u8BB0\u5F55","\u3002\u8BB0\u5F55\u4E0D\u4EE3\u8868\u5DF2\u786E\u5B9A\u7F51\u7EDC\u6545\u969C\u539F\u56E0\u3002"),f.transport?.stderrCategory&&G.default.createElement("p",null,"SSH \u8BCA\u65AD\u5206\u7C7B\uFF1A",f.transport.stderrCategory,"\uFF1B\u4EC5\u7531\u8FDB\u7A0B\u8F93\u51FA\u5206\u7C7B\uFF0C\u4E0D\u663E\u793A\u539F\u6587\u6216\u51ED\u636E\u3002")),G.default.createElement("p",{className:"fine-print"},"\u65AD\u7EBF\u540E\u5148\u4FDD\u7559\u672A\u4FDD\u5B58\u5185\u5BB9\uFF0C\u518D\u5173\u95ED\u5165\u53E3\u3001\u624B\u52A8\u91CD\u65B0\u6253\u5F00\uFF1B\u4E0D\u4F1A\u91CD\u653E\u7ED1\u5B9A\u6216\u914D\u7F6E\u52A8\u4F5C\u3002\u539F\u751F\u9875\u9762\u91CC\u7684\u201C\u91CD\u8FDE\u201D\u4E0D\u80FD\u91CD\u5EFA\u5DF2\u5173\u95ED\u7684 SSH \u627F\u8F7D\u3002\u672A\u77E5\u64CD\u4F5C\u7ED3\u679C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u3002")),G.default.createElement("iframe",{className:"dsh-cloud-im-web",title:"\u53D7\u7BA1\u4E91\u7AEF \xB7 \u539F\u751F IM \u914D\u7F6E",src:e.url,referrerPolicy:"no-referrer"}))}function Nr(){let e=null,t=0,s=Object.freeze({available:!1,generation:0}),n=new Set,u=()=>{s=Object.freeze({available:!!e,generation:++t});for(let l of n)l()};return{subscribe(l){return n.add(l),()=>n.delete(l)},getSnapshot:()=>s,attach(l){return l?.version!==1||typeof l.render!="function"?()=>{}:(e=l,u(),()=>{e===l&&(e=null,u())})},render(){return e?.render({preferredSectionId:"feishu"})??null}}}var pe=Ce(ge());var rs={not_started:"\u672A\u4EA4\u63A5",sending:"\u8BF7\u6C42\u5DF2\u767B\u8BB0 \xB7 \u5F85\u6838\u5BF9",delivered:"\u4E91\u7AEF\u5DF2\u4FDD\u5B58 \xB7 \u672C\u6B21\u672A\u542F\u7528\u6A21\u578B",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1",recovering:"\u5173\u95ED\u8BF7\u6C42\u5DF2\u767B\u8BB0 \xB7 \u8BF7\u624B\u52A8\u6838\u5BF9",closed:"\u539F\u4EA4\u63A5\u5DF2\u5173\u95ED \xB7 \u672A\u5220\u9664\u4E91\u7AEF\u51ED\u636E"},ls={ONBOARDING_CLOUD_HANDOFF_TOKEN_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF Host \u5C1A\u4E0D\u652F\u6301 Token Plan \u51ED\u636E\u5408\u540C\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_UNAVAILABLE:"\u76EE\u6807\u4E91\u7AEF\u6A21\u578B\u63A5\u5165\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5207\u6362\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_FENCE_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u6B64\u670D\u52A1\u7684\u7248\u672C\u5C4F\u969C\uFF0C\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_TOKEN_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301 Token Plan \u4EA4\u63A5\uFF1B\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5B8C\u5168\u5C31\u7EEA\u6216\u4ECD\u5728\u5B89\u88C5\uFF0F\u91CD\u542F\u6536\u5C3E\u3002\u8BF7\u7B49\u5F85\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED:"\u4E91\u7AEF\u5B9E\u4F8B\u8EAB\u4EFD\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u6838\u5BF9\u539F\u76EE\u6807\uFF0C\u4E0D\u4F7F\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_HANDOFF_IDENTITY_REVIEW:"\u4E91\u7AEF\u8EAB\u4EFD\u6216\u80FD\u529B\u5C1A\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u8F6C\u4EA4\u5176\u4ED6\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_RUNTIME_SOURCE_CHANGED:"\u4E91\u7AEF\u53D7\u7BA1\u7A0B\u5E8F\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u505C\u6B62\u64CD\u4F5C\uFF1B\u4E0D\u81EA\u52A8\u66FF\u6362\u6216\u4FEE\u590D\u3002",ONBOARDING_CLOUD_HANDOFF_AUTH_FAILED:"\u4E91\u7AEF\u539F\u751F\u8BBF\u95EE\u51ED\u636E\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u8BF7\u6838\u5BF9\u5F53\u524D\u8FD0\u884C\u65F6\uFF1B\u4E0D\u5C1D\u8BD5\u65E5\u5E38\u51ED\u636E\u6216\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_CLOUD_OPERATION_BUSY:"\u53E6\u4E00\u9879\u4E91\u7AEF\u64CD\u4F5C\u4ECD\u5728\u5904\u7406\uFF0C\u8BF7\u7B49\u5F85\u7ED3\u675F\u540E\u518D\u624B\u52A8\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u6392\u961F\u6267\u884C\u6216\u91CD\u8BD5\u3002",ONBOARDING_HANDOFF_BUSY:"\u53E6\u4E00\u9879\u4EA4\u63A5\u64CD\u4F5C\u4ECD\u5728\u5904\u7406\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_HANDOFF_FENCE_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u963B\u65AD\u8FDF\u5230\u8BF7\u6C42\uFF1B\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3001\u6E05\u8D26\u6216\u91CD\u53D1\u3002",ONBOARDING_HANDOFF_RECOVERY_CHANGED:"\u4E91\u7AEF\u51ED\u636E\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u5E76\u9884\u89C8\u5173\u95ED\u65B9\u6848\u3002",ONBOARDING_HANDOFF_ALREADY_DELIVERED:"\u539F\u4EA4\u63A5\u5DF2\u9001\u8FBE\uFF0C\u8BF7\u70B9\u51FB\u201C\u624B\u52A8\u6838\u5BF9\u4EA4\u63A5\u7ED3\u679C\u201D\u66F4\u65B0\u56DE\u6267\uFF0C\u65E0\u9700\u5173\u95ED\u3002",ONBOARDING_HANDOFF_LEDGER_CONFLICT:"\u53E6\u4E00\u9875\u9762\u5DF2\u66F4\u65B0\u4EA4\u63A5\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u6700\u65B0\u8D26\u672C\u540E\u518D\u64CD\u4F5C\u3002",ONBOARDING_HANDOFF_SOURCE_REQUIRED:"\u8BF7\u5148\u5728\u7B2C 2 \u9875\u4FDD\u5B58\u201C\u9884\u5907\u4E91\u7AEF DeepSeek\u201D\u51ED\u636E\u3002\u4E0D\u4F1A\u8BFB\u53D6\u65E5\u5E38 Key \u6216\u81EA\u52A8\u501F\u7528\u672C\u7AEF Key\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u8BF7\u5148\u5B8C\u6210\u672C\u5BFC\u89C8\u7684\u72EC\u7ACB\u4E91\u7AEF Host \u521D\u59CB\u5316\uFF0C\u518D\u9884\u89C8\u51ED\u636E\u4EA4\u63A5\u3002",ONBOARDING_CLOUD_HANDOFF_UNSUPPORTED:"\u5F53\u524D\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u51ED\u636E\u4EA4\u63A5\u3002\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_HANDOFF_RECOVERY_REQUIRED:"\u5DF2\u6709\u672A\u786E\u8BA4\u7ED3\u679C\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u8981\u518D\u6B21\u53D1\u9001 Key\u3002",ONBOARDING_HANDOFF_SOURCE_CHANGED:"\u9884\u5907\u4E91\u7AEF\u51ED\u636E\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u786E\u8BA4\u3002",ONBOARDING_HANDOFF_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u76EE\u6807\u3002"};function kt({request:e,service:t="deepseek"}){let s=t==="gitee",n=t==="token-plan",u=s?"\u4E91\u7AEF Gitee \u51ED\u636E\u4EA4\u63A5":n?"\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5":"\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5",l=s?"\u9884\u5907\u4E91\u7AEF Gitee":n?"\u9884\u5907\u4E91\u7AEF Token Plan":"\u9884\u5907\u4E91\u7AEF DeepSeek",a=pe.default.useCallback((g,v)=>e((s?"gitee_":n?"token_":"")+g,v),[e,n,s]),[f,m]=(0,pe.useState)(null),[p,i]=(0,pe.useState)(null),[c,o]=(0,pe.useState)(!1),[r,d]=(0,pe.useState)(!1),[L,C]=(0,pe.useState)("");(0,pe.useEffect)(()=>{let g=!0;return a("handoff_status",{refresh:!1}).then(v=>{g&&m(v)}).catch(()=>{g&&C("\u4EA4\u63A5\u8D26\u672C\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{g=!1}},[a]);async function h(g){d(!0),C("");try{if(g==="recover"&&(i(null),o(!1),i({...await a("handoff_recoveryPreview",{}),recovery:!0})),g==="preview"&&(i(null),o(!1),i(await a("handoff_preview",{}))),g==="refresh"&&(i(null),o(!1),m(await a("handoff_status",{refresh:!0}))),g==="apply"){if(!p||!c)return;let v=p;i(null),o(!1),m(await a(v.recovery?"handoff_recoveryApply":"handoff_apply",{id:v.id,fingerprint:v.fingerprint,confirm:!0}))}}catch(v){i(null),o(!1),C(s&&v.message==="ONBOARDING_HANDOFF_SOURCE_REQUIRED"?"\u8BF7\u5148\u5728\u7B2C 4 \u9875\u4FDD\u5B58\u9884\u5907\u4E91\u7AEF Gitee \u4EE4\u724C\uFF1B\u4E0D\u4F1A\u8BFB\u53D6\u65E5\u5E38\u6216\u5176\u4ED6\u6A21\u578B\u51ED\u636E\u3002":s&&["ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED","ONBOARDING_CLOUD_HANDOFF_REPOSITORY_UNSUPPORTED"].includes(v.message)?"\u539F\u4E91\u7AEF\u5F52\u6863\u6216 Host \u4E0D\u652F\u6301 Gitee \u51ED\u636E\u4EA4\u63A5\uFF1B\u4FDD\u7559\u65E7\u5B9E\u4F8B\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u5347\u7EA7\u3002":n&&v.message==="ONBOARDING_HANDOFF_SOURCE_REQUIRED"?"\u8BF7\u5148\u5728\u7B2C 2 \u9875\u4FDD\u5B58\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\u4E13\u7528\u51ED\u636E\uFF0C\u4E0D\u4F1A\u501F\u7528\u672C\u7AEF\u6216 DeepSeek Key\u3002":ls[v.message]??"\u672C\u6B21\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u672A\u786E\u8BA4\u4E0D\u7B49\u4E8E\u672A\u5199\u5165\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2\u8D26\u672C\uFF0C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002")}finally{d(!1)}}return pe.default.createElement(V,{className:"connection-panel",title:u,icon:"key",sub:"\u72EC\u7ACB\u4E91\u7AEF Host \u5C31\u7EEA\u540E\uFF0C\u5355\u72EC\u786E\u8BA4\uFF1B\u4E0D\u81EA\u52A8\u542F\u7528\u6A21\u578B\u6216\u542F\u52A8\u4EFB\u52A1\u3002"},pe.default.createElement(S,{label:"\u4EA4\u63A5\u72B6\u6001",value:f?s&&f.state==="delivered"?"\u4E91\u7AEF\u5DF2\u4FDD\u5B58 \xB7 \u672A\u6838\u9A8C\u4ED3\u5E93\u6216\u6388\u6743\u5199\u5165":rs[f.state]??"\u5F85\u6838\u5BF9":"\u8BFB\u53D6\u672C\u7AEF\u8D26\u672C\u4E2D"}),pe.default.createElement(x,null,"\u4EC5\u628A\u7B2C ",s?4:2," \u9875\u4FDD\u5B58\u7684\u201C",l,"\u201D",s?"\u4EE4\u724C":"Key","\uFF0C\u7ECF\u5DF2\u6838\u9A8C\u7684 SSH \u901A\u9053\u4EA4\u7ED9\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\u3002\u4E0D\u4F1A\u590D\u5236 SSH \u79C1\u94A5\uFF0C\u4E0D\u6539\u539F\u751F\u51ED\u636E\uFF0C\u4E0D\u81EA\u52A8\u8C03\u7528\u6A21\u578B\u3002\u8FDB\u5165\u672C\u9875\u53EA\u8BFB\u53D6\u672C\u7AEF\u8D26\u672C\uFF0C\u4E0D\u8FDE\u63A5\u4E91\u7AEF\u3002"),f?.observedAt!==void 0&&pe.default.createElement(S,{label:"\u56DE\u6267\u65B0\u9C9C\u5EA6",value:f.freshness==="remote_checked"?"\u5DF2\u4E8E "+new Date(f.checkedAt).toLocaleString()+" \u6838\u5BF9\u4E91\u7AEF":f.freshness==="check_failed"?"\u672C\u6B21\u672A\u80FD\u6838\u5BF9\u4E91\u7AEF \xB7 \u4FDD\u7559\u5F85\u6838\u5BF9\u72B6\u6001":"\u672C\u7AEF\u7F13\u5B58 \xB7 "+new Date(f.observedAt).toLocaleString()+" \u8BB0\u5F55\uFF0C\u975E\u5B9E\u65F6\u72B6\u6001"}),f?.error&&pe.default.createElement(x,null,f.error==="ONBOARDING_HANDOFF_NOT_CONFIRMED"?"\u4E91\u7AEF\u5F53\u524D\u7248\u672C\u672A\u786E\u8BA4\u539F\u4EA4\u63A5\u3002Key \u53EF\u80FD\u672A\u9001\u8FBE\uFF0C\u6216\u5DF2\u88AB\u540E\u7EED\u64CD\u4F5C\u4FEE\u6539\uFF1B\u4E0D\u8981\u76F4\u63A5\u91CD\u53D1\u3002":"\u672A\u62FF\u5230\u53EF\u4FE1\u7684\u4E91\u7AEF\u7ED3\u679C\uFF0C\u4E0D\u4EE3\u8868\u6CA1\u6709\u5199\u5165\u3002\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u3002"),f?.state==="closed"&&pe.default.createElement(x,null,"\u539F\u8BF7\u6C42\u5DF2\u88AB\u540E\u7EED\u51ED\u636E\u7248\u672C\u963B\u65AD\uFF0C\u4E0D\u4F1A\u7EE7\u7EED\u4F7F\u7528\u65E7\u786E\u8BA4\u3002\u5173\u95ED\u4E0D\u8BC1\u660E Key \u4ECE\u672A\u9001\u8FBE\uFF0C\u4E5F\u4E0D\u5220\u9664\u6216\u66FF\u6362\u4E91\u7AEF\u5F53\u524D Key\u3002\u65B0\u4EA4\u63A5\u4ECD\u9700\u91CD\u65B0\u9884\u89C8\u786E\u8BA4\u3002"),f?.target&&pe.default.createElement(S,{label:"\u5DF2\u767B\u8BB0\u7684\u76EE\u6807\u76EE\u5F55",value:f.target.root}),pe.default.createElement("div",{className:"connection-actions",role:"group","aria-label":s?"\u4E91\u7AEF Gitee \u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C":n?"\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C":"\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C"},pe.default.createElement(_,{kind:"primary",icon:"key",disabled:r||!f||["sending","needs_review","recovering"].includes(f.state),onClick:()=>h("preview")},"\u9884\u89C8",u),pe.default.createElement(_,{kind:"secondary",icon:"reset",disabled:r,onClick:()=>h("refresh")},s?"\u624B\u52A8\u6838\u5BF9 Gitee \u4EA4\u63A5\u7ED3\u679C":n?"\u624B\u52A8\u6838\u5BF9 Token Plan \u4EA4\u63A5\u7ED3\u679C":"\u624B\u52A8\u6838\u5BF9\u4EA4\u63A5\u7ED3\u679C"),f&&["sending","needs_review"].includes(f.state)&&pe.default.createElement(_,{kind:"secondary",icon:"shield",disabled:r,onClick:()=>h("recover")},s?"\u9884\u89C8\u5173\u95ED Gitee \u539F\u4EA4\u63A5":n?"\u9884\u89C8\u5173\u95ED Token Plan \u539F\u4EA4\u63A5":"\u9884\u89C8\u5173\u95ED\u539F\u4EA4\u63A5")),p?.recovery&&pe.default.createElement("section",{className:"connection-confirm"},pe.default.createElement("h3",null,s?"\u5173\u95ED Gitee \u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1\u4EE4\u724C":n?"\u5173\u95ED Token Plan \u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1 Key":"\u5173\u95ED\u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1 Key"),pe.default.createElement(S,{label:"\u76EE\u6807\u76EE\u5F55",value:p.target.root}),pe.default.createElement(x,null,p.mode==="fence"?"\u76EE\u6807\u7248\u672C\u5C1A\u672A\u63A8\u8FDB\u3002\u786E\u8BA4\u540E\u4EC5\u63A8\u8FDB\u51ED\u636E\u7248\u672C\uFF0C\u4FDD\u6301\u5F53\u524D\u5185\u5BB9\uFF08\u5305\u62EC\u7A7A\u503C\uFF09\u4E0D\u53D8\uFF0C\u963B\u65AD\u8FDF\u5230\u7684\u539F\u8BF7\u6C42\uFF1B\u5DF2\u6709\u81EA\u6709\u6A21\u578B\u63A5\u5165\u53EF\u80FD\u9700\u91CD\u65B0\u786E\u8BA4\u3002":"\u76EE\u6807\u51ED\u636E\u7248\u672C\u5DF2\u7ECF\u63A8\u8FDB\u3002\u786E\u8BA4\u540E\u4EC5\u5173\u95ED\u672C\u7AEF\u539F\u4EA4\u63A5\u8D26\u672C\uFF0C\u4E0D\u4FEE\u6539\u4E91\u7AEF\u51ED\u636E\u3002"," \u82E5\u539F\u8BF7\u6C42\u5148\u5230\u8FBE\uFF0C\u5219\u663E\u793A\u5DF2\u9001\u8FBE\uFF0C\u4E0D\u4F1A\u8BEF\u8BB0\u4E3A\u672A\u9001\u8FBE\u3002"),pe.default.createElement(R,{checked:c,onChange:o,title:"\u6211\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5\uFF0C\u4FDD\u7559\u4E91\u7AEF\u5F53\u524D\u51ED\u636E\uFF0C\u4E0D\u91CD\u53D1\u6216\u5220\u9664 Key"}),pe.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},pe.default.createElement(_,{kind:"primary",icon:"check",disabled:r||!c,onClick:()=>h("apply")},"\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5"),pe.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))),p&&!p.recovery&&pe.default.createElement("section",{className:"connection-confirm"},pe.default.createElement("h3",null,s?"\u4EC5\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u5173\u8054\u4EFB\u52A1\u6216\u6388\u6743\u5199\u5165":n?"\u4EC5\u4FDD\u5B58 Token Plan \u5230\u4E91\u7AEF\uFF0C\u4E0D\u542F\u7528\u6A21\u578B":"\u4EC5\u4FDD\u5B58\u5230\u4E91\u7AEF\uFF0C\u4E0D\u542F\u7528\u6A21\u578B"),pe.default.createElement(S,{label:"\u76EE\u6807\u89D2\u8272",value:"\u4E91\u7AEF\u5927\u80A5\u9C7C"}),pe.default.createElement(S,{label:"\u76EE\u6807\u76EE\u5F55",value:p.target.root}),pe.default.createElement(S,{label:"DSH \u7248\u672C",value:p.target.hostVersion}),pe.default.createElement(S,{label:"\u51ED\u636E\u53D8\u5316",value:p.replacesOwnCredential?"\u66FF\u6362\u8BE5\u5B9E\u4F8B\u672C\u9879\u76EE\u7684\u65E2\u6709 Key\uFF1B\u5DF2\u6709\u81EA\u6709\u6A21\u578B\u63A5\u5165\u53EF\u80FD\u9700\u91CD\u65B0\u786E\u8BA4":"\u65B0\u5EFA\u672C\u9879\u76EE\u7684\u4E13\u7528\u51ED\u636E\u69FD\u4F4D"}),pe.default.createElement(R,{checked:c,onChange:o,title:s?"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165":"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58\u9884\u5907 Key\uFF0C\u4E0D\u542F\u7528\u6A21\u578B\u6216\u4EFB\u52A1"}),pe.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},pe.default.createElement(_,{kind:"primary",icon:"check",disabled:r||!c,onClick:()=>h("apply")},"\u786E\u8BA4\u4EA4\u63A5",s?"\u4E91\u7AEF Gitee \u51ED\u636E":n?"\u4E91\u7AEF Token Plan \u51ED\u636E":"\u4E91\u7AEF\u51ED\u636E"),pe.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))),L&&pe.default.createElement("p",{className:"connection-error",role:"alert"},L))}var ee=Ce(ge());var Ar="dsh-maintenance-session-reference-v1",ta=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),kr=e=>e&&!["released","not_held","retired"].includes(e.state),ro={acquire:["preview","apply"],release:["releasePreview","releaseApply"],record_observation:["recoveryPreview","recover"],retire_previous_instance:["retirementPreview","retirementApply"],resume_admission:["resumePreview","resumeApply"]},br=e=>e&&e.hostStopAuthorized===!1&&e.pluginSwitchAuthorized===!1,lo=e=>br(e)&&e.contract===2&&e.persisted===!0&&e.scope==="coordinated_components_only"&&ta(e.instanceId)&&Number.isSafeInteger(e.revision)&&e.revision>=0&&["open","held","needs_review","interrupted"].includes(e.state)&&typeof e.operationInFlight=="boolean"&&(!e.receipt||ta(e.receipt.id));function so(e,t,s=Date.now()){let n=e.current,u=t===2&&!e.busy&&e.fresh&&!e.uncertain&&lo(n)&&!n.operationInFlight,l=u&&kr(n.receipt)&&n.receipt.instanceId===n.instanceId;return{acquire:u&&n.state==="open"&&!n.admission?.blocked,resume_admission:u&&n.admission?.contract===1&&n.admission.blocked&&!kr(n.receipt),release:l&&n.live?.operationId===n.receipt.id,record_observation:l&&n.state==="needs_review",retire_previous_instance:u&&n.state==="interrupted",confirm:u&&!!e.plan&&e.plan.canApply===!0&&s<e.plan.expiresAt}}function yr(e,t,s,n,u=Date.now){let l=null;try{let c=JSON.parse(n?.getItem(Ar)??"null");ta(c?.operationId)?l={operationId:c.operationId,...ta(c?.decisionId)?{decisionId:c.decisionId}:{}}:ta(c?.decisionId)&&(l={operationId:null,decisionId:c.decisionId})}catch{}let a={current:null,receipt:null,plan:null,reference:l,busy:!1,error:"",fresh:!1,uncertain:!!l,observedAt:null},f=c=>{a={...a,...c},t(a)},m=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function p(c,o){return lo(c)||m(),o?.operationId&&(c.requestedOperationId!==o.operationId||c.requestedReceipt&&c.requestedReceipt.id!==o.operationId)&&m(),{current:c,receipt:o?.operationId?c.requestedReceipt:c.receipt,fresh:!0,uncertain:!!o&&(o.decisionId?c.admission?.durable?.decision?.id!==o.decisionId:!c.requestedReceipt),observedAt:u()}}async function i(c,o=!1){if(a.busy||s!==2)return!1;let r=so(a,s,u());if(c==="confirm"&&(!r.confirm||o!==!0)||c!=="refresh"&&c!=="confirm"&&!r[c]||!["refresh","confirm",...Object.keys(ro)].includes(c))return!1;let d=a.plan;f({busy:!0,error:"",plan:null});try{if(c==="refresh")f(p(await e("maintenance_record_status",a.reference?.operationId?{operationId:a.reference.operationId}:{}),a.reference));else if(c==="confirm"){let L={operationId:d.action==="acquire"?d.id:d.operationId,...d.action==="resume_admission"?{decisionId:d.id}:{}};if(!n)throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE");try{n.setItem(Ar,JSON.stringify(L))}catch{throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE")}f({reference:L,uncertain:!0,fresh:!1});let C=await e("maintenance_record_"+ro[d.action][1],{id:d.id,fingerprint:d.fingerprint,confirm:!0});(!lo(C)||(C.receipt?.id??null)!==L.operationId||L.decisionId&&C.admission?.durable?.decision?.id!==L.decisionId)&&m(),f({...p(C,null),receipt:C.receipt,uncertain:!1})}else{let L=await e("maintenance_record_"+ro[c][0],{}),C=c==="resume_admission"?"own_execution_startup_only":["record_observation","retire_previous_instance"].includes(c)?"ledger_only":"coordinated_components_only";(!br(L)||L.action!==c||L.scope!==C||!ta(L.id)||!ta(L.instanceId)||L.instanceId!==a.current.instanceId||!Number.isFinite(L.expiresAt)||!Number.isSafeInteger(L.revision)||L.revision!==a.current.revision||typeof L.canApply!="boolean"||!/^[a-f0-9]{64}$/.test(L.fingerprint??"")||c!=="acquire"&&(L.operationId!==null&&!ta(L.operationId)||L.operationId!==(a.current.receipt?.id??null)))&&m(),C==="ledger_only"&&(L.componentActions!==0||c==="retire_previous_instance"&&L.signals!==0)&&m(),f({plan:L})}return!0}catch(L){return f({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(L?.message)?L.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{f({busy:!1})}}return{get:()=>a,act:i,cancel:()=>{a.busy||f({plan:null})}}}var no={open:"\u5F53\u524D\u6CA1\u6709\u672A\u7ED3\u675F\u7EF4\u62A4",held:"\u672C\u5B9E\u4F8B\u6301\u6709\u7EC4\u4EF6\u7EF4\u62A4\u9501",needs_review:"\u672C\u5B9E\u4F8B\u8BB0\u5F55\u5F85\u6838\u5BF9",interrupted:"\u65E7\u5B9E\u4F8B\u8BB0\u5F55\u672A\u6536\u5C3E",acquire_intent:"\u5DF2\u8BB0\u83B7\u53D6\u610F\u56FE \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",release_intent:"\u5DF2\u8BB0\u91CA\u653E\u610F\u56FE \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",released:"\u539F\u7EC4\u4EF6\u9501\u5DF2\u91CA\u653E",not_held:"\u539F\u8BB0\u5F55\u5DF2\u6838\u5BF9 \xB7 \u672A\u6301\u9501",retired:"\u65E7\u5B9E\u4F8B\u8BB0\u5F55\u5DF2\u6536\u5C3E"},ss={...no,held:"\u8BE5\u8BB0\u5F55\u5F53\u65F6\u5DF2\u53D6\u5F97\u7EC4\u4EF6\u9501",needs_review:"\u8BE5\u8BB0\u5F55\u5F85\u6838\u5BF9",released:"\u8BE5\u8BB0\u5F55\u7EC4\u4EF6\u9501\u5DF2\u91CA\u653E",not_held:"\u8BE5\u8BB0\u5F55\u5DF2\u6838\u5BF9 \xB7 \u5F53\u65F6\u672A\u6301\u9501"},bt={acquire:"\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4",release:"\u91CA\u653E\u672C\u5B9E\u4F8B\u7EC4\u4EF6\u9501",record_observation:"\u6838\u5BF9\u672C\u5B9E\u4F8B\u8BB0\u5F55",retire_previous_instance:"\u6536\u5C3E\u65E7\u5B9E\u4F8B\u8BB0\u5F55",resume_admission:"\u6062\u590D\u81EA\u6709\u6267\u884C\u5165\u53E3"},ns={absent:"\u539F\u8FDB\u7A0B\u5DF2\u4E0D\u5B58\u5728",pid_reused:"PID \u5DF2\u5C5E\u4E8E\u4E0D\u540C\u51FA\u751F\u8EAB\u4EFD",boot_changed:"\u540C\u4E00\u4E3B\u673A\u5DF2\u91CD\u65B0\u542F\u52A8",terminal:"\u539F\u8FDB\u7A0B\u5DF2\u7EC8\u6B62",same_process:"\u539F\u8FDB\u7A0B\u4ECD\u5B58\u6D3B",identity_missing:"\u65E7\u8BB0\u5F55\u7F3A\u5C11\u8EAB\u4EFD\u51ED\u636E",host_changed:"\u4E3B\u673A\u8EAB\u4EFD\u4E0D\u540C",namespace_changed:"\u8FDB\u7A0B\u547D\u540D\u7A7A\u95F4\u4E0D\u540C",observer_unavailable:"\u5F53\u524D\u5B9E\u4F8B\u8EAB\u4EFD\u65E0\u6CD5\u6838\u9A8C",process_unavailable:"\u539F\u8FDB\u7A0B\u72B6\u6001\u65E0\u6CD5\u8BFB\u53D6",observation_changed:"\u89C2\u5BDF\u671F\u95F4\u8EAB\u4EFD\u53D8\u5316",identity_format_changed:"\u65E7\u65F6\u95F4\u683C\u5F0F\u65E0\u6CD5\u4E0E\u5F53\u524D\u683C\u5F0F\u6BD4\u8F83",current_instance:"\u5F53\u524D\u5B9E\u4F8B\u4E0D\u80FD\u4F5C\u4E3A\u65E7\u5B9E\u4F8B\u6536\u5C3E",previous_instance_unverified:"\u5C1A\u4E0D\u80FD\u6838\u9A8C\u65E7\u5B9E\u4F8B"},is={open:"\u672A\u6301\u9501",held:"\u672C\u5B9E\u4F8B\u5DF2\u6301\u9501",busy:"\u6D3B\u52A8\u4E2D",not_configured:"\u672A\u914D\u7F6E \xB7 \u4E0D\u9002\u7528",unsupported:"\u4E0D\u652F\u6301\u6838\u9A8C",needs_review:"\u5F85\u6838\u5BF9"},us={ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u8BF7\u6C42\u672A\u53D1\u9001\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u8BBE\u7F6E\u3002",ONBOARDING_MAINTENANCE_RECORD_PLAN_EXPIRED:"\u8BA1\u5212\u8FC7\u671F\u6216\u5DF2\u5931\u6548\uFF1B\u5148\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\u65B0\u8BA1\u5212\u3002",ONBOARDING_MAINTENANCE_RECORD_OBSERVATION_CHANGED:"\u8BB0\u5F55\u6216\u9000\u51FA\u8BC1\u636E\u53D1\u751F\u53D8\u5316\uFF0C\u672A\u7EE7\u7EED\u64CD\u4F5C\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_MAINTENANCE_RECORD_LEDGER_REVIEW:"\u539F\u8D26\u672C\u65E0\u6CD5\u5B89\u5168\u89E3\u6790\uFF0C\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u8986\u76D6\u6216\u5220\u9664\u3002"};function wr({request:e,contract:t=0}){let[s,n]=(0,ee.useState)(null),[u,l]=(0,ee.useState)(!1),a=(0,ee.useRef)(!0),f=(0,ee.useRef)();if(!f.current){let d;try{d=globalThis.sessionStorage}catch{}f.current=yr(e,L=>{a.current&&n(L)},t,d)}(0,ee.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let m=s??f.current.get(),p=so(m,t),i=m.plan,c=m.current,o=m.receipt,r=d=>(l(!1),f.current.act(d,u));return ee.default.createElement(V,{title:"\u7EF4\u62A4\u4F1A\u8BDD\u4E0E\u8BB0\u5F55",sub:"\u4EC5\u7BA1\u7406\u5F53\u524D Host \u7684\u81EA\u6709\u7EC4\u4EF6\uFF1B\u89C4\u5219\u6587\u4EF6\u7EF4\u62A4\u4ECD\u5728\u7B2C 5 \u9875\u3002",icon:"lock",className:"connection-panel maintenance-session",extra:ee.default.createElement(ve,null,"\u624B\u52A8\u6838\u5BF9")},ee.default.createElement(x,null,"\u7EC4\u4EF6\u9501\u4E0D\u662F\u6574\u673A\u6682\u505C\u3002\u7B2C\u4E09\u65B9 IM \u5C1A\u672A\u5B8C\u6210\u6392\u7A7A\uFF1B\u8FD9\u91CC\u4E0D\u6388\u6743\u505C\u673A\u3001\u63D2\u4EF6\u5347\u7EA7\u3001\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"),ee.default.createElement("div",{className:"maintenance-status",role:"status"},ee.default.createElement(S,{label:"\u5F53\u524D\u89C2\u5BDF",value:c?no[c.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),ee.default.createElement("p",{className:"fine-print"},m.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(m.observedAt).toLocaleString()+(m.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6\uFF0C\u9700\u91CD\u65B0\u6838\u5BF9"):"\u6253\u5F00\u9875\u9762\u4E0D\u8BFB\u8D26\u672C\u3001\u4E0D\u6267\u884C\u7EF4\u62A4\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),c?.admission?.contract===1&&ee.default.createElement(S,{label:"\u81EA\u6709\u6267\u884C\u5165\u53E3",value:{checking:"\u542F\u52A8\u6838\u5BF9\u4E2D \xB7 \u6682\u4E0D\u653E\u884C",open:"\u51C6\u5165\u5F00\u653E \xB7 \u4EFB\u52A1\u4ECD\u53D7\u5404\u81EA\u5BA1\u6279\u7EA6\u675F",fenced:"\u51C6\u5165\u5173\u95ED \xB7 \u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4",unavailable:"\u8D26\u672C\u65E0\u6CD5\u6838\u9A8C \xB7 \u4FDD\u6301\u5173\u95ED"}[c.admission.local]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u5DF2\u6062\u590D"}),c?.admission?.blocked&&ee.default.createElement(x,{tone:"warn"},"\u81EA\u6709\u4EFB\u52A1\u7F51\u5173\u3001\u6A21\u578B\u63A5\u5165\u4E0E\u540E\u53F0\u542F\u52A8\u4FDD\u6301\u5173\u95ED\u3002\u6536\u5C3E\u65E7\u8BB0\u5F55\u53EA\u66F4\u65B0\u5386\u53F2\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\uFF1B\u8FD9\u91CC\u4E0D\u6682\u505C\u7B2C\u4E09\u65B9 IM \u6216\u5168\u90E8\u539F\u751F\u4F1A\u8BDD\u3002"),c?.executionMayHaveResumed&&ee.default.createElement(x,{tone:"warn"},"Host \u5DF2\u6362\u5B9E\u4F8B\uFF0C\u539F\u751F\u6216\u7B2C\u4E09\u65B9\u4EFB\u52A1\u4ECD\u53EF\u80FD\u5DF2\u6062\u590D\u3002\u65E7\u8BB0\u5F55\u4E0D\u4EE3\u8868\u65E7\u9501\u4ECD\u7136\u751F\u6548\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u6279\u51C6\u3002"),c&&ee.default.createElement("div",{className:"maintenance-components"},[["onboarding","\u81EA\u6709\u5BFC\u89C8\u4E0E\u540E\u53F0"],["gateway","\u4EFB\u52A1\u4E0E\u6587\u4EF6\u7F51\u5173"],["agents","\u539F\u751F\u667A\u80FD\u4F53"]].map(([d,L])=>ee.default.createElement(S,{key:d,label:L,value:is[c.live?.components?.[d]?.state]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u7A7A\u95F2"})),ee.default.createElement(S,{label:"\u7B2C\u4E09\u65B9 IM",value:"\u672A\u5B8C\u6210\u6392\u7A7A\u9A8C\u8BC1"})),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(_,{kind:"secondary",icon:"reset",disabled:m.busy||t!==2,onClick:()=>r("refresh")},"\u624B\u52A8\u6838\u5BF9\u4F1A\u8BDD\u4E0E\u56DE\u6267"),Object.entries(bt).filter(([d])=>p[d]).map(([d,L])=>ee.default.createElement(_,{key:d,kind:"soft",onClick:()=>r(d)},"\u9884\u89C8",L))),m.uncertain&&ee.default.createElement(x,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u53EF\u6838\u9A8C\u8BB0\u5F55\u3002\u4FDD\u7559\u67E5\u8BE2\u5F15\u7528\uFF0C\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u5B9A\u8BF7\u6C42\u6CA1\u6709\u6267\u884C\u3002"),i&&ee.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u4F1A\u8BDD\u8BA1\u5212"},ee.default.createElement("h3",null,"\u5F85\u786E\u8BA4 \xB7 ",bt[i.action]),ee.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:i.scope==="ledger_only"?"\u53EA\u66F4\u65B0\u539F\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u7EC4\u4EF6":i.scope==="own_execution_startup_only"?"\u4EC5\u6062\u590D\u81EA\u6709\u540E\u53F0\u548C\u6267\u884C\u5165\u53E3":"\u5F53\u524D Host \u7684\u81EA\u6709\u5BFC\u89C8\u3001\u7F51\u5173\u4E0E\u539F\u751F\u667A\u80FD\u4F53"}),i.reason&&ee.default.createElement(S,{label:"\u6838\u9A8C\u4F9D\u636E",value:ns[i.reason]??"\u6838\u9A8C\u672A\u6EE1\u8DB3\u8981\u6C42"}),i.action==="record_observation"&&ee.default.createElement(S,{label:"\u62DF\u8BB0\u5165\u72B6\u6001",value:no[i.observedState]??"\u65E0\u6CD5\u6838\u9A8C"}),ee.default.createElement("p",null,i.action==="resume_admission"?"\u6838\u5BF9\u5E76\u6301\u4E45\u8BB0\u5F55\u6062\u590D\u51B3\u5B9A\uFF0C\u518D\u653E\u884C\u5F53\u524D\u6709\u6548\u7684\u81EA\u6709\u542F\u52A8\u9879\uFF1B\u4E0D\u81EA\u52A8\u91CD\u53D1\u6D88\u606F\u3001\u91CD\u8BD5\u5931\u8D25\u8BF7\u6C42\u6216\u653E\u5BBD\u4EFB\u52A1\u5BA1\u6279\u3002":i.action==="acquire"?"\u5148\u8BB0\u610F\u56FE\uFF0C\u518D\u5C1D\u8BD5\u83B7\u53D6\u7EC4\u4EF6\u9501\uFF1B\u4E0D\u53D6\u6D88\u73B0\u6709\u5DE5\u4F5C\u3002":i.action==="release"?"\u53EA\u91CA\u653E\u672C\u6B21\u5DF2\u6709\u7EC4\u4EF6\u9501\uFF1B\u666E\u901A\u4EFB\u52A1\u53EF\u80FD\u7EE7\u7EED\u6267\u884C\u3002":i.action==="record_observation"?"\u53EA\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u83B7\u53D6\u3001\u91CA\u653E\u6216\u91CD\u5EFA\u9501\u3002":"\u4FDD\u7559\u5386\u53F2\uFF0C\u5C06\u539F\u8BB0\u5F55\u6807\u4E3A\u5DF2\u6536\u5C3E\uFF1B\u4E0D\u53D1\u8FDB\u7A0B\u4FE1\u53F7\uFF0C\u65B0\u7EF4\u62A4\u9700\u53E6\u884C\u786E\u8BA4\u3002"),i.action==="acquire"&&!i.ownerProofAvailable&&ee.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u65E0\u6CD5\u8BB0\u5F55\u8FDB\u7A0B\u51FA\u751F\u8EAB\u4EFD\uFF1B\u82E5\u91CD\u542F\u540E\u7559\u4E0B\u672A\u5B8C\u6210\u8BB0\u5F55\uFF0C\u4E0D\u80FD\u81EA\u52A8\u8BC1\u660E\u65E7\u5B9E\u4F8B\u5DF2\u9000\u51FA\u3002"),i.reasons?.length>0&&ee.default.createElement(x,{tone:"warn"},"\u5B58\u5728\u6D3B\u52A8\u6216\u65E0\u6CD5\u6838\u9A8C\u7684\u7EC4\u4EF6\uFF0C\u672C\u8BA1\u5212\u4E0D\u80FD\u5E94\u7528\u3002\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u4E2D\u65AD\u73B0\u6709\u4EFB\u52A1\u3002"),!i.canApply&&ee.default.createElement(x,{tone:"warn"},"\u8BC1\u636E\u672A\u6EE1\u8DB3\uFF0C\u672C\u8BA1\u5212\u4E0D\u53EF\u786E\u8BA4\uFF1B\u4E0D\u4EE5\u672A\u77E5\u72B6\u6001\u4EE3\u66FF\u7A7A\u95F2\u6216\u9000\u51FA\u3002"),ee.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(i.expiresAt).toLocaleTimeString(),"\uFF0C\u786E\u8BA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),ee.default.createElement(R,{checked:u,disabled:!p.confirm,onChange:l,title:"\u6211\u786E\u8BA4\u4EC5"+bt[i.action],sub:"\u4E0D\u662F\u6574\u673A\u505C\u673A\u3001\u5347\u7EA7\u3001\u5378\u8F7D\u6216\u4EFB\u52A1\u6267\u884C\u6388\u6743\u3002"}),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(_,{kind:"primary",disabled:!p.confirm||!u,onClick:()=>r("confirm")},"\u786E\u8BA4",bt[i.action]),ee.default.createElement(_,{kind:"secondary",disabled:m.busy,onClick:()=>{f.current.cancel(),l(!1)}},"\u53D6\u6D88\u4F1A\u8BDD\u8BA1\u5212"))),o&&ee.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u7EF4\u62A4\u4F1A\u8BDD\u5386\u53F2\u56DE\u6267"},ee.default.createElement("h3",null,"\u67E5\u8BE2\u5230\u7684\u8BB0\u5F55 \xB7 ",ss[o.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),ee.default.createElement("p",null,"\u8FD9\u662F\u8D26\u672C\u4E8B\u5B9E\uFF0C\u4E0D\u4EE3\u8868\u6574\u673A\u5DF2\u6392\u7A7A\uFF0C\u4E5F\u4E0D\u4EE3\u8868\u5386\u53F2\u8BF7\u6C42\u5747\u5DF2\u6210\u529F\u3002"),c?.receipt?.id!==o.id&&ee.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u7684\u7EF4\u62A4\u8BB0\u5F55\uFF0C\u8BF7\u4EE5\u4E0A\u65B9\u201C\u5F53\u524D\u89C2\u5BDF\u201D\u4E3A\u51C6\u3002"),ee.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(o.updatedAt).toLocaleString()}),ee.default.createElement("details",{className:"plan-item"},ee.default.createElement("summary",null,"\u8BCA\u65AD\u4FE1\u606F"),ee.default.createElement("code",null,o.id),ee.default.createElement(S,{label:"\u5386\u53F2\u8BB0\u5F55\u6570",value:c?.historyCount??"\u672A\u77E5"}))),m.error&&ee.default.createElement("p",{className:"connection-error",role:"alert"},us[m.error]??"\u672C\u6B21\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u5148\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",ee.default.createElement("code",null,m.error)))}var oe=Ce(ge());var io="dsh-im-maintenance-reference-v1",oa=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),yt=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Or=e=>typeof e=="string"&&/^[A-Za-z0-9_-]{1,128}$/.test(e),Dr=["connected","disconnected","connecting","provisioning","error"],Er=e=>e&&e.hostStopAuthorized===!1&&e.pluginSwitchAuthorized===!1,Pr=e=>e===null||e&&oa(e.id)&&oa(e.instanceId)&&Or(e.botId)&&e.channel==="feishu"&&yt(e.configHash)&&["disconnect","reconnect"].includes(e.action)&&["intent","needs_review","acknowledged","reviewed"].includes(e.phase)&&Number.isSafeInteger(e.updatedAt)&&(e.review===null||e.phase==="reviewed"&&oa(e.review?.id)&&oa(e.review?.instanceId)&&Number.isSafeInteger(e.review?.at)),uo=e=>Er(e)&&e.contract===1&&e.queryContract===1&&e.scope==="single_bot_current_host"&&oa(e.instanceId)&&Number.isSafeInteger(e.revision)&&e.revision>=0&&["observed","unavailable"].includes(e.inventoryState)&&typeof e.operationInFlight=="boolean"&&typeof e.pending=="boolean"&&Pr(e.receipt)&&e.pending===!!(e.receipt&&["intent","needs_review"].includes(e.receipt.phase))&&e.lossless===!1&&e.configurationRetainedByContract===!0&&e.configurationSecretsVerified===!1&&e.restartMayReconnect===!0&&e.automaticDisconnect===!1&&Array.isArray(e.bots)&&e.bots.every(t=>Or(t.botId)&&t.channel==="feishu"&&typeof t.name=="string"&&typeof t.configured=="boolean"&&typeof t.connected=="boolean"&&Dr.includes(t.state)&&t.connected===(t.state==="connected")&&yt(t.configHash))&&new Set(e.bots.map(t=>t.botId)).size===e.bots.length;function fo(e,t,s=Date.now(),n=!0){let u=e.current,l=t===1&&n&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&uo(u)&&u.inventoryState==="observed"&&!u.operationInFlight,a=u?.bots.find(f=>f.botId===e.selected&&f.configured);return{disconnect:!!(l&&!u.pending&&a?.connected),reconnect:!!(l&&!u.pending&&a&&!a.connected&&a.state==="disconnected"),review:!!(l&&u.pending),confirm:!!(l&&e.plan&&s<e.plan.expiresAt)}}function Br(e,t,s,n,u=Date.now,l=!0){let a=null,f=!1;try{if(!n)throw Error();let r=JSON.parse(n.getItem(io)??"null");if(r!==null){if(!oa(r.operationId)||Object.keys(r).some(d=>!["operationId","decisionId"].includes(d))||Object.hasOwn(r,"decisionId")&&!oa(r.decisionId))throw Error();a=r}}catch{f=!0}let m={current:null,receipt:null,plan:null,selected:"",reference:a,storageError:f,busy:!1,error:"",fresh:!1,uncertain:!!a||f,observedAt:null},p=r=>{m={...m,...r},t(m)},i=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function c(r,d){uo(r)||i(),d&&(r.requestedOperationId!==d.operationId||!Object.hasOwn(r,"requestedReceipt")||!Pr(r.requestedReceipt)||r.requestedReceipt&&r.requestedReceipt.id!==d.operationId)&&i();let L=d?r.requestedReceipt:r.receipt;return{current:r,receipt:L,fresh:!0,uncertain:m.storageError||!!d&&(!L||!!d.decisionId&&L.review?.id!==d.decisionId),observedAt:u()}}async function o(r,d=!1){if(m.busy||s!==1||!["refresh","disconnect","reconnect","review","confirm"].includes(r))return!1;let L=fo(m,s,u(),l);if(r!=="refresh"&&(!L[r]||r==="confirm"&&d!==!0))return!1;let C=m.plan;p({busy:!0,error:"",plan:null});try{if(r==="refresh")p(c(await e("im_maintenance_status",m.reference?{operationId:m.reference.operationId}:{}),m.reference));else if(r==="confirm"){let h=C.kind==="review"?{operationId:C.operationId,decisionId:C.id}:{operationId:C.id};try{if(!n||(n.setItem(io,JSON.stringify(h)),n.getItem(io)!==JSON.stringify(h)))throw Error()}catch{throw Error("ONBOARDING_IM_MAINTENANCE_REFERENCE_UNAVAILABLE")}p({reference:h,uncertain:!0,fresh:!1});let g=await e("im_maintenance_"+(C.kind==="review"?"reconcileApply":"apply"),{id:C.id,fingerprint:C.fingerprint,confirm:!0,acknowledgeLoss:!0});(!uo(g)||g.instanceId!==C.instanceId||g.revision<=C.revision||g.receipt?.id!==h.operationId||h.decisionId&&g.receipt.review?.id!==h.decisionId||C.kind==="action"&&(g.receipt.botId!==C.botId||g.receipt.action!==C.action||g.receipt.configHash!==C.configHash))&&i(),p(c({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=m.current,g=h.bots.find(N=>N.botId===m.selected),v=await e("im_maintenance_"+(r==="review"?"reconcilePreview":"preview"),r==="review"?{}:{action:r,botId:m.selected});(!Er(v)||!oa(v.id)||v.instanceId!==h.instanceId||v.revision!==h.revision||!yt(v.fingerprint)||!yt(v.observationHash)||!Number.isSafeInteger(v.expiresAt)||v.expiresAt<=u())&&i(),(r==="review"?v.kind!=="review"||v.scope!=="ledger_only"||v.priorEffectVerified!==!1||v.operationId!==h.receipt?.id||!Dr.includes(v.observedState):v.kind!=="action"||v.scope!=="single_bot_current_host"||v.action!==r||v.botId!==g?.botId||v.channel!=="feishu"||v.configHash!==g.configHash||v.botName!==g.name||v.mayAbortInFlight!==!0||v.restartMayReconnect!==!0)&&i(),p({plan:v})}return!0}catch(h){return p({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{p({busy:!1})}}return{get:()=>m,act:o,select:r=>{m.busy||p({selected:r,plan:null})},cancel:()=>{m.busy||p({plan:null})}}}var co={connected:"\u5DF2\u8FDE\u63A5",disconnected:"\u5DF2\u65AD\u5F00",connecting:"\u8FDE\u63A5\u4E2D",provisioning:"\u914D\u7F6E\u4E2D",error:"\u8FDE\u63A5\u5F02\u5E38"},Tr={intent:"\u5DF2\u8BB0\u5F55\u610F\u56FE \xB7 \u7ED3\u679C\u672A\u77E5",acknowledged:"\u5DF2\u6536\u5230\u8BE5\u6B21\u64CD\u4F5C\u56DE\u6267",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9",reviewed:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u8FFD\u8BA4"},wt={disconnect:"\u65AD\u5F00\u673A\u5668\u4EBA",reconnect:"\u6062\u590D\u673A\u5668\u4EBA\u8FDE\u63A5",review:"\u8865\u8BB0\u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF"},ds={ONBOARDING_IM_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u67E5\u8BE2\u5F15\u7528\u65E0\u6CD5\u4FDD\u5B58\uFF0C\u8BF7\u6C42\u672A\u53D1\u9001\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u3002",ONBOARDING_IM_MAINTENANCE_OWN_DISCONNECT_REQUIRED:"\u672C\u63D2\u4EF6\u6CA1\u6709\u627E\u5230\u53EF\u6838\u9A8C\u7684\u65AD\u5F00\u8BB0\u5F55\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u6062\u590D\u8FDE\u63A5\u3002\u8BF7\u4F7F\u7528\u539F\u751F IM \u7BA1\u7406\u5165\u53E3\u3002",ONBOARDING_IM_MAINTENANCE_ORIGINAL_IN_FLIGHT_UNVERIFIED:"\u539F\u5B9E\u4F8B\u7684\u8BF7\u6C42\u4ECD\u53EF\u80FD\u5728\u9014\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u8BF7\u4FDD\u7559\u8BB0\u5F55\uFF0C\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_IM_MAINTENANCE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u624B\u52A8\u6838\u5BF9\u5E76\u9884\u89C8\u3002",ONBOARDING_IM_MAINTENANCE_CONFIG_CHANGED:"\u673A\u5668\u4EBA\u914D\u7F6E\u5DF2\u53D8\u5316\uFF0C\u8BF7\u4FDD\u7559\u73B0\u573A\u6838\u5BF9\uFF0C\u4E0D\u8986\u76D6\u65E7\u8BB0\u5F55\u3002"};function Mr({request:e,contract:t=0,allowMutation:s=!1}){let[n,u]=(0,oe.useState)(null),[l,a]=(0,oe.useState)(!1),f=(0,oe.useRef)(!0),m=(0,oe.useRef)();if(!m.current){let C;try{C=globalThis.sessionStorage}catch{}m.current=Br(e,h=>{f.current&&u(h)},t,C,Date.now,s)}(0,oe.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=n??m.current.get(),i=fo(p,t,Date.now(),s),c=p.current,o=p.plan,r=p.receipt,d=o?.kind==="review"?"review":o?.action,L=C=>(a(!1),m.current.act(C,l));return oe.default.createElement(V,{title:"IM \u8FDE\u63A5\u7EF4\u62A4",sub:"\u53EA\u64CD\u4F5C\u5F53\u524D Host \u7684\u5355\u4E2A\u98DE\u4E66\u673A\u5668\u4EBA\uFF1B\u4E0D\u901A\u8FC7\u672C\u9875\u8FDC\u7A0B\u5207\u6362\u53E6\u4E00\u7AEF\u3002",icon:"chat",className:"connection-panel",extra:oe.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},oe.default.createElement(x,{tone:"warn",title:"\u65AD\u5F00\u53EF\u80FD\u4E2D\u6B62\u5728\u9014\u6D88\u606F"},"\u53EF\u80FD\u4E2D\u6B62\u6B63\u5728\u53D1\u9001\u7684\u6D88\u606F\u3001\u5A92\u4F53\u548C\u5F85\u51B3\u4EA4\u4E92\uFF0C\u4E0D\u662F\u65E0\u635F\u6682\u505C\u3002\u914D\u7F6E\u6309\u5B98\u65B9\u63A5\u53E3\u7EA6\u5B9A\u4FDD\u7559\uFF1B\u6062\u590D\u8FDE\u63A5\u9700\u53E6\u884C\u786E\u8BA4\u3002Host \u91CD\u542F\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\uFF0C\u4E0D\u4EE3\u8868\u6574\u673A\u5DF2\u505C\u673A\u6216\u53EF\u5B89\u5168\u5347\u7EA7\u3002"),oe.default.createElement("section",{className:"maintenance-status","aria-label":"IM \u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF"},oe.default.createElement(S,{label:"\u5F53\u524D\u89C2\u5BDF",value:c?c.inventoryState==="unavailable"?"\u8FDE\u63A5\u6E05\u5355\u4E0D\u53EF\u7528 \xB7 \u4EC5\u5C55\u793A\u8D26\u672C":c.bots.length?`${c.bots.length} \u4E2A\u98DE\u4E66\u673A\u5668\u4EBA`:"\u6CA1\u6709\u5DF2\u914D\u7F6E\u7684\u98DE\u4E66\u673A\u5668\u4EBA":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),oe.default.createElement("p",{className:"fine-print"},p.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(p.observedAt).toLocaleString()+(p.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9"):"\u6253\u5F00\u9875\u9762\u4E0D\u8BFB\u53D6\u8FDE\u63A5\u3001\u4E0D\u81EA\u52A8\u65AD\u5F00\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002"),c?.inventoryState==="observed"&&c.bots.length>0&&oe.default.createElement(Se,{label:"\u672C\u6B21\u7EF4\u62A4\u7684\u673A\u5668\u4EBA",hint:"\u6309\u540D\u79F0\u9009\u62E9\uFF0C\u4E0D\u7528\u8F93\u5165\u7F16\u53F7\uFF1B\u8FDE\u63A5\u72B6\u6001\u53EA\u662F\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8BC1\u660E\u6D88\u606F\u5DF2\u6210\u529F\u9001\u8FBE\u3002"},oe.default.createElement("select",{value:p.selected,disabled:p.busy,onChange:C=>{m.current.select(C.target.value),a(!1)}},oe.default.createElement("option",{value:""},"\u8BF7\u9009\u62E9\u673A\u5668\u4EBA"),c.bots.map(C=>oe.default.createElement("option",{key:C.botId,value:C.botId},C.name," \xB7 ",co[C.state])))),c?.pending&&oe.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u53E6\u6709\u672A\u5B8C\u6210\u8BB0\u5F55\uFF1A",Tr[c.receipt.phase],"\u3002\u5148\u6838\u5BF9\u8D26\u672C\uFF0C\u4E0D\u91CD\u590D\u65AD\u5F00\u6216\u6062\u590D\u3002")),oe.default.createElement("div",{className:"connection-actions"},oe.default.createElement(_,{kind:"secondary",icon:"reset",disabled:p.busy||t!==1,onClick:()=>L("refresh")},"\u624B\u52A8\u6838\u5BF9 IM \u4E0E\u56DE\u6267"),["disconnect","reconnect","review"].filter(C=>i[C]).map(C=>oe.default.createElement(_,{key:C,kind:"soft",onClick:()=>L(C)},"\u9884\u89C8",wt[C]))),(!s||c?.inventoryState==="unavailable")&&oe.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u53EA\u53EF\u67E5\u8BE2\u7EF4\u62A4\u8D26\u672C\uFF1B\u672A\u53D6\u5F97\u516C\u5F00 IM \u63A5\u53E3\u4E0E\u5B9E\u65F6\u89C2\u5BDF\uFF0C\u4E0D\u5141\u8BB8\u8FDE\u63A5\u53D8\u66F4\u3002"),p.storageError&&oe.default.createElement(x,{tone:"warn"},"\u6D4F\u89C8\u5668\u67E5\u8BE2\u5F15\u7528\u65E0\u6CD5\u8BFB\u53D6\u6216\u5DF2\u635F\u574F\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u6240\u6709\u8FDE\u63A5\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\uFF1B\u672C\u9875\u4E0D\u6E05\u7406\u5386\u53F2\u3002"),p.uncertain&&!p.storageError&&oe.default.createElement(x,{tone:"warn"},"\u5C1A\u672A\u627E\u5230\u4E0E\u4E0A\u6B21\u8BF7\u6C42\u5B8C\u5168\u5BF9\u5E94\u7684\u56DE\u6267\u3002\u53EA\u6838\u5BF9\uFF0C\u4E0D\u91CD\u53D1\uFF1B\u4E0D\u80FD\u628A\u201C\u73B0\u5728\u5DF2\u65AD\u5F00\u201D\u5F53\u4F5C\u539F\u8BF7\u6C42\u6210\u529F\u3002"),o&&oe.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4 IM \u7EF4\u62A4\u8BA1\u5212"},oe.default.createElement("h3",null,"\u5F85\u786E\u8BA4 \xB7 ",wt[d]),oe.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:d==="review"?"\u53EA\u8865\u8BB0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u673A\u5668\u4EBA":o.botName}),oe.default.createElement("p",null,d==="review"?"\u4EC5\u4FDD\u5B58\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u53D1\u9001\u6216\u539F\u8FDE\u63A5\u64CD\u4F5C\u6210\u529F\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u6062\u590D\u8FDE\u63A5\u3002":d==="disconnect"?"\u8FD9\u6B21\u660E\u786E\u65AD\u5F00\u53EF\u80FD\u4E2D\u6B62\u5728\u9014\u6D88\u606F\u548C\u4EA4\u4E92\u3002\u4E0D\u4F1A\u5220\u9664\u673A\u5668\u4EBA\u914D\u7F6E\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\u3002":"\u4EC5\u6062\u590D\u8FD9\u4E2A\u673A\u5668\u4EBA\u8FDE\u63A5\uFF1B\u4E0D\u91CD\u653E\u5386\u53F2\u5931\u8D25\u6D88\u606F\uFF0C\u4E0D\u4EE3\u8868\u672A\u5B8C\u6210\u7684\u53D1\u9001\u5DF2\u7ECF\u6062\u590D\u3002"),d==="review"&&oe.default.createElement(S,{label:"\u62DF\u8BB0\u5F55\u7684\u5F53\u524D\u72B6\u6001",value:co[o.observedState]}),oe.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(o.expiresAt).toLocaleTimeString(),"\uFF0C\u786E\u8BA4\u65F6\u518D\u6B21\u6838\u9A8C\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u64A4\u9500\u5DF2\u53D1\u9001\u7684\u8BF7\u6C42\u3002"),oe.default.createElement(R,{checked:l,onChange:a,disabled:!i.confirm,title:d==="review"?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u786E\u8BA4\u672C\u6B21"+wt[d]+"\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM",sub:"\u4E0D\u6388\u6743 Host \u505C\u6B62\u3001\u63D2\u4EF6\u5207\u6362\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),oe.default.createElement("div",{className:"connection-actions"},oe.default.createElement(_,{kind:"primary",disabled:!i.confirm||!l,onClick:()=>L("confirm")},"\u786E\u8BA4",wt[d]),oe.default.createElement(_,{kind:"secondary",disabled:p.busy,onClick:()=>{m.current.cancel(),a(!1)}},"\u53D6\u6D88 IM \u8BA1\u5212"))),r&&oe.default.createElement("section",{className:"maintenance-receipt","aria-label":"IM \u5386\u53F2\u56DE\u6267"},oe.default.createElement("h3",null,"\u5386\u53F2\u56DE\u6267 \xB7 ",Tr[r.phase]),oe.default.createElement("p",null,"\u5386\u53F2\u7ED3\u679C\u4E0D\u7B49\u4E8E\u5F53\u524D\u8FDE\u63A5\u72B6\u6001\uFF0C\u4E5F\u4E0D\u8BC1\u660E\u5728\u9014\u6D88\u606F\u6210\u529F\u9001\u8FBE\u3002"),c?.receipt?.id!==r.id&&oe.default.createElement("p",null,"\u5F53\u524D\u6709\u66F4\u65B0\u7684\u8BB0\u5F55\uFF1B\u8FD9\u91CC\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u56DE\u6267\u3002"),oe.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(r.updatedAt).toLocaleString()}),oe.default.createElement(S,{label:"\u5F53\u65F6\u89C2\u5BDF",value:co[r.observedState]??"\u672A\u77E5 \xB7 \u672A\u89C6\u4E3A\u6210\u529F"}),oe.default.createElement("details",{className:"plan-item"},oe.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),oe.default.createElement("code",null,r.id))),p.error&&oe.default.createElement("p",{className:"connection-error",role:"alert"},ds[p.error]??"\u672C\u6B21\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",oe.default.createElement("code",null,p.error)))}var ze=Ce(ge());var K=Ce(ge());var po="dsh-self-disable-reference-v1",tt=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),fs=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),ma=e=>Number.isSafeInteger(e)&&e>=0,cs=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],Fr=e=>e===null||e&&tt(e.id)&&cs.includes(e.state)&&typeof e.version=="string"&&e.version.length<=128&&ma(e.createdAt)&&ma(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.originalOutcomeProven===!1&&e.review?.bundleEnabled===!0&&ma(e.review?.at)),ps=e=>!!e&&["intent","unknown"].includes(e.state),ms=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,mo=e=>ms(e)&&e.contract===1&&e.queryContract===1&&e.scope==="current_host_own_bundle_selection_only"&&e.externalRecovery==="official_plugin_manager"&&tt(e.instanceId)&&ma(e.revision)&&ma(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&Fr(e.receipt)&&e.pending===ps(e.receipt);function Io(e,t,s=Date.now()){let n=e.current,u=t===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&mo(n)&&!n.operationInFlight;return{disable:!!(u&&!n.pending&&n.receipt?.state!=="saved_restart_required"),review:!!(u&&n.pending),confirm:!!(u&&e.plan?.canApply===!0&&e.plan.expiresAt>s)}}function Ur(e){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u505C\u7528\u6062\u590D\u8BF4\u660E
6
+ var DSHOnboarding=(()=>{var ul=Object.create;var ut=Object.defineProperty;var dl=Object.getOwnPropertyDescriptor;var fl=Object.getOwnPropertyNames;var cl=Object.getPrototypeOf,pl=Object.prototype.hasOwnProperty;var ml=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Il=(e,t)=>{for(var s in t)ut(e,s,{get:t[s],enumerable:!0})},Oo=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of fl(t))!pl.call(e,u)&&u!==s&&ut(e,u,{get:()=>t[u],enumerable:!(n=dl(t,u))||n.enumerable});return e};var Ce=(e,t,s)=>(s=e!=null?ul(cl(e)):{},Oo(t||!e||!e.__esModule?ut(s,"default",{value:e,enumerable:!0}):s,e)),Ll=e=>Oo(ut({},"__esModule",{value:!0}),e);var ge=ml((Us,Do)=>{Do.exports=React});var Ms={};Il(Ms,{CloudImManager:()=>xr,NativeImManager:()=>Sr,Onboarding:()=>Ts,callOnboarding:()=>$o,createImClientBridge:()=>Nr,titles:()=>Ot});var A=Ce(ge());var b=Ce(ge());var ft=Ce(ge());var Eo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dt=(...e)=>e.filter((t,s,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===s).join(" ").trim();var Na=Ce(ge());var Po={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Bo=(0,Na.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:s=2,absoluteStrokeWidth:n,className:u="",children:l,iconNode:a,...f},m)=>(0,Na.createElement)("svg",{ref:m,...Po,width:t,height:t,stroke:e,strokeWidth:n?Number(s)*24/Number(t):s,className:dt("lucide",u),...f},[...a.map(([p,i])=>(0,Na.createElement)(p,i)),...Array.isArray(l)?l:[l]]));var q=(e,t)=>{let s=(0,ft.forwardRef)(({className:n,...u},l)=>(0,ft.createElement)(Bo,{ref:l,iconNode:t,className:dt(`lucide-${Eo(e)}`,n),...u}));return s.displayName=`${e}`,s};var Aa=q("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var ka=q("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var ba=q("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var ya=q("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var wa=q("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var Oa=q("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var Je=q("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var je=q("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var Da=q("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);var Ea=q("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var Pa=q("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var Ba=q("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var Ta=q("FolderGit2",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["path",{d:"M18 19c-2.8 0-5-2.2-5-5v8",key:"pkpw2h"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);var Ma=q("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var ca=q("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var Fa=q("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var Ua=q("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var ea=q("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var Ha=q("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var Ga=q("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);var qa=q("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var Va=q("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var Ra=q("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var Wa=q("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var za=q("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var Ka=q("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var Xa=q("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var $a=q("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var Qa=q("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);var aa=q("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var Ya=q("Unplug",[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]]);var Za=q("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var To={required:"\u5FC5\u586B",optional:"\u9009\u586B",auto:"\u81EA\u52A8\u68C0\u6D4B",conditional:"\u542F\u7528\u540E\u5FC5\u586B"},Y=(e,t,s,n,u)=>({kind:e,what:t,where:s,impact:n,example:u}),ct={\u590D\u7528\u4E91\u7AEF\u4EFB\u52A1\u6A21\u578B:Y("required","\u586B\u5199\u4E91\u7AEF\u9A8C\u6536\u6240\u7528\u7684\u6A21\u578B\u540D\u79F0\u6216\u7B80\u79F0\uFF1B\u6709\u91CD\u540D\u65F6\u518D\u7528\u666E\u901A\u6587\u5B57\u8865\u5145\u63A5\u5165\u540D\u79F0\u3002","\u4EE5\u5F53\u524D\u4E91\u7AEF\u5B9E\u9645\u914D\u7F6E\u6E05\u5355\u4E3A\u51C6\uFF0C\u4E0D\u8F93\u5165 API Key \u6216 provider \u7F16\u53F7\u3002","\u672A\u552F\u4E00\u89E3\u6790\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u6216\u8BBE\u4E3A worker \u7684\u56FA\u5B9A\u9ED8\u8BA4\u6A21\u578B\u3002","ds flash"),"\u6211\u786E\u8BA4\u590D\u7528\u4E0A\u8FF0\u914D\u7F6E\uFF0C\u4EC5\u4FDD\u5B58\u786E\u8BA4\u8BB0\u5F55":Y("required","\u786E\u8BA4\u4FDD\u7559\u9884\u89C8\u4E2D\u7684\u65E2\u6709\u53CC\u7AEF\u3001\u6A21\u578B\u3001\u901A\u77E5\u548C\u53EF\u9009\u4ED3\u5E93\u8BBE\u7F6E\u3002","\u5148\u9884\u89C8\u5E76\u6838\u5BF9\u5F53\u524D\u7AEF\u70B9\u4E0E\u9009\u9879\u540E\u52FE\u9009\u3002","\u4E0D\u52FE\u9009\u4E0D\u4FDD\u5B58\uFF1B\u786E\u8BA4\u4E0D\u63A5\u7BA1 Host\u3001\u4E0D\u65B0\u589E\u5B89\u88C5\u5F52\u5C5E\u3001\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165\u3002"),\u9ED8\u8BA4\u673A\u5668\u4EBA\u6240\u5728\u7AEF:Y("conditional","\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u673A\u5668\u4EBA\u4F5C\u4E3A\u65E5\u5E38\u6536\u53D1\u5165\u53E3\u3002","\u5148\u5728\u8BE5\u7AEF\u539F\u751F IM \u7BA1\u7406\u4E2D\u914D\u7F6E\u673A\u5668\u4EBA\uFF0C\u518D\u8BFB\u53D6\u6E05\u5355\u3002","\u672C\u9875\u53EF\u8DF3\u8FC7\uFF1B\u53EA\u6709\u786E\u8BA4\u9ED8\u8BA4\u8BBE\u7F6E\u540E\u65B0\u5B9A\u65F6\u4EFB\u52A1\u624D\u7EE7\u627F\u3002\u9009\u62E9\u672C\u5730\u65F6\uFF0CMac \u79BB\u7EBF\u4F1A\u5EF6\u8FDF\u901A\u77E5\uFF1B\u9009\u62E9\u4E91\u7AEF\u5219\u4E0D\u4F9D\u8D56 Mac\u3002"),\u673A\u5668\u4EBA\u4E0E\u8FD4\u56DE\u5BF9\u8BDD:Y("conditional","\u9009\u62E9\u9ED8\u8BA4\u63A5\u6536\u4EFB\u52A1\u7ED3\u679C\u7684\u673A\u5668\u4EBA\u53CA\u5DF2\u4FDD\u5B58\u5BF9\u8BDD\uFF0C\u4E0D\u586B\u5185\u90E8 ID\u3002","\u4ECE\u5F53\u524D\u6240\u9009\u7AEF\u7684 IM \u516C\u5F00\u63A5\u53E3\u8BFB\u53D6\uFF1B\u9996\u6B21\u53EF\u5148\u79C1\u804A\u673A\u5668\u4EBA\u5E76\u4FDD\u5B58\u8BE5\u901A\u77E5\u76EE\u6807\u3002","\u672A\u7ED1\u5B9A\u65F6\u4E0D\u4F1A\u731C\u6D4B\u6536\u4EF6\u4EBA\uFF0C\u4E0D\u4F1A\u5411\u5176\u4ED6\u4EBA\u6216\u7FA4\u53D1\u9001\uFF1B\u591A\u4E2A\u5019\u9009\u65F6\u5FC5\u987B\u9009\u62E9\u3002"),"\u6211\u786E\u8BA4\u6B64\u9ED8\u8BA4\u6536\u53D1\u8BBE\u7F6E\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03":Y("required","\u786E\u8BA4\u9884\u89C8\u4E2D\u7684\u53D1\u9001\u7AEF\u3001\u673A\u5668\u4EBA\u548C\u8FD4\u56DE\u5BF9\u8BDD\u3002","\u6838\u5BF9\u9884\u89C8\u540E\u52FE\u9009\uFF0C\u518D\u786E\u8BA4\u4FDD\u5B58\u3002","\u4E0D\u52FE\u9009\u4E0D\u4FDD\u5B58\uFF1B\u66F4\u6362\uFF0F\u505C\u7528\u53EA\u7EC8\u6B62\u7EE7\u627F\u9ED8\u8BA4\u503C\u7684\u5F85\u53D1\u901A\u77E5\uFF0C\u4E0D\u4FEE\u6539\u663E\u5F0F\u4EFB\u52A1\u901A\u77E5\uFF0C\u4E0D\u80FD\u64A4\u56DE\u5DF2\u7ECF\u53D1\u9001\u7684\u6D88\u606F\u3002"),"\u6211\u786E\u8BA4\u91CD\u542F\uFF0C\u5E76\u7406\u89E3\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u6062\u590D":Y("required","\u786E\u8BA4\u542F\u52A8\u8FD9\u4E2A\u5DF2\u505C\u6B62\u7684\u72EC\u7ACB Host\uFF0C\u5E76\u77E5\u6653\u5DF2\u6709\u5DE5\u4F5C\u6216\u673A\u5668\u4EBA\u8FDE\u63A5\u53EF\u80FD\u6062\u590D\u3002","\u6838\u5BF9\u5F53\u524D\u5B89\u88C5\u76EE\u5F55\u3001\u914D\u7F6E\u53D8\u5316\u548C\u65B0\u91CD\u542F\u8BA1\u5212\u540E\u52FE\u9009\u3002","\u4E0D\u52FE\u9009\u4E0D\u91CD\u542F\uFF1B\u4E0D\u662F\u96F6\u6A21\u578B\u4FDD\u8BC1\uFF0C\u4E0D\u91CD\u6279\u4EFB\u52A1\u6216\u5F00\u653E\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u3002"),\u672C\u6B21\u7EF4\u62A4\u7684\u673A\u5668\u4EBA:Y("conditional","\u9009\u62E9\u5F53\u524D Host \u4E2D\u9700\u8981\u7EF4\u62A4\u7684\u98DE\u4E66\u673A\u5668\u4EBA\uFF0C\u4E0D\u586B\u5199\u5185\u90E8\u7F16\u53F7\u3002","\u70B9\u51FB\u624B\u52A8\u6838\u5BF9\u540E\uFF0C\u4ECE\u672C\u7AEF\u5B9E\u65F6\u8FDE\u63A5\u6E05\u5355\u6309\u540D\u79F0\u9009\u62E9\u3002","\u9884\u89C8\u65AD\u5F00\u6216\u6062\u590D\u524D\u5FC5\u9009\uFF1B\u53EA\u8BFB\u6838\u5BF9\u4E0D\u5FC5\u9009\uFF0C\u4E0D\u4F1A\u56E0\u6B64\u81EA\u52A8\u64CD\u4F5C\u3002"),"\u6211\u786E\u8BA4\u672C\u6B21\u65AD\u5F00\u673A\u5668\u4EBA\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM":Y("required","\u6388\u6743\u672C\u6B21\u6709\u635F\u65AD\u5F00\uFF0C\u53EF\u80FD\u4E2D\u6B62\u53D1\u9001\u3001\u5A92\u4F53\u548C\u5F85\u51B3\u4EA4\u4E92\u3002","\u6838\u5BF9\u6240\u9009\u673A\u5668\u4EBA\u4E0E\u5F85\u786E\u8BA4\u8BA1\u5212\uFF0C\u4E0D\u6CBF\u7528\u65E7\u6279\u51C6\u3002","\u4E0D\u52FE\u9009\u4E0D\u6267\u884C\uFF1B\u914D\u7F6E\u4FDD\u7559\uFF0C\u6062\u590D\u53E6\u786E\u8BA4\uFF0CHost \u91CD\u542F\u4ECD\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\u3002"),"\u6211\u786E\u8BA4\u672C\u6B21\u6062\u590D\u673A\u5668\u4EBA\u8FDE\u63A5\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM":Y("required","\u4EC5\u6062\u590D\u672C\u63D2\u4EF6\u4E4B\u524D\u65AD\u5F00\u7684\u673A\u5668\u4EBA\u8FDE\u63A5\uFF0C\u4E0D\u91CD\u53D1\u65E7\u6D88\u606F\u3002","\u6838\u5BF9\u5F53\u524D Host\u3001\u673A\u5668\u4EBA\u548C\u72EC\u7ACB\u6062\u590D\u8BA1\u5212\u3002","\u4E0D\u52FE\u9009\u4E0D\u6062\u590D\uFF1B\u4E0D\u662F\u6574\u673A\u6062\u590D\u3001\u53D1\u9001\u6210\u529F\u6216\u4EFB\u52A1\u6267\u884C\u6388\u6743\u3002"),"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":Y("required","\u53EA\u628A\u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF\u5199\u5165\u7EF4\u62A4\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u673A\u5668\u4EBA\u3002","\u5148\u624B\u52A8\u67E5\u8BE2\u672A\u77E5\u8BF7\u6C42\uFF0C\u518D\u9884\u89C8\u8865\u8BB0\u8BA1\u5212\u3002","\u4E0D\u52FE\u9009\u4E0D\u8865\u8BB0\uFF1B\u5F53\u524D\u79BB\u7EBF\u4E0D\u8BC1\u660E\u539F\u53D1\u9001\u6210\u529F\uFF0C\u4E5F\u4E0D\u6388\u6743\u5347\u7EA7\u6216\u505C\u673A\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5E94\u7528\u4E0A\u8FF0\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u8BA1\u5212":Y("required","\u6838\u5BF9\u5B9E\u9645\u8DEF\u5F84\u3001\u53D8\u66F4\u4E0E\u4FDD\u7559\u9879\u540E\uFF0C\u6388\u6743\u8FD9\u4E00\u6B21\u672C\u7AEF\u7EF4\u62A4\u3002","\u4EE5\u5F53\u524D Host \u65B0\u751F\u6210\u7684\u8BA1\u5212\u4E3A\u51C6\uFF0C\u4E0D\u4F7F\u7528\u5386\u53F2\u622A\u56FE\u6216\u53E6\u4E00\u7AEF\u56DE\u6267\u3002","\u672A\u52FE\u9009\u4E0D\u80FD\u5E94\u7528\uFF1B\u4E0D\u5378\u8F7D\u63D2\u4EF6\u672C\u4F53\uFF0C\u4E0D\u6388\u6743\u4E91\u7AEF\u6216\u4EFB\u52A1\u5199\u5165\u3002"),\u6211\u786E\u8BA4\u4EC5\u6309\u4E0A\u8FF0\u8BA1\u5212\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1:Y("required","\u540C\u610F\u8865\u9F50\u5DF2\u63D0\u4EA4\u4E8B\u52A1\u7684\u6536\u5C3E\uFF0C\u6216\u56DE\u6EDA\u672A\u5B8C\u6210\u53D8\u66F4\uFF1B\u4EE5\u8BA1\u5212\u6807\u9898\u4E3A\u51C6\u3002","\u5148\u624B\u52A8\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u518D\u9884\u89C8\u6062\u590D\uFF0C\u4E0D\u586B\u5199\u5185\u90E8\u7F16\u53F7\u3002","\u672A\u52FE\u9009\u4E0D\u6062\u590D\uFF1B\u5E76\u53D1\u4FEE\u6539\u548C\u672A\u77E5\u6587\u4EF6\u4FDD\u7559\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u3002"),"\u6211\u786E\u8BA4\u53EA\u5904\u7406\u6B64\u6587\u4EF6\uFF0C\u4FDD\u6301\u505C\u7528\u4E14\u4E0D\u91CD\u7F6E\u6B21\u6570":Y("required","\u6838\u5BF9\u6240\u9009\u6587\u4EF6\u3001\u65B9\u5411\u548C\u5927\u5C0F\uFF0C\u7136\u540E\u5355\u72EC\u786E\u8BA4\u4FDD\u7559\u6216\u6062\u590D\u3002","\u4EE5\u6B64\u9875\u539F\u961F\u5217\u9884\u89C8\u4E3A\u51C6\uFF0C\u4E0D\u8F93\u5165\u5185\u90E8\u7F16\u53F7\u3002","\u4E0D\u52FE\u9009\u4E0D\u4F1A\u63D0\u4EA4\u51B3\u5B9A\uFF1B\u6062\u590D\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u65B0 ID\u3001\u4E0D\u91CD\u7F6E\u9884\u7B97\u3002"),"\u6211\u786E\u8BA4\u53EA\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u51B3\u5B9A\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743":Y("required","\u4EC5\u5173\u95ED\u539F\u672A\u77E5\u51B3\u5B9A\u7684\u8FDF\u5230\u8BF7\u6C42\uFF0C\u4E0D\u64A4\u9500\u5DF2\u8BB0\u8D26\u7684\u51B3\u5B9A\u3002","\u5148\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u82E5\u5DF2\u5B8C\u6210\uFF0C\u663E\u793A\u539F\u7ED3\u679C\u3002","\u4E0D\u52FE\u9009\u4E0D\u5173\u95ED\uFF1B\u5173\u95ED\u4E0D\u505C\u6B62\u5F15\u64CE\u3001\u4E0D\u6539\u76EE\u5F55\u6388\u6743\u3001\u4E0D\u5220\u9664\u6587\u4EF6\u3002"),"\u6211\u786E\u8BA4\u8FC1\u79FB\u8303\u56F4\u3001\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55":Y("required","\u53EA\u628A\u5DF2\u505C\u7528\u7684\u6587\u4EF6\u80FD\u529B\u8FC1\u79FB\u5230\u9884\u89C8\u7684\u65B0\u8303\u56F4\u3002","\u6838\u5BF9\u65B0\u65E7\u76EE\u5F55\u3001\u4E0A\u9650\u548C\u53D7\u5F71\u54CD\u8BB0\u5F55\u6570\u91CF\u540E\u52FE\u9009\u3002","\u672A\u52FE\u9009\u4E0D\u8FC1\u79FB\u3002\u5B8C\u6210\u540E\u4ECD\u505C\u7528\uFF1B\u65E7\u961F\u5217\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF0C\u6587\u4EF6\u4E0D\u5220\u9664\u3002"),"\u6211\u786E\u8BA4\u53EA\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4E0D\u542F\u7528\u6216\u91CD\u53D1":Y("required","\u4EC5\u6838\u5BF9\u5E76\u7EED\u5B8C\u540C\u4E00\u5DF2\u786E\u8BA4\u7684\u8FC1\u79FB\u4E8B\u52A1\u3002","\u5148\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF0C\u6838\u5BF9\u5F53\u524D\u8303\u56F4\u548C\u539F\u8FC1\u79FB\u72B6\u6001\u3002","\u4E0D\u52FE\u9009\u4E0D\u7EE7\u7EED\u3002\u76EE\u5F55\u6216\u8D26\u672C\u4E0D\u5339\u914D\u4ECD\u505C\u6B62\uFF0C\u4E0D\u8986\u76D6\u3001\u4E0D\u91CD\u53D1\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":{kind:"required",what:"\u786E\u8BA4\u53EA\u5173\u95ED\u539F\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u6301\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6\u3002",where:"\u6838\u5BF9\u4E91\u7AEF\u73AF\u5883\u548C\u539F\u56DE\u6267\u540E\u52FE\u9009\u3002",impact:"\u4E0D\u52FE\u9009\u4E0D\u4F1A\u5EFA\u7ACB\u7248\u672C\u5C4F\u969C\uFF1B\u5173\u95ED\u4E0D\u7B49\u4E8E\u505C\u7528\uFF0C\u4E5F\u4E0D\u6388\u6743\u91CD\u53D1\u3002"},\u6587\u4EF6\u53D1\u9001\u76EE\u5F55:Y("optional","\u5F53\u524D Host \u53EF\u53D1\u9001\u7684\u4E13\u7528\u76EE\u5F55\uFF0C\u6BCF\u884C\u4E00\u4E2A\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u4E0D\u662F\u6587\u4EF6\u5185\u5BB9\u6216 IM \u9644\u4EF6\u8DEF\u5F84\u3002","\u53EF\u7559\u7A7A\u4F7F\u7528\u672C\u9879\u76EE\u53D1\u4EF6\u76EE\u5F55\uFF1B\u81EA\u9009\u76EE\u5F55\u9700\u5148\u5B58\u5728\uFF0C\u4E0D\u542B\u4E3B\u76EE\u5F55\u6216\u53D7\u4FDD\u62A4\u914D\u7F6E\u3002","\u7559\u7A7A\u4E0D\u6388\u6743\u5176\u4ED6\u76EE\u5F55\u3002\u542F\u7528\u524D\u5C55\u793A\u5B9E\u9645\u8303\u56F4\uFF0C\u5DF2\u6709\u8303\u56F4\u8C03\u6574\u9700\u4E13\u95E8\u8FC1\u79FB\uFF0C\u4E0D\u80FD\u76F4\u63A5\u8986\u5199\u3002"),\u5355\u6587\u4EF6\u4E0A\u9650:Y("required","\u81EA\u6709 Host \u6587\u4EF6\u76F4\u4F20\u7684\u5355\u6587\u4EF6\u5927\u5C0F\u4E0A\u9650\u3002","\u65B0\u5EFA\u9ED8\u8BA432 MiB\uFF0C\u53EF\u663E\u5F0F\u8C03\u6574\uFF0C\u5F53\u524D\u76F4\u4F20\u5B9E\u73B0\u6700\u5927512 MiB\uFF1B\u5B9E\u9645\u91C7\u7528\u53CC\u7AEF\u8F83\u5C0F\u4E0A\u9650\uFF0CIM\u9650\u5236\u53E6\u7B97\u3002","\u8D85\u9650\u62D2\u7EDD\uFF0C\u4E0D\u81EA\u52A8\u538B\u7F29\u3001\u62C6\u5206\u6216\u6539\u7528\u5176\u4ED6\u901A\u9053\u3002IM \u81EA\u8EAB\u5E73\u53F0\u9650\u5236\u4ECD\u72EC\u7ACB\u751F\u6548\u3002"),"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u4E0D\u6388\u6743\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165":Y("required","\u53EA\u542F\u7528\u6216\u505C\u7528\u9884\u89C8\u4E2D\u7684\u5F53\u524D Host \u6587\u4EF6\u76F4\u4F20\u3002","\u6838\u5BF9\u76EE\u5F55\u3001\u5B9E\u9645\u7AEF\u548C\u5355\u6587\u4EF6\u4E0A\u9650\u3002","\u672A\u786E\u8BA4\u4E0D\u5E94\u7528\u3002\u505C\u7528\u4FDD\u7559\u6587\u4EF6\u548C\u961F\u5217\uFF0C\u63A5\u6536\u4E0D\u7B49\u4E8E\u9605\u8BFB\u3001\u6267\u884C\u3001\u5BA1\u6279\u6216 Git \u5199\u5165\u3002"),\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E:Y("optional","\u6A21\u578B\u5728\u591A\u4E2A\u63A5\u5165\u4E2D\u91CD\u540D\u65F6\uFF0C\u7528\u6613\u61C2\u7684\u63A5\u5165\u540D\u79F0\u8865\u5145\u9009\u62E9\uFF0C\u4E0D\u586B provider \u7F16\u53F7\u6216 Key\u3002","\u4F7F\u7528\u4E0B\u65B9\u5019\u9009\u5C55\u793A\u7684\u540D\u79F0\uFF0C\u4E5F\u53EF\u70B9\u51FB\u5019\u9009\u5C06\u5B83\u586B\u5165\u3002","\u552F\u4E00\u5339\u914D\u65F6\u53EF\u8DF3\u8FC7\uFF1B\u6709\u6B67\u4E49\u65F6\u4E0D\u8C03\u7528\u6A21\u578B\u3002\u8865\u5145\u540E\u4ECD\u9700\u91CD\u65B0\u6838\u5BF9\uFF0C\u672A\u552F\u4E00\u5339\u914D\u5219\u7EE7\u7EED\u6F84\u6E05\u3002","\u8BF7\u7528 DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09"),\u767B\u8BB0\u8BBF\u95EE\u8EAB\u4EFD:Y("required","\u767B\u8BB0\u6B64\u4ED3\u5E93\u7684\u8BFB\u53D6\u8EAB\u4EFD\uFF1A\u533F\u540D\uFF0C\u6216\u4EC5\u7528\u76EE\u6807\u7AEF\u672C\u9879\u76EE\u7684 Gitee \u4EE4\u724C\u3002","\u79C1\u6709\u4ED3\u5E93\u5148\u5728\u76EE\u6807\u7AEF\u4FDD\u5B58\uFF0F\u4EA4\u63A5\u72EC\u7ACB\u4EE4\u724C\u3002","\u5FC5\u987B\u660E\u786E\u9009\u62E9\uFF1B\u5931\u8D25\u4E0D\u6362\u51ED\u636E\u3001\u4E0D\u4F7F\u7528\u65E5\u5E38\u4EE4\u724C\uFF0C\u4E5F\u4E0D\u8BC1\u660E Git SSH \u53EF\u7528\u3002"),"\u6211\u786E\u8BA4\u4EC5\u53D8\u66F4\u672C\u9879\u76EE\u4ED3\u5E93\u767B\u8BB0\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216 Git \u5199\u5165":Y("required","\u53EA\u6279\u51C6\u9884\u89C8\u4E2D\u7684\u767B\u8BB0\u3001\u505C\u7528\u6216\u672A\u77E5\u64CD\u4F5C\u5173\u95ED\u3002","\u6838\u5BF9\u5B9E\u9645 Host\u3001\u5730\u5740\u3001\u522B\u540D\u548C\u8BBF\u95EE\u65B9\u5F0F\u3002","\u672A\u786E\u8BA4\u4E0D\u80FD\u5E94\u7528\uFF1B\u767B\u8BB0\u4E0D\u521B\u5EFA\u4EFB\u52A1\u3001\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002"),\u6838\u9A8C\u5206\u652F:Y("optional","\u672C\u6B21\u53EA\u8BFB\u67E5\u8BE2\u7684\u5206\u652F\u540D\u79F0\u3002","Gitee \u4EFB\u52A1\u4ED3\u5E93\u5DF2\u6709\u5206\u652F\uFF1B\u4E0D\u5728\u6B64\u521B\u5EFA\u3002","\u7559\u7A7A\u67E5\u8BE2\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u3002\u6B64\u9009\u62E9\u4E0D\u7ED1\u5B9A\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u4FDD\u5B58\u4E3A\u6240\u6709\u4EFB\u52A1\u7684\u9ED8\u8BA4\u5206\u652F\u3002","main"),\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD:Y("required","\u9009\u62E9\u533F\u540D\u8BFB\u53D6\uFF0C\u6216\u4EC5\u4F7F\u7528\u5B9E\u9645\u67E5\u8BE2\u7AEF\u672C\u9879\u76EE\u4FDD\u5B58\u7684 Gitee \u4EE4\u724C\u3002","\u516C\u5F00\u4ED3\u5E93\u901A\u5E38\u53EF\u533F\u540D\uFF1B\u79C1\u6709\u4ED3\u5E93\u9700\u5728\u672C\u7AEF\u4FDD\u5B58\u4EE4\u724C\uFF0C\u4E91\u7AEF\u5219\u5728\u7B2C 6 \u9875\u5355\u72EC\u4EA4\u63A5\u3002","\u533F\u540D\u5931\u8D25\u4E0D\u4F1A\u81EA\u52A8\u501F\u7528\u4EFB\u4F55\u51ED\u636E\uFF1B\u672C\u7AEF\u8BFB\u53D6\u6210\u529F\u4E0D\u80FD\u66FF\u4EE3\u4E91\u7AEF\u6743\u9650\u3002"),"Gitee \u8BBF\u95EE\u4EE4\u724C":Y("optional","\u7528\u4E8E Gitee \u5B98\u65B9 API \u7684\u72EC\u7ACB\u4E2A\u4EBA\u8BBF\u95EE\u4EE4\u724C\uFF0C\u4E0D\u662F SSH \u79C1\u94A5\u3002","\u7531\u7528\u6237\u5728 Gitee \u8D26\u53F7\u4E2D\u6309\u9700\u7533\u8BF7\uFF1B\u4E0D\u8981\u53D1\u5230\u804A\u5929\u6216\u5199\u5165\u666E\u901A\u8868\u5355\u3002","\u516C\u5F00\u4ED3\u5E93\u53EF\u8DF3\u8FC7\uFF1B\u672A\u4FDD\u5B58\u6216\u672A\u4EA4\u63A5\u65F6\uFF0C\u76EE\u6807\u7AEF\u4E0D\u80FD\u7528\u53D7\u7BA1\u4EE4\u724C\u6838\u9A8C\u79C1\u6709\u4ED3\u5E93\u3002\u4FDD\u5B58\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u6743\u9650\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165":Y("required","\u6838\u5BF9\u76EE\u6807\u76EE\u5F55\u540E\u786E\u8BA4\u53EA\u4FDD\u5B58\u8BE5\u72EC\u7ACB Gitee \u4EE4\u724C\u3002","\u4EE5\u672C\u6B21\u4EA4\u63A5\u8BA1\u5212\u663E\u793A\u7684\u4E91\u7AEF\u8EAB\u4EFD\u548C\u8DEF\u5F84\u4E3A\u51C6\u3002","\u672A\u52FE\u9009\u4E0D\u53D1\u9001\uFF1B\u540E\u7EED\u4ED3\u5E93\u8BBF\u95EE\u3001\u4EFB\u52A1\u7ED1\u5B9A\u548C\u6BCF\u7C7B\u5199\u5165\u4ECD\u987B\u5206\u522B\u6838\u9A8C\u3002"),"\u4E3A\u4E91\u7AEF\u5B89\u88C5\u53EF\u9009 IM \u63D2\u4EF6":Y("optional","\u9009\u62E9\u662F\u5426\u5728\u672C\u6B21\u72EC\u7ACB\u4E91\u7AEF Host \u5B89\u88C5\u5B98\u65B9 IM 5.0.3\u3002","\u9700\u8981\u4ECE IM \u8054\u7CFB\u4E91\u7AEF\u65F6\u52FE\u9009\uFF1B\u5B89\u88C5\u8BA1\u5212\u4F1A\u5217\u51FA\u56FA\u5B9A\u7248\u672C\u3002","\u4E0D\u9009\u4E0D\u4E0B\u8F7D\u6216\u52A0\u8F7D IM\uFF0C\u4ECD\u53EF\u7528 Desktop \u4E0E\u6A21\u578B\u3002\u52FE\u9009\u4E0D\u4F20\u9001\u51ED\u636E\u3001\u4E0D\u7ED1\u5B9A\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\uFF1B\u65E2\u6709\u5B9E\u4F8B\u4E0D\u80FD\u501F\u6B64\u9009\u9879\u6539\u88C5\u3002"),"SSH \u8BA4\u8BC1\u65B9\u5F0F":Y("required","\u4F7F\u7528\u5F53\u524D\u7535\u8111\u5DF2\u6709\u79C1\u94A5\u6587\u4EF6\uFF0C\u6216\u5DF2\u914D\u7F6E\u7684 SSH \u4EE3\u7406\u3002","ECS \u5BC6\u94A5\u767B\u5F55\u914D\u7F6E\u6216\u7CFB\u7EDF SSH \u4EE3\u7406\u3002","\u4E0D\u4F7F\u7528\u5BC6\u7801\uFF0C\u4E0D\u590D\u5236\u79C1\u94A5\uFF1B\u4EE3\u7406\u4E0D\u53EF\u7528\u65F6\u4E0D\u4F1A\u81EA\u52A8\u6362\u7528\u5176\u4ED6\u8EAB\u4EFD\u3002"),"SSH \u79C1\u94A5\u6587\u4EF6\u8DEF\u5F84":Y("conditional","\u5F53\u524D Host \u4E0A\u5DF2\u6709\u79C1\u94A5\u7684\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/ \u5F00\u5934\u7684\u8DEF\u5F84\uFF0C\u4E0D\u662F\u79C1\u94A5\u5185\u5BB9\u3002","\u4F60\u7533\u8BF7 ECS \u767B\u5F55\u5BC6\u94A5\u540E\u4FDD\u5B58\u5728\u672C\u673A\u7684\u4F4D\u7F6E\u3002","\u9009\u62E9\u79C1\u94A5\u6587\u4EF6\u65F6\u5FC5\u586B\uFF1B\u5FC5\u987B\u5B58\u5728\u4E14\u6743\u9650\u5B89\u5168\u3002\u4E0D\u4F1A\u4E0A\u4F20\u79C1\u94A5\u3002"),\u6211\u5DF2\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\u8FD9\u4E9B\u4E3B\u673A\u516C\u94A5:Y("required","\u786E\u8BA4\u7F51\u7EDC\u626B\u63CF\u5F97\u5230\u7684\u516C\u94A5\u6307\u7EB9\u4E0E\u53EF\u4FE1\u4FE1\u606F\u4E00\u81F4\u3002","\u901A\u8FC7 ECS \u63A7\u5236\u53F0\u6267\u884C ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub\uFF0C\u6216\u5411\u7BA1\u7406\u5458\u6838\u5BF9\u3002","\u672A\u7ECF\u6838\u5BF9\u4E0D\u80FD\u4FE1\u4EFB\u6216\u8FDE\u63A5\uFF1B\u516C\u94A5\u53D8\u5316\u65F6\u505C\u6B62\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u3002"),"API Key":Y("conditional","\u6A21\u578B\u670D\u52A1\u5546\u9881\u53D1\u7684 API Key\u3002\u53EA\u5728\u6B64\u72EC\u7ACB\u5BC6\u7801\u6846\u586B\u5199\u3002","DeepSeek \u5B98\u65B9\u6216\u5DF2\u5F00\u901A\u7684\u6A21\u578B\u5957\u9910\u63A7\u5236\u53F0\u3002","\u52FE\u9009\u786E\u8BA4\u5E76\u4FDD\u5B58\u540E\u4EC5\u8FDB\u5165\u5F53\u524D Host \u5B98\u65B9\u51ED\u636E\u670D\u52A1\uFF1B\u4E0D\u81EA\u52A8\u8FDE\u63A5\u6A21\u578B\u6216\u4F20\u9001\u81F3 ECS\u3002"),\u6211\u786E\u8BA4\u4FDD\u5B58\u6216\u79FB\u9664\u8FD9\u4E2A\u72EC\u7ACB\u51ED\u636E:Y("required","\u4EC5\u6388\u6743\u4FEE\u6539\u672C\u9879\u76EE\u9009\u5B9A\u69FD\u4F4D\u7684\u51ED\u636E\u3002","\u6838\u5BF9\u69FD\u4F4D\u540D\u79F0\u540E\u52FE\u9009\u3002","\u4E0D\u4F1A\u8986\u76D6\u5176\u4ED6\u7528\u6237\u8BB0\u5F55\uFF0C\u4E5F\u4E0D\u662F\u8C03\u7528\u6A21\u578B\u3001\u5F00\u53D1\u6216\u521D\u59CB\u5316\u6388\u6743\u3002"),\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807:Y("optional","\u9009\u62E9\u672C\u7AEF\u5168\u5C40\u89C4\u5219\u7684\u8FFD\u52A0\u4F4D\u7F6E\uFF0C\u4E0D\u662F\u9879\u76EE\u89C4\u5219\u3002","\u5B98\u65B9 Host \u7684\u8FDB\u7A0B\u6839\uFF1B\u4E0B\u62C9\u9009\u9879\u7531\u63D2\u4EF6\u63D0\u4F9B\uFF0C\u4E0D\u63A5\u53D7\u4EFB\u610F\u8DEF\u5F84\u3002","\u4EC5\u4E00\u4EFD\u5DF2\u6709\u6587\u4EF6\u65F6\u81EA\u52A8\u9009\u7528\uFF0C\u4E24\u4EFD\u90FD\u6709\u65F6\u5FC5\u987B\u660E\u786E\uFF1B\u6CA1\u6709\u5219\u9ED8\u8BA4\u521B\u5EFA DSH \u5168\u5C40\u6587\u4EF6\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5728\u5F53\u524D\u9694\u79BB Host \u5E94\u7528\u8FD9\u4EFD\u89C4\u5219\u4E0E Skill \u8BA1\u5212":Y("required","\u6388\u6743\u9884\u89C8\u4E2D\u8FD9\u6279\u5168\u5C40\u89C4\u5219\u4E0E Skill \u6587\u4EF6\u53D8\u66F4\u3002","\u6838\u5BF9\u6587\u4EF6\u3001\u589E\u91CF\u548C\u51B2\u7A81\u540E\u52FE\u9009\uFF0C\u518D\u70B9\u51FB\u5E94\u7528\u3002","\u672A\u786E\u8BA4\u4E0D\u80FD\u5B89\u88C5\uFF1B\u4E0D\u6388\u6743 ECS\u3001\u6A21\u578B\u8C03\u7528\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u53D1\u5E03\u3002"),"\u6211\u5DF2\u9605\u8BFB\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u67E5\u770B\u4E0B\u4E00\u9875\uFF08\u4E0D\u6388\u6743\u6267\u884C\uFF09":Y("required","\u786E\u8BA4\u5DF2\u9605\u8BFB\u672C\u671F\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u524D\u5F80\u672A\u6267\u884C\u9636\u6BB5\u8BF4\u660E\u3002","\u67E5\u770B\u5F53\u524D\u5019\u9009\u8DEF\u5F84\u3001\u89C4\u5219\u4E0E Skill \u51B2\u7A81\u63D0\u793A\u540E\u52FE\u9009\u3002","\u672A\u52FE\u9009\u4E0D\u80FD\u8FDB\u5165\u4E0B\u4E00\u9875\uFF1B\u5373\u4F7F\u52FE\u9009\u4E5F\u4E0D\u4F1A\u6388\u6743\u521D\u59CB\u5316\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002"),"ECS \u5730\u5740":Y("required","\u4E91\u7AEF ECS \u7684 IP \u6216\u4E3B\u673A\u540D\uFF0C\u4E0D\u662F Web \u767B\u5F55\u5730\u5740\u3002","ECS \u5B9E\u4F8B\u8FDE\u63A5\u4FE1\u606F\u6216\u7BA1\u7406\u5458\u3002","\u4E3A\u7A7A\u6216\u683C\u5F0F\u9519\u8BEF\u4E0D\u80FD\u7EE7\u7EED\u3002\u672C\u671F\u53EA\u6821\u9A8C\u683C\u5F0F\uFF0C\u4E0D\u53D1\u8D77 SSH\u3002","192.0.2.24\uFF08\u6587\u6863\u793A\u4F8B\uFF09"),"SSH \u767B\u5F55\u7528\u6237":Y("required","SSH \u767B\u5F55\u8D26\u53F7\uFF0C\u4E0D\u662F\u673A\u5668\u4EBA\u6635\u79F0\uFF1B\u4E0D\u7B49\u4E8E DSH \u670D\u52A1\u8D26\u53F7\u3002","\u670D\u52A1\u5668\u7BA1\u7406\u5458\u3002","\u4E3A\u7A7A\u4E0D\u80FD\u7EE7\u7EED\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u4E3A root\u3002","dsh-user"),"SSH \u7AEF\u53E3":Y("required","SSH \u670D\u52A1\u7AEF\u53E3\uFF0C1\u201365535\u3002","\u7BA1\u7406\u5458\u63D0\u4F9B\uFF1B\u9ED8\u8BA4 22\u3002","\u7F3A\u5C11\u6216\u683C\u5F0F\u9519\u8BEF\u4E0D\u80FD\u7EE7\u7EED\u3002"),"SSH \u51ED\u636E\u5F15\u7528":Y("required","\u8BA1\u5212\u4F7F\u7528\u7684\u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF0C\u4E0D\u662F\u5BC6\u7801\u6216\u79C1\u94A5\u5185\u5BB9\u3002","\u4F60\u8BA1\u5212\u4F7F\u7528\u7684\u51ED\u636E\u8BB0\u5F55\u540D\u79F0\uFF1B\u540E\u7EED\u5B89\u5168\u914D\u7F6E\u9636\u6BB5\u518D\u7ED1\u5B9A\u3002","\u7F3A\u5C11\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u540D\u79F0\u5B58\u5728\u4E0D\u4EE3\u8868\u51ED\u636E\u53EF\u7528\uFF0C\u4E0D\u590D\u5236 Git \u79C1\u94A5\u3002","ecs-login"),"DeepSeek \u51ED\u636E\u5F15\u7528":Y("required","DeepSeek \u5B98\u65B9 API Key \u7684\u5F15\u7528\u540D\uFF0C\u4E0D\u8F93\u5165 Key \u539F\u6587\u3002","\u4F8B\u5982\u8BA1\u5212\u914D\u7F6E\u7684\u73AF\u5883\u53D8\u91CF\u540D\uFF1B\u666E\u901A\u8868\u5355\u4E0D\u8BFB\u53D6\u5176\u503C\uFF1B\u4E5F\u53EF\u4F7F\u7528\u4E0A\u65B9\u72EC\u7ACB\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u7F3A\u5C11\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u7F51\u7EDC\u548C\u51ED\u636E\u6709\u6548\u6027\u4ECD\u5F85\u540E\u7EED\u9A8C\u6536\u3002","DEEPSEEK_API_KEY"),\u4E91\u7AEF\u72EC\u7ACB\u51ED\u636E\u5F15\u7528:Y("conditional","\u4E91\u7AEF\u4F7F\u7528\u7684\u72EC\u7ACB DeepSeek \u51ED\u636E\u540D\u79F0\u3002","\u4E91\u7AEF\u670D\u52A1\u7BA1\u7406\u5458\u63D0\u4F9B\u7684\u5F15\u7528\u540D\u3002","\u9009\u62E9\u72EC\u7ACB\u51ED\u636E\u65F6\u5FC5\u586B\uFF1B\u5171\u4EAB\u610F\u5411\u4E5F\u4E0D\u6388\u6743\u672C\u671F\u4F20\u8F93\u51ED\u636E\u3002","CLOUD_DEEPSEEK_API_KEY"),\u51ED\u636E\u7528\u9014:Y("required","\u9009\u62E9\u4E24\u7AEF\u4F7F\u7528\u540C\u4E00\u51ED\u636E\u8FD8\u662F\u5206\u522B\u914D\u7F6E\u3002","\u6309\u4F60\u7684\u7528\u9014\u3001\u8BA1\u8D39\u548C\u7BA1\u7406\u8981\u6C42\u9009\u62E9\u3002","\u5FC5\u987B\u660E\u786E\u8303\u56F4\uFF1B\u5171\u4EAB\u4EC5\u4E3A\u610F\u5411\uFF0C\u4E0D\u81EA\u52A8\u5411 ECS \u4F20\u9001\u5BC6\u94A5\u3002"),\u521D\u59CB\u4EFB\u52A1\u6A21\u578B:Y("required","\u6A21\u578B\u540D\u79F0\u6216\u81EA\u7136\u8BED\u8A00\u7B80\u79F0\uFF0C\u4E0D\u8981\u6C42 provider \u7F16\u53F7\u3002","\u6309\u76EE\u6807\u7AEF\u8BA1\u5212\u914D\u7F6E\u9009\u62E9\uFF0C\u5982\u201Cds flash\u201D\u3002","\u4E3A\u7A7A\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u6B64\u5904\u53EA\u68C0\u67E5\u586B\u5199\uFF0C\u4E0D\u58F0\u79F0\u5DF2\u89E3\u6790\u4E3A\u53EF\u7528\u6A21\u578B\uFF0C\u4E0D\u6539\u53D8\u9ED8\u8BA4\u6A21\u578B\u3002","ds flash"),\u63A5\u5165\u5957\u9910:Y("conditional","\u53EF\u9009\u6A21\u578B\u5957\u9910\u4E0E\u533A\u57DF\u3002","\u5DF2\u5F00\u901A\u7684\u6A21\u578B\u5957\u9910\u63A7\u5236\u53F0\u3002","\u542F\u7528\u540E\u5FC5\u9009\uFF1B\u4E0D\u81EA\u52A8\u5207\u6362\u4E3A\u6309\u91CF\u4ED8\u8D39\u3002"),"Token Plan \u51ED\u636E\u5F15\u7528":Y("optional","\u672C\u7AEF\u6A21\u578B\u5957\u9910 Key \u7684\u5F15\u7528\uFF0C\u4E0D\u662F RAM AccessKey \u6216 SSH \u79C1\u94A5\u3002","\u4E0A\u65B9\u201C\u672C\u7AEF\u963F\u91CC\u4E91 Token Plan\u201D\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u542F\u7528\u5957\u9910\u540E\u672C\u7AEF\u3001\u4E91\u7AEF\u81F3\u5C11\u586B\u4E00\u7AEF\uFF1B\u53EA\u914D\u7F6E\u4E91\u7AEF\u65F6\u672C\u9879\u53EF\u7559\u7A7A\uFF0C\u4E0D\u5F71\u54CD DeepSeek\u3002","TOKEN_PLAN_API_KEY"),"\u4E91\u7AEF Token Plan \u51ED\u636E\u5F15\u7528":Y("optional","\u4E91\u7AEF\u6A21\u578B\u5957\u9910\u4E13\u7528 Key \u7684\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002","\u4F7F\u7528\u4E0A\u65B9\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\u72EC\u7ACB\u51ED\u636E\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u7559\u7A7A\u53EF\u8DF3\u8FC7\u4E91\u7AEF\u53EF\u9009\u6A21\u578B\u670D\u52A1\uFF0C\u4E0D\u5F71\u54CD\u672C\u7AEF\u6216 DeepSeek\uFF1B\u586B\u5199\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u4EA4\u63A5\uFF0C\u9700\u5728\u7B2C 6 \u9875\u72EC\u7ACB\u786E\u8BA4\u3002","dsh-managed:token-plan-cloud"),"Gitee \u4ED3\u5E93\u5730\u5740":Y("conditional","\u7528\u6237\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93\u4E3B\u9875\uFF0C\u4E0D\u662F\u4EA7\u54C1\u6E90\u7801\u4ED3\u5E93\u3002","\u4ED3\u5E93\u7684 HTTPS \u4E3B\u9875\u5730\u5740\uFF0C\u4E0D\u542B\u4EE4\u724C\u3002","\u542F\u7528\u540E\u5FC5\u586B\uFF1B\u672C\u671F\u53EA\u6821\u9A8C\u683C\u5F0F\uFF0C\u4E0D\u8BBF\u95EE\u6216\u63D0\u4EA4\u3002\u53EF\u5173\u95ED\u5173\u8054\u540E\u7EE7\u7EED\u3002","https://gitee.com/team/deliverables"),\u4ED3\u5E93\u522B\u540D:Y("optional","\u81EA\u7136\u8BED\u8A00\u91CC\u65B9\u4FBF\u79F0\u547C\u4ED3\u5E93\u7684\u540D\u5B57\u3002","\u81EA\u7531\u586B\u5199\u3002","\u7559\u7A7A\u4F7F\u7528\u4ED3\u5E93\u540D\u79F0\uFF0C\u4E0D\u5F71\u54CD\u6210\u679C\u4ECB\u7ECD\u4E0E\u4F1A\u8BDD\u5165\u53E3\u3002","\u6211\u7684\u6210\u679C\u5E93"),"\u4E3A\u4E91\u7AEF\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u73AF\u5883":Y("optional","\u540E\u7EED\u51C6\u5907\u5DE5\u5177\u7684\u610F\u5411\uFF0C\u4E0D\u662F\u7ACB\u5373\u5B89\u88C5\u3002","\u8BA1\u5212\u5F00\u5C55\u5F00\u53D1\u7C7B\u4EFB\u52A1\u65F6\u9009\u3002","\u4E0D\u9009\u4E0D\u5F71\u54CD\u975E\u4ED3\u5E93\u4EFB\u52A1\uFF1B\u9009\u4E2D\u4E5F\u4E0D\u6388\u6743\u5F00\u53D1\u3001commit \u6216 push\u3002")},Mo={chat:{label:"\u804A\u5929\u5165\u53E3",...Y("optional","\u9009\u62E9\u662F\u5426\u9700\u8981 IM\u3002","\u540E\u7EED\u901A\u8FC7\u5B98\u65B9\u63D2\u4EF6\u914D\u7F6E\u3002","\u8DF3\u8FC7\u4E0D\u5F71\u54CD Desktop\uFF1B\u4E0D\u63A5\u7BA1\u65E7\u673A\u5668\u4EBA\u3002")},approval:{label:"\u5BA1\u6279\u4E0E\u64CD\u4F5C\u6388\u6743",...Y("optional","\u540E\u7EED\u914D\u7F6E\u53EF\u4FE1\u804A\u5929\u6216\u8DE8\u5E73\u53F0\u7F51\u9875\u786E\u8BA4\u3002","\u9700\u8981\u72EC\u7ACB\u6838\u9A8C\u672C\u4EBA\u8EAB\u4EFD\u4E0E\u65B9\u6848\u3002","\u8DF3\u8FC7\u4E0D\u5F00\u653E\u53D7\u7BA1\u5F00\u53D1\uFF1B\u672C\u9875\u6CA1\u6709\u6279\u51C6\u4EFB\u4F55\u4EFB\u52A1\u3002")},models:{label:"\u5176\u4ED6\u6A21\u578B\u670D\u52A1",...Y("optional","\u5728 DeepSeek \u57FA\u7840\u4E0A\u589E\u52A0\u670D\u52A1\u3002","\u5F00\u542F\u540E\u586B\u5199\u5957\u9910\u548C\u51ED\u636E\u5F15\u7528\u3002","\u4E0D\u542F\u7528\u4E0D\u5F71\u54CD DeepSeek\uFF1B\u542F\u7528\u540E\u7F3A\u9879\u4E0D\u80FD\u7EE7\u7EED\u3002")},repository:{label:"\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93",...Y("optional","\u4EFB\u52A1\u6309\u9700\u4F7F\u7528 Gitee B \u4ED3\u5E93\u3002","\u586B\u5199\u81EA\u5DF1\u7684\u4ED3\u5E93\u5730\u5740\u3002","\u65E0\u4ED3\u5E93\u4ECD\u6709\u6210\u679C\u4ECB\u7ECD\u4E0E\u6267\u884C\u4F1A\u8BDD\u3002")},development:{label:"\u5F00\u53D1\u80FD\u529B\u51C6\u5907",...Y("optional","\u672A\u6765\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u5DE5\u5177\u3002","\u6709\u9700\u8981\u518D\u9009\u62E9\u3002","\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u4FDD\u6301\u9010\u4EFB\u52A1\u72EC\u7ACB\u5BA1\u6279\u3002")}};var pt=(0,b.createContext)(null);function mt({onHelp:e,children:t}){return b.default.createElement(pt.Provider,{value:e},t)}var hl={arrow:Aa,check:ba,cloud:Da,monitor:qa,key:Fa,shield:$a,chat:Ga,git:Ta,down:ya,info:ca,link:Ua,spinner:ea,success:Je,warning:aa,file:Ba,folder:Ma,external:ka,close:Za,pause:Va,play:Ra,reset:za,settings:Xa,lock:Ha,back:wa,save:Ka,terminal:Qa,plus:Wa,download:Pa,offline:Ya,copy:Ea,chevron:Oa,help:je};function ke({name:e,...t}){let s=hl[e]||ca;return b.default.createElement(s,{"aria-hidden":"true",strokeWidth:1.7,...t})}function Ge({pose:e="welcome",className:t=""}){return b.default.createElement("div",{"aria-hidden":"true",className:"companion "+t,"data-pose":e})}function ve({children:e,tone:t=""}){return b.default.createElement("span",{className:"badge "+t},e)}function _({children:e,icon:t,end:s,kind:n="",...u}){return b.default.createElement("button",{type:"button",className:"button "+n,...u},t&&b.default.createElement(ke,{name:t}),b.default.createElement("span",null,e),s&&b.default.createElement(ke,{name:s}))}function It({kind:e}){return b.default.createElement("span",{className:"requirement-badge "+e},e==="required"&&b.default.createElement("span",{"aria-hidden":"true"},"*"),To[e])}function Ft({label:e,meta:t=ct[e]}){let s=(0,b.useContext)(pt);return t?b.default.createElement("button",{type:"button",className:"field-help-button","aria-label":e+"\u586B\u5199\u8BF4\u660E","aria-haspopup":"dialog",title:"\u4E86\u89E3"+e,onClick:()=>s?.(e+" \xB7 \u586B\u5199\u8BF4\u660E",b.default.createElement(b.default.Fragment,null,b.default.createElement("div",{className:"help-intro"},b.default.createElement(It,{kind:t.kind}),b.default.createElement("span",null,t.kind==="required"?"\u7F3A\u5C11\u6B64\u9879\uFF0C\u65E0\u6CD5\u7EE7\u7EED":t.kind==="conditional"?"\u529F\u80FD\u53EF\u9009\uFF1B\u542F\u7528\u540E\u9700\u8981\u8865\u9F50":t.kind==="auto"?"\u7CFB\u7EDF\u8BC6\u522B\uFF0C\u65E0\u9700\u624B\u5DE5\u586B\u5199":"\u53EF\u8DF3\u8FC7\uFF0C\u6216\u4FDD\u7559\u9ED8\u8BA4\u503C")),b.default.createElement("dl",{className:"help-facts"},b.default.createElement("div",null,b.default.createElement("dt",null,"\u586B\u5199\u4EC0\u4E48"),b.default.createElement("dd",null,t.what)),b.default.createElement("div",null,b.default.createElement("dt",null,"\u4ECE\u54EA\u91CC\u83B7\u53D6"),b.default.createElement("dd",null,t.where)),t.example&&b.default.createElement("div",null,b.default.createElement("dt",null,"\u586B\u5199\u793A\u4F8B"),b.default.createElement("dd",null,b.default.createElement("code",null,t.example))),b.default.createElement("div",{className:"help-impact"},b.default.createElement("dt",null,"\u4E0D\u586B\u4F1A\u600E\u6837"),b.default.createElement("dd",null,t.impact))),b.default.createElement("p",{className:"help-preview-note"},"\u666E\u901A\u8868\u5355\u53EA\u586B\u5F15\u7528\uFF1BKey \u53EA\u5728\u72EC\u7ACB\u5BC6\u7801\u6846\u586B\u5199\u5E76\u786E\u8BA4\u4FDD\u5B58\u3002\u89C4\u5219\u4E0E Skill \u5B89\u88C5\u4ECD\u9700\u7B2C 5 \u9875\u72EC\u7ACB\u786E\u8BA4\u3002")))},b.default.createElement(ke,{name:"help"})):null}function Ja({title:e,children:t}){let s=(0,b.useContext)(pt);return b.default.createElement("button",{type:"button",className:"field-help-button section-help","aria-label":e+"\u8BF4\u660E","aria-haspopup":"dialog",onClick:()=>s?.(e,t)},b.default.createElement(ke,{name:"help"}))}function V({title:e,sub:t,icon:s,children:n,className:u="",extra:l}){let a=Object.values(Mo).find(f=>f.label===e);return b.default.createElement("section",{className:"panel "+u},e&&b.default.createElement("header",{className:"panel-heading"},b.default.createElement("div",null,b.default.createElement("div",{className:"panel-title-line"},b.default.createElement("h2",null,s&&b.default.createElement(ke,{name:s})," ",e),a&&b.default.createElement("div",{className:"field-markers"},b.default.createElement(It,{kind:a.kind}),b.default.createElement(Ft,{label:e,meta:{...a,what:t?b.default.createElement(b.default.Fragment,null,a.what,b.default.createElement("p",null,t)):a.what}})),t&&!a&&b.default.createElement(Ja,{title:e||"\u672C\u8282"},t))),l),n)}function Se({label:e,hint:t,children:s,...n}){let u=(0,b.useId)(),l=ct[e],a=l?.kind==="required"||l?.kind==="conditional",f=s||b.default.createElement("input",{...n});return b.default.createElement("div",{className:"field","data-requirement":l?.kind},b.default.createElement("div",{className:"field-heading"},b.default.createElement("label",{htmlFor:u},e),l&&b.default.createElement("div",{className:"field-markers"},b.default.createElement(It,{kind:l.kind}),b.default.createElement(Ft,{label:e,meta:l}))),b.default.cloneElement(f,{id:u,required:a,"aria-required":a||void 0,"aria-describedby":t?u+"-hint":void 0}),t&&b.default.createElement("small",{id:u+"-hint"},t))}function R({checked:e,onChange:t,title:s,sub:n,disabled:u=!1}){let l=ct[s];return b.default.createElement("div",{className:"check-controls"},b.default.createElement("label",{className:"check-row "+(u?"disabled":"")},b.default.createElement("input",{type:"checkbox",checked:e,disabled:u,required:l?.kind==="required",onChange:a=>t(a.target.checked)}),b.default.createElement("span",null,b.default.createElement("strong",null,s),n&&b.default.createElement("small",null,n))),l&&b.default.createElement("div",{className:"field-markers"},b.default.createElement(It,{kind:l.kind}),b.default.createElement(Ft,{label:s,meta:{...l,what:n?b.default.createElement(b.default.Fragment,null,l.what,b.default.createElement("p",null,n)):l.what}})))}function Lt({label:e,checked:t,onChange:s}){return b.default.createElement("button",{type:"button",role:"switch","aria-label":e,"aria-checked":t,className:"toggle "+(t?"on":""),onClick:()=>s(!t)},b.default.createElement("span",null))}function x({children:e,tone:t="",title:s}){return b.default.createElement("div",{className:"callout "+t},b.default.createElement(ke,{name:t==="warn"?"warning":"info"}),b.default.createElement("div",null,s&&b.default.createElement("strong",null,s),e))}function we({pose:e="welcome",title:t,children:s}){let n=(0,b.useContext)(pt);return b.default.createElement("div",{className:"context-help mascot-zone"},b.default.createElement(Ge,{pose:e}),b.default.createElement("button",{type:"button",className:"context-help-trigger","aria-haspopup":"dialog",onClick:()=>n?.(t,b.default.createElement("div",{className:"context-body"},s,b.default.createElement("div",{className:"summary-foot"},b.default.createElement(ke,{name:"shield"}),b.default.createElement("span",null,"\u672A\u6279\u51C6\u4E0D\u6267\u884C \xB7 \u4EE5\u5B9E\u9645\u56DE\u6267\u4E3A\u51C6"))))},b.default.createElement(ke,{name:"help"}),b.default.createElement("span",null,t)))}function S({label:e,value:t,status:s}){return b.default.createElement("div",{className:"info-row"},b.default.createElement("span",null,e),b.default.createElement("strong",null,s&&b.default.createElement(ke,{name:s})," ",t))}function sa({modal:e,onClose:t}){let s=(0,b.useRef)(),n=!!e;return(0,b.useEffect)(()=>{if(n)return s.current.showModal(),()=>s.current?.close()},[n]),b.default.createElement("dialog",{ref:s,onCancel:u=>{u.preventDefault(),t()},onClick:u=>{u.target===u.currentTarget&&t()}},b.default.createElement("header",null,b.default.createElement("div",null,b.default.createElement("span",{className:"eyebrow"},e?.eyebrow??"\u914D\u7F6E\u5BFC\u89C8 \xB7 \u5B57\u6BB5\u8BF4\u660E"),b.default.createElement("h2",null,e?.title)),b.default.createElement("button",{type:"button",className:"icon-button","aria-label":"\u5173\u95ED\u5F39\u7A97",onClick:t},b.default.createElement(ke,{name:"close"}))),b.default.createElement("div",{className:"modal-body"},e?.body),b.default.createElement("footer",null,b.default.createElement(_,{kind:"primary",onClick:t},e?.closeLabel??"\u77E5\u9053\u4E86")))}var Le=Ce(ge());var gl={inspected:"\u6258\u7BA1\u6E05\u5355\u6838\u9A8C\u4E00\u81F4",uninstalled:"\u5DF2\u5378\u8F7D\u6258\u7BA1\u5185\u5BB9",committed:"\u6258\u7BA1\u6587\u4EF6\u6838\u9A8C\u4E00\u81F4",not_installed:"\u5C1A\u65E0\u6258\u7BA1\u5B89\u88C5\u8BB0\u5F55",unavailable:"\u672A\u5F00\u653E\u68C0\u67E5",removed:"\u5DF2\u79FB\u9664\u6258\u7BA1\u5185\u5BB9",rolled_back:"\u5DF2\u56DE\u6EDA",needs_review:"\u9700\u4EBA\u5DE5\u6838\u5BF9",applying:"\u4E8B\u52A1\u672A\u5B8C\u6210",rolling_back:"\u56DE\u6EDA\u672A\u5B8C\u6210"};function ja({request:e,onResult:t}){let[s,n]=(0,Le.useState)(null),[u,l]=(0,Le.useState)(!1),[a,f]=(0,Le.useState)(""),m=(0,Le.useRef)(!0),p=(0,Le.useRef)(!1),i=(0,Le.useRef)(0);(0,Le.useEffect)(()=>(m.current=!0,i.current++,p.current=!1,l(!1),n(null),f(""),()=>{m.current=!1,i.current++}),[e]);async function c(){if(p.current)return;p.current=!0;let o=++i.current;l(!0),n(null),t?.(null),f("");try{let r=await e("existing_pair_inspect",{});m.current&&o===i.current&&(n(r),t?.(r))}catch{m.current&&o===i.current&&f("\u672C\u6B21\u53CC\u7AEF\u6838\u5BF9\u672A\u5B8C\u6210\u3002\u8BF7\u68C0\u67E5\u539F\u76F4\u8FDE\u4E0E\u4E24\u7AEF\u63D2\u4EF6\u7248\u672C\uFF1B\u4E0D\u4F1A\u91C7\u7528\u5386\u53F2\u6210\u529F\u3001\u53E6\u5EFA Host \u6216\u590D\u5236\u51ED\u636E\u3002")}finally{o===i.current&&(p.current=!1,m.current&&l(!1))}}return Le.default.createElement(V,{title:"\u5DF2\u6709\u53CC\u7AEF\u914D\u7F6E",icon:"cloud",className:"connection-panel",sub:"\u4EC5\u9002\u7528\u4E8E\u5DF2\u7ECF\u5EFA\u7ACB\u81EA\u6709\u76F4\u8FDE\u7684\u4E24\u4E2A Host\u3002\u624B\u52A8\u6838\u5BF9\u5F53\u524D\u5B9E\u9645\u914D\u7F6E\uFF1B\u4E0D\u91CD\u590D\u4FDD\u5B58 Key\uFF0C\u4E0D\u63A5\u7BA1 Host \u751F\u547D\u5468\u671F\uFF0C\u4E0D\u751F\u6210\u5B89\u88C5\u5F52\u5C5E\uFF0C\u4E5F\u4E0D\u6539\u53D8\u4E0B\u65B9\u65B0\u5EFA\u73AF\u5883\u6D41\u7A0B\u3002"},Le.default.createElement("div",{className:"connection-actions"},Le.default.createElement(_,{kind:"secondary",icon:u?"spinner":"search",disabled:u,onClick:c},u?"\u6B63\u5728\u6838\u5BF9\u65E2\u6709\u53CC\u7AEF\u2026":"\u624B\u52A8\u6838\u5BF9\u65E2\u6709\u53CC\u7AEF")),s&&Le.default.createElement("div",{className:"connection-result",role:"status"},Le.default.createElement("p",{className:"fine-print"},"\u6838\u5BF9\u65F6\u95F4\uFF1A",new Date(s.observedAt).toLocaleString()," \xB7 \u6B64\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u4EE3\u8868\u6301\u7EED\u5728\u7EBF"),Le.default.createElement("div",{className:"form-grid"},[["\u672C\u5730 Host",s.local],["\u4E91\u7AEF Host",s.cloud]].map(([o,r])=>Le.default.createElement("section",{key:o,"aria-label":o+"\u65E2\u6709\u914D\u7F6E"},Le.default.createElement("h3",null,o),Le.default.createElement(S,{label:"\u63D2\u4EF6\u7248\u672C",value:r.host.plugin_version}),Le.default.createElement(S,{label:"\u89C4\u5219\u4E0E Skill",value:gl[r.rules.state]??"\u9700\u6838\u5BF9"}),Le.default.createElement(S,{label:"\u6A21\u578B\u6E05\u5355",value:r.models.state==="listed"?`${r.models.providers} \u4E2A\u6E20\u9053 / ${r.models.models} \u4E2A\u6A21\u578B`:r.models.state==="catalog_incomplete"?"\u6E05\u5355\u4E0D\u5B8C\u6574":"\u672A\u8BFB\u53D6\u5230\u6E05\u5355"}),Le.default.createElement(S,{label:"IM \u6E05\u5355",value:r.im.state==="listed"?`${r.im.botsConfigured} \u4E2A\u673A\u5668\u4EBA \xB7 \u672A\u9A8C\u8BC1\u8FDE\u63A5`:r.im.state==="no_bots"?"\u5C1A\u65E0\u673A\u5668\u4EBA":"\u672A\u53D6\u5F97\u5B8C\u6574\u6E05\u5355"}),Le.default.createElement(S,{label:"\u53EA\u8BFB\u8C03\u5EA6\u5668",value:r.runtime.scheduler?`\u5DF2\u542F\u52A8 / \u6D3B\u52A8 ${r.runtime.activeRuns} \u6279`:"\u672A\u542F\u52A8"}),Le.default.createElement("details",{className:"details"},Le.default.createElement("summary",null,"\u76EE\u6807\u7AEF\u89E3\u6790\u8DEF\u5F84"),Le.default.createElement("p",{className:"fine-print"},"\u7531\u76EE\u6807\u8FDB\u7A0B\u89E3\u6790\uFF0C\u5C1A\u672A\u8BC1\u660E\u4F1A\u8BDD\u52A0\u8F7D\uFF1B\u4E0D\u6309\u672C\u673A\u63A8\u6D4B\uFF0C\u4E0D\u6388\u4E88\u5220\u9664\u6743\u3002"),Le.default.createElement("div",{className:"path-line"},Le.default.createElement("span",null,"DSH"),Le.default.createElement("code",null,r.paths.dsh)),Le.default.createElement("div",{className:"path-line"},Le.default.createElement("span",null,"Agents"),Le.default.createElement("code",null,r.paths.agents)))))),Le.default.createElement(x,null,"\u8FD9\u4E0D\u662F\u5B89\u88C5\u6216\u5168\u94FE\u8DEF\u9A8C\u6536\u56DE\u6267\u3002\u6A21\u578B\u8BF7\u6C42\u3001IM \u6536\u53D1\u3001\u4ED3\u5E93\u8BBF\u95EE\u53CA\u4EFB\u52A1\u6210\u679C\u4ECD\u987B\u5206\u522B\u9A8C\u8BC1\uFF1B\u4E0D\u4F1A\u5F00\u542F\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u3002")),a&&Le.default.createElement("p",{role:"alert",className:"connection-error"},a))}var ne=Ce(ge());var Ut=e=>e==="cloud"?"\u4E91\u7AEF\u673A\u5668\u4EBA":"\u672C\u5730\u673A\u5668\u4EBA",Cl={active:"\u5DF2\u540C\u6B65\u4E91\u7AEF",pending_pair_or_sync:"\u5DF2\u4FDD\u5B58\uFF0C\u7B49\u5F85\u53CC\u7AEF\u914D\u5BF9\uFF0F\u540C\u6B65",pending_or_review:"\u540C\u6B65\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9",not_configured:"\u5C1A\u672A\u8BBE\u7F6E\uFF0C\u53EF\u8DF3\u8FC7"};function ht({request:e}){let[t,s]=(0,ne.useState)("local"),[n,u]=(0,ne.useState)(null),[l,a]=(0,ne.useState)(""),[f,m]=(0,ne.useState)(null),[p,i]=(0,ne.useState)(null),[c,o]=(0,ne.useState)(!1),[r,d]=(0,ne.useState)(!1),[L,C]=(0,ne.useState)(""),[h,g]=(0,ne.useState)(null),v=(0,ne.useRef)(!1),N=(0,ne.useRef)(!0);(0,ne.useEffect)(()=>(N.current=!0,()=>{N.current=!1}),[]);let T=n?.find(P=>P.candidate_id===l&&P.eligible);async function w(P){if(!v.current){v.current=!0,d(!0),C("");try{if(P==="discover"){i(null),o(!1),u(null),a("");let D=await e("notification_defaults_discover",{host:t});if(!N.current)return;let O=D.items??[];u(O);let W=O.filter(J=>J.eligible);W.length===1&&a(W[0].candidate_id),D.state==="unavailable"&&C("\u6B64\u7AEF\u6682\u4E0D\u5177\u5907\u7ECF\u8FC7\u6838\u9A8C\u7684 IM \u901A\u77E5\u80FD\u529B\u3002\u8BF7\u5148\u914D\u7F6E\u5BF9\u5E94\u673A\u5668\u4EBA\uFF0C\u4E0D\u4F1A\u6539\u7528\u53E6\u4E00\u7AEF\u3002")}else if(P==="status"||P==="sync"){let D=await e("notification_defaults_"+P,{});if(!N.current)return;m(D),h&&(D.operation===h.id||D.revision>=h.revision)&&g(null)}else if(P==="enable"||P==="disable"){if(h||P==="enable"&&!T)return;i(null),o(!1);let D=await e("notification_defaults_preview",P==="enable"?{enabled:!0,host:t,candidate_id:T.candidate_id,label:T.label}:{enabled:!1});N.current&&i(D)}else if(P==="apply"){if(!p||!c||h||p.expiresAt<=Date.now())return;let D=p;i(null),o(!1),g({id:D.id,revision:D.revision});let O=await e("notification_defaults_apply",{id:D.id,fingerprint:D.fingerprint,confirm:!0});if(!N.current)return;m(O),O.operation===D.id&&g(null)}}catch(D){N.current&&C(/^ONBOARDING_CLOUD_/.test(D?.message??"")?"\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\u6216\u4E0D\u652F\u6301\u6B64\u5951\u7EA6\u3002\u53EF\u5148\u5B8C\u6210\u7B2C 5\u30016 \u9875\uFF0C\u518D\u8FD4\u56DE\u6B64\u5904\uFF1B\u4E0D\u4F1A\u4ECE\u672C\u7AEF\u8BFB\u53D6\u66FF\u4EE3\u3002":"\u672C\u6B21\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u82E5\u5DF2\u4FDD\u5B58\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF0C\u4E5F\u4E0D\u66F4\u6362\u673A\u5668\u4EBA\u6216\u6536\u4EF6\u4F4D\u7F6E\u3002")}finally{v.current=!1,N.current&&d(!1)}}}return ne.default.createElement(V,{title:"\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3",icon:"chat",className:"connection-panel",sub:"\u53EF\u9009\u3002\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u673A\u5668\u4EBA\u4F5C\u4E3A\u65E5\u5E38\u4EA4\u529E\u5165\u53E3\uFF0C\u5E76\u5C06\u4E91\u7AEF\u65B0\u5B9A\u65F6\u4EFB\u52A1\u7684\u7ED3\u679C\u53D1\u56DE\u5176\u7ED1\u5B9A\u5BF9\u8BDD\u3002\u4E0D\u4F1A\u5173\u95ED\u53E6\u4E00\u7AEF\u539F\u751F IM\u3002\u53EA\u53D1\u5B8C\u6210\uFF0F\u5931\u8D25\u6458\u8981\uFF0C\u4E0D\u81EA\u52A8\u4E0A\u4F20\u5168\u90E8\u9644\u4EF6\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u6743\u9650\u3002"},ne.default.createElement(Se,{label:"\u9ED8\u8BA4\u673A\u5668\u4EBA\u6240\u5728\u7AEF"},ne.default.createElement("select",{value:t,disabled:r||!!h,onChange:P=>{s(P.target.value),u(null),a(""),i(null),o(!1)}},ne.default.createElement("option",{value:"local"},"\u672C\u5730\u673A\u5668\u4EBA"),ne.default.createElement("option",{value:"cloud"},"\u4E91\u7AEF\u673A\u5668\u4EBA"))),ne.default.createElement("div",{className:"connection-actions"},ne.default.createElement(_,{kind:"secondary",icon:"reset",disabled:r||!!h,onClick:()=>w("discover")},"\u8BFB\u53D6",Ut(t),"\u4E0E\u5BF9\u8BDD"),ne.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>w("status")},"\u6838\u5BF9\u5DF2\u4FDD\u5B58\u8BBE\u7F6E")),n&&ne.default.createElement(Se,{label:"\u673A\u5668\u4EBA\u4E0E\u8FD4\u56DE\u5BF9\u8BDD",hint:"\u53EA\u5217\u51FA\u8BE5\u7AEF IM \u516C\u5F00\u63A5\u53E3\u5DF2\u4FDD\u5B58\u7684\u76EE\u6807\u3002\u9996\u6B21\u4F7F\u7528\u8BF7\u5148\u4E0E\u673A\u5668\u4EBA\u79C1\u804A\uFF0C\u5E76\u5728\u539F\u751F IM \u7BA1\u7406\u4E2D\u4FDD\u5B58\u901A\u77E5\u76EE\u6807\uFF0C\u518D\u91CD\u65B0\u8BFB\u53D6\u3002"},ne.default.createElement("select",{value:l,disabled:r||!!h,onChange:P=>{a(P.target.value),i(null),o(!1)}},ne.default.createElement("option",{value:""},n.length?"\u8BF7\u9009\u62E9\u5DF2\u6838\u9A8C\u7684\u5BF9\u8BDD":"\u5C1A\u65E0\u5DF2\u4FDD\u5B58\u5BF9\u8BDD"),n.map((P,D)=>ne.default.createElement("option",{key:P.candidate_id??D,value:P.candidate_id??"",disabled:!P.eligible},P.account," \xB7 ",P.label," \xB7 ",P.kind==="group"?"\u7FA4\u804A":"\u79C1\u804A",P.eligible?"":"\uFF08\u4E0D\u53EF\u7528\uFF09")))),ne.default.createElement(S,{label:"\u5F53\u524D\u9ED8\u8BA4",value:f?.enabled?`${Ut(f.target.host)} \xB7 ${f.target.label}`:f?"\u672A\u542F\u7528\u9ED8\u8BA4\u901A\u77E5":"\u5C1A\u672A\u6838\u5BF9"}),f&&ne.default.createElement(S,{label:"\u4E91\u7AEF\u8BB0\u8D26",value:Cl[f.publication.state]??"\u5F85\u6838\u5BF9"}),ne.default.createElement("p",{className:"fine-print"},"\u672C\u5730\u5165\u53E3\uFF1AMac \u79BB\u7EBF\u65F6\u901A\u77E5\u6392\u961F\uFF1B\u4E91\u7AEF\u5165\u53E3\uFF1A\u4E0D\u4F9D\u8D56 Mac \u5728\u7EBF\u3002\u9009\u62E9\u53EA\u6709\u786E\u8BA4\u4FDD\u5B58\u540E\u624D\u751F\u6548\u3002"),ne.default.createElement("div",{className:"connection-actions"},ne.default.createElement(_,{kind:"primary",disabled:r||!!h||!T,onClick:()=>w("enable")},"\u9884\u89C8\u9ED8\u8BA4\u5165\u53E3"),ne.default.createElement(_,{kind:"secondary",disabled:r||!!h||!f?.enabled,onClick:()=>w("disable")},"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),f?.revision>0&&ne.default.createElement(_,{kind:"secondary",disabled:r||!!h,onClick:()=>w("sync")},"\u624B\u52A8\u6838\u5BF9\u4E91\u7AEF\u540C\u6B65")),p&&ne.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3"},ne.default.createElement("h3",null,p.enabled?"\u542F\u7528\u9ED8\u8BA4\u5165\u53E3":"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),p.target&&ne.default.createElement(S,{label:"\u7ED3\u679C\u8FD4\u56DE",value:`${Ut(p.target.host)} \xB7 ${p.target.label}`}),ne.default.createElement("p",null,"\u4EC5\u65B0\u5EFA\u7684\u4E91\u7AEF\u5B9A\u65F6\u4EFB\u52A1\u7EE7\u627F\u3002\u66F4\u6539\u5C06\u505C\u6B62\u65E7\u9ED8\u8BA4\u7ED1\u5B9A\u7684\u5F85\u53D1\u901A\u77E5\uFF0C\u4F46\u4E0D\u4FEE\u6539\u4EFB\u52A1\u660E\u786E\u6307\u5B9A\u7684\u901A\u77E5\uFF1B\u5DF2\u53D1\u9001\u7684\u6D88\u606F\u65E0\u6CD5\u64A4\u56DE\uFF0C\u4E0D\u8865\u53D1\u5386\u53F2\u4EFB\u52A1\u3002"),ne.default.createElement(R,{checked:c,disabled:r,onChange:o,title:"\u6211\u786E\u8BA4\u6B64\u9ED8\u8BA4\u6536\u53D1\u8BBE\u7F6E\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03"}),ne.default.createElement("div",{className:"connection-actions"},ne.default.createElement(_,{kind:"primary",disabled:r||!c||p.expiresAt<=Date.now(),onClick:()=>w("apply")},"\u786E\u8BA4\u4FDD\u5B58\u9ED8\u8BA4\u8BBE\u7F6E"),ne.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))),h&&ne.default.createElement(x,{tone:"warn"},"\u4FDD\u5B58\u56DE\u6267\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u539F\u8BBE\u7F6E\uFF0C\u4E0D\u8981\u91CD\u590D\u786E\u8BA4\u6216\u5C06\u5931\u8D25\u5F53\u4F5C\u672A\u4FDD\u5B58\u3002"),L&&ne.default.createElement("p",{role:"alert",className:"connection-error"},L))}var ie=Ce(ge());var _l={ONBOARDING_GLOBAL_TARGET_AMBIGUOUS:"\u53D1\u73B0\u4E24\u4EFD\u5168\u5C40\u89C4\u5219\uFF0C\u8BF7\u660E\u786E\u9009\u62E9\u8FFD\u52A0\u76EE\u6807\uFF1B\u53E6\u4E00\u4EFD\u4FDD\u6301\u4E0D\u53D8\u3002",ONBOARDING_SKILL_CONFLICT:"\u5B58\u5728\u540C\u540D Skill \u6216\u76EE\u5F55\uFF0C\u4FDD\u7559\u7528\u6237\u5185\u5BB9\uFF0C\u4E0D\u8986\u76D6\u4E5F\u4E0D\u81EA\u52A8\u6539\u540D\u3002",ONBOARDING_UNOWNED_RULE_BLOCK:"\u53D1\u73B0\u672A\u80FD\u6838\u9A8C\u5F52\u5C5E\u7684\u6258\u7BA1\u533A\uFF0C\u9700\u8981\u4EBA\u5DE5\u6838\u5BF9\u3002",ONBOARDING_OWNED_CONTENT_REVIEW:"\u5DF2\u5B89\u88C5\u6587\u4EF6\u6216\u7248\u672C\u53D1\u751F\u53D8\u5316\uFF1B\u672C\u671F\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_GLOBAL_BUDGET_REVIEW:"\u5168\u5C40\u89C4\u5219\u8D85\u8FC7\u4FDD\u5B88\u52A0\u8F7D\u9884\u7B97\uFF0C\u9700\u8981\u5148\u7CBE\u7B80\u6216\u8C03\u6574\u65B9\u6848\u3002",ONBOARDING_RECOVERY_REQUIRED:"\u6709\u672A\u7ED3\u675F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u56DE\u6267\u5E76\u5904\u7406\u6062\u590D\u3002"};function gt({request:e}){let[t,s]=(0,ie.useState)(null),[n,u]=(0,ie.useState)(""),[l,a]=(0,ie.useState)(!1),[f,m]=(0,ie.useState)(null),[p,i]=(0,ie.useState)(!1),[c,o]=(0,ie.useState)(""),r=(0,ie.useRef)(0);(0,ie.useEffect)(()=>()=>{r.current++},[]);async function d(v){let N=++r.current;i(!0),o("");try{let T=await v();if(N===r.current)return T}catch(T){N===r.current&&o("\u64CD\u4F5C\u672A\u5B8C\u6210\uFF1A"+T.message+"\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{N===r.current&&i(!1)}}async function L(){a(!1),s(null);let v=await d(()=>e("install_preview",n?{ruleRoot:n}:{}));v&&s(v)}async function C(){let v=await d(()=>e("install_status",{}));v&&m(v)}async function h(){if(!t?.canApply||!l||p)return;let v=t;a(!1),s(null);let N=await d(()=>e("install_apply",{id:v.id,fingerprint:v.fingerprint,confirm:!0}));N&&m(N)}async function g(){if(!f?.id||p)return;let v=await d(()=>e("install_recover",{id:f.id,confirm:!0}));v&&m(v),s(null),a(!1)}return ie.default.createElement(V,{title:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u5B89\u88C5\u8BA1\u5212",icon:"shield",extra:ie.default.createElement(ve,null,"\u4EC5\u5F53\u524D Host")},ie.default.createElement(x,null,"\u8FD9\u4EFD\u8BA1\u5212\u4EC5\u5B89\u88C5\u672C\u7AEF\u5168\u5C40\u89C4\u5219\u4E0E Skill\uFF0C\u4E0D\u8FDE\u63A5 ECS\u3001\u4E0D\u4FEE\u6539\u51ED\u636E\u3001\u4E0D\u542F\u52A8\u4EFB\u52A1\u6216\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u53D1\u5E03\u3002\u9884\u89C8\u4E0D\u5199\u6587\u4EF6\uFF1B\u5E94\u7528\u540E\u4F1A\u4FDD\u5B58\u79C1\u6709\u5907\u4EFD\u548C\u4E8B\u52A1\u56DE\u6267\u3002"),ie.default.createElement(Se,{label:"\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807",hint:"\u9009\u586B\uFF1B\u4E24\u4EFD\u90FD\u5B58\u5728\u65F6\u5FC5\u987B\u9009\u62E9\u3002\u53EA\u9009\u8FFD\u52A0\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u6216\u4FEE\u6539\u53E6\u4E00\u4EFD\u89C4\u5219\u3002"},ie.default.createElement("select",{"aria-label":"\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807",disabled:p,value:n,onChange:v=>{u(v.target.value),s(null),a(!1)}},ie.default.createElement("option",{value:""},"\u81EA\u52A8\uFF1A\u4F18\u5148\u552F\u4E00\u5DF2\u6709\u6587\u4EF6\uFF0C\u5426\u5219\u521B\u5EFA"),ie.default.createElement("option",{value:"dsh"},"\u5F53\u524D Host \u7684 DSH \u5168\u5C40\u89C4\u5219"),ie.default.createElement("option",{value:"shared"},"\u5F53\u524D Host \u7684\u5171\u4EAB Agents \u5168\u5C40\u89C4\u5219"))),ie.default.createElement("div",{className:"form-actions"},ie.default.createElement(_,{onClick:L,disabled:p},"\u9884\u89C8\u5B89\u88C5\u8BA1\u5212"),ie.default.createElement(_,{kind:"soft",onClick:C,disabled:p},"\u6838\u5BF9\u5B89\u88C5\u56DE\u6267")),c&&ie.default.createElement("p",{role:"alert"},c),t&&ie.default.createElement("div",{className:"install-plan"},ie.default.createElement("p",null,t.alreadyInstalled?"\u5DF2\u5B89\u88C5\u4E14\u6458\u8981\u4E00\u81F4 \xB7 \u65E0\u9700\u91CD\u590D\u5E94\u7528":`${t.changes.length} \u9879\u53D8\u66F4 \xB7 \u5168\u5C40\u89C4\u5219 ${t.globalBytes}/${t.byteLimit} \u5B57\u8282`),t.conflicts.map((v,N)=>ie.default.createElement("div",{role:"alert",className:"plan-item",key:N},ie.default.createElement("strong",null,_l[v.code]??v.code),v.path&&ie.default.createElement("code",null,v.path))),ie.default.createElement("div",{className:"install-changes"},t.changes.map(v=>ie.default.createElement("details",{className:"plan-item",key:v.path},ie.default.createElement("summary",null,v.action==="append"?"\u8FFD\u52A0\uFF0C\u4FDD\u7559\u539F\u6587":"\u65B0\u5EFA\uFF0C\u4E0D\u8986\u76D6"," \xB7 ",v.path.includes("/skills/")?v.path.slice(v.path.lastIndexOf("/skills/")+1):"AGENTS.md"),ie.default.createElement("code",null,v.path),ie.default.createElement("p",null,"\u4FDD\u7559\u539F\u59CB ",v.preservedBytes," \u5B57\u8282"),ie.default.createElement("code",null,"\u539F\u6458\u8981\uFF1A",v.beforeHash??"\u4E0D\u5B58\u5728",ie.default.createElement("br",null),"\u76EE\u6807\u6458\u8981\uFF1A",v.afterHash),ie.default.createElement("pre",{className:"install-diff"},v.addedText)))),ie.default.createElement(R,{checked:l,disabled:!t.canApply||p,onChange:a,title:"\u6211\u786E\u8BA4\u5728\u4E0A\u8FF0\u5B9E\u9645\u8DEF\u5F84\u5E94\u7528\u8FD9\u4EFD\u89C4\u5219\u4E0E Skill \u8BA1\u5212",sub:"\u4E0D\u6388\u6743 ECS \u521D\u59CB\u5316\uFF1B\u4EFB\u4F55\u51B2\u7A81\u6216\u5FEB\u7167\u53D8\u5316\u5747\u4F1A\u505C\u6B62\u3002"}),ie.default.createElement(_,{kind:"primary",disabled:!t.canApply||!l||p||Date.now()>t.expiresAt,onClick:h},"\u5E94\u7528\u672C\u7AEF\u89C4\u5219\u4E0E Skill")),f&&ie.default.createElement("div",{className:"plan-item",role:"status"},ie.default.createElement("strong",null,"\u5B89\u88C5\u56DE\u6267\uFF1A",{committed:"\u6587\u4EF6\u5DF2\u5B89\u88C5",rolled_back:"\u5DF2\u56DE\u6EDA",needs_review:"\u5F85\u4EBA\u5DE5\u6838\u5BF9",applying:"\u6267\u884C\u4E2D\uFF0F\u9700\u6838\u5BF9",rolling_back:"\u56DE\u6EDA\u4E2D\uFF0F\u9700\u6838\u5BF9",not_installed:"\u5C1A\u672A\u5B89\u88C5"}[f.state]??f.state),ie.default.createElement("p",null,"\u4F1A\u8BDD\u52A0\u8F7D\u4ECD\u9700\u72EC\u7ACB\u6838\u9A8C\uFF1B\u4E0D\u4EE3\u8868\u6574\u5957\u521D\u59CB\u5316\u5B8C\u6210\u3002"),f.error&&ie.default.createElement("code",null,f.error),f.review?.map((v,N)=>ie.default.createElement("code",{key:N},v.path," \xB7 \u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u8986\u76D6")),f.canRecover&&ie.default.createElement(_,{disabled:p,onClick:g},"\u786E\u8BA4\u56DE\u6EDA\u672A\u5B8C\u6210\u4E8B\u52A1")))}var M=Ce(ge());var Fo="dsh-onboarding-maintenance-reference-v1",Uo=e=>typeof e=="string"&&/^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$/.test(e),et=e=>["committed","rolled_back","uninstalled"].includes(e?.state);function Ht(e,t,s=Date.now()){let n=e.uncertain||e.current?.canRecover===!0||!!e.current?.id&&!et(e.current);return{preview:!e.busy&&!!e.current&&!n&&[1,2].includes(t.contract),apply:!e.busy&&t.contract===2&&t.mutation===!0&&e.plan?.contract===2&&e.plan.canApply===!0&&e.plan.mutationAvailable===!0&&s<e.plan.expiresAt&&!e.recovery,recover:!e.busy&&t.contract===2&&t.mutation===!0&&e.current?.canRecover===!0,recoveryApply:!e.busy&&t.contract===2&&t.mutation===!0&&e.recovery?.confirmRequired===!0&&s<e.recovery.expiresAt}}function Ho(e,t,s,n,u=Date.now){let l=null;try{let p=JSON.parse(n?.getItem(Fo)??"null");Uo(p?.id)&&(l={id:p.id})}catch{}let a={current:null,receipt:null,plan:null,recovery:null,busy:!1,error:"",uncertain:!!l,reference:l,observedAt:null},f=p=>{a={...a,...p},t(a)};async function m(p,i=!1){if(a.busy)return!1;let c=Ht(a,s,u());if(["upgrade","repair","uninstall"].includes(p)&&!c.preview||p==="apply"&&(!c.apply||i!==!0)||p==="recovery_preview"&&!c.recover||p==="recover"&&(!c.recoveryApply||i!==!0)||!["refresh","upgrade","repair","uninstall","apply","recovery_preview","recover"].includes(p))return!1;let o=p==="recover"?a.recovery:a.plan;f({busy:!0,error:"",plan:null,recovery:null});try{if(p==="refresh"){let r=await e("maintenance_status",{});f({current:r,observedAt:u()});let d=Uo(r.id)&&(r.canRecover===!0||!et(r)),L=d?r:a.reference?await e("maintenance_status",{id:a.reference.id}):r.lastReceipt??(r.id?r:null),C=d?r.id:a.reference?.id;if(C&&L?.id!==C)throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");f({receipt:L,uncertain:d?!et(r):!!a.reference&&!et(L)})}else if(["upgrade","repair","uninstall"].includes(p))f({plan:await e("maintenance_preview",{action:p})});else if(p==="recovery_preview")f({recovery:await e("maintenance_recoveryPreview",{id:a.current.id})});else{if(!n)throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE");n.setItem(Fo,JSON.stringify({id:o.id})),f({reference:{id:o.id},uncertain:!0});let r=await e(p==="apply"?"maintenance_apply":"maintenance_recover",{id:o.id,fingerprint:o.fingerprint,confirm:!0});if(r?.id!==o.id)throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");f({receipt:r,current:null,observedAt:null,uncertain:!et(r)})}return!0}catch(r){return f({error:/^ONBOARDING_[A-Z_]+$/.test(r?.message)?r.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{f({busy:!1})}}return{get:()=>a,act:m,cancel:()=>{a.busy||f({plan:null,recovery:null})}}}var pa={upgrade:"\u5347\u7EA7",repair:"\u4FEE\u590D",uninstall:"\u79FB\u9664"},Go={inspected:"\u5F53\u524D\u6587\u4EF6\u5DF2\u68C0\u67E5",not_installed:"\u5C1A\u672A\u5B89\u88C5\u89C4\u5219\u4E0E Skill",uninstalled:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u5DF2\u79FB\u9664",committed:"\u53D8\u66F4\u5DF2\u8BB0\u8D26",rolled_back:"\u672C\u6B21\u53D8\u66F4\u5DF2\u56DE\u6EDA",needs_review:"\u5F85\u6838\u5BF9 \xB7 \u4FDD\u7559\u73B0\u573A",applying:"\u5904\u7406\u4E2D\uFF0F\u5F85\u6838\u5BF9",rolling_back:"\u56DE\u6EDA\u4E2D\uFF0F\u5F85\u6838\u5BF9"},vl={ONBOARDING_MAINTENANCE_BUSY:"\u539F\u4E8B\u52A1\u4ECD\u5728\u8FD0\u884C\uFF1B\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u4E2D\u65AD\u6216\u91CD\u53D1\u3002",ONBOARDING_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF1B\u672A\u81EA\u52A8\u91CD\u65B0\u7533\u8BF7\u6216\u6267\u884C\u3002\u82E5\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_PLAN_DRIFT:"\u6587\u4EF6\u6216\u8D26\u672C\u53D1\u751F\u53D8\u5316\uFF0C\u539F\u8BA1\u5212\u672A\u7EE7\u7EED\u6267\u884C\u3002\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4FDD\u7559\u73B0\u573A\u3002",ONBOARDING_MAINTENANCE_OPERATION_NOT_FOUND:"\u5C1A\u672A\u627E\u5230\u539F\u8BF7\u6C42\u7684\u8D26\u672C\uFF0C\u4E0D\u7B49\u4E8E\u8BF7\u6C42\u672A\u9001\u8FBE\u3002\u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u786E\u8BA4\u3002",ONBOARDING_MAINTENANCE_INCOMPLETE_JOURNAL:"\u539F\u4E8B\u52A1\u7F3A\u5C11\u5B8C\u6574\u8D26\u672C\uFF0C\u4E0D\u80FD\u81EA\u52A8\u6062\u590D\uFF1B\u4FDD\u7559\u73B0\u573A\u4F9B\u6838\u5BF9\u3002",ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u6D4F\u89C8\u5668\u65E0\u6CD5\u4FDD\u5B58\u56DE\u6267\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u672A\u53D1\u9001\u7EF4\u62A4\u8BF7\u6C42\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u8BBE\u7F6E\u3002"},qo={create:"\u65B0\u5EFA\u81EA\u6709\u6587\u4EF6",replace:"\u66FF\u6362\u53D7\u7BA1\u5185\u5BB9",remove:"\u79FB\u9664\u53D7\u7BA1\u5185\u5BB9"};function Ct({request:e,contract:t=0,mutation:s=!1}){let[n,u]=(0,M.useState)(null),[l,a]=(0,M.useState)(!1),f=(0,M.useRef)(!0),m=(0,M.useRef)(null);if(!m.current){let d;try{d=globalThis.sessionStorage}catch{}m.current=Ho(e,L=>{f.current&&u(L)},{contract:t,mutation:s},d)}(0,M.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=n??m.current.get(),i=Ht(p,{contract:t,mutation:s}),c=p.plan,o=p.receipt,r=d=>(a(!1),m.current.act(d,l));return M.default.createElement(V,{title:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4",sub:"\u53EA\u7BA1\u7406\u4F60\u6B63\u5728\u8BBF\u95EE\u7684 Host\uFF1B\u53E6\u4E00\u7AEF\u9700\u5206\u522B\u8FDB\u5165\u5E76\u786E\u8BA4\u3002",icon:"shield",extra:M.default.createElement(ve,null,"\u624B\u52A8\u6838\u5BF9"),className:"connection-panel maintenance-panel"},M.default.createElement(x,null,"\u5347\u7EA7\u3001\u4FEE\u590D\u6216\u79FB\u9664\u7684\u8303\u56F4\u4EC5\u4E3A\u672C\u9879\u76EE\u7684\u5168\u5C40 AGENTS.md \u6258\u7BA1\u533A\u4E0E Skill\u3002\u4FDD\u7559\u7528\u6237\u539F\u6587\u3001\u672A\u77E5\u6587\u4EF6\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u4E0E\u6210\u679C\uFF1B\u4E0D\u5378\u8F7D\u63D2\u4EF6\u672C\u4F53\u3001\u7B2C\u4E09\u65B9\u63D2\u4EF6\u6216 ECS \u5B9E\u4F8B\u3002"),M.default.createElement("div",{className:"maintenance-status",role:"status"},M.default.createElement(S,{label:"\u5F53\u524D\u72B6\u6001",value:p.current?Go[p.current.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),p.current?.action&&M.default.createElement(S,{label:"\u5F53\u524D\u4E8B\u52A1",value:pa[p.current.action]??"\u7EF4\u62A4"}),p.current?.installedVersion&&M.default.createElement(S,{label:"\u5DF2\u767B\u8BB0\u89C4\u5219\u7248\u672C",value:p.current.installedVersion}),M.default.createElement("p",{className:"fine-print"},p.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(p.observedAt).toLocaleString()+" \xB7 \u4E0D\u4EE3\u8868\u4F1A\u8BDD\u5DF2\u52A0\u8F7D":"\u6253\u5F00\u9875\u9762\u4E0D\u6267\u884C\u7EF4\u62A4\uFF0C\u4E5F\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),M.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u64CD\u4F5C"},M.default.createElement(_,{kind:"secondary",icon:"reset",disabled:p.busy,onClick:()=>r("refresh")},"\u624B\u52A8\u6838\u5BF9\u7EF4\u62A4\u72B6\u6001\u4E0E\u56DE\u6267"),Object.entries(pa).map(([d,L])=>M.default.createElement(_,{key:d,kind:"soft",disabled:!i.preview,onClick:()=>r(d)},"\u9884\u89C8",L,"\u8BA1\u5212"))),t!==2||!s?M.default.createElement(x,null,"\u76EE\u6807\u7AEF\u53EA\u5F00\u653E\u53EA\u8BFB\u7EF4\u62A4\u8BA1\u5212\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u5E94\u7528\u6216\u6062\u590D\uFF1B\u4E0D\u4F1A\u964D\u7EA7\u8C03\u7528\u65E7\u63A5\u53E3\u3002"):null,p.uncertain&&M.default.createElement(x,{tone:"warn"},"\u539F\u8BF7\u6C42\u7ED3\u679C\u5C1A\u5F85\u6838\u5BF9\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\uFF0C\u4E0D\u628A\u5237\u65B0\u5931\u8D25\u663E\u793A\u4E3A\u7EF4\u62A4\u6210\u529F\u3002"),p.current?.canRecover&&M.default.createElement("div",{className:"connection-actions"},M.default.createElement(_,{kind:"secondary",disabled:!i.recover,onClick:()=>r("recovery_preview")},"\u9884\u89C8\u539F\u4E8B\u52A1\u6062\u590D")),c&&M.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u8BA1\u5212"},M.default.createElement("h3",null,"\u5F85\u786E\u8BA4\u8BA1\u5212 \xB7 ",pa[c.action],"\u89C4\u5219\u4E0E Skill"),M.default.createElement(S,{label:"\u89C4\u5219\u7248\u672C",value:(c.installedVersion??"\u672A\u767B\u8BB0")+" \u2192 "+c.targetVersion}),M.default.createElement(S,{label:"\u62DF\u53D8\u66F4",value:(c.changes?.length??0)+" \u9879 \xB7 \u5C1A\u672A\u6267\u884C"}),M.default.createElement("p",null,"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(c.expiresAt).toLocaleTimeString(),"\u3002\u786E\u8BA4\u65F6\u518D\u6B21\u68C0\u67E5\u6587\u4EF6\u5F52\u5C5E\u3001\u7248\u672C\u548C\u5E76\u53D1\u53D8\u5316\u3002"),c.conflicts?.map((d,L)=>M.default.createElement("div",{className:"plan-item",role:"alert",key:L},M.default.createElement("strong",null,"\u6B64\u9879\u51B2\u7A81\u963B\u6B62\u5E94\u7528"),M.default.createElement("code",null,d.code),d.path&&M.default.createElement("code",null,d.path))),c.changes?.map((d,L)=>M.default.createElement("details",{className:"plan-item",key:L},M.default.createElement("summary",null,qo[d.action]," \xB7 ",d.kind==="global_rules"?"\u5168\u5C40 AGENTS.md":d.path.split(/[\\/]/).slice(-2).join("/")),M.default.createElement("code",null,d.path),M.default.createElement("p",null,d.preservedUserBytes!==void 0?"\u4FDD\u7559\u7528\u6237\u539F\u6587 "+d.preservedUserBytes+" \u5B57\u8282":"\u4EC5\u7BA1\u7406\u6E05\u5355\u5185\u81EA\u6709\u6587\u4EF6"),M.default.createElement(S,{label:"\u53D8\u66F4\u5927\u5C0F",value:d.beforeBytes+" \u2192 "+d.afterBytes+" \u5B57\u8282"}),d.managedText&&M.default.createElement("pre",{className:"install-diff"},d.managedText))),c.retained?.length>0&&M.default.createElement("details",{className:"plan-item"},M.default.createElement("summary",null,"\u5C06\u4FDD\u7559\u7684\u76EE\u5F55\u4E0E\u6587\u4EF6 \xB7 ",c.retained.length," \u9879"),c.retained.map((d,L)=>M.default.createElement("div",{key:L},M.default.createElement("code",null,d.path),M.default.createElement("p",null,d.reason,d.names?.length?" \xB7 "+d.names.join("\u3001"):"")))),!c.canApply&&M.default.createElement(x,null,c.conflicts?.length?"\u5B58\u5728\u51B2\u7A81\uFF0C\u672C\u8BA1\u5212\u4E0D\u80FD\u5E94\u7528\u3002":"\u6CA1\u6709\u53EF\u5E94\u7528\u7684\u53D8\u66F4\uFF1B\u4E0D\u91CD\u590D\u7EF4\u62A4\u3002"),M.default.createElement(R,{checked:l,disabled:!i.apply,onChange:a,title:"\u6211\u786E\u8BA4\u4EC5\u5E94\u7528\u4E0A\u8FF0\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u8BA1\u5212",sub:"\u4E0D\u6388\u6743\u53E6\u4E00\u7AEF\u64CD\u4F5C\u3001\u63D2\u4EF6\u5378\u8F7D\u3001\u4EFB\u52A1\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),M.default.createElement("div",{className:"connection-actions"},M.default.createElement(_,{kind:"primary",disabled:!i.apply||!l,onClick:()=>r("apply")},"\u786E\u8BA4",pa[c.action],"\u672C\u7AEF\u89C4\u5219\u4E0E Skill"),M.default.createElement(_,{kind:"secondary",disabled:p.busy,onClick:()=>{m.current.cancel(),a(!1)}},"\u53D6\u6D88\u8BA1\u5212"))),p.recovery&&M.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u6062\u590D\u8BA1\u5212"},M.default.createElement("h3",null,p.recovery.action==="finalize_receipt"?"\u53D8\u66F4\u5DF2\u63D0\u4EA4 \xB7 \u4EC5\u8865\u9F50\u56DE\u6267\u6536\u5C3E":"\u56DE\u6EDA\u539F\u4E8B\u52A1\u7684\u672A\u5B8C\u6210\u53D8\u66F4"),M.default.createElement(S,{label:"\u539F\u64CD\u4F5C",value:pa[p.current?.action]??"\u7EF4\u62A4"}),Array.isArray(p.current?.files)&&M.default.createElement("details",{className:"plan-item"},M.default.createElement("summary",null,"\u539F\u4E8B\u52A1\u6D89\u53CA ",p.current.files.length," \u4E2A\u53D7\u7BA1\u6587\u4EF6"),p.current.files.map((d,L)=>M.default.createElement("div",{key:L},M.default.createElement("p",null,qo[d.action]??"\u6838\u5BF9\u53D7\u7BA1\u5185\u5BB9"),M.default.createElement("code",null,d.path)))),M.default.createElement("p",null,p.recovery.action==="finalize_receipt"?"\u4E0D\u64A4\u9500\u5DF2\u7ECF\u6210\u529F\u7684\u7EF4\u62A4\uFF0C\u53EA\u6838\u9A8C\u539F\u4E8B\u52A1\u5E76\u6536\u5C3E\u3002":"\u53EA\u6062\u590D\u80FD\u591F\u6838\u9A8C\u7684\u539F\u59CB\u6587\u4EF6\uFF1B\u5E76\u53D1\u4FEE\u6539\u4E0E\u672A\u77E5\u5185\u5BB9\u4FDD\u7559\u4E3A\u5F85\u6838\u5BF9\u3002"),M.default.createElement(R,{checked:l,onChange:a,disabled:!i.recoveryApply,title:"\u6211\u786E\u8BA4\u4EC5\u6309\u4E0A\u8FF0\u8BA1\u5212\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"}),M.default.createElement("div",{className:"connection-actions"},M.default.createElement(_,{kind:"primary",disabled:!l||!i.recoveryApply,onClick:()=>r("recover")},"\u786E\u8BA4\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"),M.default.createElement(_,{kind:"secondary",disabled:p.busy,onClick:()=>{m.current.cancel(),a(!1)}},"\u53D6\u6D88\u6062\u590D"))),o&&M.default.createElement("section",{className:"maintenance-receipt",role:"status","aria-label":"\u6301\u4E45\u7EF4\u62A4\u56DE\u6267"},M.default.createElement("h3",null,"\u6301\u4E45\u56DE\u6267 \xB7 ",Go[o.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),M.default.createElement(S,{label:"\u539F\u64CD\u4F5C",value:pa[o.action]??"\u7EF4\u62A4"}),o.version&&M.default.createElement(S,{label:"\u56DE\u6267\u7248\u672C",value:o.version}),M.default.createElement("p",null,"\u8FD9\u662F\u539F\u64CD\u4F5C\u7684\u8D26\u672C\uFF0C\u4E0D\u4EE3\u8868\u5F53\u524D\u6587\u4EF6\u4ECD\u4E00\u81F4\u3001\u4F1A\u8BDD\u5DF2\u52A0\u8F7D\u6216\u6574\u5957\u73AF\u5883\u7EF4\u62A4\u5B8C\u6210\u3002"),o.error&&M.default.createElement("code",null,o.error),o.review?.map((d,L)=>M.default.createElement("div",{className:"plan-item",key:L},M.default.createElement("code",null,d.path),M.default.createElement("p",null,"\u4FDD\u7559\u73B0\u573A \xB7 ",d.reason))),o.directoryResults?.filter(d=>d.state==="retained_nonempty_or_changed").map((d,L)=>M.default.createElement("p",{key:L},"\u975E\u7A7A\u6216\u53D8\u5316\u7684\u76EE\u5F55\u5DF2\u4FDD\u7559\uFF1A",M.default.createElement("code",null,d.path)))),(p.error||p.current?.error)&&M.default.createElement("p",{className:"connection-error",role:"alert"},vl[p.error||p.current.error]??"\u672C\u6B21\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u8986\u76D6\u6587\u4EF6\u3002"," ",M.default.createElement("code",null,p.error||p.current.error)))}var Vo=["\u590D\u7528\u53CC\u7AEF\u8FDE\u63A5","\u6838\u5BF9\u6A21\u578B\u9009\u62E9","\u9009\u62E9\u6536\u53D1\u5165\u53E3","\u6838\u5BF9\u53EF\u9009\u4ED3\u5E93","\u4FDD\u62A4\u89C4\u5219\u4E0E Skill","\u786E\u8BA4\u590D\u7528\u914D\u7F6E"],Sl=["cloud","model","welcome","repository","tasks","model"],Ro={ONBOARDING_EXISTING_RULES_REQUIRED:"\u4E24\u7AEF\u6258\u7BA1\u89C4\u5219\u5C1A\u672A\u6838\u9A8C\u4E00\u81F4\u3002\u8BF7\u5728\u7B2C 5 \u9875\u5904\u7406\uFF0C\u4E0D\u8BA4\u9886\u672A\u77E5\u6587\u4EF6\u3002",ONBOARDING_EXISTING_MODEL_REQUIRED:"\u6A21\u578B\u5C1A\u672A\u552F\u4E00\u89E3\u6790\uFF0C\u6216\u67D0\u7AEF\u6E05\u5355\u4E0D\u5B8C\u6574\u3002\u8BF7\u91CD\u65B0\u6838\u5BF9\u6A21\u578B\u540D\u79F0\uFF0C\u4E0D\u9700\u8981\u586B\u5199 provider\u3002",ONBOARDING_EXISTING_NOTIFICATION_REQUIRED:"\u6240\u9009\u9ED8\u8BA4\u901A\u77E5\u5C1A\u672A\u5728\u4E91\u7AEF\u540C\u6B65\uFF0C\u6216\u8BE5\u7AEF\u6CA1\u6709\u673A\u5668\u4EBA\u6E05\u5355\u3002\u8BF7\u56DE\u7B2C 3 \u9875\u6838\u5BF9\u3002",ONBOARDING_EXISTING_CONFIGURATION_CHANGED:"\u914D\u7F6E\u5728\u9884\u89C8\u540E\u53D1\u751F\u53D8\u5316\uFF0C\u672A\u4FDD\u5B58\u786E\u8BA4\u3002\u8BF7\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_EXISTING_RECHECK_FAILED:"\u6700\u7EC8\u53EA\u8BFB\u590D\u6838\u672A\u901A\u8FC7\uFF0C\u672A\u4FDD\u5B58\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u8FDE\u63A5\u548C\u914D\u7F6E\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_EXISTING_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u5931\u6548\u6216 Host \u5DF2\u91CD\u542F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u3002"},_t=e=>e&&Number.isFinite(e.expiresAt)&&Date.now()<e.expiresAt;function Wo({request:e,appearance:t,onManaged:s,onExit:n,installationEnabled:u,maintenanceContract:l,maintenanceMutation:a}){let[f,m]=(0,A.useState)(0),[p,i]=(0,A.useState)(null),[c,o]=(0,A.useState)(null),[r,d]=(0,A.useState)(null),[L,C]=(0,A.useState)(null),[h,g]=(0,A.useState)(""),[v,N]=(0,A.useState)(""),[T,w]=(0,A.useState)(!1),[P,D]=(0,A.useState)(!1),[O,W]=(0,A.useState)(""),[J,H]=(0,A.useState)(null),[Ie,fe]=(0,A.useState)(!1),[Ke,Qe]=(0,A.useState)(!1),[Ee,Ae]=(0,A.useState)(null),[le,Oe]=(0,A.useState)(null),[Te,qe]=(0,A.useState)(!1),[Pe,lt]=(0,A.useState)(!1),[st,na]=(0,A.useState)(""),[Dt,ia]=(0,A.useState)(null),[nt,j]=(0,A.useState)(null),[ua,re]=(0,A.useState)(!1),be=(0,A.useRef)(!0),Me=(0,A.useRef)(!1),Ze=(0,A.useRef)();(0,A.useEffect)(()=>(be.current=!0,t?.().then(se=>{be.current&&j(se.mascot)}).catch(()=>{}),()=>{be.current=!1}),[]),(0,A.useEffect)(()=>{Ze.current?.focus({preventScroll:!0})},[f]);function Fe(){H(null),fe(!1),na("")}let da=()=>({query:h,clarification:v,im:T,repoUrl:P?O:null});async function $e(se){if(!Me.current){Me.current=!0,lt(!0),na("");try{if(se==="model"){o(null);let xe=await e("existing_setup_model",{query:h,clarification:v});be.current&&o(xe)}if(se==="notifications"){d(null);let xe=await e("existing_setup_notifications",{});be.current&&d(xe)}if(se==="repository"){C(null);let xe=await e("existing_setup_repository",{url:O});be.current&&C(xe)}if(se==="preview"){if(le)return;Fe();let xe=await e("existing_setup_preview",da());be.current&&H(xe)}if(se==="apply"){if(!J||!Ie||le||!_t(J))return;let xe=J;H(null),fe(!1),Oe({id:xe.id,revision:xe.expectedRevision+1});let ra=await e("existing_setup_apply",{id:xe.id,fingerprint:xe.fingerprint,confirm:!0});if(!be.current)return;Ae(ra),ra.operation===xe.id&&Oe(null)}if(se==="status"){let xe=await e("existing_setup_status",{});if(!be.current)return;Ae(xe),qe(!1),le&&(xe.operation===le.id||xe.revision>=le.revision)&&Oe(null)}if(se==="fence"){if(!Te||!Ee||!le)return;let xe=crypto.randomUUID();qe(!1);let ra=await e("existing_setup_fence",{expectedRevision:Ee.revision,operation:xe,confirm:!0});if(!be.current)return;Ae(ra),ra.operation===xe&&Oe(null)}}catch(xe){be.current&&(H(null),fe(!1),na(Ro[xe.message]??"\u672C\u6B21\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3001\u6362\u7AEF\u3001\u590D\u5236\u5BC6\u94A5\u6216\u5F00\u542F\u4EFB\u52A1\u3002"),se==="apply"&&Ro[xe.message]&&Oe(null))}finally{Me.current=!1,be.current&&lt(!1)}}}let Ye=p&&[p.local,p.cloud].every(se=>["committed","inspected"].includes(se.rules.state)&&se.rules.files>0),ye=[_t(p),_t(c)&&c.resolution.status==="resolved",!T||r?.enabled&&r.synchronized,!P||!!L,Ye&&Ke];function Ca(){if(!ye[f]||Pe){na("\u8BF7\u5148\u5B8C\u6210\u672C\u9875\u624B\u52A8\u6838\u5BF9\uFF1B\u5931\u6548\u7ED3\u679C\u4E0D\u80FD\u7528\u4E8E\u7EE7\u7EED\u3002");return}Fe(),m(f+1)}function Be(se){ia({title:"\u79BB\u5F00\u65E2\u6709\u53CC\u7AEF\u914D\u7F6E\uFF1F",body:A.default.createElement(A.default.Fragment,null,A.default.createElement("p",null,"\u5C1A\u672A\u786E\u8BA4\u7684\u586B\u5199\u4E0D\u4F1A\u4FDD\u5B58\u3002\u5DF2\u4FDD\u5B58\u7684\u590D\u7528\u56DE\u6267\u548C\u5B9E\u9645\u914D\u7F6E\u4FDD\u6301\u4E0D\u53D8\uFF1B\u672A\u786E\u8BA4\u7684\u8BF7\u6C42\u5E94\u5148\u67E5\u8BE2\u539F\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u65B0\u63D0\u4EA4\u3002"),A.default.createElement(_,{kind:"secondary",onClick:()=>{ia(null),se()}},"\u79BB\u5F00\u5F53\u524D\u586B\u5199"))})}let Ve=(se,xe)=>{Fe(),o(null),g(se),N(xe)},_a=A.default.createElement(ja,{request:e,onResult:se=>{i(se),Fe()}}),Ue=[A.default.createElement("div",{className:"stack"},_a,A.default.createElement(x,null,"\u590D\u7528\u5DF2\u5EFA\u7ACB\u7684\u81EA\u6709\u76F4\u8FDE\uFF0C\u4E0D\u91CD\u65B0\u7533\u8BF7 ECS\u3001\u7D22\u53D6 SSH \u79C1\u94A5\u6216\u521D\u59CB\u5316 Host\u3002\u6CA1\u6709\u76F4\u8FDE\u65F6\u8FD4\u56DE\u201C\u65B0\u73AF\u5883\u914D\u7F6E\u201D\u3002\u8FD9\u662F\u4FDD\u7559\u6570\u636E\u7684\u91CD\u88C5\u8DEF\u5F84\uFF0C\u4E0D\u662F\u5168\u65B0 ECS \u521D\u59CB\u5316\u3002")),A.default.createElement(V,{className:"connection-panel",title:"\u590D\u7528\u6A21\u578B\u670D\u52A1",icon:"key",sub:"\u4FDD\u7559\u4E24\u7AEF\u73B0\u6709\u6A21\u578B\u53CA\u51ED\u636E\u3002\u4EC5\u89E3\u6790\u4E91\u7AEF\u9A8C\u6536\u6A21\u578B\uFF0C\u4E0D\u8C03\u7528\u3001\u4E0D\u8BBE\u4E3A worker \u56FA\u5B9A\u6A21\u578B\uFF1B\u672C\u5730\u539F\u751F\u9ED8\u8BA4\u6A21\u578B\u4E5F\u4E0D\u53D8\u3002"},A.default.createElement(Se,{label:"\u590D\u7528\u4E91\u7AEF\u4EFB\u52A1\u6A21\u578B",placeholder:"\u4F8B\u5982 ds flash",value:h,maxLength:200,onChange:se=>Ve(se.target.value,"")}),(c?.resolution.status==="ambiguous"||v)&&A.default.createElement(Se,{label:"\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E",value:v,maxLength:200,onChange:se=>Ve(h,se.target.value)}),A.default.createElement("div",{className:"connection-actions"},A.default.createElement(_,{kind:"secondary",disabled:Pe||!h.trim(),onClick:()=>$e("model")},"\u6838\u5BF9\u4E91\u7AEF\u6A21\u578B\u540D\u79F0")),c&&A.default.createElement("div",{className:"connection-result",role:"status"},A.default.createElement("p",null,c.resolution.status==="resolved"?`${c.resolution.selection?.model_name??c.resolution.model_policy.model} \xB7 ${c.resolution.selection?.provider_name??"\u5DF2\u552F\u4E00\u5339\u914D"} \xB7 High\uFF0C\u5C1A\u672A\u8C03\u7528\u3002`:c.resolution.instruction),c.resolution.status!=="resolved"&&c.resolution.candidates?.map(se=>A.default.createElement("p",{key:se.provider+"/"+se.model},se.model_name," \xB7 ",se.provider_name))),c?.resolution.status==="ambiguous"&&A.default.createElement("div",{className:"connection-actions"},[...new Set(c.resolution.candidates?.map(se=>se.provider_name)??[])].map(se=>A.default.createElement(_,{key:se,kind:"soft",onClick:()=>Ve(h,"\u8BF7\u7528 "+se)},"\u9009\u62E9 ",se)))),A.default.createElement("div",{className:"stack"},A.default.createElement(V,{className:"connection-panel",title:"\u590D\u7528\u804A\u5929\u4E0E\u901A\u77E5",icon:"chat",sub:"\u53EF\u9009\u3002\u672A\u52FE\u9009\u4EC5\u8DF3\u8FC7\u672C\u6B21\u6838\u9A8C\uFF0C\u4E0D\u505C\u7528\u5DF2\u6709\u673A\u5668\u4EBA\u6216\u901A\u77E5\u3002\u9009\u62E9\u540E\uFF0C\u6838\u5BF9\u5DF2\u4FDD\u5B58\u7684\u9ED8\u8BA4\u7AEF\u53CA\u5BF9\u8BDD\uFF0C\u4E0D\u5F3A\u5236\u586B\u5199 ID\u3002"},A.default.createElement(R,{title:"\u6838\u5BF9\u5E76\u590D\u7528\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3",checked:T,onChange:se=>{Fe(),w(se),d(null)}})),T&&A.default.createElement(A.default.Fragment,null,A.default.createElement(ht,{request:e}),A.default.createElement(V,{className:"connection-panel",title:"\u6838\u5BF9\u4E91\u7AEF\u901A\u77E5\u8D26\u672C",icon:"shield"},A.default.createElement(_,{kind:"secondary",onClick:()=>$e("notifications")},"\u6838\u5BF9\u5DF2\u4FDD\u5B58\u7684\u6536\u53D1\u9009\u62E9"),r&&A.default.createElement("div",{role:"status"},A.default.createElement(S,{label:"\u9ED8\u8BA4\u7AEF",value:r.target?.host==="local"?"\u672C\u5730\u673A\u5668\u4EBA":r.target?.host==="cloud"?"\u4E91\u7AEF\u673A\u5668\u4EBA":"\u672A\u914D\u7F6E"}),A.default.createElement(S,{label:"\u8FD4\u56DE\u5BF9\u8BDD",value:r.target?.label??"\u672A\u914D\u7F6E"}),A.default.createElement(S,{label:"\u53CC\u7AEF\u8BB0\u5F55",value:r.enabled&&r.synchronized?"\u4E00\u81F4 \xB7 \u5B9E\u9645\u9001\u8FBE\u4ECD\u987B\u9A8C\u6536":"\u5C1A\u672A\u4E00\u81F4\uFF0C\u8BF7\u5148\u6838\u5BF9\u9ED8\u8BA4\u8BBE\u7F6E"}))))),A.default.createElement(V,{className:"connection-panel",title:"\u590D\u7528\u53EF\u9009 Gitee \u4ED3\u5E93",icon:"git",sub:"\u53EA\u8BFB\u6838\u9A8C\u7528\u6237\u81EA\u5DF1\u7684\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93\uFF0C\u4E0D\u64CD\u4F5C\u4EA7\u54C1\u6E90\u7801\u4ED3\u5E93\uFF1B\u672A\u9009\u62E9\u4E0D\u4F1A\u89E3\u9664\u5386\u53F2\u4EFB\u52A1\u7ED1\u5B9A\u3002"},A.default.createElement(R,{title:"\u6838\u5BF9\u5DF2\u6709 Gitee \u4EFB\u52A1\u4ED3\u5E93",checked:P,onChange:se=>{Fe(),D(se),C(null)}}),P?A.default.createElement(A.default.Fragment,null,A.default.createElement(Se,{label:"Gitee \u4ED3\u5E93\u5730\u5740",placeholder:"https://gitee.com/team/task-results",value:O,onChange:se=>{Fe(),W(se.target.value),C(null)}}),A.default.createElement(_,{kind:"secondary",disabled:Pe||!O.trim(),onClick:()=>$e("repository")},"\u901A\u8FC7\u4E91\u7AEF API \u53EA\u8BFB\u6838\u9A8C\u4ED3\u5E93"),L&&A.default.createElement("div",{className:"connection-result",role:"status"},A.default.createElement(S,{label:"\u5DF2\u6838\u9A8C\u4ED3\u5E93",value:L.repository.url}),A.default.createElement(S,{label:"\u9ED8\u8BA4\u5206\u652F",value:L.repository.branch}),A.default.createElement(S,{label:"\u8BFB\u53D6\u6743\u9650",value:"\u5DF2\u6838\u9A8C \xB7 \u4E0D\u6388\u6743\u5199\u5165\u6216\u5EFA\u7ACB\u65B0\u4EFB\u52A1\u7ED1\u5B9A"}))):A.default.createElement(x,null,"\u65E0\u9700\u4ED3\u5E93\u4E5F\u80FD\u5DE5\u4F5C\uFF0C\u6210\u679C\u4FDD\u7559\u4ECB\u7ECD\u4E0E\u6267\u884C\u4F1A\u8BDD\u5165\u53E3\u3002\u4E0D\u4F1A\u6E05\u9664\u4EFB\u4F55\u73B0\u6709\u4ED3\u5E93\u8BBE\u7F6E\u3002")),A.default.createElement("div",{className:"stack"},_a,A.default.createElement(V,{className:"connection-panel",title:"\u4FDD\u7559\u89C4\u5219\u4E0E\u7528\u6237\u5185\u5BB9",icon:"shield",sub:"\u53EA\u6838\u5BF9\u6709\u771F\u5B9E\u5F52\u5C5E\u8D26\u672C\u7684\u6258\u7BA1\u89C4\u5219\u4E0E Skill\u3002\u672A\u77E5\u6587\u4EF6\u4E0D\u8BA4\u9886\uFF0C\u7528\u6237\u5185\u5BB9\u4E0D\u8986\u76D6\u3002\u4E91\u7AEF\u89C4\u5219\u987B\u5728\u4E91\u7AEF\u81EA\u8EAB\u5B89\u88C5\u5668\u5904\u7406\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u8C03\u7528\u4EFB\u610F\u8FDC\u7AEF\u5B89\u88C5\u64CD\u4F5C\u3002"},A.default.createElement(S,{label:"\u53CC\u7AEF\u89C4\u5219",value:Ye?"\u6587\u4EF6\u6838\u9A8C\u4E00\u81F4 \xB7 \u4F1A\u8BDD\u52A0\u8F7D\u53E6\u9A8C":"\u5C1A\u672A\u6838\u9A8C\u4E00\u81F4\uFF0C\u4E0D\u80FD\u786E\u8BA4\u590D\u7528"}),A.default.createElement(R,{title:"\u6211\u5DF2\u6838\u5BF9\u4FDD\u62A4\u8303\u56F4\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u5199\u5165",checked:Ke,onChange:Qe})),u&&A.default.createElement("details",{className:"details"},A.default.createElement("summary",null,"\u672C\u7AEF\u89C4\u5219\u5B89\u88C5\u4E0E\u7EF4\u62A4"),A.default.createElement(gt,{request:e}),l>0&&A.default.createElement(Ct,{request:e,contract:l,mutation:a}))),A.default.createElement(V,{className:"connection-panel",title:"\u786E\u8BA4\u590D\u7528\u73B0\u6709\u914D\u7F6E",icon:"shield",sub:"\u6700\u540E\u91CD\u65B0\u6838\u5BF9\u4E24\u7AEF\u3001\u6A21\u578B\u3001\u53EF\u9009\u901A\u77E5\u53CA\u4ED3\u5E93\uFF0C\u7136\u540E\u53EA\u4FDD\u5B58\u672C\u63D2\u4EF6\u7684\u590D\u7528\u786E\u8BA4\u8BB0\u5F55\u3002\u4E0D\u521B\u5EFA Host\u3001\u4E0D\u590D\u5236\u5BC6\u94A5\u3001\u4E0D\u6267\u884C\u4EFB\u52A1\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u6743\u9650\u3002"},A.default.createElement("div",{className:"connection-actions"},A.default.createElement(_,{kind:"primary",disabled:Pe||!!le,onClick:()=>$e("preview")},"\u9884\u89C8\u590D\u7528\u786E\u8BA4"),A.default.createElement(_,{kind:"secondary",disabled:Pe,onClick:()=>$e("status")},"\u67E5\u8BE2\u539F\u590D\u7528\u56DE\u6267")),J&&A.default.createElement("section",{className:"connection-confirm"},A.default.createElement(S,{label:"\u4E91\u7AEF\u6A21\u578B",value:J.evidence.model.model+" \xB7 High \xB7 \u4E0D\u8BBE\u5168\u5C40\u9ED8\u8BA4"}),A.default.createElement(S,{label:"\u6536\u53D1\u5165\u53E3",value:J.evidence.notification?`${J.evidence.notification.target.host==="local"?"\u672C\u5730":"\u4E91\u7AEF"} \xB7 ${J.evidence.notification.target.label}`:"\u672C\u6B21\u8DF3\u8FC7\uFF0C\u4FDD\u7559\u73B0\u6709\u8BBE\u7F6E"}),A.default.createElement(S,{label:"\u4ED3\u5E93",value:J.evidence.repository?.url??"\u672C\u6B21\u8DF3\u8FC7\uFF0C\u4FDD\u7559\u73B0\u6709\u7ED1\u5B9A"}),A.default.createElement(R,{title:"\u6211\u786E\u8BA4\u590D\u7528\u4E0A\u8FF0\u914D\u7F6E\uFF0C\u4EC5\u4FDD\u5B58\u786E\u8BA4\u8BB0\u5F55",checked:Ie,onChange:fe}),A.default.createElement("div",{className:"connection-actions"},A.default.createElement(_,{kind:"primary",disabled:Pe||!Ie||!_t(J),onClick:()=>$e("apply")},"\u786E\u8BA4\u590D\u7528\u914D\u7F6E"))),Ee&&A.default.createElement("div",{className:"connection-result",role:"status"},A.default.createElement("h3",null,Ee.state==="confirmed_history"?"\u5DF2\u4FDD\u5B58\u590D\u7528\u786E\u8BA4\u56DE\u6267":"\u5C1A\u65E0\u6709\u6548\u590D\u7528\u786E\u8BA4"),A.default.createElement("p",null,"\u8FD9\u662F\u5386\u53F2\u914D\u7F6E\u9009\u62E9\uFF0C\u4E0D\u662F\u5B9E\u65F6\u5728\u7EBF\u6216\u4EFB\u52A1\u6210\u529F\u8BC1\u660E\u3002\u539F\u751F\u914D\u7F6E\u548C\u5B89\u88C5\u5F52\u5C5E\u6CA1\u6709\u6539\u53D8\uFF1B\u5B9E\u9645\u4EFB\u52A1\u3001IM \u9001\u8FBE\u548C\u6210\u679C\u4ECD\u9700\u9A8C\u6536\u3002")),le&&A.default.createElement("div",{className:"connection-confirm"},A.default.createElement(x,null,"\u539F\u4FDD\u5B58\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u4E0D\u91CD\u590D\u70B9\u51FB\u786E\u8BA4\u3002\u82E5\u6838\u5BF9\u540E\u4ECD\u9700\u5173\u95ED\u6B64\u8BF7\u6C42\uFF0C\u53EA\u4F5C\u7248\u672C\u5C4F\u969C\uFF0C\u5B9E\u9645\u914D\u7F6E\u4FDD\u6301\u4E0D\u53D8\u3002"),Ee&&A.default.createElement(A.default.Fragment,null,A.default.createElement(R,{title:"\u5173\u95ED\u672A\u786E\u8BA4\u8BF7\u6C42\uFF0C\u4F7F\u539F\u590D\u7528\u786E\u8BA4\u5931\u6548\u4F46\u4FDD\u7559\u5B9E\u9645\u914D\u7F6E",checked:Te,onChange:qe}),A.default.createElement(_,{kind:"secondary",disabled:Pe||!Te,onClick:()=>$e("fence")},"\u5173\u95ED\u672A\u786E\u8BA4\u7684\u590D\u7528\u8BF7\u6C42"))))][f];return A.default.createElement(mt,{onHelp:(se,xe)=>ia({title:se,body:xe})},A.default.createElement("div",{className:"dsh-onboarding existing-setup"+(ua?" keyboard":""),style:nt?{"--mascot":`url("${nt}")`}:void 0,onKeyDownCapture:()=>re(!0),onPointerDownCapture:()=>re(!1)},A.default.createElement("div",{className:"window-frame"},A.default.createElement("header",{className:"window-header"},A.default.createElement("div",{className:"brand"},A.default.createElement("span",{className:"brand-portrait"},A.default.createElement(Ge,null)),A.default.createElement("strong",null,"\u5927\u80A5\u9C7Cbot",A.default.createElement("span",null,"\u4FDD\u7559\u6570\u636E\uFF0C\u590D\u7528\u5DF2\u6709\u914D\u7F6E"))),A.default.createElement("div",{className:"header-actions"},A.default.createElement(ve,null,"\u65E2\u6709\u53CC\u7AEF"),A.default.createElement(_,{kind:"text",disabled:Pe,onClick:()=>Be(s)},"\u65B0\u73AF\u5883\u914D\u7F6E"),n&&A.default.createElement(_,{kind:"text",disabled:Pe,onClick:()=>Be(n)},"\u8FD4\u56DE\u5927\u80A5\u9C7Cbot"))),A.default.createElement("main",null,A.default.createElement("div",{className:"page-top"},A.default.createElement("div",{className:"page-position"},A.default.createElement("strong",null,f+1,A.default.createElement("span",null,"/6")),A.default.createElement("h1",{ref:Ze,tabIndex:"-1"},Vo[f]),A.default.createElement(Ja,{title:Vo[f]},"\u53EA\u590D\u7528\u5F53\u524D\u5DF2\u8BA4\u8BC1\u914D\u5BF9\u7684\u4E24\u4E2A Host\u3002\u586B\u5199\u8FDB\u5EA6\u4E0D\u7B49\u4E8E\u771F\u5B9E\u9A8C\u6536\uFF1B\u6BCF\u4E2A\u5B9E\u9645\u914D\u7F6E\u4FEE\u6539\u4ECD\u4F7F\u7528\u72EC\u7ACB\u9884\u89C8\u4E0E\u786E\u8BA4\u3002")),A.default.createElement("span",{className:"step-mascot mascot-zone"},A.default.createElement(Ge,{pose:Sl[f]}))),A.default.createElement("div",{className:"page-progress progress-track",role:"progressbar","aria-label":"\u65E2\u6709\u914D\u7F6E\u586B\u5199\u8FDB\u5EA6","aria-valuemin":"0","aria-valuemax":"6","aria-valuenow":f},A.default.createElement("span",{style:{transform:`scaleX(${f/6})`}})),A.default.createElement("fieldset",{disabled:Pe,style:{border:0,padding:0,margin:0}},A.default.createElement("div",{className:"page-content","data-page":f+1},Ue)),st&&A.default.createElement("p",{className:"connection-error",role:"alert"},st),A.default.createElement("footer",{className:"wizard-footer"},A.default.createElement("p",{className:"fine-print"},"\u53EA\u624B\u52A8\u6838\u5BF9\uFF1B\u8DF3\u8FC7\u53EF\u9009\u9879\u4E0D\u4F1A\u505C\u7528\u73B0\u6709\u529F\u80FD\u3002\u5F53\u524D\u586B\u5199\u5C1A\u672A\u4FDD\u5B58\uFF0C\u6700\u7EC8\u786E\u8BA4\u53E6\u6709\u56DE\u6267\u3002"),A.default.createElement("div",null,A.default.createElement(_,{kind:"text",icon:"back",disabled:!f||Pe||!!le,onClick:()=>{Fe(),m(f-1)}},"\u4E0A\u4E00\u6B65")),A.default.createElement("div",null,f<5&&A.default.createElement(_,{kind:"primary",end:"arrow",disabled:Pe||!ye[f],onClick:Ca},"\u7EE7\u7EED"))))),A.default.createElement(sa,{modal:Dt,onClose:()=>ia(null)})))}var $=Ce(ge());var xl={outgoing:"\u53D1\u4EF6",incoming:"\u6536\u4EF6",broker:"\u4E91\u7AEF\u4E2D\u7EE7"},vt={cloud:"\u4E91\u7AEF",local:"\u672C\u5730"},zo={PEER_FILE_SCOPE_CHANGED:"\u53D1\u9001\u8303\u56F4\u5DF2\u8C03\u6574\uFF0C\u539F\u8BB0\u5F55\u5DF2\u6302\u8D77",PEER_FILE_UNAVAILABLE:"\u4F20\u8F93\u5931\u8D25\uFF0C\u9700\u8981\u4EBA\u5DE5\u6838\u5BF9",PEER_FILE_PEER_REVIEW_REQUIRED:"\u5BF9\u7AEF\u5C1A\u672A\u786E\u8BA4\u6062\u590D",ONBOARDING_FILES_QUEUE_HISTORY_MISSING:"\u7F3A\u5C11\u53EF\u4FE1\u7684\u539F\u9636\u6BB5\u8BB0\u5F55\uFF0C\u6682\u53EA\u80FD\u4FDD\u7559",ONBOARDING_FILES_QUEUE_RETRY_BUDGET:"\u91CD\u8BD5\u9884\u7B97\u5DF2\u8017\u5C3D\uFF0C\u4E0D\u80FD\u901A\u8FC7\u6062\u590D\u91CD\u7F6E",ONBOARDING_FILES_QUEUE_METADATA_REVIEW:"\u539F\u8BB0\u5F55\u4FE1\u606F\u9700\u8981\u6838\u5BF9"},Nl={ONBOARDING_FILES_QUEUE_DISABLE_REQUIRED:"\u8BF7\u5148\u505C\u7528\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u518D\u9010\u9879\u590D\u6838\u3002",ONBOARDING_FILES_QUEUE_HISTORY_MISSING:"\u7F3A\u5C11\u53EF\u4FE1\u9636\u6BB5\u8BC1\u660E\uFF0C\u4E0D\u80FD\u731C\u6D4B\u6062\u590D\uFF1B\u53EF\u4EE5\u7EE7\u7EED\u4FDD\u7559\u3002",ONBOARDING_FILES_QUEUE_SIZE_LIMIT:"\u6587\u4EF6\u8D85\u8FC7\u5F53\u524D\u4E0A\u9650\uFF0C\u5C1A\u672A\u6062\u590D\u3002",ONBOARDING_FILES_QUEUE_RETRY_BUDGET:"\u9884\u7B97\u5DF2\u8017\u5C3D\uFF0C\u4E0D\u4F1A\u91CD\u7F6E\u6B21\u6570\u3002",ONBOARDING_FILES_QUEUE_DESTINATION_EXISTS:"\u6536\u4EF6\u4F4D\u7F6E\u5DF2\u6709\u6587\u4EF6\uFF0C\u672A\u8986\u76D6\u6216\u8BA4\u9886\u3002",ONBOARDING_FILES_QUEUE_BYTES_CHANGED:"\u5DF2\u4FDD\u5B58\u5B57\u8282\u53D1\u751F\u53D8\u5316\uFF0C\u4FDD\u6301\u6302\u8D77\u3002",ONBOARDING_FILES_QUEUE_CHANGED:"\u961F\u5217\u6216\u5FEB\u7167\u4E0E\u9884\u89C8\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u624B\u52A8\u91CD\u65B0\u67E5\u8BE2\u3002",ONBOARDING_FILES_QUEUE_NOT_HELD:"\u6B64\u8BB0\u5F55\u5DF2\u4E0D\u662F\u6302\u8D77\u72B6\u6001\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_FILES_RECOVERY_REQUIRED:"\u539F\u51B3\u5B9A\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u80FD\u7528\u65B0\u51B3\u5B9A\u8986\u76D6\u672A\u77E5\u7ED3\u679C\u3002",ONBOARDING_CLOUD_FILES_QUEUE_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u961F\u5217\u590D\u6838\uFF0C\u672A\u66FF\u6362\u63A7\u5236\u5668\u6216\u964D\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_QUEUE_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u5F53\u524D\u961F\u5217\u590D\u6838\u5408\u540C\uFF0C\u672A\u6267\u884C\u3002",ONBOARDING_FILES_QUEUE_CLOSED:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED\uFF0C\u8FDF\u5230\u786E\u8BA4\u4E0D\u4F1A\u6267\u884C\u3002",ONBOARDING_FILES_ALREADY_APPLIED:"\u539F\u51B3\u5B9A\u5DF2\u8BB0\u8D26\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5F53\u4F5C\u53D6\u6D88\u3002"},Gt=e=>({operation:{state:e.receipt?"applied":e.closed?"closed":"needs_review"},receipt:e.receipt,freshness:"remote_checked"});function Ko({request:e,cloud:t=!1}){let[s,n]=(0,$.useState)(null),[u,l]=(0,$.useState)(null),[a,f]=(0,$.useState)(null),[m,p]=(0,$.useState)(!1),[i,c]=(0,$.useState)(!1),[o,r]=(0,$.useState)(""),[d,L]=(0,$.useState)(null),C=(0,$.useRef)(!1),h=t?"cloud_file_transfer_":"file_transfer_",g=t?"\u4E91\u7AEF":"\u672C\u7AEF",v=u?.operation?.state,N=!!d&&!u||["sending","closing","needs_review"].includes(v),T=O=>"dsh-own-file-queue-review:"+O;function w(O){let W={id:O.id,fingerprint:O.fingerprint,name:O.review.name};try{sessionStorage.setItem(T(s.runtimeId),JSON.stringify(W))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}return L(W),W}function P(O){try{let W=sessionStorage.getItem(T(O.runtimeId));if(!W)return;let J=JSON.parse(W);if(typeof J.id!="string"||!/^[a-f0-9-]{36}$/.test(J.id)||typeof J.fingerprint!="string"||!/^[a-f0-9]{64}$/.test(J.fingerprint))throw Error();J.id!==d?.id&&(L(J),l(null))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}}async function D(O,W){if(C.current)return;C.current=!0,c(!0),r("");let J=!1;try{if(O==="list"){f(null),p(!1);let H=await e(h+"queueList",{}),Ie=t?H.queue:H;n(Ie),t?l(await e(h+"queueReviewStatus",{refresh:!1})):P(Ie)}if((O==="resume"||O==="retain")&&(f(null),p(!1),f(await e(h+"queueReviewPreview",{item:W.item,decision:O}))),O==="apply"){if(!a||!m)return;let H=a;f(null),p(!1),t||w(H),l({operation:{state:"sending"},receipt:null,freshness:"cached"}),J=!0;let Ie=await e(h+"queueReviewApply",{id:H.id,fingerprint:H.fingerprint,confirm:!0});l(t?Ie:Gt({receipt:Ie,closed:!1})),n(null)}if(O==="status"){let H=await e(h+"queueReviewStatus",t?{refresh:!0}:{operation:d.id,fingerprint:d.fingerprint});l(t?H:Gt(H)),f(null),p(!1)}if(O==="closePreview"&&(p(!1),f(t?await e(h+"queueReviewClosePreview",{}):{kind:"queue_review_close",name:d.name,reference:d})),O==="close"){if(!a||!m)return;let H=a;f(null),p(!1),l(fe=>({...fe,operation:{...fe?.operation,state:"closing"}}));let Ie=await e(h+"queueReviewClose",t?{id:H.id,fingerprint:H.fingerprint,confirm:!0}:{operation:H.reference.id,fingerprint:H.reference.fingerprint,confirm:!0});l(t?Ie:Gt(Ie))}}catch(H){f(null),p(!1),O==="list"&&n(null),(["status","close"].includes(O)||O==="apply"&&J)&&l(Ie=>({...Ie,operation:{...Ie?.operation,state:"needs_review"},freshness:"check_failed"})),r(Nl[H.message]??(H.message==="UI_REQUEST_INDEX_UNAVAILABLE"?"\u65E0\u6CD5\u4FDD\u5B58\u6216\u8BFB\u53D6\u672C\u7AEF\u8BF7\u6C42\u7D22\u5F15\uFF0C\u5C1A\u672A\u53D1\u51FA\u65B0\u7684\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u6D4F\u89C8\u5668\u5B58\u50A8\u6743\u9650\u3002":"\u6838\u9A8C\u672A\u5B8C\u6210\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u539F\u51B3\u5B9A\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u3001\u5220\u9664\u6216\u542F\u7528\u3002"))}finally{C.current=!1,c(!1)}}return $.default.createElement("section",{className:"connection-utility file-queue","aria-label":g+"\u6302\u8D77\u6587\u4EF6\u590D\u6838"},$.default.createElement("div",{className:"file-queue-heading"},$.default.createElement("div",null,$.default.createElement("h3",null,"\u6302\u8D77\u6587\u4EF6\uFF0C\u9010\u9879\u51B3\u5B9A"),$.default.createElement("p",null,"\u6309\u6587\u4EF6\u540D\u6838\u5BF9\u3002\u4FDD\u7559\u4E0D\u5220\u9664\uFF0C\u6062\u590D\u4E0D\u7B49\u4E8E\u9001\u8FBE\u3002")),$.default.createElement(ve,null,"\u624B\u52A8\u67E5\u8BE2")),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"secondary",icon:"file",disabled:i,onClick:()=>D("list")},"\u67E5\u770B",g,"\u6302\u8D77\u6587\u4EF6"),$.default.createElement(_,{kind:"secondary",icon:"reset",disabled:i||!t&&!d,onClick:()=>D("status")},"\u6838\u5BF9",g,"\u539F\u51B3\u5B9A\u56DE\u6267")),s&&$.default.createElement($.default.Fragment,null,$.default.createElement("p",{className:"fine-print"},s.enabled?"\u5F53\u524D\u6587\u4EF6\u76F4\u4F20\u5DF2\u542F\u7528\uFF0C\u8BF7\u5148\u5728\u4E0A\u65B9\u72EC\u7ACB\u505C\u7528\uFF1B\u6B64\u5904\u6682\u4E0D\u80FD\u786E\u8BA4\u6062\u590D\u3002":"\u6B64\u7AEF\u5DF2\u505C\u7528\u3002\u9010\u9879\u786E\u8BA4\u540E\u4ECD\u4FDD\u6301\u505C\u7528\uFF1B\u53E6\u884C\u542F\u7528\u624D\u4F1A\u4F20\u8F93\u3002"),$.default.createElement("div",{className:"file-queue-list"},s.items.map(O=>$.default.createElement("article",{className:"file-queue-card",key:JSON.stringify(O.item),"aria-label":O.name??"\u4FE1\u606F\u5F85\u6838\u5BF9\u7684\u6587\u4EF6"},$.default.createElement("div",{className:"file-queue-heading"},$.default.createElement("h4",null,O.name??"\u6587\u4EF6\u4FE1\u606F\u5F85\u6838\u5BF9"),$.default.createElement(ve,null,xl[O.item.queue])),$.default.createElement("p",null,O.from?vt[O.from]+" \u2192 "+vt[O.to]:"\u65B9\u5411\u5F85\u6838\u5BF9"," \xB7 ",O.size===null?"\u5927\u5C0F\u5F85\u6838\u5BF9":O.size+" \u5B57\u8282"),$.default.createElement("p",null,zo[O.reason]??"\u8BB0\u5F55\u4ECD\u5904\u4E8E\u5F85\u6838\u5BF9\u72B6\u6001",O.retained?" \xB7 \u5DF2\u9009\u62E9\u7EE7\u7EED\u4FDD\u7559":""),$.default.createElement("p",{className:"fine-print"},O.recoveryCheck==="requires_byte_validation"?"\u6062\u590D\u9884\u89C8\u8FD8\u4F1A\u68C0\u67E5\u5DF2\u4FDD\u5B58\u5B57\u8282\u3001\u5F53\u524D\u4E0A\u9650\u53CA\u76EE\u6807\u51B2\u7A81\u3002":zo[O.recoveryCheck]??"\u9700\u4FDD\u7559\u5E76\u4EBA\u5DE5\u6838\u5BF9\u3002",O.attempts!==null?" \u5DF2\u7528\u91CD\u8BD5 "+O.attempts+" \u6B21\uFF0C\u4E0D\u4F1A\u91CD\u7F6E\u3002":""),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"secondary",icon:"pause",disabled:i||N||s.enabled,onClick:()=>D("retain",O)},"\u9884\u89C8\u7EE7\u7EED\u4FDD\u7559"),$.default.createElement(_,{kind:"primary",icon:"play",disabled:i||N||s.enabled||O.recoveryCheck!=="requires_byte_validation",onClick:()=>D("resume",O)},"\u9884\u89C8\u6062\u590D\u6B64\u6587\u4EF6")))),!s.items.length&&$.default.createElement(x,null,"\u5F53\u524D\u6CA1\u6709\u6302\u8D77\u8BB0\u5F55\u3002\u8FD9\u4E0D\u4EE3\u8868\u6240\u6709\u4F20\u8F93\u5DF2\u7ECF\u9001\u8FBE\uFF1B\u6210\u679C\u548C\u6536\u4EF6\u72B6\u6001\u9700\u5206\u522B\u6838\u9A8C\u3002"))),u&&$.default.createElement("div",{className:"connection-result",role:"status"},$.default.createElement(S,{label:"\u539F\u51B3\u5B9A",value:{not_started:"\u5C1A\u65E0\u672C\u7AEF\u53D1\u8D77\u7684\u4E91\u7AEF\u51B3\u5B9A",sending:"\u5DF2\u53D1\u8D77 \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1",closing:"\u5173\u95ED\u8BF7\u6C42\u5F85\u6838\u5BF9",closed:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED \xB7 \u672A\u56E0\u6B64\u6539\u53D8\u961F\u5217",applied:"\u51B3\u5B9A\u5DF2\u8BB0\u8D26 \xB7 \u4E0D\u662F\u9001\u8FBE\u56DE\u6267"}[v]??"\u9700\u6838\u5BF9"}),u.receipt&&$.default.createElement(S,{label:"\u51B3\u5B9A\u5F53\u65F6\u7684\u7ED3\u679C",value:u.receipt.decision==="retain"?"\u7EE7\u7EED\u4FDD\u7559\uFF0C\u6587\u4EF6\u4E0E\u961F\u5217\u4E0D\u5220\u9664":"\u6062\u590D\u539F\u961F\u5217\uFF0C\u4ECD\u9700\u53E6\u884C\u542F\u7528\u5E76\u6838\u9A8C\u9001\u8FBE"}),$.default.createElement("p",{className:"fine-print"},u.freshness==="remote_checked"?"\u5DF2\u67E5\u8BE2\u76EE\u6807\u7AEF\u56DE\u6267\u3002\u56DE\u6267\u4E0D\u662F\u5F53\u524D\u4F20\u8F93\u8FDB\u5EA6\u3002":"\u5C1A\u672A\u53D6\u5F97\u76EE\u6807\u7AEF\u65B0\u9C9C\u56DE\u6267\uFF1B\u7F13\u5B58\u4E0D\u80FD\u8BC1\u660E\u5F53\u524D\u72B6\u6001\u3002")),N&&$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"secondary",icon:"shield",disabled:i,onClick:()=>D("closePreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5",g,"\u51B3\u5B9A")),a&&$.default.createElement("section",{className:"connection-confirm","aria-label":g+"\u5355\u6587\u4EF6\u51B3\u5B9A\u786E\u8BA4"},$.default.createElement("h3",null,a.kind==="queue_review_close"?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4E0D\u64A4\u9500\u5DF2\u5B8C\u6210\u51B3\u5B9A":a.review.decision==="resume"?"\u53EA\u6062\u590D\u8FD9\u4E00\u4E2A\u6587\u4EF6\u7684\u539F\u961F\u5217":"\u7EE7\u7EED\u4FDD\u7559\u8FD9\u4E00\u4E2A\u6587\u4EF6"),$.default.createElement(S,{label:"\u6587\u4EF6",value:a.review?.name??a.name??"\u4FE1\u606F\u5F85\u6838\u5BF9"}),(a.remoteTarget??a.target)&&$.default.createElement(S,{label:"\u7ED1\u5B9A\u4E91\u7AEF\u73AF\u5883",value:(a.remoteTarget??a.target).root}),a.review&&$.default.createElement($.default.Fragment,null,$.default.createElement(S,{label:"\u65B9\u5411",value:a.review.from?vt[a.review.from]+" \u2192 "+vt[a.review.to]:"\u5F85\u6838\u5BF9"}),$.default.createElement(S,{label:"\u5927\u5C0F",value:a.review.size===null?"\u5F85\u6838\u5BF9":a.review.size+" \u5B57\u8282"}),$.default.createElement(x,null,a.review.decision==="resume"?"\u53EA\u5904\u7406\u539F\u5FEB\u7167\u548C\u539F\u6587\u4EF6 ID\uFF0C\u4E0D\u91CD\u65B0\u8BFB\u53D6\u65E7\u6765\u6E90\uFF0C\u4E0D\u91CD\u7F6E\u6B21\u6570\uFF1B\u4ECD\u4FDD\u6301\u505C\u7528\uFF0C\u5BF9\u7AEF\u987B\u72EC\u7ACB\u786E\u8BA4\u3002":"\u53EA\u8BB0\u5F55\u4FDD\u7559\u51B3\u5B9A\uFF0C\u4E0D\u5220\u9664\u6587\u4EF6\u3001\u5FEB\u7167\u6216\u961F\u5217\uFF0C\u4E5F\u4E0D\u6267\u884C\u6587\u4EF6\u3002")),a.kind==="queue_review_close"&&$.default.createElement(x,null,"\u53EA\u963B\u65AD\u8FD9\u4E2A\u672A\u77E5\u8BF7\u6C42\u7684\u8FDF\u5230\u5E94\u7528\u3002\u82E5\u539F\u51B3\u5B9A\u5DF2\u5B8C\u6210\uFF0C\u4F1A\u663E\u793A\u771F\u5B9E\u56DE\u6267\uFF0C\u4E0D\u5047\u62A5\u53D6\u6D88\uFF1B\u4E0D\u6539\u53D8\u73B0\u6709\u542F\u7528\u72B6\u6001\u3002"),$.default.createElement(R,{title:a.kind==="queue_review_close"?"\u6211\u786E\u8BA4\u53EA\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u51B3\u5B9A\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743":"\u6211\u786E\u8BA4\u53EA\u5904\u7406\u6B64\u6587\u4EF6\uFF0C\u4FDD\u6301\u505C\u7528\u4E14\u4E0D\u91CD\u7F6E\u6B21\u6570",checked:m,disabled:i,onChange:p}),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(_,{kind:"primary",icon:"check",disabled:i||!m,onClick:()=>D(a.kind==="queue_review_close"?"close":"apply")},a.kind==="queue_review_close"?"\u786E\u8BA4\u5173\u95ED\u539F\u8BF7\u6C42":a.review.decision==="resume"?"\u786E\u8BA4\u6062\u590D\u539F\u961F\u5217":"\u786E\u8BA4\u7EE7\u7EED\u4FDD\u7559"),$.default.createElement(_,{kind:"secondary",disabled:i,onClick:()=>{f(null),p(!1)}},"\u53D6\u6D88"))),o&&$.default.createElement("p",{className:"connection-error",role:"alert"},o))}function Xo(e,{uncertain:t=!1,cloud:s=!1,freshness:n}={}){if(!e?.available||!Array.isArray(e.sendRoots))return null;let u=typeof e.scopeHash=="string"&&e.scopeHash.length>0;return{roots:[...e.sendRoots],title:u?"\u4E0A\u6B21\u6838\u5BF9\u7684\u5DF2\u767B\u8BB0\u8303\u56F4":"\u9ED8\u8BA4\u5019\u9009\u8303\u56F4 \xB7 \u5C1A\u672A\u6388\u6743",note:t||s&&n!=="remote_checked"?"\u5F53\u524D\u7ED3\u679C\u672A\u6838\u5BF9\uFF1B\u4E0B\u5217\u5386\u53F2\u76EE\u5F55\u4E0D\u80FD\u8BC1\u660E\u73B0\u5728\u53EF\u53D1\u9001\u3002":u?"\u4EC5\u8868\u793A\u672C\u6B21\u67E5\u8BE2\u7684\u76EE\u5F55\u8BB0\u5F55\uFF1B\u5B9E\u9645\u53EF\u53D1\u9001\u6027\u4ECD\u7531\u542F\u7528\u72B6\u6001\u3001\u6587\u4EF6\u548C\u76EE\u6807\u7AEF\u6821\u9A8C\u51B3\u5B9A\u3002":"\u8FD9\u4E9B\u9ED8\u8BA4\u8DEF\u5F84\u5C1A\u672A\u83B7\u5F97\u53D1\u9001\u6388\u6743\u3002"}}var E=Ce(ge());var Al={ONBOARDING_CLOUD_FILES_MIGRATION_UNSUPPORTED:"\u4E91\u7AEF\u539F\u5F52\u6863\u4E0D\u652F\u6301\u8303\u56F4\u8FC1\u79FB\uFF0C\u8BF7\u4FDD\u7559\u5F53\u524D\u914D\u7F6E\uFF1B\u4E0D\u66FF\u6362\u63A7\u5236\u5668\u7ED5\u8FC7\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_MIGRATION_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u8303\u56F4\u8FC1\u79FB\uFF0C\u672A\u964D\u7EA7\u6267\u884C\u3002",ONBOARDING_FILES_MIGRATION_DISABLE_REQUIRED:"\u8BF7\u5148\u72EC\u7ACB\u505C\u7528\u6587\u4EF6\u76F4\u4F20\u5E76\u6838\u5BF9\u72B6\u6001\uFF0C\u518D\u8C03\u6574\u8303\u56F4\u3002",ONBOARDING_FILES_MIGRATION_NO_CHANGE:"\u8303\u56F4\u548C\u4E0A\u9650\u6CA1\u6709\u53D8\u5316\uFF0C\u65E0\u9700\u8FC1\u79FB\u3002",ONBOARDING_FILES_MIGRATION_PENDING:"\u5DF2\u8BB0\u5F55\u539F\u8FC1\u79FB\uFF0C\u5C1A\u9700\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u542F\u7528\u6216\u91CD\u53D1\u3002",ONBOARDING_FILES_MIGRATION_CHANGED:"\u961F\u5217\u6216\u6388\u6743\u5DF2\u53D8\u5316\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u4E0D\u8986\u76D6\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_FILES_UNSUPPORTED:"\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u6587\u4EF6\u914D\u7F6E\u5408\u540C\uFF0C\u8BF7\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u76F4\u63A5\u66FF\u6362\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u5F53\u524D\u6587\u4EF6\u914D\u7F6E\u7248\u672C\uFF0C\u672A\u964D\u7EA7\u6267\u884C\u3002",ONBOARDING_FILES_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u4ECD\u5F85\u6838\u5BF9\uFF0C\u8BF7\u5148\u624B\u52A8\u8BFB\u53D6\u56DE\u6267\uFF0C\u4E0D\u80FD\u7528\u65B0\u8BF7\u6C42\u8986\u76D6\u3002",ONBOARDING_FILES_ALREADY_APPLIED:"\u539F\u8BF7\u6C42\u5DF2\u7ECF\u8BB0\u8D26\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u5B9E\u9645\u72B6\u6001\uFF0C\u4E0D\u5FC5\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_FILES_RUNTIME_REQUIRED:"\u8BF7\u5148\u542F\u7528\u5F53\u524D\u4E91\u7AEF\u7684\u53D7\u7BA1\u4EFB\u52A1\u53D7\u7406\uFF0C\u6216\u5728\u672C\u7AEF\u5B8C\u6210\u4E0E\u4E91\u7AEF\u7684\u914D\u5BF9\uFF1B\u4E0D\u4F1A\u63A5\u7BA1\u65E7\u8FD0\u884C\u65F6\u3002",ONBOARDING_FILES_SOURCE_DENIED:"\u53D1\u9001\u8303\u56F4\u8FC7\u5927\u6216\u5C5E\u4E8E\u53D7\u4FDD\u62A4\u76EE\u5F55\u3002\u8BF7\u9009\u62E9\u4E13\u7528\u666E\u901A\u76EE\u5F55\uFF1B\u4E0D\u8981\u9009\u62E9\u4E3B\u76EE\u5F55\u6216 DSH \u914D\u7F6E\u533A\uFF08\u5305\u62EC\u5176\u4E2D\u7684 IM \u6682\u5B58\u76EE\u5F55\uFF09\u3002",ONBOARDING_FILES_SOURCE_REVIEW:"\u53D1\u9001\u76EE\u5F55\u4E0D\u5B58\u5728\u3001\u4E0D\u662F\u89C4\u8303\u7EDD\u5BF9\u8DEF\u5F84\u6216\u65E0\u6CD5\u6838\u9A8C\uFF0C\u8BF7\u68C0\u67E5\u540E\u518D\u9884\u89C8\u3002",ONBOARDING_FILES_SOURCE_OVERLAP:"\u53D1\u9001\u76EE\u5F55\u91CD\u590D\u6216\u4E92\u76F8\u5305\u542B\uFF0C\u8BF7\u4FDD\u7559\u660E\u786E\u3001\u4E0D\u91CD\u53E0\u7684\u8303\u56F4\u3002",ONBOARDING_FILES_SOURCE_CHANGED:"\u76EE\u5F55\u8EAB\u4EFD\u53D1\u751F\u53D8\u5316\uFF0C\u539F\u9884\u89C8\u5931\u6548\uFF1B\u6CA1\u6709\u6269\u5927\u6388\u6743\u3002",ONBOARDING_FILES_SCOPE_CHANGE_REQUIRES_MIGRATION:"\u5DF2\u6709\u8303\u56F4\u4E0D\u80FD\u4ECE\u542F\u7528\u5165\u53E3\u6539\u5199\uFF1B\u8BF7\u5148\u505C\u7528\uFF0C\u518D\u4F7F\u7528\u72EC\u7ACB\u7684\u8C03\u6574\u8303\u56F4\u5165\u53E3\u3002",ONBOARDING_FILES_PLAN_EXPIRED:"\u9884\u89C8\u8FC7\u671F\u6216\u5DF2\u6D88\u8D39\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002",ONBOARDING_FILES_CONFLICT:"\u6388\u6743\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u8986\u76D6\u53E6\u4E00\u9879\u786E\u8BA4\u3002",ONBOARDING_FILES_PATH_REVIEW:"\u4E13\u7528\u76EE\u5F55\u5F52\u5C5E\u6216\u6743\u9650\u9700\u8981\u6838\u5BF9\uFF0C\u539F\u6587\u4EF6\u4E0D\u4F1A\u88AB\u8986\u76D6\u6216\u8BA4\u9886\u3002",ONBOARDING_FILES_LEDGER_REVIEW:"\u6388\u6743\u8BB0\u5F55\u9700\u8981\u6838\u5BF9\uFF0C\u672A\u63A5\u7BA1\u6216\u8986\u76D6\u5DF2\u6709\u8BB0\u5F55\u3002"},kl={active:"\u5DF2\u542F\u7528 \xB7 \u5355\u72EC\u6587\u4EF6\u4ECD\u9700\u660E\u786E\u4EA4\u529E",disabled:"\u5DF2\u505C\u7528 \xB7 \u6587\u4EF6\u4E0E\u961F\u5217\u4FDD\u7559",not_configured:"\u5C1A\u672A\u6388\u6743\u6587\u4EF6\u76F4\u4F20",runtime_required:"\u8BF7\u5148\u5EFA\u7ACB\u53D7\u7BA1\u8FD0\u884C\u65F6",needs_review:"\u9700\u8981\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u4FEE\u590D",activation_pending:"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u5C1A\u672A\u5B9E\u9645\u542F\u7528"};function qt({request:e,cloud:t=!1,migration:s=!1,queueReview:n=!1}){let[u,l]=(0,E.useState)(!1),[a,f]=(0,E.useState)(null),[m,p]=(0,E.useState)(""),[i,c]=(0,E.useState)(33554432),[o,r]=(0,E.useState)(null),[d,L]=(0,E.useState)(!1),[C,h]=(0,E.useState)(!1),[g,v]=(0,E.useState)(!1),[N,T]=(0,E.useState)(""),w=t?a?.files:a,P=t?a?.operation:null,D=g||t&&["sending","needs_review","recovering"].includes(P?.state),O=t?"cloud_file_transfer_":"file_transfer_",W=t?"\u4E91\u7AEF":"\u672C\u7AEF",J=!!w&&!w.enabled&&w.state==="needs_review"&&(w.error==="ONBOARDING_FILES_MIGRATION_PENDING"||t&&P?.scopeMigration),H=C||!!D||J,Ie=Xo(w,{uncertain:g,cloud:t,freshness:a?.freshness}),fe=(0,E.useRef)(!1);function Ke(le){l(!1),f(le);let Oe=t?le.files:le;Oe?.available&&(p(Oe.scopeHash?Oe.sendRoots.join(`
7
+ `):""),c(Oe.maxBytes)),v(!1)}let Qe=JSON.stringify([m,i,t]),Ee=(0,E.useRef)(Qe);Ee.current=Qe,(0,E.useEffect)(()=>{r(null),L(!1)},[m,i,t]);async function Ae(le,Oe){if(!fe.current){fe.current=!0,h(!0),T("");try{if(le==="status"&&(r(null),L(!1),v(!0),Ke(await e(O+"status",t?{refresh:!0}:{}))),["preview","recoveryPreview","migrationPreview"].includes(le)){r(null),L(!1);let Te=await e(O+le,le==="preview"?{enabled:Oe,sendRoots:m.split(`
8
+ `).map(qe=>qe.trim()).filter(Boolean),maxBytes:i}:le==="migrationPreview"?{sendRoots:m.split(`
9
+ `).map(qe=>qe.trim()).filter(Boolean),maxBytes:i}:{});Ee.current===Qe&&r({...Te,recovery:le==="recoveryPreview"})}if(["apply","recoveryApply","migrationRecover"].includes(le)){if(!o||!d)return;let Te=o;r(null),L(!1),v(!0),Ke(await e(O+le,le==="migrationRecover"?{operation:Te.operation,confirm:!0}:{id:Te.id,fingerprint:Te.fingerprint,confirm:!0}))}}catch(Te){r(null),L(!1),le==="status"&&f(qe=>t&&qe?{...qe,files:null,freshness:"check_failed"}:null),T(Al[Te.message]??"\u64CD\u4F5C\u7ED3\u679C\u9700\u8981\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u539F\u6388\u6743\u56DE\u6267\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3001\u4E0D\u5F00\u653E\u5176\u4ED6\u76EE\u5F55\u3002")}finally{fe.current=!1,h(!1)}}}return E.default.createElement(V,{title:t?"\u4E91\u7AEF\u6587\u4EF6\u76F4\u4F20":"\u672C\u7AEF\u6587\u4EF6\u76F4\u4F20",icon:"file",sub:t?"\u4EC5\u8C03\u6574\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684 ECS\uFF1B\u4E0D\u4F1A\u6539\u53D8\u672C\u7AEF\u6587\u4EF6\u6388\u6743\u3002":"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u6539 IM \u539F\u751F\u6536\u53D1\uFF0C\u4E5F\u4E0D\u9ED8\u8BA4\u5F00\u653E IM \u6682\u5B58\u76EE\u5F55\u3002",className:"connection-panel"},E.default.createElement(S,{label:"\u5F53\u524D\u72B6\u6001",value:g?"\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":w?kl[w.state]??"\u9700\u8981\u6838\u5BF9":"\u5C1A\u672A\u67E5\u8BE2\u76EE\u6807\u7AEF \xB7 \u4E0D\u81EA\u52A8\u8FDE\u63A5"}),w?.available&&E.default.createElement(E.default.Fragment,null,E.default.createElement(S,{label:"\u5B9E\u9645\u7AEF",value:w.role==="cloud"?"\u4E91\u7AEF DSH":"\u672C\u5730 DSH"}),E.default.createElement(S,{label:"\u4E13\u7528\u6536\u4EF6\u76EE\u5F55",value:w.receiveRoot}),E.default.createElement(S,{label:"\u4FDD\u7559\u8BB0\u5F55\uFF08\u53D1\u4EF6\uFF0F\u6536\u4EF6\uFF0F\u4E2D\u7EE7\uFF09",value:`${w.counts.outgoing} / ${w.counts.incoming} / ${w.counts.broker}`})),Ie&&E.default.createElement("details",{className:"details file-scope-observation"},E.default.createElement("summary",null,E.default.createElement("span",null,Ie.title," \xB7 ",Ie.roots.length," \u4E2A\u76EE\u5F55"),E.default.createElement(ke,{name:"down"})),E.default.createElement("p",null,Ie.note),E.default.createElement("ul",null,Ie.roots.map(le=>E.default.createElement("li",{key:le},E.default.createElement("code",null,le)))),E.default.createElement("p",null,"IM \u63A5\u6536\u76EE\u5F55\u4E0D\u4F1A\u81EA\u52A8\u52A0\u5165\uFF1B\u666E\u901A\u5DE5\u4F5C\u533A\u5185\u7684\u4E13\u7528\u76EE\u5F55\u987B\u5355\u72EC\u786E\u8BA4\u3002\u4EE5\u8FD9\u4EFD\u5B9E\u9645\u76EE\u5F55\u6E05\u5355\u4E3A\u51C6\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u63A8\u65AD\u6388\u6743\u3002")),E.default.createElement(Se,{label:"\u6587\u4EF6\u53D1\u9001\u76EE\u5F55",hint:u?"\u4EE5\u4E0B\u4E3A\u62DF\u8C03\u6574\u8303\u56F4\uFF0C\u5C1A\u672A\u751F\u6548\u3002\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u6240\u9009\u7AEF\u4E13\u7528\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u4E0A\u6B21\u6838\u5BF9\u7684\u5DF2\u767B\u8BB0\u8303\u56F4\u89C1\u4E0A\u65B9\u3002":"\u6BCF\u884C\u4E00\u4E2A\u6240\u9009\u7AEF\u7684\u4E13\u7528\u7EDD\u5BF9\u8DEF\u5F84\u3002\u4E91\u7AEF\u8BF7\u586B ECS \u8DEF\u5F84\uFF0C\u4E0D\u662F Mac \u8DEF\u5F84\uFF1B\u7559\u7A7A\u53EA\u4F7F\u7528\u8BE5\u7AEF\u81EA\u6709\u53D1\u4EF6\u533A\u3002"},E.default.createElement("textarea",{rows:3,value:m,disabled:!!H||!!w?.scopeHash&&!u,onChange:le=>p(le.target.value),maxLength:32768,placeholder:"\u7559\u7A7A\u4F7F\u7528\u672C\u9879\u76EE\u4E13\u7528\u53D1\u4EF6\u76EE\u5F55"})),E.default.createElement(Se,{label:"\u5355\u6587\u4EF6\u4E0A\u9650"},E.default.createElement("select",{value:i,disabled:!!H||!!w?.scopeHash&&!u,onChange:le=>c(Number(le.target.value))},E.default.createElement("option",{value:536870912},"512 MiB"),E.default.createElement("option",{value:134217728},"128 MiB"),E.default.createElement("option",{value:33554432},"32 MiB"),E.default.createElement("option",{value:8388608},"8 MiB"),E.default.createElement("option",{value:2097152},"2 MiB\uFF08\u5DF2\u6709\u914D\u7F6E\uFF09"),E.default.createElement("option",{value:1048576},"1 MiB"),E.default.createElement("option",{value:524288},"512 KiB"))),E.default.createElement(x,null,"\u9ED8\u8BA4\u5173\u95ED\u3002\u542F\u7528\u53EA\u6388\u4E88\u4E0A\u8FF0\u76EE\u5F55\u5230\u5BF9\u7AEF\u4E13\u7528\u6536\u4EF6\u533A\u7684\u6587\u4EF6\u4F20\u9001\u80FD\u529B\uFF1B\u6BCF\u4E2A\u6587\u4EF6\u4ECD\u9700\u4F60\u660E\u786E\u4EA4\u529E\u3002\u6BCF\u7C7B\u961F\u5217\u6700\u591A 64 \u6761\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\uFF1B\u8C03\u6574\u8303\u56F4\u9700\u5148\u505C\u7528\uFF0C\u8FC1\u79FB\u6302\u8D77\u65E7\u7684\u672A\u5B8C\u6210\u8BB0\u5F55\uFF0C\u4FDD\u7559\u6587\u4EF6\uFF1B\u91CD\u65B0\u542F\u7528\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\u6302\u8D77\u8BB0\u5F55\uFF0C\u6302\u8D77\u6587\u4EF6\u987B\u9010\u9879\u590D\u6838\u3002\u539F\u751F IM \u6309\u5E73\u53F0\u9650\u5236\u5904\u7406\uFF0C\u4E0D\u53D7\u8FD9\u91CC\u7684\u4E0A\u9650\u66FF\u4EE3\u3002"),E.default.createElement("div",{className:"connection-actions",role:"group","aria-label":W+"\u6587\u4EF6\u76F4\u4F20\u6388\u6743\u64CD\u4F5C"},E.default.createElement(_,{kind:"primary",icon:"file",disabled:!!H||u,onClick:()=>Ae("preview",!0)},"\u9884\u89C8\u542F\u7528",W,"\u6587\u4EF6\u76F4\u4F20"),E.default.createElement(_,{kind:"secondary",icon:"pause",disabled:!!H||u||!w?.enabled,onClick:()=>Ae("preview",!1)},"\u9884\u89C8\u505C\u7528",W,"\u5E76\u4FDD\u7559\u6587\u4EF6"),E.default.createElement(_,{kind:"secondary",icon:"reset",disabled:C,onClick:()=>Ae("status")},"\u624B\u52A8\u6838\u5BF9",W,"\u6587\u4EF6\u6388\u6743")),s&&w?.scopeHash&&E.default.createElement("div",{className:"connection-utility"},E.default.createElement("p",null,w.enabled?"\u8C03\u6574\u8303\u56F4\u524D\uFF0C\u8BF7\u5148\u505C\u7528"+W+"\u6587\u4EF6\u76F4\u4F20\u3002":"\u65B0\u8303\u56F4\u5148\u9884\u89C8\u3001\u72EC\u7ACB\u786E\u8BA4\uFF0C\u8FC1\u79FB\u540E\u4ECD\u505C\u7528\u3002\u65E7\u8BB0\u5F55\u4FDD\u7559\u5E76\u5F85\u6838\u5BF9\u3002"),u?E.default.createElement("div",{className:"connection-actions"},E.default.createElement(_,{kind:"primary",icon:"folder",disabled:!!H,onClick:()=>Ae("migrationPreview")},"\u9884\u89C8\u8FC1\u79FB",W,"\u8303\u56F4"),E.default.createElement(_,{kind:"secondary",disabled:C,onClick:()=>{r(null),L(!1),Ke(a)}},"\u53D6\u6D88\u8C03\u6574")):E.default.createElement(_,{kind:"secondary",icon:"settings",disabled:!!H||w.enabled||w.active,onClick:()=>{r(null),L(!1),l(!0)}},"\u8C03\u6574",W,"\u53D1\u9001\u8303\u56F4")),s&&J&&E.default.createElement("div",{className:"connection-utility"},E.default.createElement("p",null,"\u539F\u8FC1\u79FB\u5DF2\u8BB0\u8D26\u4F46\u5C1A\u9700\u6838\u5BF9\u3002\u53EA\u7EED\u5B8C\u540C\u4E00\u4E8B\u52A1\uFF0C\u4E0D\u9009\u62E9\u65B0\u8303\u56F4\u3001\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u65E7\u6587\u4EF6\u3002"),E.default.createElement(_,{kind:"secondary",icon:"shield",disabled:C,onClick:()=>{L(!1),r({resume:!0,operation:w.appliedOperation,scope:{role:w.role,sendRoots:w.sendRoots.map(le=>({path:le})),receiveRoot:w.receiveRoot,maxBytes:w.maxBytes},remoteTarget:t?a.remoteTarget:null})}},"\u9884\u89C8\u6838\u5BF9",W,"\u539F\u8FC1\u79FB")),t&&P&&E.default.createElement("div",{className:"connection-result",role:"status"},E.default.createElement(S,{label:"\u539F\u64CD\u4F5C\u56DE\u6267",value:{not_started:"\u5C1A\u65E0\u64CD\u4F5C",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u6388\u6743\u53D8\u66F4\u5DF2\u8BB0\u8D26",closed:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"}[P.state]??"\u9700\u6838\u5BF9"}),E.default.createElement("p",{className:"fine-print"},a.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u8BFB\u53D6\u4E91\u7AEF\uFF1B\u8BB0\u8D26\u4E0E\u5B9E\u9645\u542F\u7528\u5206\u5F00\u663E\u793A\u3002":"\u672A\u53D6\u5F97\u4E91\u7AEF\u65B0\u9C9C\u72B6\u6001\uFF0C\u7F13\u5B58\u4E0D\u80FD\u8BC1\u660E\u5F53\u524D\u6587\u4EF6\u80FD\u529B\u5728\u7EBF\u3002")),t&&D&&E.default.createElement("div",{className:"connection-utility"},E.default.createElement("p",null,"\u5148\u67E5\u539F\u56DE\u6267\uFF1B\u5FC5\u8981\u65F6\u72EC\u7ACB\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\u3002\u5173\u95ED\u4E0D\u7B49\u4E8E\u505C\u7528\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743\u3001\u961F\u5217\u4E0E\u6587\u4EF6\u3002"),E.default.createElement(_,{kind:"secondary",icon:"shield",disabled:C,onClick:()=>Ae("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42")),o&&E.default.createElement("section",{className:"connection-confirm","aria-label":W+"\u6587\u4EF6\u76F4\u4F20\u786E\u8BA4"},E.default.createElement("h3",null,o.resume?"\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4FDD\u6301\u505C\u7528":o.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+W+"\u53D1\u9001\u8303\u56F4":o.recovery?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":o.enabled?"\u786E\u8BA4\u542F\u7528"+W+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+W+"\u5E76\u4FDD\u7559\u961F\u5217"),o.remoteTarget&&E.default.createElement(S,{label:"\u672C\u6B21\u4E91\u7AEF\u73AF\u5883",value:o.remoteTarget.root}),o.scope&&E.default.createElement(E.default.Fragment,null,E.default.createElement(S,{label:"\u5B9E\u9645\u7AEF",value:o.scope.role==="cloud"?"\u4E91\u7AEF DSH":"\u672C\u5730 DSH"}),E.default.createElement(S,{label:"\u5141\u8BB8\u53D1\u9001\u76EE\u5F55",value:o.scope.sendRoots.map(le=>le.path).join("\uFF1B")}),E.default.createElement(S,{label:"\u4E13\u7528\u6536\u4EF6\u76EE\u5F55",value:o.scope.receiveRoot}),E.default.createElement(S,{label:"\u5355\u6587\u4EF6\u4E0A\u9650",value:`${o.scope.maxBytes} \u5B57\u8282`})),o.kind==="scope_migration"&&E.default.createElement(E.default.Fragment,null,E.default.createElement(S,{label:"\u539F\u53D1\u9001\u8303\u56F4",value:o.migration.previousScope.sendRoots.map(le=>le.path).join("\uFF1B")}),E.default.createElement(S,{label:"\u539F\u5355\u6587\u4EF6\u4E0A\u9650",value:`${o.migration.previousScope.maxBytes} \u5B57\u8282`}),E.default.createElement(S,{label:"\u6302\u8D77\u5F85\u6838\u5BF9\uFF08\u53D1\u4EF6\uFF0F\u6536\u4EF6\uFF0F\u4E2D\u7EE7\uFF09",value:`${o.migration.snapshot.held.outgoing} / ${o.migration.snapshot.held.incoming} / ${o.migration.snapshot.held.broker}`}),E.default.createElement(x,null,"\u53EA\u53D8\u66F4\u6B64\u7AEF\u6388\u6743\u8303\u56F4\uFF0C\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55\uFF1B\u8FC1\u79FB\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u3002\u4E4B\u540E\u9700\u53E6\u884C\u786E\u8BA4\u542F\u7528\u3002")),o.resume&&E.default.createElement(x,null,"\u6838\u5BF9\u539F\u6301\u4E45\u610F\u56FE\u4E0E\u4E8B\u52A1\u56DE\u6267\uFF1B\u4EC5\u5728\u76EE\u5F55\u8EAB\u4EFD\u3001\u8D26\u672C\u548C\u961F\u5217\u5339\u914D\u65F6\u7EED\u5B8C\uFF0C\u4E0D\u91CD\u5EFA\u6216\u8986\u76D6\u672A\u77E5\u6570\u636E\u3002"),o.recovery&&E.default.createElement(x,null,"\u4EC5\u963B\u65AD\u8FDF\u5230\u5E94\u7528\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7248\u672C\u3002\u82E5\u539F\u8BF7\u6C42\u5DF2\u6210\u529F\uFF0C\u4F1A\u62A5\u544A\u539F\u56DE\u6267\uFF0C\u4E0D\u5047\u62A5\u64A4\u9500\uFF1B\u4E0D\u91CD\u53D1\u539F\u8BF7\u6C42\u3002"),E.default.createElement(R,{checked:d,disabled:C,onChange:L,title:o.resume?"\u6211\u786E\u8BA4\u53EA\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4E0D\u542F\u7528\u6216\u91CD\u53D1":o.kind==="scope_migration"?"\u6211\u786E\u8BA4\u8FC1\u79FB\u8303\u56F4\u3001\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55":o.recovery?"\u6211\u786E\u8BA4\u4EC5\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u4E0D\u6388\u6743\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165"}),E.default.createElement("div",{className:"connection-actions"},E.default.createElement(_,{kind:"primary",icon:"check",disabled:C||!d,onClick:()=>Ae(o.resume?"migrationRecover":o.recovery?"recoveryApply":"apply")},o.resume?"\u786E\u8BA4\u6838\u5BF9"+W+"\u539F\u8FC1\u79FB":o.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+W+"\u8303\u56F4":o.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42":o.enabled?"\u786E\u8BA4\u542F\u7528"+W+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+W+"\u6587\u4EF6\u76F4\u4F20"),E.default.createElement(_,{kind:"secondary",disabled:C,onClick:()=>{r(null),L(!1)}},"\u53D6\u6D88"))),n&&E.default.createElement(Ko,{request:e,cloud:t}),N&&E.default.createElement("p",{className:"connection-error",role:"alert"},N))}var I=Ce(ge());async function $o(e,t,s){try{let n=await e("/api","task-onboarding/control",{method:t,args:s});if(!n?.ok)throw{code:n?.error?.code};return n.value}catch(n){let u=[n?.code,n?.message].find(a=>typeof a=="string"&&/^ONBOARDING_[A-Z_]+$/.test(a));if(u)throw Error(u);let l=/^transport failure for \/api\/task-onboarding\/control: HTTP (\d{3})$/.exec(n?.message??"")?.[1];throw l?Error(["401","403"].includes(l)?"ONBOARDING_TRANSPORT_AUTH_REQUIRED":l==="431"?"ONBOARDING_TRANSPORT_HEADERS_TOO_LARGE":["502","503","504"].includes(l)?"ONBOARDING_TRANSPORT_UNAVAILABLE":"ONBOARDING_TRANSPORT_HTTP_REJECTED"):n?.name==="AbortError"||n?.name==="TimeoutError"||n?.name==="TypeError"&&["Failed to fetch","NetworkError when attempting to fetch resource.","Load failed"].includes(n.message)?Error("ONBOARDING_TRANSPORT_INTERRUPTED"):typeof n?.message=="string"&&(/^connection: invalid server-response (envelope|result|failure)$/.test(n.message)||n.message.startsWith("rpcId mismatch for task-onboarding/control: "))?Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID"):Error("ONBOARDING_UNAVAILABLE")}}var Q=Ce(ge());var Qo=e=>({ONBOARDING_SSH_AUTH_FAILED:"SSH \u8EAB\u4EFD\u9A8C\u8BC1\u5931\u8D25\uFF0C\u8BF7\u6838\u5BF9\u767B\u5F55\u7528\u6237\u3001\u79C1\u94A5\u6216\u4EE3\u7406\u3002\u6CA1\u6709\u56DE\u9000\u5230\u5BC6\u7801\u6216\u5176\u4ED6\u5BC6\u94A5\u3002",ONBOARDING_SSH_HOSTKEY_CHANGED:"\u4E3B\u673A\u516C\u94A5\u4E0E\u5DF2\u786E\u8BA4\u8BB0\u5F55\u4E0D\u4E00\u81F4\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u65B0\u4FE1\u4EFB\u3002",ONBOARDING_SSH_IDENTITY_CHANGED:"\u79C1\u94A5\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u7ED1\u5B9A\u3002",ONBOARDING_SSH_IDENTITY_UNAVAILABLE:"\u672A\u627E\u5230\u8BE5\u79C1\u94A5\u6587\u4EF6\uFF1B\u53EA\u586B\u5199\u5F53\u524D Host \u53EF\u8BBF\u95EE\u7684\u8DEF\u5F84\uFF0C\u4E0D\u4E0A\u4F20\u79C1\u94A5\u3002",ONBOARDING_SSH_IDENTITY_UNSAFE:"\u79C1\u94A5\u8DEF\u5F84\u3001\u6587\u4EF6\u7C7B\u578B\u6216\u6743\u9650\u4E0D\u5B89\u5168\uFF0C\u8BF7\u6838\u5BF9\u3002",ONBOARDING_SSH_AGENT_UNAVAILABLE:"\u5F53\u524D Host \u672A\u53D1\u73B0\u53EF\u7528\u7684 SSH \u4EE3\u7406\u3002",ONBOARDING_SSH_BINDING_CONFLICT:"\u8FDE\u63A5\u8BB0\u5F55\u5DF2\u88AB\u5176\u4ED6\u9875\u9762\u4FEE\u6539\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u6700\u65B0\u72B6\u6001\u3002",ONBOARDING_SSH_OBSERVATION_EXPIRED:"\u4E3B\u673A\u516C\u94A5\u89C2\u5BDF\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6\u5E76\u6838\u5BF9\u3002",ONBOARDING_SSH_UNREACHABLE:"\u65E0\u6CD5\u8FDE\u63A5\u76EE\u6807 SSH \u670D\u52A1\uFF0C\u8BF7\u68C0\u67E5\u5730\u5740\u3001\u7AEF\u53E3\u548C\u7F51\u7EDC\u3002"})[e]??"\u672C\u6B21\u7ED3\u679C\u672A\u80FD\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u8FDE\u63A5\u8BB0\u5F55\u3002\u6CA1\u6709\u81EA\u52A8\u91CD\u8BD5\u6216\u521D\u59CB\u5316\u4E91\u7AEF\u3002";function Yo({request:e,target:t,onReference:s}){let n=(0,Q.useRef)(0),u=(0,Q.useRef)(!0);(0,Q.useEffect)(()=>(u.current=!0,()=>{u.current=!1,n.current++}),[]);let[l,a]=(0,Q.useState)("file"),[f,m]=(0,Q.useState)(""),[p,i]=(0,Q.useState)(null),[c,o]=(0,Q.useState)(null),[r,d]=(0,Q.useState)(!1),[L,C]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(!1),[v,N]=(0,Q.useState)("");(0,Q.useEffect)(()=>{let P=!0;return e("ssh_status",{}).then(D=>{P&&(i(D),D.connection&&(a(D.connection.auth),m(D.connection.identityPath)))}).catch(D=>{P&&N(Qo(D.message))}),()=>{P=!1}},[]),(0,Q.useEffect)(()=>{n.current++,o(null),d(!1),C(null)},[t.host,t.user,t.port,l,f]);let T=p?.configured&&p.connection.host===t.host.toLowerCase()&&p.connection.user===t.user&&p.connection.port===Number(t.port)&&p.connection.auth===l&&p.connection.identityPath===(l==="file"?f:"");async function w(P){if(h)return;let D=n.current,O=()=>u.current&&D===n.current;g(!0),N("");try{if(P==="status"){let W=await e("ssh_status",{});O()&&(i(W),o(null),C(null))}if(P==="scan"){C(null),o(null),d(!1);let W=await e("ssh_scan",{connection:{host:t.host,user:t.user,port:Number(t.port),auth:l,identityPath:l==="file"?f:""}});O()&&o(W)}if(P==="trust"){let W=await e("ssh_trust",{id:c.id,fingerprint:c.fingerprint,expectedRevision:p.revision,confirm:!0});O()&&(i(W),o(null),d(!1),s(W.reference))}if(P==="probe"){C(null);let W=await e("cloud_probe",{expectedRevision:p.revision});O()&&C(W)}}catch(W){O()&&N(Qo(W.message))}finally{u.current&&g(!1)}}return Q.default.createElement(V,{title:"SSH \u8FDE\u63A5\u4E0E\u4E3B\u673A\u4FE1\u4EFB",icon:"shield",sub:"\u53EA\u5F15\u7528\u672C\u673A\u5BC6\u94A5\u6216 SSH \u4EE3\u7406\uFF0C\u4E0D\u590D\u5236\u79C1\u94A5\uFF0C\u4E5F\u4E0D\u4FEE\u6539\u65E5\u5E38 SSH \u914D\u7F6E\u3002"},Q.default.createElement("fieldset",{disabled:h,style:{border:0,padding:0,margin:0}},Q.default.createElement("div",{className:"form-grid"},Q.default.createElement(Se,{label:"SSH \u8BA4\u8BC1\u65B9\u5F0F"},Q.default.createElement("select",{value:l,onChange:P=>a(P.target.value)},Q.default.createElement("option",{value:"file"},"\u5DF2\u6709\u79C1\u94A5\u6587\u4EF6"),Q.default.createElement("option",{value:"agent"},"\u5DF2\u6709 SSH \u4EE3\u7406"))),l==="file"&&Q.default.createElement(Se,{label:"SSH \u79C1\u94A5\u6587\u4EF6\u8DEF\u5F84",value:f,autoComplete:"off",spellCheck:!1,onChange:P=>m(P.target.value),placeholder:"\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/.ssh/\u4F60\u7684\u5BC6\u94A5"})),Q.default.createElement(S,{label:"\u5F53\u524D\u4FE1\u4EFB\u8BB0\u5F55",value:p?.configured?`${p.connection.user}@${p.connection.host}:${p.connection.port}${T?"":" \xB7 \u4E0E\u8868\u5355\u4E0D\u540C"}`:"\u5C1A\u672A\u7ED1\u5B9A"}),Q.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E3B\u673A\u4FE1\u4EFB\u8BB0\u5F55\u64CD\u4F5C"},Q.default.createElement(_,{kind:"soft",icon:"shield",disabled:!p,onClick:()=>w("scan")},"\u83B7\u53D6\u4E3B\u673A\u516C\u94A5"),Q.default.createElement(_,{kind:"secondary",icon:"reset",onClick:()=>w("status")},"\u6838\u5BF9\u8FDE\u63A5\u8BB0\u5F55")),c&&Q.default.createElement("div",{className:"ssh-trust-review"},Q.default.createElement(x,null,"\u4E3B\u673A ",c.host,":",c.port," \u7684\u4EE5\u4E0B\u4FE1\u606F\u4EC5\u4E3A\u7F51\u7EDC\u89C2\u5BDF\uFF0C\u8FD8\u4E0D\u53EF\u4FE1\u3002\u8BF7\u901A\u8FC7 ECS \u63A7\u5236\u53F0\u6216\u7BA1\u7406\u5458\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u6307\u7EB9\uFF1B\u4E00\u81F4\u540E\u518D\u786E\u8BA4\u3002\u9996\u6B21\u89C2\u5BDF\u4E0D\u4F1A\u81EA\u52A8\u4FE1\u4EFB\u3002"),c.keys.map(P=>Q.default.createElement("div",{className:"path-line",key:P.type},Q.default.createElement("span",null,P.type),Q.default.createElement("code",null,P.fingerprint))),Q.default.createElement("div",{className:"ssh-trust-consent"},Q.default.createElement(R,{checked:r,onChange:d,title:"\u6211\u5DF2\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\u8FD9\u4E9B\u4E3B\u673A\u516C\u94A5"}),Q.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E3B\u673A\u4FE1\u4EFB\u786E\u8BA4"},Q.default.createElement(_,{kind:"primary",icon:"check",disabled:!r,onClick:()=>w("trust")},"\u786E\u8BA4\u4FE1\u4EFB\u5E76\u4FDD\u5B58\u8FDE\u63A5")))),Q.default.createElement("div",{className:"form-actions ssh-probe-actions",role:"group","aria-label":"\u4E91\u7AEF\u53EA\u8BFB\u9884\u68C0"},Q.default.createElement(_,{kind:"primary",icon:"cloud",disabled:!T,onClick:()=>w("probe")},"\u53EA\u8BFB\u9884\u68C0\u4E91\u7AEF"))),h&&Q.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"),v&&Q.default.createElement("p",{role:"alert"},v),L&&Q.default.createElement("div",{className:"cloud-observation"},Q.default.createElement(ve,null,"\u53EA\u8BFB\u89C2\u5BDF \xB7 \u975E\u5B89\u88C5\u6388\u6743"),L.state==="observed"?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement(S,{label:"\u767B\u5F55\u8D26\u53F7 / \u7CFB\u7EDF",value:`${L.user}\uFF08uid ${L.uid}\uFF09 / ${L.platform} ${L.arch}`}),Q.default.createElement(S,{label:"Node / npm",value:`${L.node.version} / ${L.tools.npm?"\u5DF2\u53D1\u73B0\uFF0C\u672A\u5B89\u88C5":"\u672A\u53D1\u73B0"}`}),Q.default.createElement(S,{label:"\u53EF\u7528\u7A7A\u95F4",value:L.freeBytes===null?"\u672A\u77E5":(L.freeBytes/1073741824).toFixed(1)+" GiB"}),Q.default.createElement("div",{className:"path-line"},Q.default.createElement("span",null,"\u62DF\u5EFA\u72EC\u7ACB Host \u6839"),Q.default.createElement("code",null,L.root)),Q.default.createElement(S,{label:"\u76EE\u6807\u76EE\u5F55",value:L.rootExists?"\u5DF2\u5B58\u5728\uFF0C\u9700\u8981\u6838\u5BF9":"\u5C1A\u4E0D\u5B58\u5728\uFF0C\u672A\u521B\u5EFA"}),Q.default.createElement(S,{label:"\u73B0\u6709 DSH \u6837\u5F0F\u8FDB\u7A0B",value:`${L.possibleHosts.length} \u4E2A \xB7 \u4E0D\u64CD\u4F5C\u3001\u4E0D\u63A8\u6D4B\u914D\u7F6E\u8DEF\u5F84`}),Q.default.createElement("p",{className:"fine-print"},"\u68C0\u6D4B\u4E8E ",new Date(L.observedAt).toLocaleString(),"\uFF0C60 \u79D2\u540E\u89C6\u4E3A\u5386\u53F2\u89C2\u5BDF\u3002\u8DEF\u5F84\u6765\u81EA\u8FDC\u7AEF\u771F\u5B9E\u8D26\u53F7\uFF0C\u4E0D\u662F\u4ECE\u672C\u673A\u731C\u6D4B\u3002")):Q.default.createElement(x,null,"\u4E91\u7AEF\u9700\u8981\u8FDB\u4E00\u6B65\u51C6\u5907\uFF1A",L.state==="runtime_bootstrap_required"?"\u5C1A\u672A\u53D1\u73B0\u7B26\u5408\u8981\u6C42\u7684 Node\uFF08\u81F3\u5C11 v22\uFF09\uFF0C\u9700\u5148\u5B8C\u6210\u8FD0\u884C\u65F6\u5B89\u88C5\u8BA1\u5212\u3002":"\u5F53\u524D\u7CFB\u7EDF\u4E0D\u5728\u5DF2\u652F\u6301\u7684\u4E91\u7AEF\u8303\u56F4\u3002","\u6CA1\u6709\u521D\u59CB\u5316\u3002")))}var k=Ce(ge());var de=Ce(ge());function Vt(e,t=Date.now()){let s=e.loaded&&!e.busy,n=!e.record||["not_started","rolled_back"].includes(e.record.state),u=e.record?.receipt,l=s&&e.fresh&&t-e.observedAt<6e4;return{load:!e.busy,refresh:s,preview:s&&n&&!e.uncertain,start:s&&n&&!e.uncertain&&e.plan?.canStart===!0&&e.plan.expiresAt>t,stop:l&&u?.workerActive===!0,rollback:l&&!n&&u?.workerActive===!1&&["ready","failed","stopped","needs_review","rolling_back"].includes(u.state)}}function Zo(e,t,s=()=>{},n=Date.now){let u={loaded:!1,busy:!1,fresh:!1,uncertain:!1,record:null,plan:null,error:null,observedAt:null},l=!0,a=m=>{u={...u,...m},l&&t(u)};async function f(m,p=!1){if(!l||u.busy)return!1;if(!Vt(u,n())[m])return a({error:"REFRESH_REQUIRED"}),!1;let i=["start","stop","rollback"].includes(m);if(i&&p!==!0)return a({error:"CONFIRMATION_REQUIRED"}),!1;let c=u.plan,o=u.record;a({busy:!0,error:null,fresh:!1,plan:null});try{if(i&&(a({uncertain:!0}),s()),m==="load"||m==="refresh"){let r=await e("node_status",{refresh:m==="refresh"});a({record:r,uncertain:["outcome_unknown","rollback_requested"].includes(r.state),loaded:!0,fresh:m==="refresh",observedAt:m==="refresh"?n():null})}else if(m==="preview"){let r=await e("ssh_status",{});if(!r.configured)throw Error("ONBOARDING_SSH_NOT_BOUND");a({plan:await e("node_preview",{expectedRevision:r.revision})})}else a(m==="start"?{record:await e("node_start",{id:c.id,fingerprint:c.fingerprint,confirm:!0})}:{record:await e("node_action",{action:m,operationId:o.operationId,expectedRevision:o.revision,confirm:!0})});return!0}catch(r){return a({error:/^ONBOARDING_[A-Z_]+$/.test(r.message)?r.message:"UNCONFIRMED"}),!1}finally{a({busy:!1})}}return{act:f,get:()=>u,resume:()=>{l=!0},dispose:()=>{l=!1}}}var Jo={not_started:"\u5C1A\u672A\u5B89\u88C5\u4E13\u7528 Node",rolled_back:"\u4E13\u7528 Node \u5DF2\u79FB\u9664",start_requested:"\u8BF7\u6C42\u5DF2\u767B\u8BB0",observed:"\u5DF2\u6709\u6301\u4E45\u56DE\u6267",outcome_unknown:"\u7ED3\u679C\u5F85\u6838\u5BF9",rollback_requested:"\u56DE\u6EDA\u5F85\u6838\u5BF9",launching:"\u542F\u52A8\u72EC\u7ACB\u5B89\u88C5\u8FDB\u7A0B",downloading:"\u4E0B\u8F7D\u5B98\u65B9\u56FA\u5B9A\u7248\u672C",extracting:"\u6821\u9A8C\u5E76\u5C55\u5F00\u5B98\u65B9\u6587\u4EF6",checking:"\u6838\u5BF9\u5B8C\u6574\u6027\u4E0E\u7248\u672C",ready:"\u4E13\u7528 Node \u5C31\u7EEA",failed:"\u5B89\u88C5\u5931\u8D25\uFF0C\u4FDD\u7559\u73B0\u573A",stopped:"\u5B89\u88C5\u8FDB\u7A0B\u5DF2\u505C\u6B62",needs_review:"\u9700\u6838\u5BF9\uFF0C\u672A\u81EA\u52A8\u91CD\u8BD5",rolling_back:"\u6B63\u5728\u56DE\u6EDA\uFF0F\u7B49\u5F85\u6838\u5BF9"},bl={ONBOARDING_NODE_KERNEL_UNSUPPORTED:"\u56FA\u5B9A\u53D1\u884C\u5305\u9700\u8981 Linux \u5185\u6838 4.18+\uFF1B\u4E0D\u4F1A\u64C5\u81EA\u66F4\u65B0\u5185\u6838\u3002",ONBOARDING_NODE_PYTHON_MISSING:"\u672A\u68C0\u6D4B\u5230 Python 3\u3002\u6B64\u51C6\u5907\u5668\u9700\u8981 Linux \u4E0A\u7684 Python 3.8+ \u6807\u51C6\u5E93\uFF1B\u4E0D\u4F1A\u64C5\u81EA\u5B89\u88C5\u7CFB\u7EDF\u8F6F\u4EF6\u3002",ONBOARDING_NODE_LIBC_UNSUPPORTED:"\u6B64\u53D1\u884C\u5305\u8981\u6C42 glibc 2.28+\uFF1B\u4E0D\u4F1A\u5C06\u4E0D\u517C\u5BB9\u7684\u4E8C\u8FDB\u5236\u5B89\u88C5\u5230\u76EE\u6807\u673A\u3002",ONBOARDING_NODE_ARCH_UNSUPPORTED:"\u76EE\u524D\u56FA\u5B9A\u53D1\u884C\u5305\u652F\u6301 Linux x64 / arm64\u3002",ONBOARDING_NODE_HOST_REMOVAL_REQUIRED:"\u8BF7\u5148\u505C\u6B62\u5E76\u6E05\u7406\u5F15\u7528\u6B64 Node \u7684\u72EC\u7ACB Host \u53CA\u5B89\u88C5\u6587\u4EF6\uFF0C\u518D\u79FB\u9664 Node\u3002",ONBOARDING_NODE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF0C\u4E0D\u4F1A\u6CBF\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u5728\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58\u8FDE\u63A5\u3002"};function jo({request:e,onMutation:t}){let[s,n]=(0,de.useState)({}),[u]=(0,de.useState)(()=>Zo(e,n,t)),[l,a]=(0,de.useState)(null),[f,m]=(0,de.useState)(!1);(0,de.useEffect)(()=>(u.resume(),u.act("load"),()=>u.dispose()),[u]);let p=Vt(s),i=s.plan,c=s.record?.receipt,o=s.error??s.record?.error??c?.error,r=L=>{a(null),m(!1),u.act(L)},d=(L,C,h)=>p[L]&&de.default.createElement("div",{className:"cloud-action"},de.default.createElement(_,{"data-node-action":L,disabled:s.busy,kind:L==="start"?"primary":"soft",onClick:()=>{a(L),m(!1)}},C),l===L&&de.default.createElement("div",{className:"cloud-confirm","aria-label":C+"\u786E\u8BA4"},de.default.createElement("p",null,h),de.default.createElement(R,{checked:f,onChange:m,disabled:s.busy,title:"\u6211\u5DF2\u6838\u5BF9\u4E13\u7528 Node \u7684\u64CD\u4F5C\u8303\u56F4",sub:"\u4E0D\u66FF\u6362\u7CFB\u7EDF Node\uFF0C\u4E0D\u4FEE\u6539 shell\u3001\u5168\u5C40 npm \u6216\u65E5\u5E38\u670D\u52A1\u3002"}),de.default.createElement("div",{className:"form-actions"},de.default.createElement(_,{kind:"primary",disabled:s.busy||!f,onClick:()=>{a(null),m(!1),u.act(L,!0)}},"\u786E\u8BA4",C),de.default.createElement(_,{disabled:s.busy,kind:"secondary",onClick:()=>{a(null),m(!1)}},"\u53D6\u6D88"))));return de.default.createElement(V,{title:"\u72EC\u7ACB Node \u8FD0\u884C\u73AF\u5883",sub:"\u7F3A\u5C11\u5408\u9002 Node \u65F6\u5148\u51C6\u5907\uFF1B\u5DF2\u6709\u7CFB\u7EDF Node \u4E5F\u53EF\u9009\u62E9\u72EC\u7ACB\u7248\u672C\uFF0C\u4E0D\u66FF\u6362\u539F\u7248\u672C\u3002",icon:"terminal",extra:de.default.createElement(ve,null,"\u5355\u72EC\u786E\u8BA4 \xB7 \u624B\u52A8\u5237\u65B0")},de.default.createElement(S,{label:"\u6301\u4E45\u8BB0\u5F55",value:Jo[s.record?.state]??"\u5C1A\u672A\u8BFB\u53D6"}),c&&de.default.createElement(S,{label:"\u5B89\u88C5\u8FDB\u7A0B",value:Jo[c.state]??"\u5F85\u6838\u5BF9"}),de.default.createElement("p",{className:"fine-print"},s.fresh?"\u6700\u8FD1\u89C2\u5BDF\uFF1A"+new Date(s.observedAt).toLocaleString()+"\uFF0C\u6267\u884C\u524D\u4ECD\u91CD\u65B0\u6838\u9A8C\u3002":"\u5F53\u524D\u663E\u793A\u5386\u53F2\u56DE\u6267\uFF1B\u91CD\u65B0\u6253\u5F00\u9875\u9762\u4E0D\u4F1A\u81EA\u52A8\u8FDE\u63A5\u3001\u5B89\u88C5\u6216\u91CD\u8BD5\u3002"),de.default.createElement("div",{className:"form-actions"},de.default.createElement(_,{icon:"search",disabled:!p.preview,onClick:()=>r("preview")},"\u9884\u89C8\u4E13\u7528 Node \u8BA1\u5212"),de.default.createElement(_,{icon:"reset",disabled:!p.refresh,onClick:()=>r("refresh")},"\u624B\u52A8\u5237\u65B0 Node \u72B6\u6001"),!s.loaded&&de.default.createElement(_,{disabled:s.busy,onClick:()=>r("load")},"\u91CD\u8BFB Node \u8D26\u672C")),s.busy&&de.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u672C\u6B21 Node \u8BF7\u6C42\uFF1B\u4E0B\u8F7D\u548C\u5B89\u88C5\u4F7F\u7528\u72EC\u7ACB\u8FDB\u7A0B\u3002"),o&&de.default.createElement(x,{tone:"warn"},de.default.createElement("span",{role:"alert"},bl[o]??"\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u6216\u6539\u7528\u7CFB\u7EDF Node\u3002"),de.default.createElement("code",null,o)),i&&de.default.createElement("div",{className:"cloud-plan"},de.default.createElement(S,{label:"\u56FA\u5B9A\u5B98\u65B9\u7248\u672C",value:`Node ${i.remote.release.version} / ${i.remote.arch}`}),de.default.createElement(S,{label:"\u4E0B\u8F7D\u6765\u6E90",value:"nodejs.org \xB7 HTTPS \xB7 \u56FA\u5B9A SHA-256 \u6821\u9A8C"}),de.default.createElement("div",{className:"path-line"},de.default.createElement("span",null,"\u4E13\u7528 Node \u76EE\u5F55"),de.default.createElement("code",null,i.remote.root)),de.default.createElement("div",{className:"path-line"},de.default.createElement("span",null,"\u53D1\u884C\u5305 SHA-256"),de.default.createElement("code",null,i.remote.release.sha256)),de.default.createElement(x,null,"\u53EA\u51C6\u5907 Node \u4E0E\u53D1\u884C\u5305\u81EA\u5E26\u7684 npm\uFF1B\u4E0D\u5B89\u88C5 DSH\u3001\u4E0D\u542F\u52A8\u670D\u52A1\u3001\u4E0D\u8C03\u7528\u6A21\u578B\u3002\u652F\u6301 Linux x64 / arm64\u3001\u5185\u6838 4.18+\u3001glibc 2.28+\u3001Python 3.8+\u3002\u82E5\u4E0D\u6EE1\u8DB3\u6761\u4EF6\u4F1A\u505C\u6B62\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u7CFB\u7EDF\u7EC4\u4EF6\u3002"),de.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(i.expiresAt).toLocaleString(),"\u3002",!i.canStart&&" \u5F53\u524D\u76EE\u5F55\u5DF2\u5B58\u5728\u3001\u7A7A\u95F4\u4E0D\u8DB3\u6216\u4E0D\u53EF\u5199\uFF0C\u9700\u8981\u5148\u6838\u5BF9\u3002"),d("start","\u51C6\u5907\u4E13\u7528 Node","\u5C06\u4E0B\u8F7D\u4E0A\u65B9\u56FA\u5B9A\u5B98\u65B9\u53D1\u884C\u5305\uFF0C\u9A8C\u8BC1\u54C8\u5E0C\u540E\u5728\u4E13\u7528\u76EE\u5F55\u5C55\u5F00\u3002\u672A\u77E5\u540C\u540D\u76EE\u5F55\u4E0D\u4F1A\u8986\u76D6\u3002")),c?.root&&de.default.createElement("div",{className:"path-line"},de.default.createElement("span",null,"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),de.default.createElement("code",null,c.root)),c?.state==="ready"&&de.default.createElement(x,null,"\u540E\u7EED\u4E91\u7AEF\u8BA1\u5212\u4F1A\u91CD\u65B0\u6838\u9A8C\u5E76\u4F7F\u7528\u6B64\u4E13\u7528 Node\u3002\u8BF7\u91CD\u65B0\u751F\u6210\u4E0B\u65B9\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212\uFF1B\u4E0D\u80FD\u7528\u65E7\u57FA\u7EBF\u7EE7\u7EED\u5B89\u88C5\u3002"),d("stop","\u505C\u6B62 Node \u51C6\u5907\u8FDB\u7A0B","\u53EA\u505C\u6B62\u672C\u4E8B\u52A1\u8BB0\u5F55\u4E14\u51FA\u751F\u8EAB\u4EFD\u4E00\u81F4\u7684\u8FDB\u7A0B\u3002\u4FDD\u7559\u6587\u4EF6\u7528\u4E8E\u6838\u5BF9\uFF0C\u4E0D\u505C\u6B62\u5176\u4ED6\u670D\u52A1\u3002"),d("rollback","\u79FB\u9664\u4E13\u7528 Node","\u6309\u5F52\u5C5E\u8D26\u672C\u9010\u9879\u6838\u9A8C\u540E\u6E05\u7406\u3002\u5148\u6E05\u7406\u4F9D\u8D56\u5B83\u7684\u72EC\u7ACB Host\uFF1B\u6709\u6587\u4EF6\u53D8\u5316\u6216\u672A\u77E5\u5185\u5BB9\u65F6\u4FDD\u7559\u73B0\u573A\u3002\u5171\u4EAB\u7236\u76EE\u5F55\u4E0D\u4F1A\u9012\u5F52\u5220\u9664\u3002"))}var Ne=Ce(ge());function er(e){let t=e.repairStatus?.repair,s=e.repairStatus?.activation,n=s?.contract===1&&Number.isSafeInteger(s.observedAt)&&s.observedAt>0,u=n&&s.repairId===t?.id&&s.sameRecordedRepair===!0&&s.sameRecordedHost===!0,l=t?.activationSupported!==!1&&u&&t?.state==="committed"&&s.activationVerified===!0&&s.cached===!1&&e.repairFresh===!0,a=l?"\u672C\u6B21\u72EC\u7ACB\u6838\u9A8C\u901A\u8FC7":n?"\u5DF2\u6709\u5386\u53F2\u6838\u9A8C\u8BB0\u5F55":"\u5C1A\u672A\u72EC\u7ACB\u6838\u9A8C",f=null;return t?.state==="committed"&&(t.activationSupported===!1?f="\u5F53\u524D\u4EC5\u8BC1\u660E\u7B7E\u540D\u5386\u53F2\u4E2D\u7684\u540C\u7248\u672C\u6587\u4EF6\u5DF2\u4FEE\u590D\uFF1B\u8BE5\u8DEF\u5F84\u7684\u72EC\u7ACB\u52A0\u8F7D\u56DE\u6267\u5C1A\u672A\u63D0\u4F9B\uFF0C\u4E0D\u7B49\u4E8E\u5728\u7EBF\u751F\u6548\u3002\u91CD\u542F\u4ECD\u9700\u53E6\u884C\u9884\u89C8\u3001\u786E\u8BA4\u3002":l?f="\u672C\u6B21\u65B0\u8FDB\u7A0B\u52A0\u8F7D\u6838\u9A8C\u5DF2\u901A\u8FC7\uFF0C\u65E0\u9700\u4E3A\u8FD9\u6761\u56DE\u6267\u91CD\u590D\u91CD\u542F\u3002\u7ED3\u679C\u4EC5\u4EE3\u8868\u6838\u9A8C\u65F6\u523B\uFF0C\u4E0D\u4FDD\u8BC1\u6301\u7EED\u5728\u7EBF\uFF1B\u518D\u6B21\u89C2\u5BDF\u9700\u624B\u52A8\u64CD\u4F5C\u3002":u?f="\u5DF2\u4FDD\u7559\u8FD9\u6B21\u4FEE\u590D\u4E0E\u5DF2\u767B\u8BB0 Host \u7684\u5386\u53F2\u6838\u9A8C\uFF0C\u4E0D\u4EE3\u8868\u5F53\u524D\u5728\u7EBF\u3002\u9700\u8981\u4E86\u89E3\u73B0\u5728\u7684\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u56E0\u5386\u53F2\u8BB0\u5F55\u81EA\u52A8\u91CD\u542F\u6216\u91CD\u590D\u6838\u9A8C\u3002":n?f="\u5386\u53F2\u56DE\u6267\u4E0E\u5F53\u524D\u5DF2\u767B\u8BB0\u7684\u4FEE\u590D\u6216 Host \u4E0D\u4E00\u81F4\uFF0C\u4E0D\u80FD\u6CBF\u7528\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u5F53\u524D\u8FDB\u7A0B\uFF1B\u9700\u8981\u91CD\u542F\u65F6\u4ECD\u987B\u53E6\u884C\u9884\u89C8\u3001\u786E\u8BA4\u3002":f="\u6587\u4EF6\u4FEE\u590D\u6210\u529F\u4E0D\u7B49\u4E8E\u5DF2\u7ECF\u52A0\u8F7D\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF1B\u53EA\u6709\u672C\u6B21\u4FEE\u590D\u4E4B\u540E\u72EC\u7ACB\u786E\u8BA4\u7684\u65B0\u542F\u52A8\u624D\u80FD\u8FDB\u884C\u751F\u6548\u6838\u9A8C\uFF0C\u4E0D\u6CBF\u7528\u4FEE\u590D\u524D\u7684\u8FDB\u7A0B\u8BB0\u5F55\u3002"),{label:a,guidance:f,observedAt:n?s.observedAt:null,matching:u,passed:l}}var yl={not_started:"\u5C1A\u65E0\u4FEE\u590D\u8BB0\u5F55",committed:"\u540C\u7248\u672C\u6587\u4EF6\u5DF2\u4FEE\u590D",rolled_back:"\u4FEE\u590D\u5DF2\u56DE\u6EDA",needs_review:"\u4FEE\u590D\u4E2D\u65AD\uFF0C\u5F85\u6838\u5BF9",applying:"\u4FEE\u590D\u7ED3\u679C\u5F85\u6838\u5BF9",refused:"\u672C\u6B21\u4FEE\u590D\u672A\u6267\u884C",planned:"\u4FEE\u590D\u8BA1\u5212\u5C1A\u672A\u6267\u884C",preparing:"\u4FEE\u590D\u9884\u89C8\u5F85\u6838\u5BF9"};function ar({s:e,actions:t,act:s,confirm:n}){if(!e.repairCapability?.supported)return null;let u=e.repairPlan,l=e.repairStatus?.repair,a=e.repairStatus?.activation,f=e.repairCapability.activationSupported&&l?.activationSupported!==!1&&u?.activationSupported!==!1,m=er(e),p=m.observedAt?new Date(m.observedAt).toLocaleString():null;return Ne.default.createElement("section",{className:"cloud-plan plugin-repair","aria-label":"\u81EA\u6709\u63D2\u4EF6\u4FEE\u590D\u4E0E\u751F\u6548\u6838\u9A8C"},Ne.default.createElement("h3",null,"\u81EA\u6709\u63D2\u4EF6\u4FEE\u590D\u4E0E\u751F\u6548\u6838\u9A8C"),Ne.default.createElement("p",null,"\u53EA\u4ECE\u7B7E\u540D\u5386\u53F2\u5BF9\u5E94\u7684\u540C\u7248\u672C\u5F52\u6863\u6062\u590D\u5DF2\u5217\u51FA\u7684\u81EA\u6709\u6587\u4EF6\u3002\u4E0D\u4FEE\u6539 DSH\u3001\u7B2C\u4E09\u65B9\u63D2\u4EF6\u3001\u7528\u6237\u89C4\u5219\u3001\u51ED\u636E\u6216\u4EFB\u52A1\u6210\u679C\u3002"),(u?.version||l?.version)&&Ne.default.createElement(S,{label:"\u4FEE\u590D\u7248\u672C",value:u?.version??l.version}),Ne.default.createElement(S,{label:"\u6587\u4EF6\u4FEE\u590D",value:e.repairPending?"\u539F\u4FEE\u590D\u4E8B\u52A1\u5F85\u6838\u5BF9":yl[l?.state]??"\u5C1A\u672A\u6838\u5BF9"}),Ne.default.createElement(S,{label:"\u52A0\u8F7D\u751F\u6548",value:m.label}),p&&Ne.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",p,"\u3002\u8FD9\u662F\u5F53\u65F6\u7684\u89C2\u5BDF\uFF0C\u4E0D\u662F\u5B9E\u65F6\u5728\u7EBF\u4FDD\u8BC1\u3002",(!a.sameRecordedRepair||!a.sameRecordedHost)&&" \u8BB0\u5F55\u4E0E\u5F53\u524D\u5DF2\u767B\u8BB0\u7684\u4FEE\u590D\u6216 Host \u4E0D\u540C\uFF0C\u4E0D\u80FD\u6CBF\u7528\u3002"),!e.repairFresh&&Ne.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u663E\u793A\u672C\u5730\u5386\u53F2\u56DE\u6267\uFF1B\u4E0A\u65B9\u624B\u52A8\u5237\u65B0\u624D\u4F1A\u67E5\u8BE2\u8FDC\u7AEF\uFF0C\u4E0D\u81EA\u52A8\u4FEE\u590D\u6216\u91CD\u542F\u3002"),e.repairPending&&Ne.default.createElement(x,{tone:"warn"},"\u4E0D\u8981\u91CD\u590D\u5E94\u7528\u6216\u53E6\u5EFA\u4E8B\u52A1\u3002\u5148\u624B\u52A8\u5237\u65B0\u539F\u8BB0\u5F55\uFF1B\u786E\u8BA4\u8FDC\u7AEF\u4E2D\u65AD\u53CA Host \u5DF2\u505C\u6B62\u540E\uFF0C\u624D\u53EF\u5355\u72EC\u6062\u590D\u539F\u4E8B\u52A1\u3002"),Ne.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4FEE\u590D\u64CD\u4F5C"},Ne.default.createElement(_,{disabled:!t.runtime_repair_preview,onClick:()=>s("runtime_repair_preview")},"\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D"),f&&Ne.default.createElement(_,{disabled:!t.runtime_repair_verify,onClick:()=>s("runtime_repair_verify")},"\u6838\u9A8C\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D")),u&&Ne.default.createElement("div",{className:"cloud-confirm","aria-label":"\u4FEE\u590D\u5DEE\u5F02\u8BA1\u5212"},Ne.default.createElement(S,{label:"\u5F85\u4FEE\u590D\u6587\u4EF6",value:u.changes.length+" \u9879"}),u.changes.length>0&&Ne.default.createElement("details",{open:u.changes.length<=8},Ne.default.createElement("summary",null,"\u67E5\u770B\u6587\u4EF6\u5DEE\u5F02"),Ne.default.createElement("ul",null,u.changes.map(i=>Ne.default.createElement("li",{className:"plan-item",key:i.path},Ne.default.createElement("code",null,i.path)," \xB7 ",i.action==="create"?"\u6062\u590D\u7F3A\u5931\u6587\u4EF6":"\u6062\u590D\u5F52\u6863\u5185\u5BB9")))),Ne.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(u.expiresAt).toLocaleString(),"\u3002\u6267\u884C\u524D\u91CD\u65B0\u6838\u9A8C\u505C\u673A\u3001\u5F52\u5C5E\u4E0E\u6587\u4EF6\uFF1B\u672A\u77E5\u5185\u5BB9\u4FDD\u7559\u3002"),!u.canApply&&Ne.default.createElement(x,null,"\u6CA1\u6709\u9700\u8981\u4FEE\u590D\u7684\u81EA\u6709\u6587\u4EF6\uFF1B\u4E0D\u4F1A\u6267\u884C\u7A7A\u4E8B\u52A1\u3002"),n("runtime_repair_apply","\u4FEE\u590D\u5DF2\u5217\u51FA\u7684\u6587\u4EF6","\u4EC5\u66FF\u6362\u4E0A\u65B9\u786E\u5207\u6587\u4EF6\uFF0C\u4FDD\u5B58\u9519\u8BEF\u5185\u5BB9\u5907\u4EFD\u548C\u7B7E\u540D\u5F52\u5C5E\u589E\u91CF\uFF1B\u4E0D\u66F4\u65B0\u6574\u4F53\u5F52\u5C5E\u6E05\u5355\uFF0C\u4E0D\u542F\u52A8 Host\u3002")),n("runtime_repair_recover","\u6062\u590D\u539F\u4FEE\u590D\u4E8B\u52A1","\u53EA\u6838\u5BF9\u5E76\u6062\u590D\u539F\u4E8B\u52A1\uFF1B\u53D1\u751F\u51B2\u7A81\u5219\u4FDD\u7559\u5F85\u6838\u5BF9\uFF0C\u4E0D\u91CD\u53D1\u539F\u5E94\u7528\uFF0C\u4E0D\u63A5\u7BA1\u672A\u77E5\u6587\u4EF6\uFF0C\u4E0D\u542F\u52A8 Host\u3002"),m.guidance&&Ne.default.createElement(x,null,m.guidance),!f&&Ne.default.createElement(x,null,"\u6B64\u4FEE\u590D\u8DEF\u5F84\u5C1A\u4E0D\u63D0\u4F9B\u72EC\u7ACB\u751F\u6548\u6838\u9A8C\uFF1B\u4FDD\u7559\u6587\u4EF6\u56DE\u6267\uFF0C\u4E0D\u5BA3\u79F0\u5728\u7EBF\u52A0\u8F7D\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u66F4\u6362\u539F\u63A7\u5236\u5668\u3002"))}var y=Ce(ge());var rr={requested:"\u8BF7\u6C42\u5DF2\u767B\u8BB0\uFF0C\u5F85\u6838\u5BF9",observed:"\u5DF2\u6536\u5230\u56DE\u6267",ready:"\u5019\u9009\u5DF2\u63A5\u6536",receiving:"\u63A5\u6536\u4E2D",committed:"\u6587\u4EF6\u4E8B\u52A1\u5DF2\u5B8C\u6210",rolled_back:"\u5DF2\u6062\u590D\u539F\u6587\u4EF6",needs_review:"\u9700\u6838\u5BF9",refused:"\u6267\u884C\u524D\u5DF2\u62D2\u7EDD",version_outcome_unknown:"\u5207\u6362\u7ED3\u679C\u672A\u77E5",artifacts_outcome_unknown:"\u89C4\u5219\u914D\u5957\u7ED3\u679C\u672A\u77E5"},wl=["receive","apply","rollback","recover","rules_apply","rules_recover"],tr={candidate_preview:"receive",preview:"apply",rollback_preview:"rollback",recover_preview:"recover",rules_preview:"rules_apply",rules_recover_preview:"rules_recover"},or=(e,t)=>e?.filter(s=>s.targetId===t&&s.receipt?.state!=="refused").at(-1);function Rt(e,{stopped:t=!1}={},s=Date.now()){let n=e.loaded&&!e.busy,u=e.versions,l=e.artifacts,a=u?.pending||l?.pending,f=or(u?.requests,e.versionId),m=or(l?.requests,e.artifactId),p=[...u?.requests??[],...l?.requests??[]].some(o=>o.state==="requested"),i=n&&u?.supported,c=e.plan;return{load:!e.busy,candidate_preview:i&&!a&&!e.uncertain,candidate_status:i&&!!e.candidateId,preview:i&&t&&!a&&!e.uncertain&&u?.requests?.some(o=>o.action==="receive"&&o.targetId===e.candidateId&&o.receipt?.state==="ready"),status:i&&!!e.versionId,rollback_preview:i&&t&&!a&&!e.uncertain&&f?.receipt?.state==="committed",recover_preview:i&&t&&!e.uncertain&&!p&&!l?.pending&&f?.receipt?.recoveryRequired===!0,rules_preview:n&&t&&l?.supported&&!a&&!e.uncertain,rules_status:n&&l?.supported&&!!e.artifactId,activation_status:n&&e.activation?.supported&&!!e.versionId,activation_verify:n&&e.activation?.supported&&!!e.versionId&&!a&&!e.uncertain&&["committed","rolled_back"].includes(f?.receipt?.state),rules_recover_preview:n&&t&&l?.supported&&!e.uncertain&&!p&&!u?.pending&&m?.receipt?.recoveryRequired===!0,confirm:n&&t&&!!c&&c.value.expiresAt>s&&!e.uncertain&&(!a||["recover","rules_recover"].includes(c.action)&&!p)}}function lr(e,t,{operationId:s,onMutation:n=()=>{},now:u=Date.now}={}){let l=!1,a={loaded:!1,busy:null,error:null,uncertain:!1,versions:null,artifacts:null,activation:null,plan:null,candidateId:"",versionId:"",artifactId:"",observation:null,uncertainRequest:null},f=()=>{l||t({...a})},m=(o,r={})=>e("cloud_version",{action:o,operationId:s,...r});function p(o,r,d){if(r.some(C=>C.id===o))return o;let L=d?.find(C=>C.state==="requested"||C.receipt?.recoveryRequired);return r.find(C=>C.id===L?.targetId)?.id??r.at(-1)?.id??""}async function i(){let o=await m("record"),r=await m("rules_record"),d=await m("activation_record");if(o.operationId!==s||r.operationId!==s||d.operationId!==s)throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");a={...a,loaded:!0,versions:o,artifacts:r,activation:d,candidateId:p(a.candidateId,o.candidates??[],o.requests?.filter(h=>h.action==="receive")),versionId:p(a.versionId,o.plans?.filter(h=>h.kind==="apply")??[],o.requests?.filter(h=>h.action!=="receive")),artifactId:p(a.artifactId,r.plans?.filter(h=>h.kind==="apply")??[],r.requests)};let L=a.uncertainRequest,C=L&&(L.rules?r:o).requests?.find(h=>h.key===L.key);L&&C?.state==="observed"&&(a.uncertain=!1,a.uncertainRequest=null)}async function c(o,{confirmed:r=!1,stopped:d=!1}={}){if(l||a.busy)return!1;let L=Rt(a,{stopped:d},u());if(o==="confirm"?!r||!L.confirm:!L[o])return a={...a,error:"ONBOARDING_VERSION_UI_REFRESH_REQUIRED"},f(),!1;let C=a.plan,h=o==="confirm"?C.action:o,g=wl.includes(h);a={...a,busy:h,error:null,...h.startsWith("activation_")?{observation:null}:{},...o==="confirm"?{}:{plan:null}},f();try{if(o==="load")await i(),a.observation=null;else{let v=o==="confirm"?{id:C.value.id,fingerprint:C.value.fingerprint,confirm:!0}:h==="preview"?{candidateId:a.candidateId}:h==="candidate_status"?{id:a.candidateId}:["status","rollback_preview","recover_preview","activation_status","activation_verify"].includes(h)?{id:a.versionId}:["rules_status","rules_recover_preview"].includes(h)?{id:a.artifactId}:{};g&&(a.uncertain=!0,a.uncertainRequest={rules:h.startsWith("rules_"),key:h.replace(/^rules_/,"")+":"+C.value.id},n());let N=await m(h,v);if(a.observation={action:h,value:N,observedAt:u()},tr[h]&&N.id&&N.fingerprint){a.plan={action:tr[h],value:N};let T={candidate_preview:"candidateId",preview:"versionId",rules_preview:"artifactId"}[h];T&&(a[T]=N.id)}else a.plan=null;await i()}return!0}catch(v){return a.error=/^ONBOARDING_[A-Z_]+$/.test(v.message??"")?v.message:"ONBOARDING_UNAVAILABLE",g&&(a.plan=null,a.uncertain=!0),o==="load"&&(a.loaded=!1),!1}finally{a.busy=null,f()}}return{act:c,snapshot:()=>({...a}),select:(o,r)=>{let d=o==="candidateId"?a.versions?.candidates:o==="versionId"?a.versions?.plans?.filter(L=>L.kind==="apply"):a.artifacts?.plans?.filter(L=>L.kind==="apply");return a.busy||!["candidateId","versionId","artifactId"].includes(o)||!d?.some(L=>L.id===r)?!1:(a={...a,[o]:r,plan:null,observation:null},f(),!0)},cancel:()=>{a.busy||(a.plan=null,f())},dispose:()=>{l=!0},resume:()=>{l=!1,f()}}}var Wt={receive:"\u63A5\u6536\u5019\u9009\u6587\u4EF6",apply:"\u5207\u6362\u63D2\u4EF6\u6587\u4EF6",rollback:"\u56DE\u6EDA\u63D2\u4EF6\u6587\u4EF6",recover:"\u6062\u590D\u539F\u6587\u4EF6\u4E8B\u52A1",rules_apply:"\u914D\u5957\u66F4\u65B0\u89C4\u5219\u4E0E Skill",rules_recover:"\u6062\u590D\u539F\u89C4\u5219\u4E8B\u52A1"},Ol={receive:"\u53D1\u9001\u672C\u7AEF\u51BB\u7ED3\u7684\u81EA\u6709\u5019\u9009\u5305\u3002\u4E0D\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u66FF\u6362\u73B0\u7528\u63D2\u4EF6\u3001\u4E0D\u542F\u52A8 Host\u3002",apply:"\u53EA\u5207\u6362\u5F53\u524D\u5DF2\u505C\u6B62 Host \u7684\u81EA\u6709\u63D2\u4EF6\u76EE\u5F55\uFF0C\u4FDD\u7559\u65E7\u7248\u672C\u5907\u4EFD\u3002\u4E4B\u540E\u4ECD\u9700\u89C4\u5219\u914D\u5957\u4E0E\u72EC\u7ACB\u91CD\u542F\u786E\u8BA4\u3002",rollback:"\u53EA\u6062\u590D\u539F\u63D2\u4EF6\u76EE\u5F55\u3002\u4E0D\u4F1A\u987A\u5E26\u8986\u76D6\u7528\u6237\u89C4\u5219\uFF1B\u5982\u89C4\u5219\u7248\u672C\u4E0D\u5339\u914D\uFF0C\u987B\u53E6\u884C\u9884\u89C8\u5E76\u786E\u8BA4\u914D\u5957\u3002",recover:"\u53EA\u6062\u590D\u539F\u4E2D\u65AD\u6587\u4EF6\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u53D1\u5207\u6362\uFF0C\u4E0D\u63A5\u7BA1\u672A\u77E5\u6587\u4EF6\u3002",rules_apply:"\u53EA\u66F4\u65B0\u81EA\u6709\u6258\u7BA1\u5757\u4E0E\u672A\u88AB\u7528\u6237\u4FEE\u6539\u7684 Skill\uFF0C\u4FDD\u7559\u7528\u6237\u524D\u540E\u6587\u5B57\u3001\u51ED\u636E\u548C\u6210\u679C\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u542F\u3002",rules_recover:"\u53EA\u6838\u5BF9\u5E76\u6062\u590D\u539F\u89C4\u5219\u4E8B\u52A1\uFF1B\u7F3A\u5C11\u65E5\u5FD7\u6216\u51FA\u73B0\u51B2\u7A81\u65F6\u4FDD\u7559\u5F85\u6838\u5BF9\uFF0C\u4E0D\u5F3A\u884C\u6E05\u9501\u3002"},zt=e=>rr[e]??"\u5C1A\u672A\u6838\u5BF9";function Kt({label:e,items:t,value:s,onChange:n,disabled:u}){return t?.length>0&&y.default.createElement("label",{className:"version-choice"},y.default.createElement("span",null,e),y.default.createElement("select",{"aria-label":e,value:s,disabled:u,onChange:l=>n(l.target.value)},t.map((l,a)=>y.default.createElement("option",{key:l.id,value:l.id},l.version??`${l.fromVersion} \u2192 ${l.toVersion}`," \xB7 \u7B2C ",a+1," \u6B21"))))}function Dl({request:e,operationId:t,stoppedUntil:s,busy:n,onMutation:u}){let l=(0,y.useRef)(u);l.current=u;let[a,f]=(0,y.useState)({}),[m]=(0,y.useState)(()=>lr(e,f,{operationId:t,onMutation:()=>l.current?.()})),[p,i]=(0,y.useState)(!1),[,c]=(0,y.useState)(0);(0,y.useEffect)(()=>(m.resume(),m.act("load"),()=>m.dispose()),[m]);let o=s>Date.now()&&!n,r=Rt({...a,busy:a.busy||n},{stopped:o}),d=a.plan,L=a.versions,C=a.artifacts;(0,y.useEffect)(()=>{if(i(!1),!d)return;let D=setTimeout(()=>{i(!1),c(O=>O+1)},Math.max(0,d.value.expiresAt-Date.now())+1);return()=>clearTimeout(D)},[d]),(0,y.useEffect)(()=>{if(!s)return;let D=setTimeout(()=>{i(!1),c(O=>O+1)},Math.max(0,s-Date.now())+1);return()=>clearTimeout(D)},[s]);let h=D=>{if(i(!1),!n)return m.act(D,{stopped:s>Date.now()})},g=L?.requests?.filter(D=>D.targetId===a.versionId).at(-1),v=C?.requests?.filter(D=>D.targetId===a.artifactId).at(-1),N=a.observation?.value,T=d?.value?.changes,w=N?.scope==="maintained_plugin_version_observed"?N:null,P=a.activation?.records?.filter(D=>D.requestedTransactionId===a.versionId).at(-1);return y.default.createElement("div",{className:"version-maintenance-body"},y.default.createElement("p",{className:"fine-print"},"\u91CD\u65B0\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u5386\u53F2\u3002\u67E5\u8BE2\u8FDC\u7AEF\u3001\u6587\u4EF6\u5207\u6362\u3001\u89C4\u5219\u914D\u5957\u548C\u91CD\u542F\u5206\u522B\u64CD\u4F5C\uFF1B\u4E0D\u4F1A\u5B9A\u65F6\u5237\u65B0\u3002"),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{icon:"reset",disabled:!r.load,onClick:()=>h("load")},"\u91CD\u8BFB\u672C\u7AEF\u7EF4\u62A4\u8BB0\u5F55")),a.busy&&y.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u7EF4\u62A4\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&y.default.createElement(x,{tone:"warn"},y.default.createElement("span",{role:"alert"},"\u7ED3\u679C\u5C1A\u9700\u6838\u5BF9\u3002\u8BF7\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u5019\u9009\u6216\u4E8B\u52A1\uFF1B\u4E0D\u8981\u56E0\u62A5\u9519\u91CD\u65B0\u53D1\u9001\u3002"),y.default.createElement("code",null,a.error)),(L?.pending||C?.pending||a.uncertain)&&y.default.createElement(x,{tone:"warn"},"\u5B58\u5728\u672A\u6838\u5BF9\u8BF7\u6C42\u3002\u65B0\u5207\u6362\u548C\u91CD\u542F\u4ECD\u88AB\u95E8\u7981\u963B\u6B62\uFF1B\u67E5\u8BE2\u4E0D\u4EE3\u8868\u91CD\u65B0\u6267\u884C\u3002"),a.loaded&&!L?.supported&&y.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u7248\u672C\u7EF4\u62A4\u5951\u7EA6\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u63A5\u7BA1\u3002"),L?.supported&&y.default.createElement(y.default.Fragment,null,!o&&y.default.createElement(x,null,"\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C\u72B6\u6001\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u505C\u673A\u5E76\u6838\u5BF9\u9000\u51FA\u3002\u6587\u4EF6\u64CD\u4F5C\u9700\u8981\u9000\u51FA\u8BC1\u660E\uFF1B\u8BFB\u53D6\u52A0\u8F7D\u72B6\u6001\u4E0D\u8981\u6C42\u505C\u673A\uFF0C\u4E5F\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u673A\u3002"),y.default.createElement("ol",{className:"phase-timeline version-phases"},y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"1"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u51C6\u5907\u81EA\u6709\u5019\u9009"),y.default.createElement("p",null,"\u53EA\u53D6\u672C\u7AEF\u81EA\u6709\u5206\u53D1\u5305\uFF1B\u9884\u89C8\u4F1A\u4FDD\u5B58\u672C\u5730\u51BB\u7ED3\u5FEB\u7167\uFF0C\u4E0D\u8054\u7CFB ECS\u3002"),y.default.createElement(Kt,{label:"\u5019\u9009\u7248\u672C",items:L.candidates,value:a.candidateId,disabled:!!a.busy,onChange:D=>m.select("candidateId",D)}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.candidate_preview,onClick:()=>h("candidate_preview")},"\u9884\u89C8\u672C\u7AEF\u5019\u9009"),y.default.createElement(_,{disabled:!r.candidate_status,onClick:()=>h("candidate_status")},"\u6838\u5BF9\u5019\u9009\u63A5\u6536")))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"2"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u5207\u6362\u63D2\u4EF6\u6587\u4EF6"),y.default.createElement(S,{label:"\u5386\u53F2\u6587\u4EF6\u56DE\u6267",value:g?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":zt(g?.receipt?.state)}),y.default.createElement(Kt,{label:"\u6587\u4EF6\u7248\u672C\u4E8B\u52A1",items:L.plans?.filter(D=>D.kind==="apply"),value:a.versionId,disabled:!!a.busy,onChange:D=>m.select("versionId",D)}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.preview,onClick:()=>h("preview")},"\u9884\u89C8\u6587\u4EF6\u5207\u6362"),y.default.createElement(_,{disabled:!r.status,onClick:()=>h("status")},"\u67E5\u8BE2\u539F\u6587\u4EF6\u4E8B\u52A1"),y.default.createElement(_,{disabled:!r.rollback_preview,onClick:()=>h("rollback_preview")},"\u9884\u89C8\u6587\u4EF6\u56DE\u6EDA"),y.default.createElement(_,{disabled:!r.recover_preview,onClick:()=>h("recover_preview")},"\u9884\u89C8\u4E2D\u65AD\u6062\u590D")))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"3"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u914D\u5957\u89C4\u5219\u4E0E Skill"),y.default.createElement(S,{label:"\u5386\u53F2\u89C4\u5219\u56DE\u6267",value:v?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":zt(v?.receipt?.state)}),y.default.createElement(Kt,{label:"\u89C4\u5219\u914D\u5957\u4E8B\u52A1",items:C?.plans?.filter(D=>D.kind==="apply"),value:a.artifactId,disabled:!!a.busy,onChange:D=>m.select("artifactId",D)}),C?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.rules_preview,onClick:()=>h("rules_preview")},"\u9884\u89C8\u89C4\u5219\u914D\u5957"),y.default.createElement(_,{disabled:!r.rules_status,onClick:()=>h("rules_status")},"\u67E5\u8BE2\u539F\u89C4\u5219\u4E8B\u52A1"),y.default.createElement(_,{disabled:!r.rules_recover_preview,onClick:()=>h("rules_recover_preview")},"\u9884\u89C8\u89C4\u5219\u6062\u590D")):y.default.createElement(x,null,"\u539F\u5F52\u6863\u4E0D\u652F\u6301\u89C4\u5219\u914D\u5957\uFF1B\u4E0D\u80FD\u4EC5\u51ED\u63D2\u4EF6\u6587\u4EF6\u5207\u6362\u5C31\u542F\u52A8\u65B0\u7248\u672C\u3002"))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"4"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u6838\u9A8C\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D"),y.default.createElement("p",null,"\u914D\u5957\u540E\u5148\u5728\u4E0A\u65B9\u53E6\u884C\u786E\u8BA4\u91CD\u542F\uFF0C\u518D\u624B\u52A8\u6838\u9A8C\u3002\u4E0D\u8981\u6C42\u5148\u4FEE\u590D\u6587\u4EF6\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u8F6E\u8BE2\u3002"),y.default.createElement(S,{label:"\u5386\u53F2\u52A0\u8F7D\u89C2\u5BDF",value:P?.observedAt?`${P.pluginVersion} \xB7 ${new Date(P.observedAt).toLocaleString()}`:"\u5C1A\u65E0\u5DF2\u8BB0\u5F55\u7684\u52A0\u8F7D\u89C2\u5BDF"}),y.default.createElement("p",{className:"fine-print"},"\u5386\u53F2\u8BB0\u5F55\u4E0D\u662F\u5F53\u524D\u5728\u7EBF\u8BC1\u660E\u3002\u6838\u9A8C\u53EA\u4EE3\u8868\u8BE5\u65F6\u523B\u7248\u672C\u3001\u89C4\u5219\u548C Skill \u4E00\u81F4\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u6216\u53D1\u5E03\u6743\u9650\u3002"),a.activation?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{disabled:!r.activation_status,onClick:()=>h("activation_status")},"\u67E5\u8BE2\u5386\u53F2\u52A0\u8F7D\u8BB0\u5F55"),y.default.createElement(_,{icon:"check",disabled:!r.activation_verify,onClick:()=>h("activation_verify")},"\u624B\u52A8\u6838\u9A8C\u5F53\u524D\u52A0\u8F7D")):y.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u666E\u901A\u7248\u672C\u52A0\u8F7D\u6838\u9A8C\u5951\u7EA6\uFF1B\u66F4\u65B0\u63D2\u4EF6\u6587\u4EF6\u4E0D\u80FD\u8865\u6388\u65E7\u63A7\u5236\u5668\u6743\u9650\u3002"),w&&y.default.createElement(x,{tone:w.activationVerified?"info":"warn"},y.default.createElement("strong",null,w.activationVerified?"\u672C\u6B21\u52A0\u8F7D\u6838\u9A8C\u901A\u8FC7":"\u4EC5\u67E5\u8BE2\u5230\u5386\u53F2\u8BB0\u5F55\uFF0C\u672A\u6838\u9A8C\u5728\u7EBF\u72B6\u6001"),y.default.createElement("p",null,w.pluginVersion?`\u89C2\u5BDF\u7248\u672C\uFF1A${w.pluginVersion}\u3002`:"\u5C1A\u65E0\u6210\u529F\u52A0\u8F7D\u89C2\u5BDF\u3002",w.observedAt&&`\u89C2\u5BDF\u65F6\u95F4\uFF1A${new Date(w.observedAt).toLocaleString()}\u3002`),!w.activationVerified&&w.observedAt&&(!w.sameRecordedRelease||!w.sameRecordedHost)&&y.default.createElement("p",null,"\u8BB0\u5F55\u6240\u5C5E\u7248\u672C\u6216\u8FDB\u7A0B\u5DF2\u6539\u53D8\uFF0C\u4E0D\u53EF\u4F5C\u4E3A\u5F53\u524D\u751F\u6548\u4F9D\u636E\u3002"))))),N&&!w&&y.default.createElement("div",{className:"version-observation","aria-live":"polite"},y.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),y.default.createElement("p",null,N.artifactsMatched?"\u89C4\u5219\u4E0E\u5F53\u524D\u955C\u50CF\u7684\u5185\u5BB9\u5339\u914D\uFF1B\u5C1A\u672A\u8BC1\u660E\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D\u3002":N.canApply===!1?"\u5F53\u524D\u6CA1\u6709\u53EF\u6267\u884C\u7684\u914D\u5957\u8BA1\u5212\uFF1B\u8BF7\u67E5\u770B\u51B2\u7A81\u6216\u5DF2\u5339\u914D\u8BF4\u660E\u3002":N.state?zt(N.state):"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8BA1\u5212\u3002"),N.conflicts?.length>0&&y.default.createElement("ul",null,N.conflicts.map((D,O)=>y.default.createElement("li",{key:O},y.default.createElement("code",null,D.code),D.path&&y.default.createElement("span",null," \xB7 ",D.path))))),d&&y.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":Wt[d.action]+"\u786E\u8BA4"},y.default.createElement("h3",null,Wt[d.action]),y.default.createElement("p",null,Ol[d.action]),y.default.createElement(S,{label:"\u7248\u672C",value:d.value.version??d.value.targetVersion??`${d.value.fromVersion??""} \u2192 ${d.value.toVersion??""}`}),T&&y.default.createElement("details",null,y.default.createElement("summary",null,"\u67E5\u770B ",T.length," \u9879\u6587\u4EF6\u53D8\u5316"),y.default.createElement("ul",null,T.map(D=>y.default.createElement("li",{className:"plan-item",key:D.path},y.default.createElement("code",null,D.path)," \xB7 ",D.action)))),y.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.value.expiresAt).toLocaleString(),"\u3002\u5173\u95ED\u6216\u53D6\u6D88\u4E0D\u4F1A\u7EED\u7528\u6279\u51C6\u3002"),!r.confirm&&y.default.createElement(x,{tone:"warn"},"\u786E\u8BA4\u6682\u4E0D\u53EF\u6267\u884C\uFF1A\u8BF7\u6838\u5BF9\u505C\u673A\u72B6\u6001\u3001\u672A\u77E5\u8BF7\u6C42\u6216\u8BA1\u5212\u6709\u6548\u671F\u3002\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),y.default.createElement(R,{title:"\u6211\u5DF2\u6838\u5BF9\u672C\u6B21\u6587\u4EF6\u7EF4\u62A4\u8303\u56F4",sub:"\u4E0D\u81EA\u52A8\u91CD\u542F\uFF0C\u4E0D\u5F00\u653E\u4E1A\u52A1\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u3002",checked:p,onChange:i,disabled:!r.confirm}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(_,{kind:"primary",disabled:!r.confirm||!p,onClick:()=>{i(!1),n||m.act("confirm",{confirmed:!0,stopped:s>Date.now()})}},"\u786E\u8BA4",Wt[d.action]),y.default.createElement(_,{disabled:!!a.busy,onClick:()=>{i(!1),m.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4"))),y.default.createElement(x,null,"\u6587\u4EF6\u5207\u6362 \u2260 \u89C4\u5219\u914D\u5957 \u2260 \u52A0\u8F7D\u751F\u6548\u3002\u5B8C\u6210\u914D\u5957\u540E\u8BF7\u5728\u4E0A\u65B9\u91CD\u65B0\u6838\u9A8C\u72B6\u6001\u3001\u72EC\u7ACB\u786E\u8BA4\u91CD\u542F\uFF1B\u518D\u624B\u52A8\u6838\u9A8C\u65B0\u8FDB\u7A0B\u52A0\u8F7D\uFF0C\u4E0D\u80FD\u628A\u5386\u53F2\u6587\u4EF6\u56DE\u6267\u5F53\u4F5C\u5728\u7EBF\u8BC1\u660E\u3002")))}function sr(e){let[t,s]=(0,y.useState)(!1);return y.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u81EA\u6709\u63D2\u4EF6\u7248\u672C\u7EF4\u62A4"},y.default.createElement("div",{className:"version-heading"},y.default.createElement("div",null,y.default.createElement("h3",null,"\u81EA\u6709\u63D2\u4EF6\u7248\u672C\u7EF4\u62A4"),y.default.createElement("p",null,"\u6587\u4EF6\u3001\u89C4\u5219\u3001\u91CD\u542F\u4E0E\u52A0\u8F7D\u6838\u9A8C\u5206\u5F00\u3002\u4FDD\u7559\u7528\u6237\u89C4\u5219\u548C\u539F\u7248\u672C\u5907\u4EFD\u3002")),y.default.createElement(Ge,{pose:"tasks"})),y.default.createElement(_,{"aria-expanded":t,disabled:e.busy,onClick:()=>s(n=>!n)},t?"\u6536\u8D77\u7248\u672C\u7EF4\u62A4":"\u5C55\u5F00\u7248\u672C\u7EF4\u62A4"),t&&y.default.createElement(Dl,{...e}))}var F=Ce(ge());var nr={intent:"\u5378\u8F7D\u610F\u56FE\u5DF2\u767B\u8BB0\uFF0C\u9700\u6838\u5BF9",rules_removed:"\u89C4\u5219\u5DF2\u64A4\u4E0B\uFF0C\u63D2\u4EF6\u9000\u5F79\u5F85\u6838\u5BF9",capturing:"\u63D2\u4EF6\u9000\u5F79\u4E2D\uFF0C\u9700\u6838\u5BF9",committed:"\u81EA\u6709\u80FD\u529B\u5DF2\u5378\u8F7D\uFF0C\u6570\u636E\u4E0E\u5907\u4EFD\u4FDD\u7559",rolled_back:"\u5DF2\u6062\u590D\u539F\u72B6\u6001",refused:"\u672C\u6B21\u64CD\u4F5C\u6267\u884C\u524D\u5DF2\u62D2\u7EDD",uninstall_outcome_unknown:"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5"},El=e=>e.record?.requests?.filter(t=>t.targetId===e.id&&t.receipt?.state!=="refused").at(-1);function Xt(e,{stopped:t=!1}={},s=Date.now()){let n=e.loaded&&!e.busy&&e.record?.supported,u=El(e),l=e.record?.requests?.some(f=>f.state==="requested"),a=n&&t&&!e.otherPending&&!e.uncertain&&!l&&u?.receipt?.recoveryRequired===!0;return{load:!e.busy,preview:n&&t&&!e.otherPending&&!e.uncertain&&!e.record.blocked,status:n&&!!e.id,recover_preview:a,confirm:n&&t&&!e.otherPending&&!e.uncertain&&e.plan?.value.expiresAt>s&&(e.plan.action==="apply"?!e.record.blocked:a)}}function ir(e,t,{operationId:s,onMutation:n=()=>{},now:u=Date.now}={}){let l=!1,a={loaded:!1,busy:null,error:null,record:null,otherPending:!1,id:"",plan:null,observation:null,uncertain:!1,uncertainKey:null},f=()=>{l||t({...a})},m=(c,o={})=>e("cloud_version",{action:"uninstall_"+c,operationId:s,...o});async function p(){let c=await m("record"),o=await e("cloud_version",{action:"record",operationId:s}),r=await e("cloud_version",{action:"rules_record",operationId:s});if([c,o,r].some(h=>h.operationId!==s))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let d=c.plans?.filter(h=>h.kind==="apply")??[],L=c.requests?.find(h=>h.state==="requested"||h.receipt?.recoveryRequired),C=d.some(h=>h.id===a.id)?a.id:d.find(h=>h.id===L?.targetId)?.id??d.at(-1)?.id??"";a={...a,loaded:!0,record:c,otherPending:!!(o.pending||r.pending),id:C},a.uncertainKey&&c.requests?.find(h=>h.key===a.uncertainKey)?.state==="observed"&&(a.uncertain=!1,a.uncertainKey=null)}async function i(c,{confirmed:o=!1,stopped:r=!1}={}){if(l||a.busy)return!1;if(!Xt(a,{stopped:r},u())[c]||c==="confirm"&&!o)return a.error="ONBOARDING_UNINSTALL_UI_REFRESH_REQUIRED",f(),!1;let L=a.plan,C=c==="confirm"?L.action:c,h=c==="confirm";a={...a,busy:C,error:null,...h?{}:{plan:null}},f();try{if(c==="load")await p(),a.observation=null;else{h&&(a.uncertain=!0,a.uncertainKey=C+":"+L.value.id,n());let g=await m(C,h?{id:L.value.id,fingerprint:L.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:C,value:g,observedAt:u()},a.plan=null,["preview","recover_preview"].includes(c)&&g.id&&g.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:g},c==="preview"&&(a.id=g.id)),await p()}return!0}catch(g){return a.error=/^ONBOARDING_[A-Z_]+$/.test(g.message??"")?g.message:"ONBOARDING_UNAVAILABLE",h&&(a.plan=null,a.uncertain=!0),c==="load"&&(a.loaded=!1),!1}finally{a.busy=null,f()}}return{act:i,snapshot:()=>({...a}),select:c=>a.busy||!a.record?.plans?.some(o=>o.kind==="apply"&&o.id===c)?!1:(a={...a,id:c,plan:null,observation:null},f(),!0),cancel:()=>{a.busy||(a.plan=null,f())},dispose:()=>{l=!0},resume:()=>{l=!1,f()}}}var ur=e=>nr[e]??"\u5C1A\u65E0\u5378\u8F7D\u56DE\u6267",Pl={cancel_proven_unstarted_uninstall:"\u53D6\u6D88\u5DF2\u8BC1\u5B9E\u5C1A\u672A\u5F00\u59CB\u7684\u5378\u8F7D",rollback_incomplete_changes:"\u6062\u590D\u539F\u89C4\u5219\u4E0E Skill",finalize_receipt:"\u6838\u5BF9\u5DF2\u79FB\u9664\u89C4\u5219\u5E76\u5B8C\u6210\u63D2\u4EF6\u9000\u5F79",finish_recorded_uninstall:"\u7EE7\u7EED\u6838\u5BF9\u539F\u5378\u8F7D\u8BB0\u5F55"},Bl={user_configuration_credentials_sessions_preserved:"\u914D\u7F6E\u3001\u51ED\u636E\u4E0E\u4F1A\u8BDD\u4FDD\u7559",tasks_and_artifacts_preserved:"\u4EFB\u52A1\u4E0E\u6210\u679C\u4FDD\u7559",all_history_and_retired_image_preserved:"\u5378\u8F7D\u8BB0\u5F55\u3001\u5386\u53F2\u4E0E\u9000\u5F79\u63D2\u4EF6\u5907\u4EFD\u4FDD\u7559",unknown_sidecars_preserved:"\u7528\u6237\u65C1\u7F6E\u6587\u4EF6\u4FDD\u7559"};function Tl({request:e,operationId:t,stoppedUntil:s,busy:n,onMutation:u}){let l=(0,F.useRef)(u);l.current=u;let[a,f]=(0,F.useState)({}),[m]=(0,F.useState)(()=>ir(e,f,{operationId:t,onMutation:()=>l.current?.()})),[p,i]=(0,F.useState)(!1),[,c]=(0,F.useState)(0);(0,F.useEffect)(()=>(m.resume(),m.act("load"),()=>m.dispose()),[m]);let o=s>Date.now()&&!n,r=Xt({...a,busy:a.busy||n},{stopped:o}),d=a.plan,L=a.record;(0,F.useEffect)(()=>{if(i(!1),!d)return;let N=setTimeout(()=>{i(!1),c(T=>T+1)},Math.max(0,d.value.expiresAt-Date.now())+1);return()=>clearTimeout(N)},[d]),(0,F.useEffect)(()=>{if(i(!1),!s)return;let N=setTimeout(()=>{i(!1),c(T=>T+1)},Math.max(0,s-Date.now())+1);return()=>clearTimeout(N)},[s]);let C=N=>{if(i(!1),!n)return m.act(N,{stopped:s>Date.now()})},h=L?.plans?.filter(N=>N.kind==="apply")??[],g=L?.requests?.filter(N=>N.targetId===a.id&&N.receipt?.state!=="refused").at(-1),v=a.observation?.value;return F.default.createElement("div",{className:"version-maintenance-body"},F.default.createElement("p",{className:"fine-print"},"\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u5386\u53F2\u3002\u8FDC\u7AEF\u67E5\u8BE2\u548C\u6BCF\u6B21\u6267\u884C\u5747\u7531\u4F60\u624B\u52A8\u89E6\u53D1\uFF0C\u4E0D\u5B9A\u65F6\u5237\u65B0\u3001\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),F.default.createElement("div",{className:"form-actions"},F.default.createElement(_,{icon:"reset",disabled:!r.load,onClick:()=>C("load")},"\u91CD\u8BFB\u672C\u7AEF\u5378\u8F7D\u8BB0\u5F55")),a.busy&&F.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u5378\u8F7D\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&F.default.createElement(x,{tone:"warn"},F.default.createElement("span",{role:"alert"},"\u5F53\u524D\u7ED3\u679C\u5C1A\u9700\u6838\u5BF9\u3002\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u5378\u8F7D\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u3002"),F.default.createElement("code",null,a.error)),a.loaded&&!L?.supported&&F.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u5B8C\u6574\u5378\u8F7D\u8BF7\u6C42\u5951\u7EA6\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u6216\u5220\u9664\u5386\u53F2\u6765\u53D6\u5F97\u6743\u9650\u3002"),L?.supported&&F.default.createElement(F.default.Fragment,null,F.default.createElement(x,null,"\u8FD9\u91CC\u53EA\u64A4\u4E0B\u81EA\u6709\u63D2\u4EF6\u3001\u6258\u7BA1\u89C4\u5219\u4E0E\u672A\u88AB\u4FEE\u6539\u7684 Skill\u3002\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u6210\u679C\u3001\u4F9D\u8D56\u548C\u5386\u53F2\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u6E05\u7A7A ECS\uFF0C\u4E5F\u4E0D\u5378\u8F7D\u672C\u5730\u63A7\u5236\u5668\u3002"),!o&&F.default.createElement(x,null,"\u9700\u8981\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C\u72B6\u6001\uFF1B\u82E5\u4ECD\u8FD0\u884C\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u505C\u673A\u5E76\u6838\u5BF9\u9000\u51FA\u3002\u8FD9\u91CC\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u6B62 Host\u3002"),a.otherPending&&F.default.createElement(x,{tone:"warn"},"\u7248\u672C\u5207\u6362\u3001\u89C4\u5219\u914D\u5957\u4ECD\u6709\u672A\u6838\u5BF9\u8BF7\u6C42\u3002\u8BF7\u5148\u67E5\u8BE2\u5E76\u5B8C\u6210\u539F\u4E8B\u52A1\uFF0C\u6682\u4E0D\u5F00\u59CB\u5378\u8F7D\u3002"),(L.pending||a.uncertain)&&F.default.createElement(x,{tone:"warn"},"\u5378\u8F7D\u5C1A\u672A\u6838\u5BF9\uFF0C\u91CD\u542F\u4E0E\u65B0\u7EF4\u62A4\u88AB\u963B\u6B62\u3002\u67E5\u8BE2\u4E0D\u4F1A\u91CD\u65B0\u6267\u884C\uFF0C\u6062\u590D\u9700\u8981\u5355\u72EC\u9884\u89C8\u786E\u8BA4\u3002"),h.length>0&&F.default.createElement("label",{className:"version-choice"},F.default.createElement("span",null,"\u5378\u8F7D\u8BB0\u5F55"),F.default.createElement("select",{"aria-label":"\u5378\u8F7D\u8BB0\u5F55",value:a.id,disabled:!!a.busy||n,onChange:N=>m.select(N.target.value)},h.map((N,T)=>F.default.createElement("option",{value:N.id,key:N.id},N.version," \xB7 \u7B2C ",T+1," \u6B21")))),F.default.createElement(S,{label:"\u5386\u53F2\u5378\u8F7D\u56DE\u6267",value:g?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":ur(g?.receipt?.state)}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(_,{disabled:!r.preview,onClick:()=>C("preview")},"\u9884\u89C8\u5378\u8F7D\u8303\u56F4"),F.default.createElement(_,{disabled:!r.status,onClick:()=>C("status")},"\u67E5\u8BE2\u539F\u5378\u8F7D"),F.default.createElement(_,{disabled:!r.recover_preview,onClick:()=>C("recover_preview")},"\u9884\u89C8\u5378\u8F7D\u6062\u590D")),v&&F.default.createElement("div",{className:"version-observation","aria-live":"polite"},F.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),F.default.createElement("p",null,v.canApply===!1?"\u53D1\u73B0\u51B2\u7A81\uFF0C\u672A\u751F\u6210\u53EF\u6267\u884C\u5378\u8F7D\u8BA1\u5212\u3002":v.state?ur(v.state):"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8BA1\u5212\uFF1B\u76EE\u6807\u6587\u4EF6\u5C1A\u672A\u6539\u53D8\u3002"),v.conflicts?.length>0&&F.default.createElement("ul",null,v.conflicts.map((N,T)=>F.default.createElement("li",{key:T},F.default.createElement("code",null,N.code),N.path&&F.default.createElement("span",null," \xB7 ",N.path))))),d&&F.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":"\u81EA\u6709\u80FD\u529B\u5378\u8F7D\u786E\u8BA4"},F.default.createElement("h3",null,d.action==="apply"?"\u786E\u8BA4\u5378\u8F7D\u81EA\u6709\u80FD\u529B":Pl[d.value.action]??"\u786E\u8BA4\u6062\u590D\u539F\u5378\u8F7D"),F.default.createElement("p",null,d.action==="apply"?"\u5148\u4FDD\u62A4\u6027\u79FB\u9664\u81EA\u6709\u89C4\u5219\u4E0E Skill\uFF0C\u518D\u5C06\u5DF2\u6838\u9A8C\u63D2\u4EF6\u76EE\u5F55\u79FB\u5165\u4FDD\u7559\u533A\uFF1B\u7528\u6237\u4FEE\u6539\u6216\u672A\u77E5\u6587\u4EF6\u4F1A\u963B\u6B62\u64CD\u4F5C\u3002":"\u4EC5\u5904\u7406\u539F\u5378\u8F7D\u4E8B\u52A1\uFF1B\u4E0D\u4F1A\u91CD\u53D1\u5E94\u7528\u3001\u5220\u9664\u672A\u77E5\u9501\u6216\u91CD\u5EFA\u5F52\u5C5E\u3002"),F.default.createElement(S,{label:"\u7248\u672C",value:d.value.version??h.find(N=>N.id===a.id)?.version}),d.value.changes&&F.default.createElement("details",null,F.default.createElement("summary",null,"\u67E5\u770B ",d.value.changes.length," \u9879\u53D8\u5316"),F.default.createElement("ul",null,d.value.changes.map(N=>F.default.createElement("li",{className:"plan-item",key:N.path},F.default.createElement("code",null,N.path)," \xB7 ",N.action==="retire_owned_image"?"\u9000\u5F79\u5E76\u4FDD\u7559\u63D2\u4EF6\u5907\u4EFD":N.action==="remove"?"\u79FB\u9664\u81EA\u6709\u6587\u4EF6":"\u4EC5\u79FB\u9664\u81EA\u6709\u6258\u7BA1\u5757")))),d.value.retained&&F.default.createElement("details",{open:!0},F.default.createElement("summary",null,"\u4FDD\u7559\u5185\u5BB9"),F.default.createElement("ul",null,d.value.retained.map((N,T)=>F.default.createElement("li",{className:"plan-item",key:T},F.default.createElement("span",null,Bl[N.reason]??"\u4FDD\u7559\u7528\u6237\u5185\u5BB9"),F.default.createElement("code",null,N.path))))),F.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.value.expiresAt).toLocaleString(),"\u3002\u53D6\u6D88\u6216\u5173\u95ED\u540E\u4E0D\u4FDD\u7559\u6279\u51C6\u3002"),!r.confirm&&F.default.createElement(x,{tone:"warn"},"\u8BA1\u5212\u3001\u505C\u673A\u89C2\u5BDF\u6216\u8BF7\u6C42\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),F.default.createElement(R,{title:"\u6211\u5DF2\u6838\u5BF9\u79FB\u9664\u8303\u56F4\u4E0E\u4FDD\u7559\u5185\u5BB9",sub:"\u4E0D\u6E05\u7A7A Host\uFF0C\u4E0D\u5220\u9664\u4EFB\u52A1/\u51ED\u636E/\u5907\u4EFD\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u5F00\u653E\u5F00\u53D1\u5199\u5165\u3002",checked:p,onChange:i,disabled:!r.confirm}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(_,{kind:"primary",disabled:!r.confirm||!p,onClick:()=>{i(!1),n||m.act("confirm",{confirmed:!0,stopped:s>Date.now()})}},d.action==="apply"?"\u786E\u8BA4\u5378\u8F7D\u81EA\u6709\u80FD\u529B":"\u786E\u8BA4\u672C\u6B21\u6062\u590D"),F.default.createElement(_,{disabled:!!a.busy,onClick:()=>{i(!1),m.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function dr(e){let[t,s]=(0,F.useState)(!1);return F.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B"},F.default.createElement("div",{className:"version-heading"},F.default.createElement("div",null,F.default.createElement("h3",null,"\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B"),F.default.createElement("p",null,"\u64A4\u4E0B\u80FD\u529B\uFF0C\u4E0D\u6E05\u7A7A\u6570\u636E\u3002\u6BCF\u4E00\u6B65\u90FD\u53EF\u6838\u5BF9\u3002")),F.default.createElement(Ge,{pose:"tasks"})),F.default.createElement(_,{"aria-expanded":t,disabled:e.busy,onClick:()=>s(n=>!n)},t?"\u6536\u8D77\u5378\u8F7D\u7EF4\u62A4":"\u5C55\u5F00\u5378\u8F7D\u7EF4\u62A4"),t&&F.default.createElement(Tl,{...e}))}var U=Ce(ge());var Ml={refused:"\u672C\u6B21\u786E\u8BA4\u5DF2\u5931\u6548\uFF0C\u6267\u884C\u524D\u62D2\u7EDD",not_requested:"\u5C1A\u65E0\u76EE\u6807\u7AEF\u5220\u9664\u610F\u56FE",unobserved:"\u672A\u89C2\u5BDF\u5230\u5220\u9664\u610F\u56FE\uFF0C\u539F\u8BF7\u6C42\u7ED3\u679C\u4ECD\u672A\u77E5",deleting:"\u56DE\u6536\u5C1A\u672A\u5B8C\u6210\uFF0C\u9700\u6838\u5BF9",committed:"\u8FD0\u884C\u65F6\u5DF2\u56DE\u6536\uFF0C\u7528\u6237\u6570\u636E\u548C\u5386\u53F2\u4FDD\u7559",reclamation_outcome_unknown:"\u539F\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5"},$t=e=>e?.executionState==="running"?"\u540E\u53F0\u56DE\u6536\u6267\u884C\u4E2D\uFF0C\u624B\u52A8\u67E5\u8BE2\u8FDB\u5EA6":e?.executionState==="interrupted"?"\u540E\u53F0\u56DE\u6536\u5DF2\u4E2D\u65AD\uFF0C\u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4":Ml[e?.state]??"\u5C1A\u65E0\u56DE\u6536\u56DE\u6267",Fl=e=>e.record?.requests?.filter(t=>t.targetId===e.id).at(-1);function Qt(e,{stopped:t=!1}={},s=Date.now()){let n=e.loaded&&!e.busy&&e.record?.supported,u=Fl(e),l=u&&(u.receipt?.state==="deleting"&&u.receipt?.workerActive!==!0||u.state==="requested"&&u.observedAbsent),a=n&&t&&e.uninstallCompleted&&!e.otherPending&&!e.uncertain;return{load:!e.busy,preview:a&&!e.record.blocked,status:n&&(!!u&&u.receipt?.state!=="refused"||e.uncertain&&!!e.id),recover_preview:a&&!!l,confirm:a&&e.plan?.value.expiresAt>s&&(e.plan.action==="apply"?!e.record.blocked:!!l)}}function fr(e,t,{operationId:s,onMutation:n=()=>{},now:u=Date.now}={}){let l=!1,a={loaded:!1,busy:null,error:null,record:null,id:"",plan:null,observation:null,uncertain:!1,uncertainKey:null,uninstallCompleted:!1,otherPending:!1},f=()=>{l||t({...a})},m=(c,o={})=>e("cloud_version",{action:"reclaim_"+c,operationId:s,...o});async function p(){let c=await m("record"),o=await e("cloud_version",{action:"uninstall_record",operationId:s}),r=await e("cloud_version",{action:"record",operationId:s}),d=await e("cloud_version",{action:"rules_record",operationId:s});if([c,o,r,d].some(g=>g.operationId!==s))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let L=c.plans?.filter(g=>g.kind==="apply")??[],C=c.requests?.filter(g=>g.receipt?.state!=="refused").at(-1)?.targetId??L.at(-1)?.id??"";a={...a,loaded:!0,record:c,id:C,uninstallCompleted:o.pending===!1&&o.requests?.at(-1)?.receipt?.state==="committed",otherPending:!!(r.pending||d.pending||o.pending)};let h=c.requests?.find(g=>g.key===a.uncertainKey);h&&(h.state==="observed"||h.observedAbsent)&&(a.uncertain=!1,a.uncertainKey=null)}async function i(c,{confirmed:o=!1,stopped:r=!1}={}){if(l||a.busy)return!1;if(!Qt(a,{stopped:r},u())[c]||c==="confirm"&&!o)return a.error="ONBOARDING_RECLAIM_UI_REFRESH_REQUIRED",f(),!1;let L=a.plan,C=c==="confirm"?L.action:c,h=c==="confirm";a={...a,busy:C,error:null,observation:null,...h?{}:{plan:null}},f();try{if(c==="load")await p(),a.observation=null;else{h&&(a.uncertain=!0,a.uncertainKey=C+":"+L.value.id,n());let g=await m(C,h?{id:L.value.id,fingerprint:L.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:C,value:g,observedAt:u()},a.plan=null,["preview","recover_preview"].includes(c)&&g.id&&g.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:g}),await p()}return!0}catch(g){return a.error=/^ONBOARDING_[A-Z_]+$/.test(g.message??"")?g.message:"ONBOARDING_UNAVAILABLE",h&&(a.plan=null,a.uncertain=!0),c==="load"&&(a.loaded=!1),!1}finally{a.busy=null,f()}}return{act:i,snapshot:()=>({...a}),cancel:()=>{a.busy||(a.plan=null,f())},dispose:()=>{l=!0},resume:()=>{l=!1,f()}}}function Ul({request:e,operationId:t,stoppedUntil:s,busy:n,onMutation:u}){let l=(0,U.useRef)(u);l.current=u;let[a,f]=(0,U.useState)({}),[m]=(0,U.useState)(()=>fr(e,f,{operationId:t,onMutation:()=>l.current?.()})),[p,i]=(0,U.useState)(!1),[,c]=(0,U.useState)(0);(0,U.useEffect)(()=>(m.resume(),m.act("load"),()=>m.dispose()),[m]);let o=a.plan,r=s>Date.now()&&!n,d=Qt({...a,busy:a.busy||n},{stopped:r});(0,U.useEffect)(()=>{if(i(!1),!o)return;let g=setTimeout(()=>{i(!1),c(v=>v+1)},Math.max(0,o.value.expiresAt-Date.now())+1);return()=>clearTimeout(g)},[o]),(0,U.useEffect)(()=>{if(i(!1),!s)return;let g=setTimeout(()=>{i(!1),c(v=>v+1)},Math.max(0,s-Date.now())+1);return()=>clearTimeout(g)},[s]);let L=g=>{if(i(!1),!n)return m.act(g,{stopped:s>Date.now()})},C=a.record?.requests?.at(-1),h=a.observation?.value;return U.default.createElement("div",{className:"version-maintenance-body"},U.default.createElement("p",{className:"fine-print"},"\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u8BB0\u5F55\u3002\u8FDC\u7AEF\u67E5\u8BE2\u548C\u6BCF\u6B21\u6267\u884C\u5747\u624B\u52A8\u89E6\u53D1\uFF1B\u4E0D\u5B9A\u65F6\u5237\u65B0\uFF0C\u4E0D\u81EA\u52A8\u505C\u673A\u3001\u91CD\u542F\u6216\u91CD\u590D\u5220\u9664\u3002"),U.default.createElement("div",{className:"form-actions"},U.default.createElement(_,{icon:"reset",disabled:!d.load,onClick:()=>L("load")},"\u91CD\u8BFB\u672C\u7AEF\u56DE\u6536\u8BB0\u5F55")),a.busy&&U.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u56DE\u6536\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&U.default.createElement(x,{tone:"warn"},U.default.createElement("span",{role:"alert"},a.error==="ONBOARDING_CLOUD_RUNTIME_RECLAIM_PLAN_EXPIRED"?"\u672C\u6B21\u786E\u8BA4\u5DF2\u5931\u6548\u3002\u8BF7\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\u540E\u91CD\u65B0\u9884\u89C8\uFF1B\u65E7\u786E\u8BA4\u4E0D\u4F1A\u91CD\u53D1\u3002":"\u5F53\u524D\u7ED3\u679C\u9700\u8981\u6838\u5BF9\u3002\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u56DE\u6536\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u5220\u9664\u3002"),U.default.createElement("code",null,a.error)),a.loaded&&!a.record?.supported&&U.default.createElement(x,null,"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u6301\u4E45\u56DE\u6536\u8BF7\u6C42\u3002\u4FDD\u6301\u539F\u73AF\u5883\uFF0C\u4E0D\u6539\u5199\u65E7\u5F52\u6863\u8865\u80FD\u529B\u3002"),a.record?.supported&&U.default.createElement(U.default.Fragment,null,U.default.createElement(x,{tone:"warn"},"\u56DE\u6536\u4F1A\u6C38\u4E45\u5220\u9664\u539F\u6E05\u5355\u4E2D\u7684\u4F9D\u8D56\u548C\u8FD0\u884C\u65F6\u7A0B\u5E8F\u6587\u4EF6\uFF0C\u4E0D\u627F\u8BFA\u6062\u590D\u5DF2\u5220\u9664\u6587\u4EF6\u3002\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u6210\u679C\u3001\u9000\u5F79\u63D2\u4EF6\u548C\u5386\u53F2\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u6E05\u7A7A ECS \u6216\u6574\u4E2A\u76EE\u5F55\u3002"),!a.uninstallCompleted&&U.default.createElement(x,null,"\u8BF7\u5148\u5B8C\u6210\u4E0A\u65B9\u201C\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B\u201D\uFF0C\u5E76\u624B\u52A8\u6838\u5BF9\u5378\u8F7D\u56DE\u6267\u3002"),!r&&U.default.createElement(x,null,"\u8BF7\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C Host \u5DF2\u9000\u51FA\u3002\u8FD9\u91CC\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u673A\uFF0C\u4E5F\u4E0D\u628A\u65E7\u89C2\u5BDF\u5F53\u4F5C\u5F53\u524D\u72B6\u6001\u3002"),a.otherPending&&U.default.createElement(x,{tone:"warn"},"\u7248\u672C\u3001\u89C4\u5219\u6216\u5378\u8F7D\u4ECD\u6709\u5F85\u6838\u5BF9\u4E8B\u52A1\u3002\u5148\u5904\u7406\u539F\u8BB0\u5F55\uFF0C\u4E0D\u5F00\u59CB\u56DE\u6536\u3002"),C?.receipt?.workerActive===!0&&!a.uncertain&&U.default.createElement(x,null,"\u4E0A\u6B21\u89C2\u5BDF\u5230\u540E\u53F0\u56DE\u6536\u6B63\u5728\u6267\u884C\uFF0C\u4E0D\u4EE3\u8868\u5DF2\u7ECF\u5B8C\u6210\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u8FDB\u5EA6\uFF1B\u8FD0\u884C\u671F\u95F4\u4E0D\u80FD\u91CD\u590D\u542F\u52A8\u6216\u786E\u8BA4\u6062\u590D\u3002"),(a.record.pending&&C?.receipt?.workerActive!==!0||a.uncertain)&&U.default.createElement(x,{tone:"warn"},"\u539F\u56DE\u6536\u7ED3\u679C\u5C1A\u672A\u5B8C\u6574\u6838\u5BF9\uFF1B\u67E5\u8BE2\u4E0D\u7EE7\u7EED\u5220\u9664\u3002\u5373\u4F7F\u6682\u672A\u89C2\u5BDF\u5230\u76EE\u6807\u610F\u56FE\uFF0C\u4E5F\u4E0D\u8868\u793A\u65E7\u8BF7\u6C42\u4ECE\u672A\u6267\u884C\uFF0C\u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4\u3002"),U.default.createElement(S,{label:"\u5386\u53F2\u56DE\u6536\u56DE\u6267",value:a.uncertain||C?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":$t(C?.receipt)}),U.default.createElement("div",{className:"form-actions"},U.default.createElement(_,{disabled:!d.preview,onClick:()=>L("preview")},"\u9884\u89C8\u8FD0\u884C\u65F6\u56DE\u6536"),U.default.createElement(_,{disabled:!d.status,onClick:()=>L("status")},"\u67E5\u8BE2\u539F\u56DE\u6536"),U.default.createElement(_,{disabled:!d.recover_preview,onClick:()=>L("recover_preview")},"\u9884\u89C8\u539F\u56DE\u6536\u6062\u590D")),h&&U.default.createElement("div",{className:"version-observation","aria-live":"polite"},U.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),U.default.createElement("p",null,h.canApply?"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8303\u56F4\uFF0C\u5C1A\u672A\u5220\u9664\u6587\u4EF6\u3002":$t(h)),h.total>0&&U.default.createElement(S,{label:"\u5DF2\u8BB0\u8D26\u6761\u76EE",value:`${h.completed??0} / ${h.total}`})),o&&U.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":"\u72EC\u7ACB\u8FD0\u884C\u65F6\u56DE\u6536\u786E\u8BA4"},U.default.createElement("h3",null,o.action==="apply"?"\u786E\u8BA4\u56DE\u6536\u8FD0\u884C\u65F6\u6587\u4EF6":"\u786E\u8BA4\u6062\u590D\u539F\u56DE\u6536"),U.default.createElement("p",null,o.action==="apply"?"\u53EA\u5904\u7406\u539F\u7B7E\u540D\u6E05\u5355\uFF0C\u9047\u5230\u672A\u77E5\u6587\u4EF6\u6216\u5F52\u5C5E\u53D8\u5316\u5C31\u4FDD\u7559\u5F85\u6838\u5BF9\u3002":o.value.action==="start_original_manifest_if_still_unobserved"?"\u5F53\u524D\u672A\u89C2\u5BDF\u5230\u76EE\u6807\u610F\u56FE\u3002\u518D\u6B21\u786E\u8BA4\u540E\uFF0C\u4EC5\u5728\u4ECD\u672A\u51FA\u73B0\u610F\u56FE\u4E14\u539F\u8303\u56F4\u4ECD\u543B\u5408\u65F6\u767B\u8BB0\u5E76\u6267\u884C\uFF1B\u8FDF\u5230\u8BF7\u6C42\u4E0D\u80FD\u89E6\u53D1\u91CD\u590D\u5220\u9664\u3002":"\u53EA\u7EE7\u7EED\u539F\u6E05\u5355\u7684\u672A\u5B8C\u6210\u90E8\u5206\uFF0C\u4E0D\u6269\u5927\u8303\u56F4\u3001\u4E0D\u91CD\u65B0\u5B89\u88C5\u6216\u542F\u52A8 Host\u3002"),o.action==="apply"&&U.default.createElement(U.default.Fragment,null,U.default.createElement(S,{label:"\u56DE\u6536\u8303\u56F4",value:`${o.value.files} \u4E2A\u6587\u4EF6 \xB7 ${o.value.entries} \u4E2A\u6761\u76EE`}),U.default.createElement(S,{label:"\u6587\u4EF6\u603B\u91CF",value:`${(o.value.bytes/1024/1024).toFixed(2)} MiB`}),U.default.createElement("details",null,U.default.createElement("summary",null,"\u67E5\u770B\u5C06\u6E05\u7406\u7684\u8FD0\u884C\u65F6\u76EE\u5F55"),U.default.createElement("ul",null,o.value.removeRoots.map(g=>U.default.createElement("li",{className:"plan-item",key:g},U.default.createElement("code",null,g)))))),U.default.createElement("details",{open:!0},U.default.createElement("summary",null,"\u59CB\u7EC8\u4FDD\u7559"),U.default.createElement("ul",null,U.default.createElement("li",null,"\u539F\u751F\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4E34\u65F6\u6570\u636E\u4E0E\u4EFB\u52A1\u6210\u679C"),U.default.createElement("li",null,"\u539F\u5B89\u88C5\u6E90\u3001\u9000\u5F79\u63D2\u4EF6\u3001\u63A7\u5236\u8D26\u672C\u53CA\u5168\u90E8\u5386\u53F2\u5907\u4EFD"),U.default.createElement("li",null,"\u7528\u6237\u539F\u6709\u89C4\u5219\u3001\u65C1\u7F6E\u6587\u4EF6\u53CA\u975E\u672C\u6B21\u6E05\u5355\u5185\u5BB9"))),U.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(o.value.expiresAt).toLocaleString(),"\u3002\u5173\u95ED\u6216\u53D6\u6D88\u4E0D\u4FDD\u7559\u6279\u51C6\u3002"),!d.confirm&&U.default.createElement(x,{tone:"warn"},"\u8BA1\u5212\u3001\u505C\u673A\u89C2\u5BDF\u6216\u8BF7\u6C42\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),U.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4EC5\u56DE\u6536\u4E0A\u8FF0\u8FD0\u884C\u65F6\u6587\u4EF6\uFF0C\u5E76\u7406\u89E3\u5220\u9664\u4E0D\u53EF\u9006",sub:"\u4FDD\u7559\u7528\u6237\u6570\u636E\u4E0E\u5168\u90E8\u5386\u53F2\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u542F\u6216\u5F00\u653E\u4E1A\u52A1\u5199\u5165\u3002",checked:p,onChange:i,disabled:!d.confirm}),U.default.createElement("div",{className:"form-actions"},U.default.createElement(_,{kind:"primary",disabled:!d.confirm||!p,onClick:()=>{i(!1),n||m.act("confirm",{confirmed:!0,stopped:s>Date.now()})}},o.action==="apply"?"\u786E\u8BA4\u6C38\u4E45\u56DE\u6536\u8FD0\u884C\u65F6":"\u786E\u8BA4\u672C\u6B21\u6062\u590D"),U.default.createElement(_,{disabled:!!a.busy,onClick:()=>{i(!1),m.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function cr(e){let[t,s]=(0,U.useState)(!1);return U.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u72EC\u7ACB\u8FD0\u884C\u65F6\u7CBE\u786E\u56DE\u6536"},U.default.createElement("div",{className:"version-heading"},U.default.createElement("div",null,U.default.createElement("h3",null,"\u72EC\u7ACB\u8FD0\u884C\u65F6\u7CBE\u786E\u56DE\u6536"),U.default.createElement("p",null,"\u5B8C\u6210\u5378\u8F7D\u540E\u518D\u56DE\u6536\u7A0B\u5E8F\u6587\u4EF6\uFF0C\u6570\u636E\u4E0E\u5386\u53F2\u7559\u4E0B\u3002")),U.default.createElement(Ge,{pose:"tasks"})),U.default.createElement(_,{"aria-expanded":t,disabled:e.busy,onClick:()=>s(n=>!n)},t?"\u6536\u8D77\u8FD0\u884C\u65F6\u56DE\u6536":"\u5C55\u5F00\u8FD0\u884C\u65F6\u56DE\u6536"),t&&U.default.createElement(Ul,{...e}))}var pr={reclamation_needs_review:"\u8FD0\u884C\u65F6\u56DE\u6536\u5F85\u6838\u5BF9\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2",runtime_reclaimed:"\u8FD0\u884C\u65F6\u5DF2\u56DE\u6536\uFF0C\u6570\u636E\u4E0E\u5386\u53F2\u4FDD\u7559",plugin_uninstalled:"\u81EA\u6709\u80FD\u529B\u5DF2\u5378\u8F7D\uFF0C\u6570\u636E\u4FDD\u7559",uninstall_needs_review:"\u5378\u8F7D\u5F85\u6838\u5BF9\uFF0C\u7981\u6B62\u91CD\u542F",stop_outcome_unknown:"\u505C\u6B62\u7ED3\u679C\u5F85\u6838\u5BF9",cleanup_running:"\u6B63\u5728\u6309\u767B\u8BB0\u6E05\u5355\u6E05\u7406",cleanup_pending:"\u6E05\u7406\u5DF2\u4E2D\u65AD\uFF0C\u5F85\u786E\u8BA4\u7EE7\u7EED",not_started:"\u5C1A\u672A\u6267\u884C",preparing:"\u51C6\u5907\u6587\u4EF6\u4E2D",prepared:"\u5B89\u88C5\u6587\u4EF6\u5DF2\u51C6\u5907",needs_review:"\u9700\u6838\u5BF9\uFF0C\u672A\u81EA\u52A8\u91CD\u8BD5",rolling_back:"\u6B63\u5728\u56DE\u6EDA\uFF0F\u7ED3\u679C\u5F85\u6838\u5BF9",rolled_back:"\u5DF2\u56DE\u6EDA",retiring:"\u9694\u79BB\u5904\u7406\u4E2D",retired:"\u65E7\u8BF7\u6C42\u5DF2\u9694\u79BB\uFF0C\u4FDD\u7559\u73B0\u573A",launching:"\u542F\u52A8\u5B89\u88C5\u8FDB\u7A0B",installing:"\u5B89\u88C5\u56FA\u5B9A\u4F9D\u8D56",configuring:"\u4FDD\u62A4\u6027\u914D\u7F6E\u89C4\u5219\u4E0E Skill",starting_host:"\u6B63\u5728\u542F\u52A8\u72EC\u7ACB Host",restart_needs_review:"\u91CD\u65B0\u542F\u52A8\u5DF2\u4E2D\u65AD\uFF0C\u9700\u6838\u5BF9",restarting:"\u91CD\u65B0\u542F\u52A8\u539F\u751F Host",restart_outcome_unknown:"\u91CD\u65B0\u542F\u52A8\u7ED3\u679C\u5F85\u6838\u5BF9",host_ready:"\u539F\u751F Host \u5C31\u7EEA",host_stopped:"\u539F\u751F Host \u5DF2\u505C\u6B62",runtime_ready:"\u4F9D\u8D56\u5DF2\u5B89\u88C5",failed:"\u5931\u8D25\uFF0C\u4FDD\u7559\u73B0\u573A",stopped:"\u5B89\u88C5\u8FDB\u7A0B\u5DF2\u505C\u6B62",outcome_unknown:"\u53D1\u9001\u7ED3\u679C\u5F85\u6838\u5BF9",rollback_outcome_unknown:"\u56DE\u6EDA\u7ED3\u679C\u5F85\u6838\u5BF9"};function Yt(e){let t=e.source,s=t?.remote,n=e.binding,u=t?.state==="retired"&&typeof t.root=="string"&&s?.state==="retired"&&s.operationId===t.operationId&&s.root===t.root&&s.barrier==="regular-file-no-replace"&&s.originalRequestIsolated===!0&&s.originalProcessTerminated===!1,l=n?.configured===!0&&Number.isSafeInteger(n.revision)&&n.revision>0&&typeof n.installationId=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(n.installationId);return{fenced:u,replacement:!!(u&&l&&!t.root.endsWith("/host-"+n.installationId)),originalBinding:!!(u&&l&&t.root.endsWith("/host-"+n.installationId))}}var St=e=>["plugin_uninstalled","runtime_reclaimed","uninstall_needs_review","reclamation_needs_review"].includes(e?.state),mr=e=>e?.state==="not_started"||e?.inventoryCount===0&&(e.workerActive===!0||e.childActive===!0),Ir=e=>e?.contract===1&&e.nativeWorkMayResume===!0&&e.imMayReconnect===!0&&e.configurationPreserved===!0&&e.automaticTaskApproval===!1&&e.automaticRetry===!1&&e.requiresExplicitAcknowledgement===!0,Hl=e=>e?.contract===1&&e.lateNativeInputMayAbort===!0&&e.imInFlightMayAbort===!0&&e.ownQueuesRetained===!0&&e.ingressFrozen===!1&&e.automaticStop===!1&&e.requiresExplicitAcknowledgement===!0;function Zt(e,{preparation:t=!1,runtime:s=!1}={},n=Date.now()){let u=Yt(e),l=e.fresh&&!e.uncertain&&n-e.observedAt<6e4,a=!e.busy&&e.loaded,f=["not_started","rolled_back"].includes(e.source?.state)||u.replacement&&l,m=e.fresh&&e.source?.state==="prepared",p=m&&n-e.observedAt<6e4,i=e.runtime,c=i&&(i.workerActive||i.childActive||i.hostActive||i.restartLauncherActive||i.cleanupActive),o=i?.state==="stop_outcome_unknown"||i?.stop?.reconcileRequired===!0,r=i&&i.workerActive===!1&&i.childActive===!1&&i.hostActive===!1&&i.restartLauncherActive!==!0&&i.cleanupActive!==!0,d=a&&s&&e.runtimeRecorded&&!mr(i)&&!St(i)&&p&&!e.uncertain&&e.repairCapability?.supported,L=e.repairPending===!0,C={load:!e.busy,refresh:a,preview:a&&t&&f&&!e.uncertain,retire:a&&t&&l&&["needs_review","retiring"].includes(e.source?.state)&&e.source?.remote?.state==="absent",new_target:a&&t&&l&&u.originalBinding,stage:a&&t&&!e.uncertain&&(f||u.replacement&&e.fresh)&&e.plan?.canStage===!0&&e.plan.expiresAt>n,runtime_preview:a&&s&&p&&!e.runtimeRecorded&&i?.state==="not_started",runtime_start:a&&s&&m&&!e.uncertain&&!e.runtimeRecorded&&!!e.runtimePlan&&e.runtimePlan.expiresAt>n,runtime_restart_preview:a&&s&&!o&&p&&!e.uncertain&&r&&i.restartSupported&&i.restartConsentContract===1&&["host_stopped","failed","stopped"].includes(i.state),runtime_restart:a&&s&&!o&&m&&!e.uncertain&&r&&i.restartSupported&&i.restartConsentContract===1&&Ir(e.restartPlan?.resumePolicy)&&e.restartPlan?.expiresAt>n,runtime_reconcile_restart:a&&s&&!o&&p&&r&&i?.state==="restart_needs_review",runtime_stop_preview:a&&s&&!o&&i?.cleanupActive!==!0&&p&&e.runtimeRecorded&&i?.stopPlanSupported===!0&&!!c,runtime_stop:a&&s&&!o&&p&&!e.uncertain&&e.runtimeRecorded&&(i?.hostActive!==!0||i?.hostStopSupported===!0&&i.hostStopConsentContract===1&&e.stopPlan?.scope==="owned_host_with_loss_risk"&&Hl(e.stopPlan.risk))&&e.stopPlan?.canApply===!0&&e.stopPlan.expiresAt>n,runtime_stop_reconcile:a&&s&&p&&i?.stop?.reconcileRequired===!0&&i.stop.activeInstallerMembers===0&&i.stop.hostActive!==!0,runtime_rollback:a&&s&&p&&e.runtimeRecorded&&r&&i?.stop?.reconcileRequired!==!0&&["host_stopped","runtime_ready","failed","stopped","needs_review"].includes(i?.state),runtime_rollback_resume:a&&s&&!o&&p&&e.runtimeRecorded&&r&&i?.state==="cleanup_pending"&&i.cleanupSupported===!0&&typeof i.cleanupFingerprint=="string",runtime_reconcile_rollback:a&&s&&!o&&p&&e.runtimeRecorded&&i?.state==="rollback_outcome_unknown",runtime_repair_preview:d&&!L&&!o&&r,runtime_repair_apply:a&&s&&!St(i)&&m&&!e.uncertain&&!L&&!o&&r&&e.repairCapability?.supported&&e.repairPlan?.canApply===!0&&e.repairPlan.expiresAt>n,runtime_repair_recover:d&&!o&&r&&e.repairStatus?.repair?.recoveryRequired===!0&&e.repairStatus.repair.id===e.repairOriginalId,runtime_repair_verify:e.repairStatus?.repair?.activationSupported!==!1&&d&&!L&&!o&&e.repairCapability?.activationSupported&&i?.nativeHostReady===!0&&i.hostActive===!0&&e.repairStatus?.repair?.state==="committed",rollback:a&&p&&(!e.runtimeRecorded&&i?.state==="not_started"||i?.state==="rolled_back")};if(L)for(let h of["runtime_start","runtime_restart_preview","runtime_restart","runtime_reconcile_restart","runtime_stop_preview","runtime_stop","runtime_stop_reconcile","runtime_rollback","runtime_rollback_resume","runtime_reconcile_rollback","rollback"])C[h]=!1;return C}function Lr(e,t,s={},n=Date.now){let u={loaded:!1,busy:!1,fresh:!1,uncertain:!1,source:null,binding:null,runtime:null,runtimeRecorded:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,error:null,observedAt:null,optionalIm:!1,repairCapability:null,repairStatus:null,repairPending:!1,repairOriginalId:null},l=!0,a=i=>{u={...u,...i},l&&t(u)};async function f(i){if(i.state!=="prepared"||!s.runtime)return{runtime:null,runtimeRecorded:!1,repairCapability:null,repairStatus:null,repairPlan:null,repairPending:!1,repairOriginalId:null,repairFresh:!1};let c=await e("cloud_runtime",{action:"runtime_record",operationId:i.operationId});return{runtime:c.receipt??{state:c.recorded?"outcome_unknown":"not_started"},runtimeRecorded:c.recorded,repairCapability:c.pluginRepair??null,repairStatus:c.pluginRepair?.receipt??null,repairPending:c.pluginRepair?.pending===!0,repairOriginalId:c.pluginRepair?.id??null,repairFresh:!1}}let m=new Set(["runtime_repair_apply","runtime_repair_recover","stage","retire","new_target","runtime_start","runtime_stop","runtime_stop_reconcile","runtime_rollback","runtime_reconcile_rollback","runtime_restart","runtime_reconcile_restart","runtime_rollback_resume","rollback"]);async function p(i,c=!1){if(!l||u.busy)return!1;if(!Zt(u,s,n())[i])return a({error:"ACTION_REQUIRES_REFRESH"}),!1;if(m.has(i)&&c!==!0)return a({error:"CONFIRMATION_REQUIRED"}),!1;a({busy:!0,error:null});try{if(i==="load"){let o=await e("cloud_operation_status",{refresh:!1});a({source:o,binding:o.state==="retired"?await e("ssh_status",{}):null,...await f(o),loaded:!0,fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1})}else if(i==="refresh"){a({fresh:!1,binding:null,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let o=await e("cloud_operation_status",{refresh:!0});if(a({source:o,runtime:null,runtimeRecorded:!1}),o.state==="retired"&&a({binding:await e("ssh_status",{})}),o.state==="prepared"&&s.runtime){let r=await e("cloud_runtime",{action:"runtime_status",operationId:o.operationId}),d=await f(o);if(a({...d,runtime:r}),St(r)&&!(r.managedRestartBlocked===!0&&r.hostActive===!1&&r.childActive===!1&&r.workerActive===!1&&r.restartLauncherActive!==!0&&r.cleanupActive!==!0))throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");if(d.repairCapability?.supported&&!St(r)&&(!mr(r)||d.repairPending)){let L=await e("cloud_runtime",{action:"runtime_repair_status",operationId:o.operationId});a({repairStatus:L,repairPending:L.state==="repair_outcome_unknown"||L.repair?.recoveryRequired===!0,repairOriginalId:L.originalRepairId??L.repair?.id??d.repairOriginalId,repairFresh:!0})}}else o.state==="prepared"&&a({runtime:{state:"not_started"}});a({fresh:!0,uncertain:!1,observedAt:n()})}else if(i==="preview"){a({plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let o=await e("ssh_status",{});if(!o.configured)throw Error("ONBOARDING_SSH_NOT_BOUND");a({plan:await e("cloud_preview",{expectedRevision:o.revision}),uncertain:!1})}else if(i==="stage"){let o=u.plan;a({plan:null,fresh:!1,uncertain:!0});let r=await e("cloud_stage",{id:o.id,fingerprint:o.fingerprint,confirm:!0});a({source:r,runtime:null,runtimeRecorded:!1,uncertain:r.state!=="prepared"})}else if(i==="retire"){let o=u.source;a({fresh:!1,uncertain:!0,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let r=await e("cloud_retire",{operationId:o.operationId,expectedRevision:o.revision,confirm:!0});a({source:r,binding:null,uncertain:r.state!=="retired"})}else if(i==="new_target"){let o=u.source,r=u.binding;a({fresh:!1,uncertain:!0,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let d=await e("cloud_new_target",{operationId:o.operationId,expectedBindingRevision:r.revision,confirm:!0});a({binding:d,uncertain:!1})}else if(i==="rollback"){let o=u.source;a({fresh:!1,uncertain:!0});let r=await e("cloud_rollback",{operationId:o.operationId,expectedRevision:o.revision,confirm:!0});a({source:r,runtime:null,runtimeRecorded:!1,uncertain:r.state!=="rolled_back"})}else{let o={action:i,operationId:u.source.operationId};m.has(i)&&(o.confirm=!0),i==="runtime_repair_apply"&&(o.repairId=u.repairPlan.id,o.fingerprint=u.repairPlan.fingerprint),i==="runtime_repair_recover"&&(o.repairId=u.repairOriginalId),i==="runtime_repair_verify"&&(o.repairId=u.repairStatus.repair.id),i==="runtime_preview"&&u.optionalIm&&(o.im=!0),i==="runtime_start"&&(o.fingerprint=u.runtimePlan.fingerprint,u.runtimePlan.optionalIm&&(o.im=!0)),i==="runtime_restart"&&(o.fingerprint=u.restartPlan.fingerprint,o.acknowledgeNativeResume=!0),i==="runtime_stop"&&(o.stopPlan=u.stopPlan.stopPlan,o.stopPlan.schema===2&&(o.acknowledgeNativeInterruption=!0)),i==="runtime_stop_reconcile"&&(o.stopPlan=u.runtime.stop.stopPlan),i==="runtime_rollback_resume"&&(o.fingerprint=u.runtime.cleanupFingerprint),m.has(i)&&a({fresh:!1,uncertain:!0,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1}),["runtime_repair_apply","runtime_repair_recover"].includes(i)&&a({repairPending:!0,repairOriginalId:o.repairId});let r=await e("cloud_runtime",o);if(i==="runtime_repair_preview"){if(!Array.isArray(r.changes)||r.scope!=="stopped_owned_plugin_files_only")throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");a({repairPlan:r})}else if(["runtime_repair_apply","runtime_repair_recover","runtime_repair_verify"].includes(i)){let d=r.state==="repair_outcome_unknown"||r.repair?.recoveryRequired===!0;a({repairStatus:r,repairFresh:!0,repairPending:d,uncertain:d,repairOriginalId:r.originalRepairId??r.repair?.id??o.repairId})}else if(i==="runtime_preview"){if(u.optionalIm?r.optionalIm?.package!=="@xmanrui/dsh-im"||r.optionalIm?.version!=="5.0.3":r.optionalIm)throw Error("ONBOARDING_CLOUD_RUNTIME_OPTIONAL_IM_UNSUPPORTED");a({runtimePlan:{...r,expiresAt:n()+3e5}})}else if(i==="runtime_stop_preview")a({stopPlan:r});else if(i==="runtime_restart_preview"){if(!Ir(r.resumePolicy))throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");a({restartPlan:{...r,expiresAt:n()+3e5}})}else a({runtime:r,runtimeRecorded:!0,uncertain:!["rolled_back","host_stopped","stopped","launching","installing","host_ready"].includes(r.state)})}return!0}catch(o){return a({fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,uncertain:!0,error:/^ONBOARDING_[A-Z_]+$/.test(o.message)?o.message:"OBSERVATION_UNCONFIRMED"}),!1}finally{a({busy:!1})}}return{act:p,get:()=>u,selectIm:i=>typeof i!="boolean"||!s.optionalIm||u.busy||u.runtimeRecorded?!1:(a({optionalIm:i,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,error:null}),!0),invalidate:()=>a({fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1}),resume:()=>{l=!0},dispose:()=>{l=!1}}}var xt=e=>pr[e]??"\u5F85\u6838\u5BF9",Gl={ONBOARDING_CLOUD_RUNTIME_VERSION_IMAGE_DRIFT:"\u5F53\u524D\u63D2\u4EF6\u6587\u4EF6\u4E0E\u7B7E\u540D\u7248\u672C\u4E0D\u7B26\uFF0C\u64CD\u4F5C\u5DF2\u505C\u6B62\u5E76\u4FDD\u7559\u73B0\u573A\u3002\u8BF7\u6838\u5BF9\u5F53\u524D\u7248\u672C\uFF0C\u518D\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D\uFF1B\u4E0D\u8981\u91CD\u8BD5\u542F\u52A8\u6216\u91CD\u5EFA\u5F52\u5C5E\u3002",ONBOARDING_CLOUD_RUNTIME_VERSION_RECOVERY_REQUIRED:"\u539F\u7248\u672C\u5207\u6362\u5C1A\u672A\u5B8C\u6210\u3002\u8BF7\u67E5\u8BE2\u540C\u4E00\u7248\u672C\u4E8B\u52A1\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\uFF1B\u4E0D\u8981\u91CD\u65B0\u5B89\u88C5\u3001\u4FEE\u590D\u6216\u542F\u52A8\u3002",ONBOARDING_CLOUD_RUNTIME_REPAIR_ACTIVATION_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u6B64\u8DEF\u5F84\u7684\u72EC\u7ACB\u52A0\u8F7D\u6838\u9A8C\u3002\u517C\u5BB9\u6587\u4EF6\u53EF\u4EE5\u5347\u7EA7\uFF0C\u4F46\u65E7\u63A7\u5236\u5668\u4E0D\u4F1A\u81EA\u52A8\u83B7\u5F97\u65B0\u6743\u9650\uFF1B\u4FDD\u7559\u6587\u4EF6\u56DE\u6267\uFF0C\u4E0D\u66FF\u6362\u539F\u5F52\u6863\u3002",ONBOARDING_CLOUD_RUNTIME_VERSION_HISTORY_PRESERVED:"\u5B58\u5728\u7248\u672C\u6216\u4FEE\u590D\u5386\u53F2\uFF0C\u666E\u901A\u5B89\u88C5\u56DE\u6EDA\u4E0D\u80FD\u6E05\u7406\u6B64\u5B9E\u4F8B\u3002\u8BF7\u4FDD\u7559\u5907\u4EFD\u3001\u89C4\u5219\u548C\u4EFB\u52A1\u6570\u636E\uFF1B\u53EF\u53E6\u884C\u9884\u89C8\u81EA\u6709\u80FD\u529B\u5378\u8F7D\uFF0C\u4F46\u4E0D\u4F1A\u56DE\u6536\u6574\u4E2A Host\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_RESTART_REQUIRED:"\u9700\u8981\u672C\u6B21\u4FEE\u590D\u4E4B\u540E\u72EC\u7ACB\u786E\u8BA4\u7684\u65B0\u542F\u52A8\u56DE\u6267\uFF0C\u4E0D\u80FD\u4F7F\u7528\u4FEE\u590D\u524D\u7684\u65E7\u8FDB\u7A0B\u8BB0\u5F55\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_OWNERSHIP_REVIEW:"\u4FEE\u590D\u6587\u4EF6\u7684\u5F52\u5C5E\u6216\u5185\u5BB9\u5DF2\u53D8\u5316\uFF0C\u751F\u6548\u6838\u9A8C\u505C\u6B62\uFF1B\u4E0D\u4F1A\u63A5\u7BA1\u6216\u8986\u76D6\u53D8\u5316\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_INSTALLATION_REVIEW:"\u539F\u751F Host \u7684\u5168\u5C40\u89C4\u5219\uFF0FSkill \u5B89\u88C5\u72B6\u6001\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u6587\u4EF6\u4FEE\u590D\u8BB0\u5F55\u4ECD\u4FDD\u7559\u3002",ONBOARDING_CLOUD_RUNTIME_REPAIR_RECOVERY_REQUIRED:"\u539F\u4FEE\u590D\u4E8B\u52A1\u5C1A\u9700\u6838\u5BF9\u3002\u5148\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\uFF0C\u4E0D\u91CD\u53D1\u5E94\u7528\u6216\u542F\u52A8\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONSENT_REQUIRED:"\u91CD\u65B0\u542F\u52A8\u53EF\u80FD\u6062\u590D\u539F\u751F\u5DE5\u4F5C\u6216 IM \u8FDE\u63A5\uFF0C\u8BF7\u6838\u5BF9\u65B0\u8BA1\u5212\u5E76\u660E\u786E\u786E\u8BA4\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONSENT_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u91CD\u542F\u5F71\u54CD\u786E\u8BA4\u5951\u7EA6\uFF0C\u672C\u5165\u53E3\u4E0D\u518D\u53D1\u8D77\u65B0\u91CD\u542F\uFF1B\u5386\u53F2\u8BB0\u5F55\u4ECD\u4FDD\u7559\u67E5\u8BE2\uFF0C\u4E0D\u6362\u63A7\u5236\u5668\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_RUNTIME_HOST_DRAIN_REQUIRED:"\u539F\u751F Host \u6B63\u5728\u8FD0\u884C\uFF0C\u6574\u673A\u6392\u7A7A\u672A\u901A\u8FC7\uFF1B\u6B64\u5165\u53E3\u4E0D\u4F1A\u505C\u6B62\u5B83\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_RECONCILE_REQUIRED:"\u539F\u505C\u6B62\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u53D1\u505C\u6B62\u6216\u53E6\u5EFA\u542F\u52A8\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_PLAN_EXPIRED:"\u505C\u6B62\u8BA1\u5212\u5DF2\u8FC7\u671F\u3002\u672C\u6B21\u672A\u53D1\u9001\u4FE1\u53F7\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_NOT_READY:"\u5F53\u524D\u6CA1\u6709\u7B26\u5408\u672C\u6B21\u8BA1\u5212\u7684\u5B89\u88C5\u8FDB\u7A0B\uFF1B\u672A\u53D1\u9001\u505C\u6B62\u4FE1\u53F7\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_PLAN_DRIFT:"\u5B89\u88C5\u8FDB\u7A0B\u6216\u4E8B\u52A1\u5DF2\u53D8\u5316\uFF0C\u8BF7\u4FDD\u7559\u539F\u8BB0\u5F55\u5E76\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u6CBF\u7528\u65E7\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u505C\u6B62\u8BA1\u5212\u5951\u7EA6\uFF0C\u4E0D\u80FD\u7528\u65B0\u63A7\u5236\u5668\u63A5\u7BA1\u65E7\u4E8B\u52A1\u3002",ONBOARDING_TRANSPORT_HEADERS_TOO_LARGE:"\u672C\u7AEF\u8BF7\u6C42\u5934\u8FC7\u5927\uFF0C\u4E91\u7AEF\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u4E0D\u8981\u6E05\u7406\u65E5\u5E38\u767B\u5F55\u4FE1\u606F\uFF1B\u4F7F\u7528\u72EC\u7ACB\u6D4B\u8BD5\u5165\u53E3\uFF0C\u5E76\u5148\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_TRANSPORT_AUTH_REQUIRED:"\u672C\u7AEF\u8FDE\u63A5\u9274\u6743\u672A\u901A\u8FC7\uFF0C\u8BF7\u4ECE\u5F53\u524D Host \u7684\u6709\u6548\u5165\u53E3\u91CD\u65B0\u767B\u5F55\uFF1B\u4E0D\u91CD\u53D1\u5B89\u88C5\u6216\u4EFB\u52A1\u3002",ONBOARDING_TRANSPORT_UNAVAILABLE:"\u672C\u7AEF HTTP \u627F\u8F7D\u6682\u4E0D\u53EF\u7528\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u65AD\u4E91\u7AEF\u505C\u6B62\uFF1B\u8BF7\u5148\u6838\u5BF9\u539F\u4E8B\u52A1\u3002",ONBOARDING_TRANSPORT_INTERRUPTED:"\u672C\u7AEF\u8BF7\u6C42\u8FDE\u63A5\u5DF2\u4E2D\u65AD\uFF0C\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\uFF0C\u6062\u590D\u8FDE\u63A5\u540E\u5148\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_TRANSPORT_RESPONSE_INVALID:"\u672C\u7AEF\u54CD\u5E94\u5951\u7EA6\u672A\u901A\u8FC7\u6838\u9A8C\uFF1B\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_TRANSPORT_HTTP_REJECTED:"\u672C\u7AEF HTTP \u8BF7\u6C42\u88AB\u62D2\u7EDD\uFF1B\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u8FDE\u63A5\u548C\u56DE\u6267\u3002",ONBOARDING_CLOUD_RETIREMENT_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u9694\u79BB\u5951\u7EA6\uFF0C\u5DF2\u505C\u6B62\uFF1B\u4E0D\u4F1A\u6539\u5199\u65E7\u5F52\u6863\u6216\u6362\u63A7\u5236\u5668\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_FENCE_SOURCE_PRESENT:"\u65E7\u76EE\u5F55\u5DF2\u51FA\u73B0\uFF0C\u4E0D\u80FD\u521B\u5EFA\u9694\u79BB\u5C4F\u969C\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u539F\u4E8B\u52A1\uFF1B\u4E0D\u8986\u76D6\u3001\u4E0D\u5220\u9664\u5DF2\u6709\u5185\u5BB9\u3002",ONBOARDING_CLOUD_RETIREMENT_UNKNOWN:"\u9694\u79BB\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u590D\u5B89\u88C5\u3001\u4E0D\u53E6\u5EFA\u76EE\u6807\u3002",ONBOARDING_CLOUD_REPLACEMENT_REQUIRED:"\u65E7\u8BF7\u6C42\u9694\u79BB\u6216\u76EE\u6807\u7ED1\u5B9A\u4ECD\u5F85\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u91CD\u65B0\u786E\u8BA4\uFF1B\u4E0D\u4F1A\u590D\u7528\u65E7\u76EE\u5F55\u3002",ONBOARDING_SSH_BINDING_CONFLICT:"SSH \u7ED1\u5B9A\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u786E\u8BA4\u4E0D\u518D\u9002\u7528\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u6838\u5BF9\u76EE\u6807\u540E\u91CD\u65B0\u786E\u8BA4\u3002",ONBOARDING_CLOUD_RUNTIME_OPTIONAL_IM_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u53EF\u9009 IM \u4F9D\u8D56\uFF1B\u672A\u6539\u65E7\u5B9E\u4F8B\uFF0C\u4E5F\u4E0D\u4F1A\u628A\u672C\u7AEF\u6E05\u5355\u5F53\u4F5C\u4E91\u7AEF\u914D\u7F6E\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_UNSUPPORTED:"\u65E7\u5F52\u6863\u6CA1\u6709\u65AD\u70B9\u6E05\u7406\u5951\u7EA6\uFF0C\u4E0D\u7528\u65B0\u63A7\u5236\u7A0B\u5E8F\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_PLAN_DRIFT:"\u6E05\u7406\u8FDB\u5EA6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u786E\u8BA4\u672C\u6B21\u65AD\u70B9\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_REVIEW:"\u6E05\u7406\u8D26\u672C\u4E0D\u5B8C\u6574\u6216\u5F52\u5C5E\u4E0D\u5339\u914D\uFF0C\u5DF2\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u80FD\u81EA\u52A8\u91CD\u5EFA\u6E05\u5355\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_DRIFT:"\u5269\u4F59\u6587\u4EF6\u53D1\u751F\u53D8\u5316\u6216\u51FA\u73B0\u672A\u77E5\u5185\u5BB9\uFF0C\u5DF2\u505C\u6B62\u5E76\u4FDD\u7559\uFF0C\u4E0D\u4F1A\u6269\u5927\u5220\u9664\u8303\u56F4\u3002",ONBOARDING_CLOUD_RUNTIME_CONTROL_BUSY:"\u539F\u63A7\u5236\u8FDB\u7A0B\u4ECD\u6301\u6709\u72EC\u5360\u9501\uFF1B\u8BF7\u7B49\u5F85\u5E76\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u542F\u52A8\u7B2C\u4E8C\u4E2A\u6E05\u7406\u8FDB\u7A0B\u3002",ONBOARDING_CLOUD_RUNTIME_LOCK_UNAVAILABLE:"\u4E91\u7AEF\u7F3A\u5C11\u53EF\u6838\u9A8C\u7684\u7CFB\u7EDF flock\uFF0C\u672A\u5F00\u59CB\u5199\u5165\u6216\u6E05\u7406\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_UNSUPPORTED:"\u8BE5\u5F52\u6863\u7248\u672C\u6CA1\u6709\u91CD\u65B0\u542F\u52A8\u5951\u7EA6\uFF0C\u4E0D\u80FD\u7528\u65B0\u63A7\u5236\u7A0B\u5E8F\u63A5\u7BA1\u65E7\u4E8B\u52A1\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_IMMUTABLE_DRIFT:"\u5DF2\u5B89\u88C5\u7684\u7A0B\u5E8F\u6587\u4EF6\u53D1\u751F\u53D8\u5316\uFF0C\u505C\u6B62\u91CD\u65B0\u542F\u52A8\u5E76\u4FDD\u7559\u73B0\u573A\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u4FEE\u590D\u6216\u91CD\u88C5\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONTROL_REVIEW:"\u542F\u52A8\u63A7\u5236\u76EE\u5F55\u7684\u5F52\u5C5E\u6216\u6E05\u5355\u4E0D\u543B\u5408\uFF0C\u5DF2\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u91C7\u7528\u6216\u5220\u9664\u672A\u77E5\u6587\u4EF6\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_REVIEW:"\u672C\u6B21\u542F\u52A8\u5C1A\u9700\u6838\u5BF9\uFF0C\u4E0D\u80FD\u66F4\u6362\u8BA1\u5212\u7ED5\u8FC7\u672A\u77E5\u8BF7\u6C42\u3002",ACTION_REQUIRES_REFRESH:"\u5F53\u524D\u89C2\u5BDF\u6216\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u540E\u91CD\u65B0\u9884\u89C8\uFF1B\u672C\u6B21\u6CA1\u6709\u53D1\u9001\u6267\u884C\u8BF7\u6C42\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u56DE\u5230\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58 SSH \u8FDE\u63A5\u3002",ONBOARDING_CLOUD_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_BASELINE_DRIFT:"\u8FDC\u7AEF\u76EE\u5F55\u6216\u57FA\u7EBF\u5DF2\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u3002",ONBOARDING_CLOUD_SOURCE_CHANGED:"\u672C\u7AEF\u5019\u9009\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u5B89\u88C5\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_PROCESS_ACTIVE:"\u8FDB\u7A0B\u4ECD\u5728\u8FD0\u884C\uFF0C\u7981\u6B62\u4FEE\u590D\u6216\u5220\u9664\u3002\u8BF7\u5148\u9884\u89C8\u505C\u6B62\u8BA1\u5212\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u540E\u505C\u6B62\uFF0C\u5E76\u5355\u72EC\u6838\u5BF9\u9000\u51FA\u3002",ONBOARDING_CLOUD_RUNTIME_REMOVAL_REQUIRED:"\u8BF7\u5148\u56DE\u6EDA\u72EC\u7ACB\u8FD0\u884C\u65F6\uFF0C\u518D\u6E05\u7406\u5B89\u88C5\u6587\u4EF6\u3002",ONBOARDING_CLOUD_RUNTIME_RECOVERY_REQUIRED:"\u5DF2\u6709\u5B89\u88C5\u8BB0\u5F55\uFF0C\u4E0D\u4F1A\u91CD\u65B0\u542F\u52A8\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u3002",ONBOARDING_CLOUD_RUNTIME_DISABLED:"\u5F53\u524D Host \u5C1A\u672A\u5F00\u653E\u72EC\u7ACB\u5B89\u88C5\u80FD\u529B\u3002"};function ql({allowed:e=!0,riskStop:t=!1,id:s,action:n,title:u,detail:l,children:a,flow:f,busy:m,pending:p,setPending:i,checked:c,setChecked:o}){let r=p===n;return(0,k.useEffect)(()=>{e||o(!1)},[e,o]),k.default.createElement("div",{className:"cloud-action"},k.default.createElement(_,{"data-cloud-action":s??n,kind:n==="stage"||n==="runtime_start"?"primary":"soft",disabled:m||!e,onClick:()=>{i(n),o(!1)}},u),r&&k.default.createElement("div",{className:"cloud-confirm",role:"region","aria-label":u+"\u786E\u8BA4"},k.default.createElement("p",null,l),a,!m&&!e&&k.default.createElement(x,{tone:"warn"},k.default.createElement("span",{role:"alert"},"\u6B64\u786E\u8BA4\u5DF2\u4E0D\u53EF\u6267\u884C\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\u3001\u6838\u5BF9\u539F\u4E8B\u52A1\uFF1B\u6CA1\u6709\u5F85\u6838\u5BF9\u8BF7\u6C42\u65F6\u518D\u91CD\u65B0\u9884\u89C8\u3002\u539F\u786E\u8BA4\u4E0D\u4F1A\u81EA\u52A8\u7EED\u7528\u3002")),k.default.createElement(R,{checked:c,disabled:m||!e,onChange:o,title:t?"\u6211\u7406\u89E3\u539F\u751F\u65B0\u8F93\u5165\u4E0E\u5728\u9014 IM \u53EF\u80FD\u4E2D\u6B62\uFF0C\u4ECD\u786E\u8BA4\u505C\u6B62\u6B64 Host":n==="runtime_restart"?"\u6211\u786E\u8BA4\u91CD\u542F\uFF0C\u5E76\u7406\u89E3\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u6062\u590D":"\u6211\u5DF2\u6838\u5BF9\u672C\u6B21\u64CD\u4F5C\u8303\u56F4",sub:t?"\u4E0D\u627F\u8BFA\u65E0\u635F\u6392\u7A7A\uFF1B\u81EA\u6709\u961F\u5217\u4FDD\u7559\uFF0C\u6062\u590D\u542F\u52A8\u987B\u53E6\u884C\u786E\u8BA4\u3002":n==="runtime_restart"?"\u4E0D\u662F\u65E0\u6A21\u578B\u542F\u52A8\u4FDD\u8BC1\uFF1B\u4E0D\u91CD\u65B0\u6279\u51C6\u4EFB\u52A1\u3001\u91CD\u653E\u5931\u8D25\u6D88\u606F\u6216\u653E\u5BBD\u5199\u5165\u95E8\u7981\u3002":"\u4EC5\u9650\u4E0A\u65B9\u4E13\u7528\u76EE\u5F55\uFF1B\u4E0D\u64CD\u4F5C\u65E5\u5E38\u73AF\u5883\uFF0C\u4E0D\u8C03\u7528\u6A21\u578B\u6216\u542F\u7528\u4E1A\u52A1\u5199\u5165\u3002"}),k.default.createElement("div",{className:"form-actions"},k.default.createElement(_,{disabled:m||!e||!c,kind:"primary",onClick:async()=>{let d=await f.act(n,!0);o(!1),d&&i(null)}},"\u786E\u8BA4",u),k.default.createElement(_,{kind:"secondary",disabled:m,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))))}function Jt({request:e,preparation:t=!1,runtime:s=!1,execution:n=!1,optionalIm:u=!1}){let[l,a]=(0,k.useState)({}),[f]=(0,k.useState)(()=>Lr(e,a,{preparation:t,runtime:s,optionalIm:u})),[m,p]=(0,k.useState)(null),[i,c]=(0,k.useState)(!1);(0,k.useEffect)(()=>(f.resume(),f.act("load"),()=>f.dispose()),[f]);let o=Zt(l,{preparation:t,runtime:s}),r=Yt(l),d=l.runtime,L=l.plan,C=(v,N,T,w)=>(o[v]||m===v)&&k.default.createElement(ql,{key:v,allowed:!!o[v],riskStop:v==="runtime_stop"&&l.stopPlan?.scope==="owned_host_with_loss_risk",action:v,title:N,detail:T,flow:f,busy:l.busy,pending:m,setPending:p,checked:i,setChecked:c},w),h=()=>(p(null),c(!1),f.act("refresh")),g=v=>k.default.createElement(k.default.Fragment,null,k.default.createElement(S,{label:"\u5B98\u65B9 DSH",value:v.hostVersion}),k.default.createElement(S,{label:"\u5B9E\u9645 Node \u7248\u672C",value:v.snapshot?.node?.version??v.node?.version??"\u5C1A\u672A\u6838\u5BF9"}),k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,"\u5B9E\u9645 Node \u8DEF\u5F84"),k.default.createElement("code",null,v.snapshot?.node?.path??v.node?.path??"\u5C1A\u672A\u6838\u5BF9")),k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,"\u4E13\u7528\u5B89\u88C5\u76EE\u5F55"),k.default.createElement("code",null,v.snapshot?.root??v.root??"\u9884\u68C0\u540E\u786E\u5B9A")));return k.default.createElement("div",{className:"page-columns cloud-installation"},k.default.createElement("div",{className:"stack"},t&&k.default.createElement(jo,{request:e,onMutation:()=>{p(null),c(!1),f.invalidate()}}),k.default.createElement(V,{title:n?"\u4E91\u7AEF\u914D\u7F6E\u4E0E\u6062\u590D":"\u4E91\u7AEF\u72EC\u7ACB\u5B89\u88C5\u8BA1\u5212",icon:"cloud",sub:"\u5173\u95ED\u9875\u9762\u4E0D\u4F1A\u53D6\u6D88\u5DF2\u786E\u8BA4\u7684\u5B89\u88C5\uFF1B\u91CD\u65B0\u8FDB\u5165\u53EA\u8BFB\u53D6\u672C\u5730\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u7EED\u8DD1\u3002",extra:k.default.createElement(ve,null,"\u624B\u52A8\u5237\u65B0")},k.default.createElement("div",{className:"cloud-status","aria-live":"polite"},k.default.createElement(S,{label:"\u5B89\u88C5\u6587\u4EF6",value:xt(l.source?.state)}),k.default.createElement(S,{label:"\u72EC\u7ACB\u8FD0\u884C\u65F6",value:d?xt(d.state):"\u5C1A\u672A\u6838\u5BF9"}),k.default.createElement("p",{className:"fine-print"},l.fresh?"\u6700\u8FD1\u4E00\u6B21\u8FDC\u7AEF\u89C2\u5BDF\uFF1A"+new Date(l.observedAt).toLocaleString()+"\uFF08\u72B6\u6001\u89C2\u5BDF 60 \u79D2\u5185\u6709\u6548\uFF0C\u670D\u52A1\u7AEF\u6267\u884C\u524D\u4ECD\u91CD\u65B0\u6838\u5BF9\uFF09":"\u5386\u53F2\u56DE\u6267\uFF0F\u672A\u6838\u9A8C\u5B9E\u65F6\u72B6\u6001\u3002\u6267\u884C\u540E\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u8F6E\u8BE2\u3001\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")),l.source?.root&&k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,r.fenced?"\u4FDD\u7559\u7684\u65E7\u4E8B\u52A1\u76EE\u5F55\u5C4F\u969C":"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),k.default.createElement("code",null,l.source.root)),k.default.createElement("div",{className:"form-actions"},k.default.createElement(_,{icon:"reset",disabled:!o.refresh,onClick:h},"\u624B\u52A8\u5237\u65B0\u4E91\u7AEF\u72B6\u6001"),!l.loaded&&k.default.createElement(_,{disabled:l.busy,onClick:()=>f.act("load")},"\u91CD\u8BFB\u672C\u5730\u8D26\u672C")),l.busy&&k.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u672C\u6B21\u8BF7\u6C42\uFF1B\u5B89\u88C5\u8FDB\u7A0B\u72EC\u7ACB\u8FD0\u884C\uFF0C\u4E0D\u5360\u7528\u4E3B\u4F1A\u8BDD\u3002"),l.error&&k.default.createElement(x,{tone:"warn"},k.default.createElement("span",{role:"alert"},Gl[l.error]??"\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\u3002\u4E0D\u8981\u56E0\u62A5\u9519\u91CD\u590D\u5B89\u88C5\u6216\u5220\u9664\uFF0C\u4E5F\u4E0D\u8981\u63A8\u65AD\u6CA1\u6709\u53D1\u751F\u5199\u5165\u3002"),k.default.createElement("code",null,l.error)),l.source?.error&&k.default.createElement(x,{tone:"warn"},"\u5B89\u88C5\u6587\u4EF6\u9700\u8981\u6838\u5BF9\uFF1A",k.default.createElement("code",null,l.source.error)),d?.error&&k.default.createElement(x,{tone:"warn"},"\u8FD0\u884C\u65F6\u9700\u8981\u6838\u5BF9\uFF1A",k.default.createElement("code",null,d.error)),["needs_review","retiring","retired"].includes(l.source?.state)&&k.default.createElement("section",{className:"cloud-plan","aria-label":"\u5B89\u88C5\u8BF7\u6C42\u6062\u590D"},k.default.createElement("h3",null,"\u4FDD\u7559\u73B0\u573A\uFF0C\u5206\u6B65\u6062\u590D"),k.default.createElement("p",null,r.fenced?"\u539F\u8BF7\u6C42\u5DF2\u7531\u76EE\u5F55\u5C4F\u969C\u9694\u79BB\u3002\u5C4F\u969C\u548C\u539F\u59CB\u5B89\u88C5\u6863\u6848\u7EE7\u7EED\u4FDD\u7559\uFF1B\u8FD9\u4E0D\u8868\u793A\u539F\u8FDB\u7A0B\u5DF2\u88AB\u7EC8\u6B62\u3002":"\u8BF7\u6C42\u5931\u8D25\u4E0D\u4EE3\u8868\u6CA1\u6709\u6267\u884C\uFF1B\u8FDC\u7AEF\u76EE\u5F55\u6682\u672A\u51FA\u73B0\uFF0C\u4E5F\u4E0D\u80FD\u76F4\u63A5\u91CD\u65B0\u5B89\u88C5\u3002\u5148\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u518D\u6838\u5BF9\u53EF\u7528\u64CD\u4F5C\u3002"),l.source?.remote?.state==="absent"&&k.default.createElement("p",null,"\u5F53\u524D\u89C2\u5BDF\u672A\u53D1\u73B0\u65E7\u5B89\u88C5\u76EE\u5F55\u3002\u9694\u79BB\u64CD\u4F5C\u4F1A\u5728\u65E7\u8DEF\u5F84\u521B\u5EFA\u4E0D\u53EF\u66FF\u6362\u7684\u6587\u4EF6\u5C4F\u969C\uFF0C\u963B\u6B62\u8FDF\u5230\u7684\u539F\u8BF7\u6C42\u521B\u5EFA\u76EE\u5F55\uFF1B\u4E0D\u4F1A\u8986\u76D6\u5DF2\u6709\u6587\u4EF6\u6216\u7EC8\u6B62\u672A\u77E5\u8FDB\u7A0B\u3002"),C("retire","\u9694\u79BB\u65E7\u5B89\u88C5\u8BF7\u6C42","\u4EC5\u4E3A\u4E0A\u65B9\u539F\u4E8B\u52A1\u521B\u5EFA\u76EE\u5F55\u5C4F\u969C\uFF1B\u4E0D\u5220\u9664\u5185\u5BB9\uFF0C\u4E0D\u91CD\u53D1\u5B89\u88C5\uFF0C\u4E0D\u81EA\u52A8\u521B\u5EFA\u65B0\u76EE\u6807\u3002\u82E5\u539F\u76EE\u5F55\u5DF2\u51FA\u73B0\u5219\u505C\u6B62\u5E76\u4FDD\u7559\u3002"),C("new_target","\u5206\u914D\u65B0\u7684\u72EC\u7ACB\u76EE\u6807","\u53EA\u66F4\u65B0\u672C\u6B21 SSH \u7ED1\u5B9A\u7684\u5B89\u88C5\u6807\u8BC6\uFF1B\u4FDD\u7559\u65E7\u8DEF\u5F84\u5C4F\u969C\u4E0E\u5386\u53F2\u6863\u6848\u3002\u4E0D\u5728\u8FDC\u7AEF\u5B89\u88C5\u6216\u542F\u52A8\uFF1B\u4E4B\u540E\u4ECD\u987B\u91CD\u65B0\u9884\u89C8\u8BA1\u5212\u5E76\u786E\u8BA4\u3002"),r.replacement&&k.default.createElement(x,null,"\u65B0\u7684\u72EC\u7ACB\u76EE\u6807\u5DF2\u5206\u914D\u3002\u624B\u52A8\u5237\u65B0\u540E\uFF0C\u5728\u7B2C 5 \u9875\u91CD\u65B0\u751F\u6210\u5B89\u88C5\u8BA1\u5212\uFF0C\u6838\u5BF9\u65B0\u76EE\u5F55\u518D\u786E\u8BA4\u3002\u65E7\u4E8B\u52A1\u548C\u5C4F\u969C\u4E0D\u4F1A\u88AB\u590D\u7528\u6216\u5220\u9664\u3002"),!l.fresh&&k.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u4EC5\u4E3A\u5386\u53F2\u56DE\u6267\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EE7\u7EED\u6062\u590D\u3002")),!n&&k.default.createElement(k.default.Fragment,null,k.default.createElement("div",{className:"form-actions cloud-plan-preview",role:"group","aria-label":"\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212\u9884\u89C8"},k.default.createElement(_,{icon:"file",disabled:!o.preview,onClick:()=>{p(null),c(!1),f.act("preview")}},"\u751F\u6210\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212")),L&&k.default.createElement("div",{className:"cloud-plan"},g(L),k.default.createElement(S,{label:"\u81EA\u6709\u63D2\u4EF6 / \u6587\u4EF6\u6570",value:`${L.pluginVersion} / ${L.sourceFiles}`}),k.default.createElement("ol",null,L.steps.map(v=>k.default.createElement("li",{key:v},v))),k.default.createElement(x,null,L.conflicts.length?"\u5F85\u6838\u5BF9\uFF1A"+L.conflicts.join("\u3001"):"\u5F53\u524D\u9884\u68C0\u672A\u53D1\u73B0\u963B\u788D\u3002"," \u672C\u6B21\u786E\u8BA4\u53EA\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF1B\u5B98\u65B9\u4F9D\u8D56\u5B89\u88C5\u548C Host \u542F\u52A8\u5728\u7B2C 6 \u9875\u53E6\u884C\u786E\u8BA4\u3002"),k.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u671F\u81F3 ",new Date(L.expiresAt).toLocaleString(),"\u3002\u6267\u884C\u524D\u518D\u6B21\u6821\u9A8C\u5F52\u5C5E\u3001\u6587\u4EF6\u4E0E\u57FA\u7EBF\u3002"),C("stage","\u51C6\u5907\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6","\u5C06\u5411\u4E0A\u65B9\u65B0\u5EFA\u4E13\u7528\u76EE\u5F55\u5199\u5165\u5DF2\u9884\u89C8\u7684\u81EA\u6709\u5B89\u88C5\u6587\u4EF6\uFF0C\u4E0D\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u542F\u52A8 Host\u3002"))),n&&k.default.createElement(k.default.Fragment,null,l.source?.state!=="prepared"&&k.default.createElement(x,null,"\u8BF7\u5148\u5728\u7B2C 5 \u9875\u751F\u6210\u8BA1\u5212\u3001\u786E\u8BA4\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF1B\u5DF2\u6709\u672A\u5B8C\u6210\u4E8B\u52A1\u5219\u5148\u6838\u5BF9\uFF0C\u4E0D\u65B0\u5EFA\u91CD\u590D\u4EFB\u52A1\u3002"),u&&!l.runtimeRecorded&&k.default.createElement("div",{className:"connection-confirm"},k.default.createElement(R,{title:"\u4E3A\u4E91\u7AEF\u5B89\u88C5\u53EF\u9009 IM \u63D2\u4EF6",checked:l.optionalIm===!0,disabled:l.busy,onChange:v=>{p(null),c(!1),f.selectIm(v)},sub:"\u5B98\u65B9 @xmanrui/dsh-im 5.0.3 \xB7 \u7A7A\u914D\u7F6E\u52A0\u8F7D\uFF1B\u4E0D\u4F1A\u590D\u5236\u672C\u7AEF\u51ED\u636E\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\u3002"}),k.default.createElement("p",null,"\u4E0D\u9009\u5219\u4EC5\u5B89\u88C5\u57FA\u7840 Host\uFF1B\u52FE\u9009\u540E\u91CD\u65B0\u9884\u89C8\uFF0C\u6700\u7EC8\u5B89\u88C5\u4ECD\u9700\u4E0B\u65B9\u786E\u8BA4\u3002")),k.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E91\u7AEF\u542F\u52A8\u8BA1\u5212\u64CD\u4F5C"},k.default.createElement(_,{disabled:!o.runtime_preview,onClick:()=>{p(null),c(!1),f.act("runtime_preview")}},"\u9884\u89C8\u4F9D\u8D56\u4E0E Host \u542F\u52A8\u8BA1\u5212"),o.runtime_restart_preview&&k.default.createElement(_,{onClick:()=>{p(null),c(!1),f.act("runtime_restart_preview")}},"\u9884\u89C8\u91CD\u65B0\u542F\u52A8\u8BA1\u5212")),l.runtimePlan&&k.default.createElement("div",{className:"cloud-plan"},g(l.runtimePlan),k.default.createElement(S,{label:"\u5B98\u65B9\u4F9D\u8D56\u6E90",value:l.runtimePlan.registry}),k.default.createElement(S,{label:"\u53EF\u9009 IM",value:l.runtimePlan.optionalIm?"@xmanrui/dsh-im 5.0.3 \xB7 \u7A7A\u914D\u7F6E\u52A0\u8F7D":"\u8DF3\u8FC7 \xB7 \u4E0D\u4E0B\u8F7D\u3001\u4E0D\u52A0\u8F7D"}),k.default.createElement(S,{label:"\u76D1\u542C\u8303\u56F4",value:"127.0.0.1 \xB7 \u81EA\u52A8\u5206\u914D\u7AEF\u53E3\uFF0C\u4E0D\u5F00\u653E\u516C\u7F51"}),k.default.createElement(x,null,"\u5B89\u88C5\u56FA\u5B9A\u7248\u672C\u5B98\u65B9\u4F9D\u8D56\uFF0C\u521B\u5EFA\u9694\u79BB profile\u3001\u5168\u5C40 AGENTS.md \u548C Skill\uFF1B\u901A\u8FC7\u81EA\u6709\u8986\u76D6\u5C42\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u4E0D\u8986\u76D6\u5B98\u65B9\u9ED8\u8BA4\u914D\u7F6E\u3002\u4EC5\u542F\u52A8\u65E0\u6A21\u578B\u3001\u65E0\u4E1A\u52A1 worker \u7684\u539F\u751F Host\u3002",l.runtimePlan.optionalIm?" \u672C\u6B21\u53E6\u5B89\u88C5\u5B98\u65B9 IM 5.0.3 \u5E76\u4EE5\u7A7A\u914D\u7F6E\u52A0\u8F7D\uFF0C\u4E0D\u7ED1\u5B9A\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\u3002":" \u672C\u6B21\u4E0D\u5B89\u88C5\u53EF\u9009 IM\u3002"),k.default.createElement("p",{className:"fine-print"},"\u672C\u542F\u52A8\u8BA1\u5212\u6709\u6548\u671F\u81F3 ",new Date(l.runtimePlan.expiresAt).toLocaleString(),"\uFF1B\u8FC7\u671F\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u91CD\u65B0\u9884\u89C8\u3002\u670D\u52A1\u7AEF\u6267\u884C\u524D\u518D\u6B21\u6821\u9A8C\u57FA\u7EBF\u3002"),C("runtime_start","\u5B89\u88C5\u5E76\u542F\u52A8\u72EC\u7ACB Host","\u5C06\u6267\u884C\u4E0A\u8FF0\u5B89\u88C5\u8BA1\u5212\u3002\u4E0D\u4F1A\u590D\u5236\u65E5\u5E38\u914D\u7F6E\u6216\u51ED\u636E\uFF0C\u4E5F\u4E0D\u4EE3\u8868\u53CC\u7AEF\u6574\u5957\u914D\u7F6E\u5B8C\u6210\u3002")),l.restartPlan&&k.default.createElement("div",{className:"cloud-plan"},g(l.restartPlan),k.default.createElement(S,{label:"\u914D\u7F6E\u4E0E\u6570\u636E\u53D8\u5316\uFF08\u4EC5\u4FDD\u7559\uFF09",value:l.restartPlan.preservedMutableChanges}),k.default.createElement(x,{tone:"warn"},"\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u968F\u542F\u52A8\u6062\u590D\uFF1B\u5E76\u975E\u9996\u6B21\u5B89\u88C5\u65F6\u7684\u7A7A\u914D\u7F6E\u3001\u65E0\u6A21\u578B\u72B6\u6001\u3002\u4E4B\u524D\u624B\u52A8\u65AD\u5F00\u7684\u673A\u5668\u4EBA\u4E5F\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\u3002\u8BF7\u5148\u6838\u5BF9\u539F\u4EFB\u52A1\u548C\u914D\u7F6E\uFF1B\u672C\u786E\u8BA4\u4E0D\u91CD\u65B0\u6279\u51C6\u4EFB\u52A1\u6216\u653E\u5BBD\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u95E8\u7981\u3002"),k.default.createElement(x,null,"\u53EA\u91CD\u65B0\u542F\u52A8\u5DF2\u505C\u6B62\u7684\u72EC\u7ACB Host\uFF1B\u4E0D\u91CD\u65B0\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u91CD\u65B0\u5199\u5165\u5168\u5C40\u89C4\u5219\u6216 Skill\uFF0C\u4E5F\u4E0D\u8986\u76D6\u73B0\u6709\u914D\u7F6E\u3002\u6BCF\u6B21\u542F\u52A8\u4F7F\u7528\u72EC\u7ACB\u65E5\u5FD7\u4E0E\u56DE\u6267\uFF0C\u65E7\u767B\u5F55\u5730\u5740\u4E0D\u80FD\u4F5C\u4E3A\u65B0\u5C31\u7EEA\u8BC1\u636E\u3002\u914D\u7F6E\uFF0F\u6570\u636E\u7684\u53D8\u5316\u4E0D\u4F1A\u88AB\u7EB3\u5165\u81EA\u52A8\u5220\u9664\u6E05\u5355\u3002"),k.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u671F\u81F3 ",new Date(l.restartPlan.expiresAt).toLocaleString(),"\uFF0C\u6267\u884C\u524D\u518D\u6B21\u6838\u5BF9\u3002\u4EC5\u6B64\u6D4B\u8BD5 Host\uFF0C\u4E0D\u91CD\u542F ECS \u64CD\u4F5C\u7CFB\u7EDF\u6216\u5176\u4ED6\u670D\u52A1\u3002"),C("runtime_restart","\u91CD\u65B0\u542F\u52A8\u72EC\u7ACB Host","\u6309\u5F53\u524D\u8BA1\u5212\u91CD\u65B0\u542F\u52A8\u5DF2\u505C\u6B62\u7684\u672C\u4E8B\u52A1 Host\uFF1B\u5148\u524D\u7684\u542F\u52A8\u7ED3\u679C\u4E0D\u80FD\u4EE3\u66FF\u672C\u6B21\u9A8C\u8BC1\u3002")),d&&k.default.createElement("ol",{className:"phase-timeline cloud-phases"},k.default.createElement("li",{className:l.source?.state==="prepared"?"done":"pending"},k.default.createElement("span",{className:"phase-dot"},"1"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u51C6\u5907\u5B89\u88C5\u6587\u4EF6"),k.default.createElement("p",null,xt(l.source?.state)))),k.default.createElement("li",{className:d.nativeHostReady?"done":"pending"},k.default.createElement("span",{className:"phase-dot"},"2"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u4F9D\u8D56\u3001\u4FDD\u62A4\u6027\u89C4\u5219\u4E0E\u539F\u751F Host"),k.default.createElement("p",null,xt(d.state),l.fresh?"":" \xB7 \u5386\u53F2\u8BB0\u5F55"),d.defaultConfig?.preserved&&k.default.createElement("p",null,"\u542F\u52A8\u65F6\u914D\u7F6E\u57FA\u7EBF\u5DF2\u6838\u9A8C\uFF1B\u540E\u7EED\u4FEE\u6539\u9700\u53E6\u884C\u6838\u5BF9"))),k.default.createElement("li",{className:"pending"},k.default.createElement("span",{className:"phase-dot"},"3"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u6A21\u578B\u3001IM\u3001\u53CC\u7AEF\u76F4\u8FDE\u4E0E\u5168\u94FE\u8DEF\u9A8C\u6536"),k.default.createElement("p",null,"\u72EC\u7ACB\u6838\u9A8C \xB7 \u6A21\u578B\u72B6\u6001\u89C1\u4E0B\u65B9\u63A5\u5165\u533A\uFF1BHost \u542F\u52A8\u4E0D\u8BC1\u660E\u5176\u4ED6\u914D\u7F6E\u5DF2\u5B8C\u6210")))),k.default.createElement(ar,{s:l,actions:o,act:v=>{p(null),c(!1),f.act(v)},confirm:C}),l.source?.state==="prepared"&&l.source.operationId&&k.default.createElement(sr,{key:"version:"+l.source.operationId,request:e,operationId:l.source.operationId,busy:l.busy,stoppedUntil:l.fresh&&!l.uncertain&&!l.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?l.observedAt+6e4:0,onMutation:()=>{p(null),c(!1),f.invalidate()}}),l.source?.state==="prepared"&&l.source.operationId&&k.default.createElement(dr,{key:"uninstall:"+l.source.operationId,request:e,operationId:l.source.operationId,busy:l.busy,stoppedUntil:l.fresh&&!l.uncertain&&!l.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?l.observedAt+6e4:0,onMutation:()=>{p(null),c(!1),f.invalidate()}}),l.source?.state==="prepared"&&l.source.operationId&&k.default.createElement(cr,{key:"reclaim:"+l.source.operationId,request:e,operationId:l.source.operationId,busy:l.busy,stoppedUntil:l.fresh&&!l.uncertain&&!l.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?l.observedAt+6e4:0,onMutation:()=>{p(null),c(!1),f.invalidate()}}),C("runtime_reconcile_restart","\u6838\u5BF9\u5DF2\u4E2D\u65AD\u7684\u542F\u52A8","\u518D\u6B21\u8BC1\u660E\u672C\u6B21\u63A7\u5236\u8FDB\u7A0B\u4E0E Host \u5747\u5DF2\u9000\u51FA\u540E\uFF0C\u53EA\u5C06\u8BE5\u6B21\u542F\u52A8\u6807\u8BB0\u4E3A\u4E2D\u65AD\uFF1B\u4E0D\u91CD\u8BD5\u3001\u4E0D\u5220\u6587\u4EF6\u3002\u4E4B\u540E\u987B\u53E6\u884C\u751F\u6210\u8BA1\u5212\u548C\u786E\u8BA4\u3002"),k.default.createElement("div",{className:"form-actions"},o.runtime_stop_preview&&k.default.createElement(_,{onClick:()=>{p(null),c(!1),f.act("runtime_stop_preview")}},"\u9884\u89C8\u505C\u6B62\u8BA1\u5212")),l.stopPlan&&k.default.createElement("div",{className:"cloud-plan","aria-label":"\u505C\u6B62\u8BA1\u5212"},k.default.createElement(S,{label:"\u8303\u56F4",value:l.stopPlan.scope==="owned_host_with_loss_risk"?"\u672C\u4E8B\u52A1\u7684\u72EC\u7ACB Host\uFF0C\u4E0D\u5305\u542B ECS \u6216\u5176\u4ED6\u670D\u52A1":"\u4EC5\u672C\u4E8B\u52A1\u5B89\u88C5\u8FDB\u7A0B\uFF0C\u4E0D\u5305\u542B\u539F\u751F Host"}),k.default.createElement(x,{tone:l.stopPlan.scope==="owned_host_with_loss_risk"||!l.stopPlan.canApply?"warn":"info"},l.stopPlan.scope==="owned_host_with_loss_risk"?"\u7A7A\u95F2\u89C2\u5BDF\u4E0D\u7B49\u4E8E\u65E0\u635F\u6392\u7A7A\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u8F93\u5165\u53CA\u5728\u9014 IM \u53EF\u80FD\u4E2D\u6B62\uFF1B\u81EA\u6709\u6301\u4E45\u961F\u5217\u4FDD\u7559\u3002\u9ED8\u8BA4\u4E0D\u505C\u6B62\uFF0C\u52FE\u9009\u98CE\u9669\u786E\u8BA4\u540E\u624D\u6267\u884C\u3002":"\u53EA\u5411\u6838\u9A8C\u8FC7\u51FA\u751F\u8EAB\u4EFD\u7684\u5B89\u88C5\u8FDB\u7A0B\u53D1\u9001 SIGTERM\uFF0C\u4E0D\u505C\u6B62\u539F\u751F Host\u3002"),!l.stopPlan.canApply&&k.default.createElement(x,{tone:"warn"},{host_drain_required:"\u65E7\u76EE\u6807\u672A\u63D0\u4F9B Host \u98CE\u9669\u505C\u673A\u5951\u7EA6\uFF1B\u4FDD\u6301\u8FD0\u884C\u3002",host_observation_required:"\u5F53\u524D\u5FD9\u95F2\u6216\u5F52\u5C5E\u65E0\u6CD5\u6838\u9A8C\uFF0C\u4E0D\u80FD\u505C\u6B62\u3002",host_busy:"\u68C0\u6D4B\u5230\u6D3B\u52A8\u4EFB\u52A1\u3001\u5F85\u5904\u7406\u8F93\u5165\u6216\u72B6\u6001\u672A\u77E5\uFF0C\u4E0D\u80FD\u505C\u6B62\u3002",installer_active:"\u5B89\u88C5\u6216\u542F\u52A8\u63A7\u5236\u8FDB\u7A0B\u4ECD\u5728\u5DE5\u4F5C\uFF0C\u8BF7\u5148\u6838\u5BF9\u3002",prior_stop_unresolved:"\u539F\u505C\u6B62\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\uFF0C\u4E0D\u80FD\u518D\u53D1\u4FE1\u53F7\u3002",no_active_installer:"\u6CA1\u6709\u53EF\u505C\u6B62\u7684\u8FDB\u7A0B\u3002"}[l.stopPlan.reason]??"\u8BA1\u5212\u4E0D\u53EF\u6267\u884C\uFF0C\u8BF7\u6838\u5BF9\u539F\u4E8B\u52A1\u3002"),k.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(l.stopPlan.expiresAt).toLocaleString(),"\uFF1B\u505C\u673A\u8FD8\u8981\u6C42\u6700\u8FD1\u4E00\u6B21\u72B6\u6001\u89C2\u5BDF\u672A\u8D85\u8FC7 60 \u79D2\uFF0C\u4E24\u4E2A\u671F\u9650\u4EE5\u5148\u5230\u8005\u4E3A\u51C6\u3002\u8FC7\u671F\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u91CD\u65B0\u9884\u89C8\u3002\u786E\u8BA4\u540E\u518D\u6B21\u68C0\u67E5\u5FD9\u95F2\u3001\u8EAB\u4EFD\u4E0E\u5B9E\u4F8B\uFF0C\u5148\u8BB0\u8D26\uFF0C\u518D\u53D1\u9001\u4E00\u6B21 SIGTERM\uFF1B\u4E0D\u5220\u6587\u4EF6\u3001\u4E0D\u5F3A\u6740\u3001\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002"),C("runtime_stop",l.stopPlan.scope==="owned_host_with_loss_risk"?"\u505C\u6B62\u72EC\u7ACB Host":"\u505C\u6B62\u5B89\u88C5\u8FDB\u7A0B","\u53EA\u505C\u6B62\u672C\u8BA1\u5212\u5217\u660E\u7684\u8FDB\u7A0B\uFF1B\u672A\u77E5\u7ED3\u679C\u4FDD\u7559\u539F\u8BF7\u6C42\uFF0C\u53E6\u884C\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")),d?.stop&&k.default.createElement(x,null,"\u505C\u6B62\u8BF7\u6C42\uFF1A",{requested:"\u505C\u6B62\u8BF7\u6C42\u5DF2\u767B\u8BB0",signalled:"\u5DF2\u53D1\u9001\u4FE1\u53F7\uFF0C\u5F85\u6838\u5BF9",needs_review:"\u4E2D\u65AD\u6216\u72B6\u6001\u53D8\u5316\uFF0C\u5F85\u6838\u5BF9",ended:"\u539F\u8BA1\u5212\u8FDB\u7A0B\u5DF2\u6838\u5BF9\u7ED3\u675F"}[d.stop.phase]??"\u672A\u77E5\u72B6\u6001\uFF0C\u4FDD\u7559\u73B0\u573A","\uFF1B\u4ECD\u6D3B\u8DC3\u7684\u5B89\u88C5\u8FDB\u7A0B\uFF1A",d.stop.activeInstallerMembers,d.stop.scope==="owned_host_with_loss_risk"?`\uFF1B\u539F\u8BA1\u5212 Host\uFF1A${d.stop.hostActive?"\u4ECD\u5728\u8FD0\u884C":"\u5DF2\u9000\u51FA"}`:"","\u3002\u53D1\u9001\u4FE1\u53F7\u4E0D\u7B49\u4E8E\u5DF2\u9000\u51FA\u3002"),C("runtime_stop_reconcile","\u6838\u5BF9\u505C\u6B62\u7ED3\u679C","\u4EC5\u6838\u9A8C\u539F\u8BA1\u5212\u5185\u7684\u6240\u6709\u8FDB\u7A0B\u5747\u5DF2\u9000\u51FA\u5E76\u4FDD\u5B58\u7ED3\u679C\uFF1B\u4E0D\u518D\u6B21\u53D1\u9001\u4FE1\u53F7\u3001\u4E0D\u542F\u52A8 Host\u3002"),C("runtime_rollback","\u56DE\u6EDA\u72EC\u7ACB\u8FD0\u884C\u65F6","\u6309\u5DF2\u8BB0\u5F55\u6E05\u5355\u6E05\u7406\u672C\u4E8B\u52A1\u8FD0\u884C\u65F6\u3002\u8FDB\u7A0B\u4ECD\u5B58\u6D3B\u3001\u6587\u4EF6\u53D1\u751F\u6F02\u79FB\u6216\u5B58\u5728\u672A\u77E5\u6587\u4EF6\u65F6\u4F1A\u505C\u6B62\u5E76\u4FDD\u7559\u73B0\u573A\u3002"),d?.cleanupId&&k.default.createElement(x,null,"\u5F53\u524D\u6E05\u7406\u9636\u6BB5\uFF1A",{payload:"\u8FD0\u884C\u65F6\u6587\u4EF6",controls:"\u63A7\u5236\u6587\u4EF6",finalizing:"\u6536\u5C3E\u6838\u9A8C"}[d.cleanupPhase]??"\u5F85\u6838\u5BF9","\uFF1B\u5DF2\u786E\u8BA4\u5904\u7406 ",d.cleanupCompleted??0," \u9879\uFF08\u672C\u9636\u6BB5\uFF09\u3002\u624B\u52A8\u5237\u65B0\u53EA\u8BFB\u72B6\u6001\uFF0C\u4E0D\u7EE7\u7EED\u5220\u9664\u3002"),C("runtime_rollback_resume","\u7EE7\u7EED\u5DF2\u767B\u8BB0\u7684\u6E05\u7406","\u518D\u6B21\u6838\u9A8C\u539F\u8FDB\u7A0B\u9000\u51FA\u3001\u72EC\u5360\u9501\u548C\u7B7E\u540D\u5220\u9664\u8FDB\u5EA6\uFF0C\u53EA\u7EE7\u7EED\u539F\u6765\u5DF2\u6388\u6743\u7684\u6761\u76EE\uFF1B\u4E0D\u91CD\u626B\u8BA4\u9886\u5176\u4ED6\u5185\u5BB9\uFF0C\u4E0D\u91CD\u65B0\u542F\u52A8 Host\u3002"),C("runtime_reconcile_rollback","\u6838\u5BF9\u56DE\u6EDA\u7ED3\u679C","\u53EA\u6838\u5BF9\u5F52\u5C5E\u3001\u8FDB\u7A0B\u9000\u51FA\u548C\u76EE\u5F55\u662F\u5426\u5DF2\u5220\u9664\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u5220\u9664\u64CD\u4F5C\u3002")),C("rollback","\u6E05\u7406\u672C\u4E8B\u52A1\u5B89\u88C5\u6587\u4EF6","\u4EC5\u5728\u8FD0\u884C\u65F6\u5DF2\u7ECF\u56DE\u6EDA\uFF08\u6216\u4ECE\u672A\u542F\u52A8\uFF09\u65F6\uFF0C\u6309\u539F\u59CB\u5B89\u88C5\u6E05\u5355\u6E05\u7406\u672C\u4E8B\u52A1\u6587\u4EF6\u3002\u4E0D\u4F1A\u5220\u9664\u5176\u4ED6\u76EE\u5F55\u3002"),!t&&k.default.createElement(x,null,"\u5F53\u524D Host \u672A\u5F00\u653E\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6\u51C6\u5907\uFF0C\u754C\u9762\u4E0D\u4F1A\u7ED5\u8FC7\u80FD\u529B\u95E8\u7981\u3002"),n&&!s&&k.default.createElement(x,null,"\u5F53\u524D Host \u672A\u5F00\u653E\u72EC\u7ACB\u8FD0\u884C\u65F6\u5B89\u88C5\uFF0C\u4E0D\u80FD\u5728\u6B64\u542F\u52A8\u3002"))),k.default.createElement(we,{pose:n?"model":"cloud",title:n?"\u542F\u52A8\u6210\u529F \u2260 \u5168\u90E8\u914D\u7F6E\u5B8C\u6210":"\u5206\u5F00\u786E\u8BA4\uFF0C\u770B\u6E05\u6BCF\u4E00\u5904\u53D8\u5316\u3002",open:!0},k.default.createElement("p",null,"\u5148\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF0C\u518D\u6838\u5BF9\u56FA\u5B9A\u4F9D\u8D56\u4E0E\u542F\u52A8\u8BA1\u5212\uFF1B\u6BCF\u6B21\u786E\u8BA4\u53EA\u5BF9\u5E94\u5F53\u524D\u64CD\u4F5C\u3002"),k.default.createElement("p",null,"\u5237\u65B0\u662F\u53EA\u8BFB\u89C2\u5BDF\uFF0C\u4E0D\u4F1A\u91CD\u53D1\u5B89\u88C5\u3002\u9047\u5230\u672A\u77E5\u7ED3\u679C\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u518D\u5904\u7406\u3002"),k.default.createElement(S,{label:"\u672C\u5B89\u88C5\u64CD\u4F5C\u8303\u56F4",value:"\u4E0D\u4F20\u9001\u51ED\u636E\u3001\u4E0D\u7ED1\u5B9A\u673A\u5668\u4EBA\u3001\u4E0D\u6388\u6743\u4E1A\u52A1\u5199\u5165"}),k.default.createElement(S,{label:"\u5168\u94FE\u8DEF\u9A8C\u6536",value:"\u9700\u53E6\u884C\u6838\u9A8C\uFF0C\u4E0D\u7531\u5B89\u88C5\u72B6\u6001\u63A8\u65AD"})))}var he=Ce(ge());var Vl={ONBOARDING_REPOSITORY_DEFAULT_BRANCH_REQUIRED:"\u4ED3\u5E93\u53EF\u8BFB\u53D6\uFF0C\u4F46\u672A\u8BBE\u7F6E\u9ED8\u8BA4\u5206\u652F\uFF1B\u8BF7\u586B\u5199\u5DF2\u6709\u5206\u652F\u540E\u91CD\u65B0\u6838\u9A8C\u3002\u7A7A\u4ED3\u5E93\u987B\u53E6\u884C\u521D\u59CB\u5316\uFF0C\u672C\u5BFC\u89C8\u4E0D\u4F1A\u521B\u5EFA\u63D0\u4EA4\u3002",ONBOARDING_REPOSITORY_ARGUMENTS:"\u8BF7\u586B\u5199\u6709\u6548\u7684 Gitee \u4ED3\u5E93\u5730\u5740\u548C\u5206\u652F\uFF1B\u5730\u5740\u4E2D\u4E0D\u80FD\u5305\u542B\u51ED\u636E\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_REQUIRED:"\u5F53\u524D\u76EE\u6807\u6CA1\u6709\u4FDD\u5B58\u672C\u9879\u76EE\u7684 Gitee \u4EE4\u724C\uFF1B\u516C\u5F00\u4ED3\u5E93\u53EF\u9009\u62E9\u533F\u540D\u6838\u9A8C\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_INVALID:"Gitee \u4EE4\u724C\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u901A\u8FC7\u72EC\u7ACB\u51ED\u636E\u7A97\u53E3\u6838\u5BF9\uFF0C\u4E0D\u8981\u586B\u5165\u5730\u5740\u6216\u804A\u5929\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_CHANGED:"\u6838\u9A8C\u671F\u95F4\u51ED\u636E\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u7ED3\u679C\u4E0D\u91C7\u7528\uFF1B\u8BF7\u624B\u52A8\u91CD\u65B0\u6838\u9A8C\u3002",ONBOARDING_REPOSITORY_NOT_FOUND_OR_PRIVATE:"\u4ED3\u5E93\uFF0F\u5206\u652F\u4E0D\u5B58\u5728\uFF0C\u6216\u5F53\u524D\u8EAB\u4EFD\u65E0\u6743\u67E5\u770B\uFF1B\u4E0D\u80FD\u4EC5\u51ED\u6B64\u7ED3\u679C\u5224\u65AD\u4ED3\u5E93\u5DF2\u5220\u9664\u3002",ONBOARDING_REPOSITORY_ACCESS_DENIED:"\u5F53\u524D\u8EAB\u4EFD\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF1B\u4E0D\u4F1A\u5207\u6362\u5176\u4ED6\u51ED\u636E\u91CD\u8BD5\u3002",ONBOARDING_REPOSITORY_RATE_LIMIT:"Gitee \u6682\u65F6\u9650\u6D41\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u9A8C\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_REPOSITORY_PROVIDER_UNAVAILABLE:"Gitee \u53EA\u8BFB\u63A5\u53E3\u6682\u4E0D\u53EF\u8FBE\uFF1B\u672C\u6B21\u6CA1\u6709\u786E\u8BA4\u8BFB\u53D6\u6743\u9650\u3002",ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u4ED3\u5E93\u6838\u9A8C\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u7528\u65B0\u63A7\u5236\u5668\u8986\u76D6\u65E7\u5F52\u6863\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u672C\u5BFC\u89C8\u7684\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u6838\u5BF9\u7B2C 6 \u9875\uFF1B\u4E0D\u56DE\u9000\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u8BF7\u5148\u5B8C\u6210\u672C\u5BFC\u89C8\u7684\u4E91\u7AEF\u72EC\u7ACB\u521D\u59CB\u5316\uFF1B\u672C\u7AEF\u6210\u529F\u4E0D\u80FD\u4EE3\u66FF\u4E91\u7AEF\u9A8C\u8BC1\u3002"};function Nt({request:e,url:t,cloud:s=!1}){let[n,u]=(0,he.useState)(""),[l,a]=(0,he.useState)("anonymous"),[f,m]=(0,he.useState)(!1),[p,i]=(0,he.useState)(null),[c,o]=(0,he.useState)(""),r=(0,he.useRef)(null),d=(0,he.useRef)(!0),L=(0,he.useRef)(!1),C=JSON.stringify([t,n,l,s]);r.current=C,(0,he.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]),(0,he.useEffect)(()=>{i(null),o("")},[C]);async function h(){if(L.current)return;L.current=!0,m(!0),i(null),o("");let v=C;try{let N=await e(s?"cloud_repository_inspect":"repository_inspect",{url:t,branch:n,authentication:l});d.current&&r.current===v&&i({key:v,value:N})}catch(N){d.current&&r.current===v&&o(Vl[N.message]??"\u6838\u9A8C\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u68C0\u67E5\u76EE\u6807\u548C\u8FDE\u63A5\u3002\u4E0D\u91C7\u7528\u65E7\u7ED3\u679C\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{L.current=!1,d.current&&m(!1)}}let g=p?.key===C?p.value:null;return he.default.createElement(V,{className:"connection-panel",title:s?"\u4E91\u7AEF\u4ED3\u5E93\u53EA\u8BFB\u6838\u9A8C":"\u672C\u7AEF\u4ED3\u5E93\u53EA\u8BFB\u6838\u9A8C",icon:"git",sub:"\u624B\u52A8\u67E5\u8BE2 Gitee \u5143\u6570\u636E\uFF1B\u4E0D\u514B\u9686\u3001\u4E0D\u5199\u6587\u4EF6\u3001\u4E0D\u63D0\u4EA4\u6216\u63A8\u9001\u3002"},he.default.createElement(S,{label:"\u67E5\u8BE2\u76EE\u6807",value:s?"\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF Host \xB7 \u4EC5\u4F7F\u7528\u4E91\u7AEF\u51ED\u636E":"\u5F53\u524D Host \xB7 \u4E0D\u501F\u7528\u4E91\u7AEF\u6216\u65E5\u5E38\u51ED\u636E"}),he.default.createElement("div",{className:"form-grid"},he.default.createElement(Se,{label:"\u6838\u9A8C\u5206\u652F",value:n,onChange:v=>u(v.target.value),placeholder:"\u7559\u7A7A\u4F7F\u7528\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F"}),he.default.createElement(Se,{label:"\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD"},he.default.createElement("select",{value:l,onChange:v=>a(v.target.value)},he.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),he.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C")))),he.default.createElement("div",{className:"connection-actions",role:"group","aria-label":s?"\u4E91\u7AEF\u4ED3\u5E93\u6838\u9A8C\u64CD\u4F5C":"\u672C\u7AEF\u4ED3\u5E93\u6838\u9A8C\u64CD\u4F5C"},he.default.createElement(_,{kind:"primary",icon:f?"spinner":"git",disabled:f||!t,onClick:h},f?"\u6B63\u5728\u53EA\u8BFB\u6838\u9A8C\u2026":s?"\u624B\u52A8\u6838\u9A8C\u4E91\u7AEF\u4ED3\u5E93\u8BBF\u95EE":"\u624B\u52A8\u6838\u9A8C\u672C\u7AEF\u4ED3\u5E93\u8BBF\u95EE")),g&&he.default.createElement("div",{role:"status"},he.default.createElement(S,{label:"\u8BFB\u53D6\u6743\u9650",value:"\u672C\u6B21\u5143\u6570\u636E\u8BFB\u53D6\u901A\u8FC7 \xB7 \u4E0D\u4EE3\u8868\u5199\u6743\u9650"}),he.default.createElement(S,{label:"\u5B9E\u9645 Host",value:g.target.name+" / "+g.target.platform}),he.default.createElement(S,{label:"\u4ED3\u5E93",value:g.repository.url}),he.default.createElement(S,{label:"\u5206\u652F",value:g.repository.branch}),he.default.createElement("div",{className:"path-line"},he.default.createElement("span",null,"\u89C2\u5BDF\u5230\u7684\u63D0\u4EA4"),he.default.createElement("code",null,g.repository.base_sha)),he.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",new Date(s?g.checkedAt:g.observedAt).toLocaleString(),"\u3002\u4EC5\u4E3A\u672C\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0\uFF1B\u5B9E\u9645\u4EFB\u52A1\u6267\u884C\u524D\u4ECD\u987B\u91CD\u65B0\u6838\u9A8C\u3002")),c&&he.default.createElement("p",{role:"alert"},c),he.default.createElement(x,null,"\u8FD9\u4E0D\u662F\u4EFB\u52A1\u7ED1\u5B9A\u6216\u5F00\u53D1\u6388\u6743\u3002\u8349\u7A3F\u522B\u540D\u9700\u53E6\u884C\u786E\u8BA4\u767B\u8BB0\uFF1B\u4E3A\u4EFB\u52A1\u5173\u8054\u4ED3\u5E93\u3001\u5F00\u53D1\u3001commit\u3001push \u5FC5\u987B\u5206\u522B\u8D70\u5B9E\u9645\u4EFB\u52A1\u6D41\u7A0B\u548C\u5BA1\u6279\u3002Gitee \u4E0D\u662F\u53CC\u7AEF\u901A\u4FE1\u5E73\u53F0\u3002"))}var ae=Ce(ge());var Rl={active:"\u53D7\u7406\u5DF2\u542F\u7528 \xB7 \u4E0D\u6267\u884C\u4EFB\u52A1",disabled:"\u5DF2\u505C\u7528 \xB7 \u6570\u636E\u4FDD\u7559",not_configured:"\u5C1A\u672A\u542F\u7528",activation_pending:"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u5C1A\u672A\u542F\u52A8",needs_review:"\u9700\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u91CD\u8BD5"},Wl={not_started:"\u5C1A\u65E0\u672C\u8F6E\u64CD\u4F5C",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u539F\u6388\u6743\u56DE\u6267\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"},hr={ONBOARDING_TASK_RUNTIME_PAIR_WORKER_DISABLE_REQUIRED:"\u8BF7\u5148\u505C\u7528\u53EA\u8BFB\u6267\u884C\uFF0C\u518D\u53D8\u66F4\u53CC\u7AEF\u914D\u5BF9\uFF1B\u539F\u961F\u5217\u548C\u6570\u636E\u4FDD\u7559\u3002",ONBOARDING_TASK_RUNTIME_AUTHORIZATION_REVIEW:"\u6388\u6743\u5B58\u50A8\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u81EA\u6709\u8FD0\u884C\u65F6\u5DF2\u5173\u95ED\uFF0C\u4E0D\u4F1A\u7EE7\u7EED\u6309\u4E0D\u786E\u5B9A\u6388\u6743\u6267\u884C\u3002",ONBOARDING_TASK_RUNTIME_WORKER_PRESET_REVIEW:"\u53EA\u8BFB worker \u7684\u539F\u751F\u9884\u8BBE\u672A\u901A\u8FC7\u52A0\u8F7D\u6838\u9A8C\uFF0C\u672A\u542F\u52A8\u8C03\u5EA6\u3002",ONBOARDING_TASK_RUNTIME_PAIR_REVOKE_REQUIRED:"\u53CC\u7AEF\u4ECD\u6709\u914D\u5BF9\u6388\u6743\uFF0C\u8BF7\u5148\u5728\u672C\u5730\u76F4\u8FDE\u9762\u677F\u64A4\u9500\u914D\u5BF9\uFF0C\u518D\u505C\u7528\u53D7\u7406\u3002",ONBOARDING_TASK_RUNTIME_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u5148\u5237\u65B0\u539F\u56DE\u6267\uFF1B\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002",ONBOARDING_TASK_RUNTIME_BUSY:"\u53D7\u7406\u5668\u6216\u4EFB\u52A1\u5C1A\u672A\u7A7A\u95F2\u3002\u672A\u505C\u7528\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_TASK_RUNTIME_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5DF2\u6D88\u8017\uFF1B\u82E5\u70B9\u8FC7\u786E\u8BA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\u3002",ONBOARDING_TASK_RUNTIME_ALREADY_APPLIED:"\u539F\u8BF7\u6C42\u5DF2\u83B7\u786E\u8BA4\uFF0C\u8BF7\u5237\u65B0\u67E5\u770B\u5B9E\u9645\u8FD0\u884C\u72B6\u6001\uFF0C\u4E0D\u5FC5\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_TASK_RUNTIME_PATH_REVIEW:"\u53D7\u7BA1\u76EE\u5F55\u6216\u6587\u4EF6\u5F52\u5C5E\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u8986\u76D6\u6216\u653E\u5BBD\u6743\u9650\u3002",ONBOARDING_CLOUD_TASK_RUNTIME_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u8FD9\u4E2A\u5408\u540C\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_TASK_RUNTIME_UNSUPPORTED:"\u76EE\u6807\u4E0D\u652F\u6301\u53D7\u7406\u542F\u505C\u548C\u6062\u590D\u5408\u540C\uFF0C\u4E0D\u56DE\u9000\u65E7\u63A5\u53E3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u5B89\u88C5\u4E0E\u8FDB\u7A0B\u72B6\u6001\u3002"};function jt({request:e,cloud:t=!1}){let[s,n]=(0,ae.useState)(null),[u,l]=(0,ae.useState)(null),[a,f]=(0,ae.useState)(!1),[m,p]=(0,ae.useState)(!1),[i,c]=(0,ae.useState)(!1),[o,r]=(0,ae.useState)(""),d=(0,ae.useRef)(!0),L=(0,ae.useRef)(!1),C=t?"cloud_task_runtime_":"task_runtime_",h=t?"\u4E91\u7AEF":"\u5F53\u524D\u7AEF";(0,ae.useEffect)(()=>(d.current=!0,e(C+"status",t?{refresh:!1}:{}).then(w=>{d.current&&n(w)}).catch(()=>{d.current&&r("\u8BFB\u53D6\u672C\u7AEF\u8BB0\u5F55\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u6838\u5BF9\u3002")}),()=>{d.current=!1}),[t]);let g=t?s?.runtime:s,v=t?s?.operation:null,N=i||t&&["sending","needs_review","recovering"].includes(v?.state);async function T(w,P,D=!1){if(L.current)return;L.current=!0,p(!0),r("");let O=u;["apply","recoveryApply"].includes(w)&&(l(null),f(!1),c(!0));try{let W=w==="status"?t?{refresh:!0}:{}:w==="preview"?{enabled:P,workerEnabled:D}:w==="recoveryPreview"?{}:{id:O.id,fingerprint:O.fingerprint,confirm:!0};w==="status"&&(l(null),f(!1));let J=await e(C+w,W);if(!d.current)return;["preview","recoveryPreview"].includes(w)?(l({...J,recovery:w==="recoveryPreview"}),f(!1)):(n(J),c(!1))}catch(W){d.current&&(r(hr[W.message]??"\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u6539\u6295\u5176\u4ED6 Host \u6216\u542F\u52A8\u4EFB\u52A1\u3002"),w==="status"&&n(J=>t&&J?{...J,runtime:null,freshness:"check_failed"}:null))}finally{L.current=!1,d.current&&p(!1)}}return ae.default.createElement(V,{className:"connection-panel",title:h+"\u4EFB\u52A1\u53D7\u7406",icon:"cloud",sub:"\u4EFB\u52A1\u53D7\u7406\u4E0E\u53EA\u8BFB\u540E\u53F0\u6267\u884C\u5206\u5F00\u6388\u6743\uFF1B\u4ED3\u5E93\u5199\u5165\u4ECD\u5173\u95ED\u3002"},ae.default.createElement(S,{label:"\u64CD\u4F5C\u8303\u56F4",value:t?"\u4EC5\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684 ECS\uFF0C\u4E0D\u6539\u672C\u7AEF":"\u4EC5\u5F53\u524D\u4E91\u7AEF Host\uFF0C\u4E0D\u64CD\u4F5C\u5176\u4ED6\u8BBE\u5907"}),ae.default.createElement(S,{label:"\u5F53\u524D\u53D7\u7406\u72B6\u6001",value:g?g.workerEnabled?"\u53EA\u8BFB worker \u8FD0\u884C\u4E2D \xB7 \u4ED3\u5E93\u5199\u5165\u5173\u95ED":Rl[g.state]??"\u5F85\u6838\u5BF9":"\u5C1A\u672A\u67E5\u8BE2\u76EE\u6807\u7AEF"}),g&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(S,{label:"\u53EA\u8BFB\u540E\u53F0\u6267\u884C",value:(g.workerDesiredEnabled?"\u5DF2\u6388\u6743":"\u672A\u6388\u6743")+" / "+(g.workerEnabled?"\u8C03\u5EA6\u5668\u5DF2\u6302\u8F7D":"\u672A\u6267\u884C")}),ae.default.createElement(S,{label:"\u6388\u6743\u4E0E\u8FDB\u7A0B",value:(g.desiredEnabled?"\u6388\u6743\u5DF2\u542F\u7528":"\u6388\u6743\u672A\u542F\u7528")+" / "+(g.configured?"\u53D7\u7406\u8FDB\u7A0B\u5DF2\u6302\u8F7D":"\u53D7\u7406\u8FDB\u7A0B\u672A\u6302\u8F7D")}),ae.default.createElement("p",{className:"fine-print"},"\u6388\u6743\u4FEE\u8BA2 ",g.revision,"\u3002\u8FD9\u662F\u672C\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u6301\u7EED\u76D1\u63A7\u3002")),ae.default.createElement("div",{className:"connection-actions",role:"group","aria-label":h+"\u4EFB\u52A1\u53D7\u7406\u64CD\u4F5C"},ae.default.createElement(_,{kind:"primary",icon:"cloud",disabled:m||!!N||g?.configured,onClick:()=>T("preview",!0)},"\u9884\u89C8\u542F\u7528",h,"\u53D7\u7406"),ae.default.createElement(_,{kind:"secondary",icon:"pause",disabled:m||!!N||!g?.desiredEnabled,onClick:()=>T("preview",!1)},"\u9884\u89C8\u505C\u7528",h,"\u53D7\u7406"),ae.default.createElement(_,{kind:"secondary",icon:"reset",disabled:m,onClick:()=>T("status")},"\u624B\u52A8\u5237\u65B0",h,"\u53D7\u7406")),g?.contract===4&&g?.configured&&ae.default.createElement("section",{className:"connection-result worker-runtime","aria-label":"\u53EA\u8BFB\u540E\u53F0\u6267\u884C"},ae.default.createElement("h3",null,"\u53EA\u8BFB\u4EFB\u52A1 Worker"),ae.default.createElement("p",null,"\u72EC\u7ACB\u540E\u53F0\u6267\u884C\uFF0C\u4E0D\u5360\u7528\u5165\u53E3\u4F1A\u8BDD\u3002\u6A21\u578B\u6309\u6BCF\u4E2A\u4EFB\u52A1\u9009\u62E9\uFF1B\u91CD\u542F\u6062\u590D\u540C\u4E00\u68C0\u67E5\u70B9\u3002\u505C\u7528\u4F1A\u4FDD\u7559\u961F\u5217\uFF0C\u91CD\u65B0\u542F\u7528\u540E\u7EE7\u7EED\u7B26\u5408\u539F\u6388\u6743\u7684\u5F85\u6267\u884C\u4EFB\u52A1\u3002"),ae.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53EA\u8BFB worker \u64CD\u4F5C"},ae.default.createElement(_,{kind:"primary",icon:"cloud",disabled:m||!!N||g.workerDesiredEnabled,onClick:()=>T("preview",!0,!0)},"\u9884\u89C8\u542F\u7528\u53EA\u8BFB\u6267\u884C"),ae.default.createElement(_,{kind:"secondary",icon:"pause",disabled:m||!!N||!g.workerDesiredEnabled,onClick:()=>T("preview",!0,!1)},"\u9884\u89C8\u505C\u7528\u53EA\u8BFB\u6267\u884C")),ae.default.createElement("p",{className:"fine-print"},"\u4E0D\u5F00\u653E shell\u3001\u4EFB\u610F\u6587\u4EF6\u3001\u5F00\u53D1\u3001commit\u3001push \u6216\u53D1\u5E03\u3002\u914D\u5BF9\u53D8\u66F4\u524D\u5148\u505C\u7528\u53EA\u8BFB\u6267\u884C\uFF1B\u53D7\u7406\u548C\u539F\u751F DSH \u4E0D\u53D7\u8BE5\u6388\u6743\u6269\u5927\u3002")),v&&ae.default.createElement("div",{className:"connection-result",role:"status"},ae.default.createElement(S,{label:"\u539F\u64CD\u4F5C\u56DE\u6267",value:Wl[v.state]??"\u5F85\u6838\u5BF9"}),ae.default.createElement("p",{className:"fine-print"},s.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF1B\u6388\u6743\u786E\u8BA4\u4E0E\u5B9E\u9645\u8FD0\u884C\u5206\u5F00\u663E\u793A\u3002":s.freshness==="check_failed"?"\u67E5\u8BE2\u5931\u8D25\u3002\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u8FDB\u7A0B\u5728\u7EBF\u3002":"\u672C\u7AEF\u7F13\u5B58\uFF1B\u5C1A\u672A\u8FDE\u63A5\u4E91\u7AEF\u67E5\u8BE2\u3002")),g?.error&&ae.default.createElement("p",{className:"connection-error",role:"status"},hr[g.error]??"\u6388\u6743\u4E0E\u5B9E\u9645\u8FDB\u7A0B\u72B6\u6001\u4E0D\u4E00\u81F4\uFF0C\u9700\u8981\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u542F\u52A8\u6216\u4FEE\u590D\u3002"),t&&N&&ae.default.createElement("div",{className:"connection-utility"},ae.default.createElement("p",null,"\u5148\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4ECD\u65E0\u6CD5\u786E\u8BA4\u65F6\uFF0C\u53EF\u53E6\u884C\u5173\u95ED\u65E7\u8BF7\u6C42\u5E76\u963B\u65AD\u8FDF\u5230\u5E94\u7528\u3002\u4FDD\u7559\u5F53\u524D\u6388\u6743\u3001\u5BC6\u94A5\u548C\u4EFB\u52A1\u6570\u636E\uFF0C\u4E0D\u7B49\u4E8E\u505C\u7528\u3002"),ae.default.createElement(_,{kind:"soft",icon:"shield",disabled:m,onClick:()=>T("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u53D7\u7406\u64CD\u4F5C")),u&&ae.default.createElement("section",{className:"connection-confirm","aria-label":h+"\u4EFB\u52A1\u53D7\u7406\u786E\u8BA4"},ae.default.createElement("h3",null,u.recovery?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u72B6\u6001":u.workerEnabled?"\u786E\u8BA4\u542F\u7528\u53EA\u8BFB\u6267\u884C":u.enabled?"\u786E\u8BA4\u4EC5\u542F\u7528\u53D7\u7406 \xB7 \u53EA\u8BFB\u6267\u884C\u5173\u95ED":"\u786E\u8BA4\u505C\u7528\u53D7\u7406"),!u.recovery&&ae.default.createElement(S,{label:"\u5B9E\u9645 Host",value:u.target.name+" / "+u.target.platform}),ae.default.createElement(x,null,u.recovery?"\u4EC5\u63A8\u8FDB\u7248\u672C\u5C4F\u969C\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7248\u672C\u3002\u539F\u8BF7\u6C42\u82E5\u5DF2\u6210\u529F\uFF0C\u4F1A\u62A5\u544A\u6210\u529F\u800C\u4E0D\u662F\u5047\u62A5\u64A4\u9500\u3002":u.workerEnabled?"\u6302\u8F7D\u672C\u9879\u76EE\u72EC\u7ACB\u53EA\u8BFB worker\uFF0C\u53EF\u6309\u4EFB\u52A1\u6A21\u578B\u8C03\u7528\u4EA7\u751F\u8D39\u7528\uFF1B\u91CD\u542F\u540E\u81EA\u52A8\u6062\u590D\u5DF2\u6388\u6743\u7684\u53EA\u8BFB\u961F\u5217\u548C\u68C0\u67E5\u70B9\u3002\u53EA\u5411\u63D2\u4EF6\u79C1\u6709\u6210\u679C\u533A\u5199\u62A5\u544A\uFF0C\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165\u3001\u5F00\u53D1\u6216\u63D0\u4EA4\u63A8\u9001\u3002":u.enabled?"\u53EA\u6302\u8F7D\u672C\u9879\u76EE\u53D7\u7406\u4E0E\u4ED3\u5E93\u8BFB\u53D6\uFF1B\u505C\u6B62\u53EA\u8BFB\u8C03\u5EA6\u5E76\u4FDD\u7559\u961F\u5217\u3002\u4E0D\u4F1A\u542F\u52A8 worker\u3001\u8C03\u7528\u6A21\u578B\u3001\u914D\u5BF9\u53CC\u7AEF\u3001\u5199\u4ED3\u5E93\u6216\u63D0\u4EA4\u63A8\u9001\u3002":"\u4EC5\u5728\u53D7\u7406\u7A7A\u95F2\u65F6\u64A4\u4E0B\u672C\u9879\u76EE\u670D\u52A1\u4E0E\u5DE5\u5177\uFF0C\u4FDD\u7559\u914D\u7F6E\u548C\u4EFB\u52A1\u6570\u636E\uFF1B\u4E0D\u5173\u95ED\u539F\u751F DSH\u3002"),ae.default.createElement(R,{checked:a,disabled:m,onChange:f,title:u.workerEnabled&&!u.recovery?"\u6211\u540C\u610F\u53EA\u8BFB\u6A21\u578B\u6267\u884C\u3001\u8D39\u7528\u53CA\u91CD\u542F\u6062\u590D\uFF0C\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165":"\u6211\u5DF2\u6838\u5BF9\u8303\u56F4\uFF0C\u4E0D\u65B0\u589E\u6A21\u578B\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165\u6388\u6743"}),ae.default.createElement("div",{className:"connection-actions",role:"group","aria-label":h+"\u53D7\u7406\u6700\u7EC8\u786E\u8BA4"},ae.default.createElement(_,{kind:"primary",icon:"check",disabled:m||!a,onClick:()=>T(u.recovery?"recoveryApply":"apply")},u.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u53D7\u7406\u64CD\u4F5C":u.workerEnabled?"\u786E\u8BA4\u542F\u7528\u53EA\u8BFB\u6267\u884C":u.enabled?"\u786E\u8BA4\u4EC5\u4FDD\u7559"+h+"\u53D7\u7406":"\u786E\u8BA4\u505C\u7528"+h+"\u53D7\u7406"),ae.default.createElement(_,{kind:"secondary",disabled:m,onClick:()=>{l(null),f(!1)}},"\u53D6\u6D88"))),o&&ae.default.createElement("p",{className:"connection-error",role:"alert"},o),ae.default.createElement(x,null,"\u53D7\u7406\u3001\u6A21\u578B\u63A5\u5165\u3001\u4EFB\u52A1\u6267\u884C\u548C A2A \u4E0D\u662F\u540C\u4E00\u9879\u6388\u6743\u3002\u9875\u9762\u4E0D\u81EA\u52A8\u5237\u65B0\uFF0C\u4E5F\u4E0D\u8868\u793A\u516D\u9875\u914D\u7F6E\u5DF2\u5168\u90E8\u9A8C\u6536\u3002"))}var me=Ce(ge());var zl={not_started:"\u5C1A\u672A\u914D\u5BF9",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u914D\u5BF9\u64CD\u4F5C\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"},Kl={ONBOARDING_LOCAL_PAIR_OTHER_CONTROLLER:"\u8BE5\u4E91\u7AEF\u5DF2\u7ED1\u5B9A\u5176\u4ED6\u63A7\u5236\u7AEF\u3002\u4E3A\u4FDD\u62A4\u5386\u53F2\u90AE\u7BB1\uFF0C\u4E0D\u4F1A\u76F4\u63A5\u6362\u7ED1\u3002",ONBOARDING_LOCAL_PAIR_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\uFF0C\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002",ONBOARDING_LOCAL_PAIR_BUSY:"\u672C\u5730\u4F20\u8F93\u5C1A\u5728\u8FDB\u884C\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_LOCAL_PAIR_ALREADY_APPLIED:"\u539F\u914D\u5BF9\u5DF2\u83B7\u786E\u8BA4\uFF0C\u8BF7\u5237\u65B0\u67E5\u770B\uFF0C\u4E0D\u9700\u8981\u91CD\u53D1\u6216\u5173\u95ED\u3002",ONBOARDING_LOCAL_PAIR_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u8FC7\u671F\u6216\u5DF2\u6D88\u8017\uFF1B\u82E5\u70B9\u8FC7\u786E\u8BA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\u3002",ONBOARDING_TASK_RUNTIME_PAIR_RUNTIME_NOT_READY:"\u8BF7\u5148\u786E\u8BA4\u4E91\u7AEF\u4EFB\u52A1\u53D7\u7406\u5DF2\u542F\u7528\uFF0C\u518D\u9884\u89C8\u914D\u5BF9\u3002",ONBOARDING_TASK_RUNTIME_PAIR_BUSY:"\u4E91\u7AEF\u4F20\u8F93\u6216\u53D7\u7406\u5C1A\u672A\u7A7A\u95F2\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_CLOUD_PAIR_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u53D7\u7BA1\u914D\u5BF9\u3002\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u539F\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u5B89\u88C5\u548C\u8FDB\u7A0B\u72B6\u6001\u3002"};function gr({request:e}){let[t,s]=(0,me.useState)(null),[n,u]=(0,me.useState)(null),[l,a]=(0,me.useState)(!1),[f,m]=(0,me.useState)(!1),[p,i]=(0,me.useState)(!1),[c,o]=(0,me.useState)(""),r=(0,me.useRef)(!0),d=(0,me.useRef)(!1);(0,me.useEffect)(()=>(r.current=!0,e("local_pair_status",{refresh:!1}).then(h=>{r.current&&s(h)}).catch(()=>{r.current&&o("\u8BFB\u53D6\u672C\u5730\u914D\u5BF9\u8BB0\u5F55\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{r.current=!1}),[]);let L=p||["sending","needs_review","recovering"].includes(t?.operation.state);async function C(h,g){if(d.current)return;d.current=!0,m(!0),o("");let v=n;["apply","recoveryApply"].includes(h)&&(u(null),a(!1),i(!0)),h==="status"&&(u(null),a(!1));try{let N=h==="status"?{refresh:!0}:h==="preview"?{enabled:g}:h==="recoveryPreview"?{}:{id:v.id,fingerprint:v.fingerprint,confirm:!0},T=await e("local_pair_"+h,N);if(!r.current)return;["preview","recoveryPreview"].includes(h)?(u({...T,recovery:h==="recoveryPreview"}),a(!1)):(s(T),i(!1))}catch(N){r.current&&(o(Kl[N.message]??"\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u540C\u4E00\u914D\u5BF9\u56DE\u6267\uFF0C\u4E0D\u91CD\u53D1\u3001\u4E0D\u6539\u6295\u5176\u4ED6 Host\u3002"),h==="status"&&s(T=>T?{...T,remote:null,freshness:"check_failed"}:null))}finally{d.current=!1,r.current&&m(!1)}}return me.default.createElement(V,{className:"connection-panel",title:"\u672C\u5730\u4E0E\u4E91\u7AEF\u76F4\u8FDE",icon:"cloud",sub:"\u6CBF\u7528\u5DF2\u6838\u5BF9\u7684 SSH \u76EE\u6807\uFF1B\u4E0D\u4F9D\u8D56 IM \u7FA4\u804A\uFF0C\u4E5F\u4E0D\u590D\u5236\u4E91\u7AEF\u5185\u90E8\u4EE4\u724C\u3002"},me.default.createElement(S,{label:"\u64CD\u4F5C\u8303\u56F4",value:"\u5F53\u524D\u672C\u5730\u5927\u80A5\u9C7C \u2194 \u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684\u4E91\u7AEF\u5927\u80A5\u9C7C"}),me.default.createElement(S,{label:"\u672C\u5730\u6388\u6743",value:t?.localEnabled?"\u5DF2\u5141\u8BB8\u8FDE\u63A5":"\u5C1A\u672A\u5141\u8BB8\u8FDE\u63A5"}),me.default.createElement(S,{label:"\u672C\u5730\u63A5\u5165",value:t?.mounted?"\u63A5\u5165\u5668\u5DF2\u6302\u8F7D \xB7 \u4E0D\u4EE3\u8868\u4E91\u7AEF\u5728\u7EBF":"\u63A5\u5165\u5668\u672A\u6302\u8F7D"}),me.default.createElement(S,{label:"\u4E91\u7AEF\u89C2\u5BDF",value:t?.remote?t.remote.mounted?"\u63A5\u6536\u901A\u9053\u5DF2\u6302\u8F7D":t.remote.enabled?"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u672A\u6302\u8F7D":"\u63A5\u6536\u901A\u9053\u672A\u542F\u7528":"\u5C1A\u65E0\u672C\u6B21\u4E91\u7AEF\u89C2\u5BDF"}),me.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53CC\u7AEF\u76F4\u8FDE\u64CD\u4F5C"},me.default.createElement(_,{kind:"primary",icon:"cloud",disabled:f||!!L||!!t?.localEnabled,onClick:()=>C("preview",!0)},"\u9884\u89C8\u53CC\u7AEF\u914D\u5BF9"),me.default.createElement(_,{kind:"secondary",icon:"pause",disabled:f||!!L||!t?.operation.target,onClick:()=>C("preview",!1)},"\u9884\u89C8\u64A4\u9500\u914D\u5BF9"),me.default.createElement(_,{kind:"secondary",icon:"reset",disabled:f,onClick:()=>C("status")},"\u624B\u52A8\u5237\u65B0\u76F4\u8FDE\u72B6\u6001")),t&&me.default.createElement("div",{className:"connection-result",role:"status"},me.default.createElement(S,{label:"\u64CD\u4F5C\u56DE\u6267",value:zl[t.operation.state]??"\u5F85\u6838\u5BF9"}),me.default.createElement("p",{className:"fine-print"},t.freshness==="remote_checked"?"\u5DF2\u67E5\u8BE2\u7ED1\u5B9A\u76EE\u6807\u3002\u672C\u6B21\u89C2\u5BDF\u4E0D\u6388\u4E88\u4EFB\u52A1\u6267\u884C\u6216\u5199\u5165\u6743\u9650\u3002":t.freshness==="check_failed"?"\u67E5\u8BE2\u5931\u8D25\uFF1B\u672C\u5730\u5DF2\u6302\u8F7D\u4E0D\u8BC1\u660E\u7F51\u7EDC\u6216\u4E91\u7AEF\u5065\u5EB7\u3002":"\u4EC5\u672C\u5730\u7F13\u5B58\u3002\u6253\u5F00\u9875\u9762\u4E0D\u4F1A\u81EA\u52A8\u8FDE\u63A5\u4E91\u7AEF\u5237\u65B0\u3002")),t?.activationError&&me.default.createElement("p",{className:"connection-error",role:"status"},"\u672C\u5730\u6388\u6743\u4E0E\u6302\u8F7D\u72B6\u6001\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u8986\u76D6\u5176\u4ED6\u7F51\u5173\u3002"),L&&me.default.createElement("div",{className:"connection-utility"},me.default.createElement("p",null,"\u5148\u67E5\u8BE2\u539F\u64CD\u4F5C\u3002\u4ECD\u672A\u77E5\u65F6\u53EF\u5173\u95ED\u65E7\u8BF7\u6C42\u5E76\u963B\u65AD\u8FDF\u5230\u5E94\u7528\uFF1B\u4FDD\u7559\u4E91\u7AEF\u65E2\u6709\u6388\u6743\uFF0C\u672C\u5730\u4E0D\u4F1A\u56E0\u6B64\u81EA\u52A8\u63A5\u7BA1\u3002"),me.default.createElement(_,{kind:"soft",icon:"shield",disabled:f,onClick:()=>C("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u64CD\u4F5C")),n&&me.default.createElement("section",{className:"connection-confirm","aria-label":"\u53CC\u7AEF\u914D\u5BF9\u786E\u8BA4"},me.default.createElement("h3",null,n.recovery?"\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u8BF7\u6C42":n.enabled?"\u786E\u8BA4\u8FDE\u63A5\u8FD9\u4E24\u4E2A Host":"\u786E\u8BA4\u64A4\u9500\u53CC\u7AEF\u914D\u5BF9"),me.default.createElement(S,{label:"\u4E91\u7AEF\u8303\u56F4",value:"\u5DF2\u7ED1\u5B9A ECS / DSH "+n.target.hostVersion}),me.default.createElement(x,null,n.recovery?"\u4FDD\u7559\u4E91\u7AEF\u5F53\u524D\u6388\u6743\uFF0C\u4EC5\u5173\u95ED\u539F\u64CD\u4F5C\u5E76\u963B\u65AD\u8FDF\u5230\u786E\u8BA4\uFF1B\u4E0D\u4EE3\u8868\u4E91\u7AEF\u5DF2\u505C\u7528\u3002\u539F\u786E\u8BA4\u82E5\u5148\u6210\u529F\uFF0C\u4F1A\u5982\u5B9E\u663E\u793A\u5DF2\u751F\u6548\u3002":n.enabled?"\u542F\u7528\u672C\u5730\u53D7\u7406\u3001\u4EFB\u52A1\u4E0E\u4ED3\u5E93\u8BFB\u53D6\u548C\u6301\u4E45\u6D88\u606F\u4F20\u8F93\u3002\u4F20\u8F93\u5668\u4F1A\u5904\u7406\u5DF2\u6388\u6743\u961F\u5217\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u3001\u5F00\u542F worker\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002":"\u5148\u505C\u6B62\u672C\u5730\u63A5\u5165\uFF0C\u518D\u8BF7\u6C42\u64A4\u9500\u4E91\u7AEF\u914D\u5BF9\u3002\u5386\u53F2\u4EFB\u52A1\u4E0E\u90AE\u7BB1\u4FDD\u7559\uFF0C\u4E0D\u5173\u95ED\u539F\u751F DSH\u3002\u82E5\u7F51\u7EDC\u4E2D\u65AD\u987B\u6838\u5BF9\u4E91\u7AEF\u56DE\u6267\u3002"),me.default.createElement(R,{checked:l,disabled:f,onChange:a,title:"\u6211\u5DF2\u6838\u5BF9\u53CC\u7AEF\u8303\u56F4\uFF0C\u4E0D\u6388\u6743\u6A21\u578B\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165"}),me.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53CC\u7AEF\u914D\u5BF9\u6700\u7EC8\u786E\u8BA4"},me.default.createElement(_,{kind:"primary",icon:"check",disabled:f||!l,onClick:()=>C(n.recovery?"recoveryApply":"apply")},n.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u64CD\u4F5C":n.enabled?"\u786E\u8BA4\u53CC\u7AEF\u914D\u5BF9":"\u786E\u8BA4\u64A4\u9500\u53CC\u7AEF\u914D\u5BF9"),me.default.createElement(_,{kind:"secondary",disabled:f,onClick:()=>{u(null),a(!1)}},"\u53D6\u6D88"))),c&&me.default.createElement("p",{className:"connection-error",role:"alert"},c),me.default.createElement(x,null,"\u8BF7\u5148\u5F00\u542F\u4E91\u7AEF\u4EFB\u52A1\u53D7\u7406\uFF1B\u505C\u7528\u53D7\u7406\u524D\u987B\u64A4\u9500\u914D\u5BF9\u3002\u9875\u9762\u4EC5\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u628A\u914D\u7F6E\u5B8C\u6210\u5F53\u4F5C\u6A21\u578B\u6216 IM \u5168\u94FE\u8DEF\u9A8C\u6536\u901A\u8FC7\u3002"))}var Z=Ce(ge());var Xl={ONBOARDING_REPOSITORY_ALIAS_CONFLICT:"\u8FD9\u4E2A\u522B\u540D\u5DF2\u7ECF\u767B\u8BB0\u7ED9\u5176\u4ED6\u4ED3\u5E93\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_REPOSITORY_REGISTRY_ARGUMENTS:"\u8BF7\u6838\u5BF9\u4ED3\u5E93\u5730\u5740\u548C\u522B\u540D\uFF1B\u4E0D\u8981\u586B\u5199\u4EE4\u724C\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_REQUIRED:"\u76EE\u6807\u7AEF\u6CA1\u6709\u672C\u9879\u76EE Gitee \u4EE4\u724C\u3002\u8BF7\u5148\u4FDD\u5B58\uFF0F\u4EA4\u63A5\uFF0C\u6216\u660E\u786E\u9009\u62E9\u533F\u540D\u8BBF\u95EE\u516C\u5F00\u4ED3\u5E93\u3002",ONBOARDING_REPOSITORY_RECOVERY_REQUIRED:"\u4E0A\u6B21\u4E91\u7AEF\u767B\u8BB0\u5C1A\u5F85\u6838\u5BF9\uFF0C\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002\u8BF7\u5148\u5237\u65B0\u539F\u56DE\u6267\uFF0C\u5FC5\u8981\u65F6\u9884\u89C8\u5173\u95ED\u672A\u77E5\u64CD\u4F5C\u3002",ONBOARDING_REPOSITORY_PLAN_EXPIRED:"\u786E\u8BA4\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u88AB\u6D88\u8017\u3002\u82E5\u66FE\u70B9\u51FB\u786E\u8BA4\uFF0C\u8BF7\u5148\u5237\u65B0\u56DE\u6267\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u590D\u767B\u8BB0\u3002",ONBOARDING_REPOSITORY_REGISTRY_CONFLICT:"\u767B\u8BB0\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u6CA1\u6709\u8986\u76D6\u65B0\u7248\u672C\u3002\u8BF7\u5237\u65B0\u540E\u91CD\u65B0\u5BA1\u9605\u3002",ONBOARDING_REPOSITORY_ALREADY_APPLIED:"\u539F\u64CD\u4F5C\u5DF2\u767B\u8BB0\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u67E5\u770B\u56DE\u6267\uFF0C\u65E0\u9700\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u767B\u8BB0\u5408\u540C\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_REPOSITORY_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u767B\u8BB0\u4E0E\u6062\u590D\u5408\u540C\uFF0C\u4E0D\u56DE\u9000\u5230\u65E7\u63A5\u53E3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u53D7\u7BA1\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u6838\u5BF9\u7B2C 6 \u9875\uFF1B\u4E0D\u4F1A\u6539\u767B\u8BB0\u5230\u672C\u7AEF\u3002"},$l=e=>e?.replace(/^git@gitee\.com:/,"https://gitee.com/").replace(/\.git\/?$/,"").replace(/\/$/,"").toLowerCase(),Ql={not_started:"\u5C1A\u65E0\u672C\u8F6E\u4E91\u7AEF\u767B\u8BB0\u64CD\u4F5C",sending:"\u5DF2\u8BB0\u53D1\u9001\u610F\u56FE \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u6B63\u5728\u6838\u5BF9\u5173\u95ED\u7ED3\u679C",applied:"\u539F\u767B\u8BB0\u56DE\u6267\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"};function At({request:e,url:t,alias:s,cloud:n=!1}){let[u,l]=(0,Z.useState)("anonymous"),[a,f]=(0,Z.useState)(null),[m,p]=(0,Z.useState)(null),[i,c]=(0,Z.useState)(!1),[o,r]=(0,Z.useState)(!1),[d,L]=(0,Z.useState)(""),[C,h]=(0,Z.useState)(!1),g=(0,Z.useRef)(!0),v=(0,Z.useRef)(!1),N=(0,Z.useRef)(""),T=JSON.stringify([t,s,u,n]);N.current=T;let w=n?"cloud_repository_registry_":"repository_registry_",P=n?"\u4E91\u7AEF":"\u672C\u7AEF",D=s?.trim()||t?.replace(/\/$/,"").split("/").pop()?.replace(/\.git$/,"")||"";(0,Z.useEffect)(()=>(g.current=!0,e(w+"status",n?{refresh:!1}:{}).then(fe=>{g.current&&f(fe)}).catch(()=>{g.current&&L("\u672C\u7AEF\u767B\u8BB0\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u6838\u5BF9\u3002")}),()=>{g.current=!1}),[n]),(0,Z.useEffect)(()=>{p(null),c(!1)},[T]);let O=n?a?.registry:a,W=n?a?.operation:null,J=O?.entries?.find(fe=>fe.url.toLowerCase()===$l(t)),H=n?W&&["sending","needs_review","recovering"].includes(W.state):C;async function Ie(fe,Ke){if(v.current)return;v.current=!0,r(!0),L("");let Qe=T,Ee=m;(fe==="apply"||fe==="recoveryApply")&&(p(null),c(!1),h(!0));try{let Ae;fe==="status"?(p(null),c(!1),Ae=n?{refresh:!0}:{}):fe==="preview"?Ae=Ke?{url:t,alias:D,authentication:u,enabled:!0}:{url:J.url,alias:J.alias,authentication:J.authentication,enabled:!1}:fe==="recoveryPreview"?Ae={}:Ae={id:Ee.id,fingerprint:Ee.fingerprint,confirm:!0};let le=await e(w+fe,Ae);if(!g.current)return;fe==="preview"||fe==="recoveryPreview"?N.current===Qe&&(p({...le,recovery:fe==="recoveryPreview"}),c(!1)):(f(le),h(!1))}catch(Ae){g.current&&(L(Xl[Ae.message]??"\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u539F\u8BB0\u5F55\uFF0C\u4E0D\u4F9D\u636E\u9519\u8BEF\u63A8\u65AD\u672A\u5199\u5165\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"),fe==="status"&&f(le=>n&&le?{...le,registry:null,freshness:"check_failed"}:null))}finally{v.current=!1,g.current&&r(!1)}}return Z.default.createElement(V,{className:"connection-panel",title:P+"\u4ED3\u5E93\u767B\u8BB0",icon:"git",sub:"\u628A\u8349\u7A3F\u53D8\u6210\u660E\u786E\u767B\u8BB0\uFF1B\u4E0D\u662F\u4EFB\u52A1\u7ED1\u5B9A\uFF0C\u4E5F\u4E0D\u5F00\u653E\u5F00\u53D1\u6216 Git \u5199\u5165\u3002"},Z.default.createElement(S,{label:"\u767B\u8BB0\u4F4D\u7F6E",value:n?"\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684\u4E91\u7AEF Host \xB7 \u4E0D\u6539\u672C\u7AEF":"\u5F53\u524D Host \xB7 \u4E0D\u81EA\u52A8\u540C\u6B65\u4E91\u7AEF"}),Z.default.createElement(S,{label:"\u62DF\u7528\u522B\u540D",value:D||"\u586B\u5199\u5730\u5740\u540E\u9ED8\u8BA4\u4F7F\u7528\u4ED3\u5E93\u540D\u79F0\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u522B\u540D"}),Z.default.createElement(Se,{label:"\u767B\u8BB0\u8BBF\u95EE\u8EAB\u4EFD"},Z.default.createElement("select",{value:u,disabled:o,onChange:fe=>l(fe.target.value)},Z.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),Z.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C"))),Z.default.createElement("div",{className:"connection-actions",role:"group","aria-label":P+"\u4ED3\u5E93\u767B\u8BB0\u64CD\u4F5C"},Z.default.createElement(_,{kind:"primary",icon:o?"spinner":"git",disabled:o||!t||!D||!!H,onClick:()=>Ie("preview",!0)},"\u9884\u89C8",P,"\u4ED3\u5E93\u767B\u8BB0"),Z.default.createElement(_,{kind:"secondary",icon:"pause",disabled:o||!J?.enabled||!!H,onClick:()=>Ie("preview",!1)},"\u9884\u89C8\u505C\u7528",P,"\u767B\u8BB0"),Z.default.createElement(_,{kind:"secondary",icon:"reset",disabled:o,onClick:()=>Ie("status")},"\u624B\u52A8\u5237\u65B0",P,"\u767B\u8BB0")),W&&Z.default.createElement("div",{className:"connection-result",role:"status"},Z.default.createElement(S,{label:"\u539F\u64CD\u4F5C",value:Ql[W.state]??"\u5F85\u6838\u5BF9"}),Z.default.createElement("p",{className:"fine-print"},a.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF1B\u4EC5\u4EE3\u8868\u672C\u6B21\u89C2\u5BDF\u3002":a.freshness==="check_failed"?"\u672C\u6B21\u67E5\u8BE2\u5931\u8D25\uFF0C\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u5728\u7EBF\u3002":"\u672C\u7AEF\u5386\u53F2\u8BB0\u5F55\uFF0C\u5C1A\u672A\u67E5\u8BE2\u4E91\u7AEF\u3002")),O&&Z.default.createElement("div",{className:"connection-result",role:"status"},Z.default.createElement(S,{label:"\u5F53\u524D\u5730\u5740\u7684\u767B\u8BB0",value:J?J.enabled?"\u5DF2\u767B\u8BB0 \xB7 "+J.alias:"\u5DF2\u505C\u7528\uFF0C\u4FDD\u7559\u8BB0\u5F55":"\u672A\u767B\u8BB0"}),Z.default.createElement(S,{label:"\u4EFB\u52A1\u8FD0\u884C\u65F6",value:O.runtimeConfigured?"\u76EE\u6807\u914D\u7F6E\u5DF2\u63A5\u5165\uFF1B\u4EFB\u52A1\u4ECD\u987B\u53E6\u884C\u5173\u8054\u548C\u5BA1\u6279":"\u5C1A\u672A\u542F\u7528\u6B64\u767B\u8BB0\u7684\u4E91\u7AEF\u4EFB\u52A1\u8FD0\u884C\u65F6\uFF1B\u4FDD\u5B58\u4E0D\u4EE3\u8868\u53EF\u6267\u884C"}),Z.default.createElement("p",{className:"fine-print"},"\u767B\u8BB0\u4FEE\u8BA2 ",O.revision,"\uFF1B\u4E0D\u662F\u4ED3\u5E93\u5185\u5BB9\u6216\u6743\u9650\u7684\u6301\u7EED\u76D1\u63A7\u3002")),n&&H&&Z.default.createElement("div",{className:"connection-utility"},Z.default.createElement("p",null,"\u5148\u5237\u65B0\u539F\u56DE\u6267\u3002\u4ECD\u672A\u786E\u8BA4\u65F6\uFF0C\u53EF\u5355\u72EC\u5173\u95ED\u539F\u64CD\u4F5C\u5E76\u963B\u65AD\u8FDF\u5230\u8BF7\u6C42\uFF1B\u4E0D\u5220\u9664\u4ED3\u5E93\u767B\u8BB0\u6216\u51ED\u636E\u3002"),Z.default.createElement(_,{kind:"soft",icon:"shield",disabled:o,onClick:()=>Ie("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u767B\u8BB0")),m&&Z.default.createElement("section",{className:"connection-confirm","aria-label":P+"\u4ED3\u5E93\u767B\u8BB0\u786E\u8BA4"},Z.default.createElement("h3",null,m.recovery?"\u5173\u95ED\u672A\u77E5\u767B\u8BB0\uFF0C\u4E0D\u91CD\u53D1":m.entry.enabled?"\u786E\u8BA4\u767B\u8BB0\u8BA1\u5212":"\u786E\u8BA4\u505C\u7528\u8BA1\u5212"),!m.recovery&&Z.default.createElement(Z.default.Fragment,null,Z.default.createElement(S,{label:"\u4ED3\u5E93",value:m.entry.url}),Z.default.createElement(S,{label:"\u522B\u540D",value:m.entry.alias}),Z.default.createElement(S,{label:"\u8BBF\u95EE\u65B9\u5F0F",value:m.entry.authentication==="anonymous"?"\u533F\u540D\uFF0C\u4E0D\u4F7F\u7528\u4EFB\u4F55\u5DF2\u5B58\u4EE4\u724C":"\u4EC5\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C"}),Z.default.createElement(S,{label:"\u5B9E\u9645 Host",value:m.target.name+" / "+m.target.platform})),Z.default.createElement(x,null,m.recovery?"\u4EC5\u63A8\u8FDB\u767B\u8BB0\u7248\u672C\u5C4F\u969C\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7684\u7248\u672C\uFF1B\u4FDD\u7559\u5F53\u524D\u6240\u6709\u6761\u76EE\uFF0C\u4E0D\u91CD\u53D1\u539F\u767B\u8BB0\u3002\u82E5\u539F\u8BF7\u6C42\u5DF2\u6210\u529F\uFF0C\u4F1A\u663E\u793A\u539F\u767B\u8BB0\u751F\u6548\uFF0C\u800C\u4E0D\u662F\u5047\u62A5\u64A4\u9500\u3002":"\u4EC5\u4FDD\u5B58\u6216\u505C\u7528\u8FD9\u4E2A\u5730\u5740\u7684\u767B\u8BB0\u3002\u539F\u4EFB\u52A1\u5173\u8054\u4E0D\u53D8\uFF1B\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u4ECD\u987B\u72EC\u7ACB\u5BA1\u6279\u3002"),Z.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4EC5\u53D8\u66F4\u672C\u9879\u76EE\u4ED3\u5E93\u767B\u8BB0\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216 Git \u5199\u5165",checked:i,onChange:c}),Z.default.createElement("div",{className:"connection-actions",role:"group","aria-label":P+"\u4ED3\u5E93\u767B\u8BB0\u6700\u7EC8\u786E\u8BA4"},Z.default.createElement(_,{kind:"primary",icon:"check",disabled:o||!i,onClick:()=>Ie(m.recovery?"recoveryApply":"apply")},m.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u767B\u8BB0":m.entry.enabled?"\u786E\u8BA4"+P+"\u4ED3\u5E93\u767B\u8BB0":"\u786E\u8BA4\u505C\u7528"+P+"\u767B\u8BB0"),Z.default.createElement(_,{kind:"secondary",disabled:o,onClick:()=>{p(null),c(!1)}},"\u53D6\u6D88"))),d&&Z.default.createElement("p",{className:"connection-error",role:"alert"},d),Z.default.createElement(x,null,"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u767B\u8BB0\u72EC\u7ACB\uFF1BGitee \u4ECD\u4E0D\u662F\u901A\u4FE1\u901A\u9053\u6216\u4EFB\u52A1\u9501\u3002\u9875\u9762\u4E0D\u81EA\u52A8\u5237\u65B0\uFF0C\u4E0D\u8BBF\u95EE Gitee \u7F51\u9875\u3002"))}var _e=Ce(ge());var eo={"deepseek-local":"\u672C\u7AEF DeepSeek","deepseek-cloud":"\u9884\u5907\u4E91\u7AEF DeepSeek","token-plan":"\u672C\u7AEF\u963F\u91CC\u4E91 Token Plan","token-plan-cloud":"\u9884\u5907\u4E91\u7AEF Token Plan",gitee:"\u672C\u7AEF Gitee","gitee-cloud":"\u9884\u5907\u4E91\u7AEF Gitee"};function ao({request:e,onReference:t,category:s="model"}){let n=s==="repository",[u,l]=(0,_e.useState)([]),[a,f]=(0,_e.useState)(!1),[m,p]=(0,_e.useState)(""),[i,c]=(0,_e.useState)(null),[o,r]=(0,_e.useState)(""),[d,L]=(0,_e.useState)(!1),[C,h]=(0,_e.useState)("");(0,_e.useEffect)(()=>{let w=!0;return e("secret_status",{}).then(P=>{w&&l(P.slots)}).catch(()=>{w&&p("\u51ED\u636E\u72B6\u6001\u672A\u8BFB\u53D6\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\u540E\u518D\u64CD\u4F5C\u3002")}),()=>{w=!1}},[]);async function g(){f(!0),p("");try{l((await e("secret_status",{})).slots)}catch{p("\u72B6\u6001\u6838\u5BF9\u5931\u8D25\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u4FDD\u5B58\u3002")}finally{f(!1)}}let v=()=>{a||(c(null),r(""),L(!1))};async function N(w){if(a||!d||!i||!w&&!o)return;f(!0),p(""),h("");let P={slot:i.slot,expectedRevision:i.revision,operation:crypto.randomUUID(),confirm:!0,...w?{}:{secret:o}};r("");try{let D=await e(w?"secret_remove":"secret_put",P);l(O=>O.map(W=>W.slot===D.slot?D:W)),h(w?"\u5DF2\u79FB\u9664\u672C\u9879\u76EE\u4FDD\u5B58\u7684\u51ED\u636E\uFF1B\u5176\u4ED6\u7528\u6237\u51ED\u636E\u4E0D\u53D8\u3002":"\u5DF2\u5B58\u5165\u5F53\u524D Host \u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF1B\u672C\u6B21\u4FDD\u5B58\u4E0D\u9A8C\u8BC1\u6709\u6548\u6027\u3001\u4E0D\u6267\u884C\u4E91\u7AEF\u4EA4\u63A5\uFF1B\u4EA4\u63A5\u72B6\u6001\u8BF7\u770B\u7B2C 6 \u9875\u3002"),c(null),L(!1)}catch{p("\u64CD\u4F5C\u7ED3\u679C\u9700\u6838\u5BF9\uFF0C\u53EF\u80FD\u5DF2\u4FDD\u5B58\u3002\u8BF7\u5148\u5173\u95ED\u7A97\u53E3\u5E76\u624B\u52A8\u6838\u5BF9\u72B6\u6001\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u590D\u4FDD\u5B58\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{P.secret=void 0,f(!1)}}let T=i?{title:eo[i.slot]+"\u51ED\u636E",body:_e.default.createElement(_e.default.Fragment,null,_e.default.createElement("p",null,n?"\u53EA\u4FDD\u5B58\u672C\u9879\u76EE Gitee API \u4EE4\u724C\uFF0C\u4E0D\u6536\u53D6\u6216\u590D\u5236 SSH \u79C1\u94A5\uFF1B\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165\u3002":"\u8FD9\u91CC\u53EA\u7BA1\u7406\u672C\u9879\u76EE\u72EC\u7ACB\u8BB0\u5F55\uFF0C\u4E0D\u8986\u76D6 DEEPSEEK_API_KEY \u7B49\u5DF2\u6709\u7528\u6237\u5F15\u7528\u3002","\u201C\u9884\u5907\u4E91\u7AEF\u201D\u69FD\u4F4D\u6682\u5B58\u4E8E\u5F53\u524D Host\uFF1B\u4FDD\u5B58\u4E0D\u4F1A\u81EA\u52A8\u4F20\u9001\u5230 ECS\uFF0C\u5B9E\u9645\u4EA4\u63A5\u4EE5\u7B2C 6 \u9875\u8D26\u672C\u4E3A\u51C6\u3002"),_e.default.createElement(Se,{label:n?"Gitee \u8BBF\u95EE\u4EE4\u724C":"API Key",type:"password",value:o,autoComplete:"new-password",spellCheck:!1,onChange:w=>r(w.target.value)}),_e.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4FDD\u5B58\u6216\u79FB\u9664\u8FD9\u4E2A\u72EC\u7ACB\u51ED\u636E",checked:d,onChange:L}),m&&_e.default.createElement("p",{role:"alert"},m),_e.default.createElement("div",{className:"form-actions"},_e.default.createElement(_,{disabled:a||!d||!o||!!m,onClick:()=>N(!1)},"\u4FDD\u5B58\u51ED\u636E"),i.configured&&_e.default.createElement(_,{disabled:a||!d||!!m,onClick:()=>N(!0)},"\u79FB\u9664\u51ED\u636E"),_e.default.createElement(_,{kind:"text",disabled:a,onClick:v},"\u5173\u95ED")))}:null;return _e.default.createElement(V,{title:n?"\u53EF\u9009 Gitee \u51ED\u636E":"\u5B89\u5168\u4FDD\u5B58 Key",icon:"key",sub:n?"\u516C\u5F00\u4ED3\u5E93\u53EF\u4E0D\u586B\uFF1B\u79C1\u6709\u4ED3\u5E93\u4F7F\u7528\u72EC\u7ACB\u53D7\u7BA1\u4EE4\u724C\uFF0C\u4E0D\u80FD\u636E\u6B64\u83B7\u5F97\u4E1A\u52A1\u5199\u5165\u6388\u6743\u3002":"\u624B\u52A8\u4FDD\u5B58\u5230\u5B98\u65B9 Host \u51ED\u636E\u670D\u52A1\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u3002"},_e.default.createElement(x,null,"\u5B98\u65B9\u9ED8\u8BA4\u5B58\u50A8\u4E3A\u4EC5\u5C5E\u4E3B\u53EF\u8BFB\u7684\u672C\u673A\u6587\u4EF6\uFF0C\u4E0D\u662F\u63D2\u4EF6\u52A0\u5BC6\u6216 OS \u8EAB\u4EFD\u9694\u79BB\u3002\u4E0D\u8981\u628A Key \u5199\u5165\u666E\u901A\u8868\u5355\u3001\u804A\u5929\u3001\u89C4\u5219\u6216 Skill\u3002"),u.filter(w=>n?w.slot.startsWith("gitee"):!w.slot.startsWith("gitee")).map(w=>_e.default.createElement("div",{className:"credential-row",key:w.slot},_e.default.createElement(S,{label:eo[w.slot],value:w.configured?"\u5DF2\u4FDD\u5B58 \xB7 \u4E0D\u4EE3\u8868\u8FDE\u901A":"\u672A\u914D\u7F6E"}),_e.default.createElement("div",{className:"credential-actions",role:"group","aria-label":eo[w.slot]+"\u51ED\u636E\u64CD\u4F5C"},_e.default.createElement(_,{kind:"soft",icon:"key",disabled:a||!!m||!w.writable,onClick:()=>{c(w),L(!1),r("")}},"\u7BA1\u7406\u51ED\u636E"),t&&_e.default.createElement(_,{kind:"secondary",icon:"link",disabled:a||!w.configured||!!m,onClick:()=>t(w.slot,w.reference)},"\u4F7F\u7528\u6B64\u5F15\u7528")))),_e.default.createElement("div",{className:"form-actions"},_e.default.createElement(_,{kind:"secondary",icon:"reset",disabled:a,onClick:g},"\u624B\u52A8\u6838\u5BF9\u51ED\u636E\u72B6\u6001")),C&&_e.default.createElement("p",{role:"status"},C),m&&!i&&_e.default.createElement("p",{role:"alert"},m),_e.default.createElement(sa,{modal:T,onClose:v}))}var ce=Ce(ge());var Yl={running:"\u6B63\u5728\u9A8C\u8BC1 \xB7 \u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2",succeeded:"\u672C\u6B21\u8BF7\u6C42\u6210\u529F",failed:"\u672C\u6B21\u8BF7\u6C42\u5931\u8D25",unknown:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1"},Zl={ONBOARDING_CLOUD_MODEL_CLARIFICATION_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u964D\u7EA7\u9A8C\u8BC1\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_CLARIFICATION_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u964D\u7EA7\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_BINDING_REQUIRED:"\u8BF7\u5148\u5355\u72EC\u542F\u7528\u6B64\u7AEF\u7684\u6A21\u578B\u63A5\u5165\uFF0C\u518D\u9884\u89C8\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_MODEL_SELECTION_REQUIRED:"\u6A21\u578B\u540D\u79F0\u8FD8\u4E0D\u80FD\u552F\u4E00\u5339\u914D\u3002\u8BF7\u5148\u7528\u4E0A\u65B9\u201C\u6A21\u578B\u540D\u79F0\u6838\u5BF9\u201D\u67E5\u770B\u5019\u9009\uFF0C\u518D\u586B\u5199\u201C\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E\u201D\uFF1B\u65E0\u9700\u8F93\u5165 provider \u7F16\u53F7\u3002",ONBOARDING_MODEL_PROBE_OWN_ROUTE_REQUIRED:"\u6240\u586B\u6A21\u578B\u5C5E\u4E8E\u5176\u4ED6\u63A5\u5165\uFF0C\u4E0D\u4F1A\u501F\u7528\u5B83\u7684 Key\u3002\u8BF7\u4F7F\u7528\u672C\u9762\u677F\u63A5\u5165\u7684\u6A21\u578B\uFF0C\u6216\u5230\u5BF9\u5E94\u670D\u52A1\u9762\u677F\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_BUSY:"\u4E0A\u4E00\u6B21\u9A8C\u8BC1\u5C1A\u672A\u7ED3\u675F\u3002\u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2\uFF0C\u4E0D\u4F1A\u65B0\u589E\u8BF7\u6C42\u3002",ONBOARDING_MODEL_PROBE_UNKNOWN_ACK_REQUIRED:"\u4E0A\u4E00\u6B21\u7ED3\u679C\u672A\u77E5\uFF0C\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u518D\u660E\u786E\u786E\u8BA4\u662F\u5426\u53D1\u8D77\u4E00\u6B21\u65B0\u7684\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u5931\u6548\u6216 Host \u5DF2\u91CD\u542F\u3002\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u518D\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_MODEL_PROBE_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u6D88\u8D39\u3001\u8FC7\u671F\u6216\u672C\u7AEF\u5DF2\u91CD\u542F\u3002\u8BF7\u5148\u67E5\u8BE2\u4E91\u7AEF\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002",ONBOARDING_CLOUD_MODEL_PROBE_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u5F02\u6B65\u6A21\u578B\u9A8C\u8BC1\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_PROBE_UNSUPPORTED:"\u76EE\u6807 Host \u672A\u58F0\u660E\u5F02\u6B65\u6A21\u578B\u9A8C\u8BC1\u80FD\u529B\uFF1B\u4E0D\u964D\u7EA7\u8C03\u7528\u3001\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_MODEL_PROBE_UNAVAILABLE:"\u5F53\u524D Host \u7684\u6A21\u578B\u8BF7\u6C42\u80FD\u529B\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u4F9D\u8D56\u3002"};function Cr({request:e,query:t,clarification:s="",cloud:n=!1,service:u="deepseek"}){let l=n?"\u4E91\u7AEF":"\u672C\u7AEF",a=u==="token-plan",f=(n?"cloud_":"")+(a?"token_":"")+"model_probe_",m=JSON.stringify([t,s,n,u]),p=(0,ce.useRef)(m);p.current=m;let[i,c]=(0,ce.useState)(null),[o,r]=(0,ce.useState)(null),[d,L]=(0,ce.useState)(!1),[C,h]=(0,ce.useState)(!1),[g,v]=(0,ce.useState)(!1),[N,T]=(0,ce.useState)(!1),[w,P]=(0,ce.useState)("");(0,ce.useEffect)(()=>{r(null),L(!1)},[t,s,n,u]);async function D(J){v(!0),P("");try{if(J==="status"&&(T(!0),r(null),L(!1),c(await e(f+"status",{})),T(!1),h(!1)),J==="preview"){r(null),L(!1);let H=await e(f+"preview",{query:t,...s.trim()?{clarification:s.trim()}:{},acknowledgeUnknown:i?.receipt?.state==="unknown"&&C?i.receipt.id:null});p.current===m&&r(H)}if(J==="start"){if(!o||!d)return;let H=o;r(null),L(!1),c(null),T(!0),h(!1),c(await e(f+"start",{id:H.id,fingerprint:H.fingerprint,confirm:!0})),T(!1)}}catch(H){r(null),L(!1),P(Zl[H.message]??"\u64CD\u4F5C\u672A\u80FD\u6838\u9A8C\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2\u56DE\u6267\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u5207\u6362\u6A21\u578B\u6216\u501F\u7528\u5176\u4ED6\u51ED\u636E\u3002")}finally{v(!1)}}let O=i?.receipt,W=O?.state==="unknown";return ce.default.createElement("section",{className:"connection-utility connection-probe","aria-label":l+"\u5355\u6B21\u6A21\u578B\u8BF7\u6C42\u9A8C\u8BC1"},ce.default.createElement("div",null,ce.default.createElement("h3",null,"\u5355\u6B21\u6A21\u578B\u8BF7\u6C42\u9A8C\u8BC1"),ce.default.createElement("p",null,"\u4FDD\u5B58\u4E0E\u542F\u7528\u4E0D\u7B49\u4E8E\u8FDE\u901A\u3002\u56DE\u6267\u662F\u624B\u52A8\u67E5\u8BE2\u65F6\u7684\u5FEB\u7167\u3002\u6B64\u5904\u72EC\u7ACB\u786E\u8BA4\uFF0C\u53EA\u9A8C\u8BC1",l,"\u5F53\u524D\u63A5\u5165\uFF1B\u53EF\u80FD\u4EA7\u751F API \u8D39\u7528\u3002")),ce.default.createElement(S,{label:"\u51C6\u5907\u9A8C\u8BC1\u7684\u6A21\u578B",value:t?.trim()||"\u8BF7\u5148\u586B\u5199\u4E0A\u65B9\u6A21\u578B\u540D\u79F0\uFF0C\u4F8B\u5982 ds flash"}),s.trim()&&ce.default.createElement(S,{label:"\u63A5\u5165\u8865\u5145\u8BF4\u660E",value:s.trim()}),ce.default.createElement(S,{label:"\u8BF7\u6C42\u56DE\u6267",value:N?"\u53D1\u9001\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":O?Yl[O.state]:i?"\u5C1A\u65E0\u8BF7\u6C42\u8BB0\u5F55":"\u5C1A\u672A\u67E5\u8BE2"}),O&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement(S,{label:"\u4E0A\u6B21\u5B9E\u9645\u6A21\u578B",value:O.selection.model_name+" \xB7 "+O.selection.provider_name}),ce.default.createElement(S,{label:"\u56DE\u6267\u65F6\u95F4",value:new Date(O.completedAt??O.startedAt).toLocaleString()}),O.state==="succeeded"&&!O.verifiedForCurrentBinding&&ce.default.createElement(x,{tone:"warn"},"\u6B64\u6210\u529F\u5C5E\u4E8E\u65E7\u914D\u7F6E\uFF1B\u51ED\u636E\u6216\u63A5\u5165\u5DF2\u53D8\u5316\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u65AD\u5F53\u524D\u6A21\u578B\u53EF\u7528\u3002"),O.error&&ce.default.createElement("p",null,"\u539F\u56E0\u5206\u7C7B\uFF1A",O.error,"\u3002\u4E0D\u4F1A\u5C55\u793A\u4E0A\u6E38\u9519\u8BEF\u6B63\u6587\u6216\u51ED\u636E\u3002")),W&&ce.default.createElement(R,{title:"\u6211\u7406\u89E3\u4E0A\u6B21\u7ED3\u679C\u672A\u77E5\uFF0C\u65B0\u9A8C\u8BC1\u53EF\u80FD\u4EA7\u751F\u989D\u5916\u8D39\u7528",checked:C,onChange:h,disabled:g}),ce.default.createElement("div",{className:"connection-actions",role:"group","aria-label":l+"\u6A21\u578B\u9A8C\u8BC1\u64CD\u4F5C"},ce.default.createElement(_,{kind:"soft",icon:"play",disabled:g||N||O?.state==="running"||W&&!C||!t?.trim(),onClick:()=>D("preview")},"\u9884\u89C8\u4E00\u6B21",l,"\u9A8C\u8BC1"),ce.default.createElement(_,{kind:"secondary",icon:"reset",disabled:g,onClick:()=>D("status")},"\u624B\u52A8\u67E5\u8BE2",l,"\u8BF7\u6C42\u56DE\u6267")),o&&ce.default.createElement("section",{className:"connection-confirm","aria-label":l+"\u6A21\u578B\u9A8C\u8BC1\u786E\u8BA4"},ce.default.createElement("h3",null,"\u786E\u8BA4\u4E00\u6B21",l,"\u8BF7\u6C42"),ce.default.createElement(S,{label:"\u5B9E\u9645 Host",value:o.target.name+" \xB7 "+o.target.platform}),o.remoteTarget&&ce.default.createElement(S,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:o.remoteTarget.root}),ce.default.createElement(S,{label:"\u5B9E\u9645\u6A21\u578B",value:o.selection.model_name+" \xB7 "+o.selection.provider_name}),ce.default.createElement(S,{label:"\u8BF7\u6C42\u8303\u56F4",value:"1 \u6B21 \xB7 High \xB7 \u6700\u591A 1024 \u8F93\u51FA token \xB7 60 \u79D2"}),ce.default.createElement(x,null,"\u56FA\u5B9A\u8FDE\u901A\u63D0\u793A\uFF0C\u65E0\u5DE5\u5177\u3001\u4E0D\u542F\u52A8\u4EFB\u52A1\u3001\u4E0D\u4FEE\u6539\u9ED8\u8BA4\u6A21\u578B\u3002\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002\u5173\u95ED\u9875\u9762\u4E0D\u4F1A\u53D6\u6D88\u5DF2\u7ECF\u786E\u8BA4\u7684\u8BF7\u6C42\uFF1B\u91CD\u65B0\u8FDB\u5165\u540E\u624B\u52A8\u67E5\u8BE2\u3002"),ce.default.createElement(R,{title:"\u6211\u540C\u610F\u4EC5\u5411"+l+"\u4E0A\u8FF0\u6A21\u578B\u53D1\u8D77\u8FD9\u4E00\u6B21\u9A8C\u8BC1\u8BF7\u6C42\uFF08\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\uFF09",checked:d,onChange:L,disabled:g}),ce.default.createElement("div",{className:"connection-actions"},ce.default.createElement(_,{kind:"primary",icon:"check",disabled:g||!d,onClick:()=>D("start")},"\u786E\u8BA4\u5F00\u59CB\u4E00\u6B21",l,"\u9A8C\u8BC1"),ce.default.createElement(_,{kind:"secondary",disabled:g,onClick:()=>{r(null),L(!1)}},"\u53D6\u6D88\u9A8C\u8BC1\u9884\u89C8"))),w&&ce.default.createElement("p",{className:"connection-error",role:"alert"},w))}var te=Ce(ge());var Jl={not_configured:"\u672A\u63A5\u5165",configured_unverified:"\u5DF2\u63A5\u5165 \xB7 \u8BF7\u6C42\u7ED3\u679C\u89C1\u4E0B\u65B9\u56DE\u6267",disabled:"\u5DF2\u505C\u7528",credential_changed:"\u51ED\u636E\u5DF2\u53D8\u5316 \xB7 \u8BF7\u91CD\u65B0\u9884\u89C8\u786E\u8BA4",registration_pending:"\u6CE8\u518C\u5F85\u6838\u5BF9",needs_review:"\u9700\u8981\u6838\u5BF9",unavailable:"\u5F53\u524D Host \u80FD\u529B\u4E0D\u53EF\u7528",not_checked:"\u5C1A\u672A\u6838\u5BF9\u4E91\u7AEF \xB7 \u4E0D\u81EA\u52A8\u8FDE\u63A5"},jl={ONBOARDING_CLOUD_MODEL_CLARIFICATION_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_CLARIFICATION_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_TOKEN_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF Host \u5C1A\u4E0D\u652F\u6301 Token Plan \u51ED\u636E\u5408\u540C\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_UNAVAILABLE:"\u76EE\u6807\u4E91\u7AEF\u6A21\u578B\u63A5\u5165\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5207\u6362\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_FENCE_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u6B64\u670D\u52A1\u7684\u7248\u672C\u5C4F\u969C\uFF0C\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_TOKEN_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301 Token Plan \u4EA4\u63A5\u4E0E\u63A5\u5165\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5B8C\u5168\u5C31\u7EEA\u6216\u4ECD\u5728\u5B89\u88C5\uFF0F\u91CD\u542F\u6536\u5C3E\u3002\u8BF7\u7B49\u5F85\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED:"\u4E91\u7AEF\u5B9E\u4F8B\u8EAB\u4EFD\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u6838\u5BF9\u539F\u76EE\u6807\uFF0C\u4E0D\u4F7F\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_HANDOFF_IDENTITY_REVIEW:"\u4E91\u7AEF\u8EAB\u4EFD\u6216\u80FD\u529B\u5C1A\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u8F6C\u4EA4\u5176\u4ED6\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_RUNTIME_SOURCE_CHANGED:"\u4E91\u7AEF\u53D7\u7BA1\u7A0B\u5E8F\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u505C\u6B62\u64CD\u4F5C\uFF1B\u4E0D\u81EA\u52A8\u66FF\u6362\u6216\u4FEE\u590D\u3002",ONBOARDING_CLOUD_HANDOFF_AUTH_FAILED:"\u4E91\u7AEF\u539F\u751F\u8BBF\u95EE\u51ED\u636E\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u8BF7\u6838\u5BF9\u5F53\u524D\u8FD0\u884C\u65F6\uFF1B\u4E0D\u5C1D\u8BD5\u65E5\u5E38\u51ED\u636E\u6216\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_CLOUD_OPERATION_BUSY:"\u53E6\u4E00\u9879\u4E91\u7AEF\u64CD\u4F5C\u6B63\u5728\u5904\u7406\uFF0C\u8BF7\u7B49\u5F85\u5B83\u7ED3\u675F\u540E\u518D\u624B\u52A8\u6838\u5BF9\uFF1B\u672C\u6B21\u4E0D\u4F1A\u6392\u961F\u6267\u884C\u6216\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_CLOUD_MODEL_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u6A21\u578B\u63A5\u7EBF\uFF0C\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u63A7\u5236\u5668\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_MODEL_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u63A7\u5236\u7AEF\u5DF2\u91CD\u542F\uFF0C\u8BF7\u5148\u6838\u5BF9\u4E91\u7AEF\u5F53\u524D\u72B6\u6001\uFF0C\u518D\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_MODEL_IDENTITY_REVIEW:"\u76EE\u6807\u8EAB\u4EFD\u53D1\u751F\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u91CD\u65B0\u6838\u5BF9\u5B9E\u4F8B\uFF0C\u4E0D\u5C06\u65E7\u786E\u8BA4\u7528\u4E8E\u65B0\u76EE\u6807\u3002",ONBOARDING_MODEL_CREDENTIAL_REQUIRED:"\u8BF7\u5148\u4FDD\u5B58\u201C\u672C\u7AEF DeepSeek\u201D\u51ED\u636E\u3002\u9884\u5907\u4E91\u7AEF\u7684 Key \u4E0D\u4F1A\u81EA\u52A8\u7528\u4E8E\u672C\u7AEF\u3002",ONBOARDING_MODEL_CREDENTIAL_CHANGED:"\u51ED\u636E\u521A\u521A\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF1B\u672C\u6B21\u6CA1\u6709\u542F\u7528\u65E7\u8BA1\u5212\u3002",ONBOARDING_MODEL_ROUTE_CONFLICT:"\u540C\u540D\u8DEF\u7531\u5DF2\u5B58\u5728\uFF0C\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u8BF7\u5148\u6838\u5BF9\u3002",ONBOARDING_MODEL_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u3002"};function at({request:e,query:t,cloud:s=!1,service:n="deepseek"}){let u=n==="token-plan",l=s?"\u4E91\u7AEF":"\u672C\u7AEF",a=u?" Token Plan":"\u6A21\u578B",f=l+a+"\u63A5\u5165",m=u?"\u963F\u91CC\u4E91 Token Plan\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09":"DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09",p=(H,Ie)=>e((s?"cloud_":"")+(u?"token_":"")+H,Ie),[i,c]=(0,te.useState)(null),[o,r]=(0,te.useState)(null),[d,L]=(0,te.useState)(!1),[C,h]=(0,te.useState)(!1),[g,v]=(0,te.useState)(""),[N,T]=(0,te.useState)(null),[w,P]=(0,te.useState)(""),D=JSON.stringify([t,s,n,w]),O=(0,te.useRef)(D);O.current=D,(0,te.useEffect)(()=>{P(""),T(null)},[t,s,n]);function W(H){P(H),T(null)}(0,te.useEffect)(()=>{if(s){c({state:"not_checked"});return}let H=!0;return e(u?"token_model_status":"model_status",{}).then(Ie=>{H&&c(Ie)}).catch(()=>{H&&v("\u5C1A\u672A\u6838\u5BF9\u6A21\u578B\u63A5\u5165\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u3002")}),()=>{H=!1}},[e,s,u]);async function J(H,Ie){h(!0),v("");try{if(H==="status"&&(r(null),L(!1),T(null),c(await p("model_status",{}))),H==="preview"&&(r(null),L(!1),r(await p("model_preview",{enabled:Ie}))),H==="apply"){if(!o||!d)return;let fe=o;r(null),L(!1),T(null),c(await p("model_apply",{id:fe.id,fingerprint:fe.fingerprint,confirm:!0}))}if(H==="resolve"){let fe=await p("model_resolve",{query:t,...w.trim()?{clarification:w.trim()}:{}});O.current===D&&T(fe)}}catch(fe){r(null),L(!1),v(u&&s&&fe.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5728\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5\u533A\u4FDD\u5B58\u4E13\u7528 Key\uFF0C\u518D\u5355\u72EC\u9884\u89C8\u4E91\u7AEF\u63A5\u5165\uFF1B\u4E0D\u4F1A\u501F\u7528\u672C\u7AEF\u6216 DeepSeek Key\u3002":u&&fe.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5148\u5728\u672C\u7AEF\u5B89\u5168\u4FDD\u5B58 Key \u533A\u4FDD\u5B58\u963F\u91CC\u4E91 Token Plan \u4E13\u7528\u51ED\u636E\uFF1B\u4E0D\u4F1A\u501F\u7528 DeepSeek Key\u3002":fe.message==="ONBOARDING_MODEL_ADAPTER_UNAVAILABLE"?"\u5F53\u524D Host \u7F3A\u5C11\u517C\u5BB9\u7684\u5B98\u65B9\u591A\u6A21\u578B\u9002\u914D\u4F9D\u8D56\u6216\u76EE\u5F55\u4E0D\u7B26\uFF0C\u8BF7\u6838\u5BF9\u5B98\u65B9\u7248\u672C\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u3001\u5207\u6362\u7AEF\u70B9\u6216\u56DE\u9000\u5176\u4ED6\u670D\u52A1\u3002":s&&fe.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5148\u5728\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5\u533A\uFF08\u6216\u4E91\u7AEF\u539F\u751F\u5BFC\u89C8\uFF09\u4FDD\u5B58\u4E91\u7AEF\u4E13\u7528 Key\uFF0C\u518D\u9884\u89C8\u4E91\u7AEF\u63A5\u5165\u3002":jl[fe.message]??"\u7ED3\u679C\u9700\u6838\u5BF9\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u72B6\u6001\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u5207\u6362\u6A21\u578B\u6216\u56DE\u9000\u81F3\u5176\u4ED6 Key\u3002")}finally{h(!1)}}return te.default.createElement(V,{className:"connection-panel",title:f,icon:"link",sub:s?"\u4EC5\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u72EC\u7ACB\u9884\u89C8\u786E\u8BA4\uFF0C\u4E0D\u8BFB\u53D6\u6216\u8F6C\u53D1\u672C\u5730 Key\u3002":"\u53EA\u4F7F\u7528\u672C\u9879\u76EE\u4FDD\u5B58\u7684\u672C\u7AEF\u4E13\u7528 Key\uFF1B\u4E0D\u4FEE\u6539\u539F\u751F\u6A21\u578B\u6216\u9ED8\u8BA4\u9009\u62E9\u3002"},te.default.createElement(S,{label:"\u5F53\u524D\u72B6\u6001",value:i?Jl[i.state]??"\u9700\u8981\u6838\u5BF9":"\u5C1A\u672A\u8BFB\u53D6"}),te.default.createElement(S,{label:s?"\u5B9E\u9645\u64CD\u4F5C\u7684\u4E91\u7AEF Host":"\u5F53\u524D\u8BBF\u95EE\u7684 Host",value:i?.target?`${i.target.name} \xB7 ${i.target.platform}`:"\u5C1A\u672A\u6838\u5BF9"}),s&&i?.remoteTarget&&te.default.createElement(S,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:i.remoteTarget.root}),s&&i?.checkedAt&&te.default.createElement(S,{label:"\u6700\u8FD1\u624B\u52A8\u6838\u9A8C",value:new Date(i.checkedAt).toLocaleString()+" \xB7 \u975E\u81EA\u52A8\u5237\u65B0"}),te.default.createElement(S,{label:"\u670D\u52A1\u5546",value:u?"\u963F\u91CC\u4E91 Token Plan \xB7 \u4E2D\u56FD\u5185\u5730":"DeepSeek \u5B98\u65B9 \xB7 \u72EC\u7ACB\u63A5\u5165"}),te.default.createElement(x,null,s?"\u6B64\u5904\u901A\u8FC7\u5DF2\u6838\u9A8C SSH \u8C03\u6574\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u81EA\u6709\u6A21\u578B\u63A5\u5165\uFF0C\u4E91\u7AEF\u8D26\u672C\u662F\u72B6\u6001\u4F9D\u636E\u3002\u8FDB\u5165\u9875\u9762\u4E0D\u8FDE\u63A5\u4E91\u7AEF\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u3002":"","\u4FDD\u5B58 Key \u4E0D\u7B49\u4E8E\u6A21\u578B\u53EF\u7528\u3002\u542F\u7528\u540E\u4F1A\u589E\u52A0\u201C",m,"\u201D\u8DEF\u7531\uFF0C\u51ED\u636E\u7528\u4E8E",s?"\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF":"\u5F53\u524D\u8BBF\u95EE\u7684 Host","\uFF0C\u4E0D\u53D1\u8D77\u63A8\u7406\u6216\u81EA\u52A8\u8F6C\u53D1\u5230\u53E6\u4E00\u7AEF\uFF1B\u5B9E\u9645\u8BF7\u6C42\u9A8C\u8BC1\u4ECD\u9700\u5355\u72EC\u8FDB\u884C\u3002"),te.default.createElement("div",{className:"connection-actions",role:"group","aria-label":f+"\u64CD\u4F5C"},te.default.createElement(_,{kind:"primary",icon:"link",disabled:C,onClick:()=>J("preview",!0)},"\u9884\u89C8",u?l+" Token Plan":l,"\u63A5\u5165"),te.default.createElement(_,{kind:"secondary",icon:"pause",disabled:C||!i?.bindingRevision,onClick:()=>J("preview",!1)},u?"\u9884\u89C8\u505C\u7528 Token Plan":"\u9884\u89C8\u505C\u7528\u63A5\u5165"),te.default.createElement(_,{kind:"secondary",icon:"reset",disabled:C,onClick:()=>J("status")},"\u624B\u52A8\u5237\u65B0",u?"Token Plan":s?"\u4E91\u7AEF\u6A21\u578B":"\u6A21\u578B","\u72B6\u6001")),o&&te.default.createElement("section",{className:"connection-confirm","aria-label":f+"\u786E\u8BA4"},te.default.createElement("h3",null,(o.enabled?"\u542F\u7528":"\u505C\u7528")+f),te.default.createElement("p",null,"\u4EC5",s?"\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF":"\u5F53\u524D Host","\uFF1B\u4E0D\u4FEE\u6539\u539F\u751F\u8DEF\u7531\u3001\u9ED8\u8BA4\u6A21\u578B\u548C\u7528\u6237\u51ED\u636E\u3002\u505C\u7528\u4E5F\u4E0D\u4F1A\u5220\u9664 Key\u3002"),te.default.createElement(S,{label:"\u5E94\u7528\u4F4D\u7F6E",value:`${o.target?.name??"\u5F53\u524D Host"} \xB7 ${o.target?.platform??"\u5E73\u53F0\u672A\u6838\u5BF9"}`}),s&&o.remoteTarget&&te.default.createElement(S,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:o.remoteTarget.root}),te.default.createElement(S,{label:"\u76EE\u6807\u7AEF\u70B9",value:o.endpoint}),te.default.createElement(R,{title:"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u672C\u9879\u76EE\u7684"+f+"\uFF0C\u4E0D\u6388\u6743\u6A21\u578B\u8BF7\u6C42\u6216\u4EFB\u52A1",checked:d,onChange:L}),te.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u6A21\u578B\u63A5\u5165"},te.default.createElement(_,{kind:"primary",icon:"check",disabled:C||!d,onClick:()=>J("apply")},"\u786E\u8BA4",o.enabled?"\u542F\u7528":"\u505C\u7528",f),te.default.createElement(_,{kind:"secondary",disabled:C,onClick:()=>{r(null),L(!1)}},"\u53D6\u6D88"))),te.default.createElement("section",{className:"connection-utility connection-model-choice","aria-label":"\u6A21\u578B\u540D\u79F0\u6838\u5BF9"},te.default.createElement("div",null,te.default.createElement("h3",null,"\u6A21\u578B\u540D\u79F0\u6838\u5BF9"),te.default.createElement("p",null,"\u6309",l,"\u5B8C\u6574\u76EE\u5F55\u5339\u914D\uFF1B\u5148\u7528\u6A21\u578B\u7B80\u79F0\uFF0C\u6709\u91CD\u540D\u518D\u8865\u5145\u63A5\u5165\u540D\u79F0\u3002\u65E0\u9700\u586B\u5199\u6280\u672F\u7F16\u53F7\u3002")),te.default.createElement(_,{kind:"soft",icon:"settings",disabled:C||!t?.trim(),onClick:()=>J("resolve")},u?"\u6838\u5BF9\u6240\u586B\u6A21\u578B\u540D\u79F0":"\u89E3\u6790\u6240\u586B\u6A21\u578B\u540D\u79F0"),(N?.status==="ambiguous"||w)&&te.default.createElement(Se,{label:"\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E",hint:"\u4EC5\u91CD\u540D\u65F6\u9700\u8981\uFF1B\u586B\u5199\u5019\u9009\u5C55\u793A\u7684\u63A5\u5165\u540D\u79F0\uFF0C\u4F8B\u5982\u201C\u8BF7\u7528 DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09\u201D\u3002\u4E0D\u586B\u5199 Key\u3002",value:w,maxLength:200,onChange:H=>W(H.target.value)}),N?.status==="ambiguous"&&te.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u7528\u6613\u61C2\u7684\u63A5\u5165\u540D\u79F0\u8865\u5145\u9009\u62E9"},[...new Set(N.candidates?.map(H=>H.provider_name)??[])].map(H=>te.default.createElement(_,{key:H,kind:"secondary",disabled:C,onClick:()=>W("\u8BF7\u7528 "+H)},"\u9009\u62E9 ",H)),te.default.createElement("p",null,"\u9009\u62E9\u4EC5\u8865\u5145\u6587\u5B57\uFF0C\u8BF7\u518D\u6838\u5BF9\u540D\u79F0\uFF1B\u540C\u540D\u63A5\u5165\u4ECD\u4F1A\u8981\u6C42\u6F84\u6E05\uFF0C\u4E0D\u81EA\u52A8\u8BF7\u6C42\u6A21\u578B\u3002")),N&&te.default.createElement("div",{className:"connection-result",role:"status"},te.default.createElement("p",null,N.status==="resolved"?`${s?"\u4E91\u7AEF":"\u5F53\u524D Host"}\u552F\u4E00\u5339\u914D\uFF1A${N.selection.model_name} \xB7 ${N.selection.provider_name}\uFF0C\u601D\u8003 High\u3002\u672A\u8BBE\u4E3A\u9ED8\u8BA4\u6A21\u578B\u3001\u672A\u8C03\u7528\u3002`:N.instruction),N.status!=="resolved"&&N.candidates?.map(H=>te.default.createElement("p",{key:H.provider+"/"+H.model},H.model_name," \xB7 ",H.provider_name)))),te.default.createElement(Cr,{request:e,query:t,clarification:w,cloud:s,service:n}),g&&te.default.createElement("p",{className:"connection-error",role:"alert"},g))}var G=Ce(ge());var es=Object.freeze({available:!1,generation:0}),vr={subscribe:()=>()=>{},getSnapshot:()=>es,render:()=>null},as={missing_dependency:"\u672A\u53D1\u73B0\u53EF\u9009 IM \u670D\u52A1",unsupported_contract:"IM \u516C\u5F00\u63A5\u53E3\u7248\u672C\u5C1A\u4E0D\u517C\u5BB9",provider_changed:"IM \u670D\u52A1\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9",needs_review:"\u672A\u80FD\u6838\u5BF9 IM \u6E05\u5355",no_bots:"\u672C\u7AEF\u5C1A\u65E0\u5DF2\u767B\u8BB0\u673A\u5668\u4EBA",listed:"\u5DF2\u8BFB\u53D6\u672C\u7AEF\u673A\u5668\u4EBA\u6E05\u5355"},ts={feishu:"\u98DE\u4E66",weixin:"\u5FAE\u4FE1",dingtalk:"\u9489\u9489",wecom:"\u4F01\u4E1A\u5FAE\u4FE1","wecom-app":"\u4F01\u4E1A\u5FAE\u4FE1\u5E94\u7528",qq:"QQ",slack:"Slack",telegram:"Telegram",discord:"Discord",whatsapp:"WhatsApp",imessage:"iMessage",email:"\u90AE\u4EF6",matrix:"Matrix"},_r={ONBOARDING_CLOUD_WEB_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u5B89\u5168 Web \u5165\u53E3\u5951\u7EA6\uFF1B\u4FDD\u7559\u65E7\u5B9E\u4F8B\uFF0C\u8BF7\u901A\u8FC7\u5176\u539F\u5165\u53E3\u914D\u7F6E\u3002",ONBOARDING_CLOUD_WEB_LOCAL_BROWSER_REQUIRED:"\u8BF7\u4ECE\u8FDE\u63A5\u672C\u673A Host \u7684 Desktop\uFF0F\u672C\u673A\u6D4F\u89C8\u5668\u6253\u5F00\uFF1B\u8FDC\u7A0B\u7F51\u9875\u4E0D\u80FD\u628A\u4E91\u7AEF\u56DE\u73AF\u7AEF\u53E3\u5F53\u4F5C\u672C\u673A\u5730\u5740\u3002",ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW:"\u4E91\u7AEF\u5165\u53E3\u6821\u9A8C\u672A\u901A\u8FC7\uFF1B\u6CA1\u6709\u6253\u5F00\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u5728\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58 SSH \u8FDE\u63A5\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u5C1A\u65E0\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u8BF7\u5148\u5B8C\u6210\u7B2C 5\u30016 \u9875\u7684\u72EC\u7ACB\u5B89\u88C5\u3002",ONBOARDING_CLOUD_IM_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u6CA1\u6709 IM \u6838\u5BF9\u5951\u7EA6\uFF1B\u4E0D\u80FD\u7528\u65B0\u7248\u63A7\u5236\u5668\u8986\u76D6\u65E7\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_IM_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u6B64 IM \u6838\u5BF9\u5951\u7EA6\uFF0C\u672A\u8BFB\u53D6\u672C\u7AEF\u4F5C\u4E3A\u66FF\u4EE3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u53D7\u7BA1\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\u6216\u5DF2\u79BB\u7EBF\uFF1B\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u8FD0\u884C\u65F6\u3002"};function oo({request:e,imClient:t=vr,onManage:s,onManageCloud:n,cloudWebEntry:u=!1,cloud:l=!1}){let a=(0,G.useSyncExternalStore)(t.subscribe,t.getSnapshot,t.getSnapshot),[f,m]=(0,G.useState)(null),[p,i]=(0,G.useState)(!1),[c,o]=(0,G.useState)(""),r=G.default.useRef(!0);(0,G.useEffect)(()=>(r.current=!0,()=>{r.current=!1}),[]);async function d(){i(!0),o("");try{let C=await e(l?"cloud_im_inventory":"im_inventory",{});r.current&&m(C)}catch(C){r.current&&(o(_r[C?.message]??"\u672A\u80FD\u6838\u5BF9\u6E05\u5355\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA\uFF0C\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"),m(null))}finally{r.current&&i(!1)}}async function L(){let C;i(!0),o("");try{if(!["127.0.0.1","localhost","[::1]"].includes(location.hostname))throw Error("ONBOARDING_CLOUD_WEB_LOCAL_BROWSER_REQUIRED");let h=await e("cloud_web_open",{});if(typeof h.entryId!="string"||!/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(h.entryId))throw Error("ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW");C=h.entryId;let g=new URL(h.url);if(h.contract!==1||h.target?.role!=="cloud"||g.protocol!=="http:"||g.hostname!=="127.0.0.1"||!g.port||g.pathname!=="/"||g.username||g.password||[...g.searchParams.keys()].join()!=="workbench_ticket"||!/^[A-Za-z0-9_-]{43}$/.test(g.searchParams.get("workbench_ticket"))||g.hash!=="#dsh-setup-im")throw Error("ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW");if(r.current)n(h);else{let v=C;C=null,await e("cloud_web_close",{entryId:v})}}catch(h){if(C)try{await e("cloud_web_close",{entryId:C})}catch{r.current&&o("\u5165\u53E3\u672A\u6253\u5F00\u4E14\u5173\u95ED\u672A\u786E\u8BA4\uFF1B\u8BF7\u6838\u5BF9\u5F53\u524D Host\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002");return}r.current&&o(_r[h?.message]??"\u4E91\u7AEF\u539F\u751F\u914D\u7F6E\u672A\u6253\u5F00\uFF1B\u8BF7\u6838\u5BF9\u5F53\u524D\u5B9E\u4F8B\u4E0E\u8FDE\u63A5\u3002\u4E0D\u81EA\u52A8\u91CD\u8BD5\uFF0C\u4E0D\u5207\u5230\u672C\u7AEF\u914D\u7F6E\u3002")}finally{r.current&&i(!1)}}return G.default.createElement(V,{className:"connection-panel",title:l?"\u4E91\u7AEF IM \u63A5\u5165":"\u672C\u7AEF IM \u63A5\u5165",icon:"chat",sub:l?"\u53EA\u67E5\u8BE2\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u4E0D\u4F1A\u7528\u672C\u7AEF\u6E05\u5355\u66FF\u4EE3\u3002":"\u53EF\u9009\u4F9D\u8D56\uFF1B\u4E0D\u5F71\u54CD DeepSeek \u6216\u539F\u751F\u4F1A\u8BDD\u3002"},G.default.createElement(S,{label:"\u6700\u8FD1\u6E05\u5355",value:c?"\u6838\u5BF9\u5931\u8D25\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA":f?(as[f.state]??"\u5F85\u6838\u5BF9").replace("\u672C\u7AEF",l?"\u4E91\u7AEF":"\u672C\u7AEF"):"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),G.default.createElement(S,{label:"\u5B9E\u9645\u64CD\u4F5C\u7684 Host",value:f?`${f.target.name} \xB7 ${f.target.platform}`:l?"\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF0C\u5C1A\u672A\u6838\u5BF9\u8EAB\u4EFD":"\u5F53\u524D\u8BBF\u95EE\u7684 Host\uFF0C\u5C1A\u672A\u6838\u5BF9\u8EAB\u4EFD"}),f?.observedAt&&G.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(f.observedAt).toLocaleString()+" \xB7 \u5386\u53F2\u89C2\u5BDF\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0"}),f?.channels?.map(C=>G.default.createElement(S,{key:C.channel,label:ts[C.channel]??C.channel,value:`${C.count} \u4E2A\u5DF2\u767B\u8BB0 \xB7 \u5728\u7EBF\u4E0E\u8EAB\u4EFD\u53E6\u884C\u6838\u9A8C`})),f?.remoteTarget&&G.default.createElement(S,{label:"\u53D7\u7BA1\u4E91\u7AEF\u76EE\u5F55",value:f.remoteTarget.root}),c&&G.default.createElement(x,{tone:"warn"},c),G.default.createElement(x,null,"\u624B\u52A8\u6838\u5BF9\u53EA\u8BFB\u6E05\u5355\uFF0C\u4E0D\u53D1\u9001\u6D88\u606F\u3001\u4E0D\u63A5\u7BA1\u6D88\u8D39\u8005\u3002\u767B\u8BB0\u4E0D\u7B49\u4E8E\u5728\u7EBF\u3001\u672C\u4EBA\u8EAB\u4EFD\u6216\u53CC\u7AEF\u8DEF\u7531\u901A\u8FC7\u3002\u4E91\u7AEF\u539F\u751F\u914D\u7F6E\u53EA\u64CD\u4F5C\u76EE\u6807 Host\uFF1B\u4E0D\u80FD\u7531\u672C\u7AEF\u7ED3\u679C\u63A8\u65AD\u4E91\u7AEF\u5DF2\u5B8C\u6210\u3002"),G.default.createElement("div",{className:"connection-actions",role:"group","aria-label":l?"\u4E91\u7AEF IM \u5BFC\u89C8\u64CD\u4F5C":"\u672C\u7AEF IM \u5BFC\u89C8\u64CD\u4F5C"},G.default.createElement(_,{kind:"secondary",icon:"reset",disabled:p,onClick:d},p?"\u6B63\u5728\u6838\u5BF9\u6E05\u5355":l?"\u624B\u52A8\u6838\u5BF9\u4E91\u7AEF IM":"\u624B\u52A8\u6838\u5BF9\u672C\u7AEF IM"),l&&u&&G.default.createElement(_,{kind:"primary",icon:"chat",disabled:p||!n,onClick:L},"\u6253\u5F00\u4E91\u7AEF\u539F\u751F IM \u914D\u7F6E"),!l&&G.default.createElement(_,{kind:"primary",icon:"chat",disabled:!a.available||!s||p,onClick:s},"\u6253\u5F00\u672C\u7AEF\u539F\u751F IM \u7BA1\u7406")),!l&&!a.available&&G.default.createElement("p",{className:"fine-print"},"\u539F\u751F\u9762\u677F\u670D\u52A1\u4E0D\u53EF\u7528\uFF1B\u53EF\u5728 DSH \u539F\u8BBE\u7F6E\u5165\u53E3\u68C0\u67E5\u5B98\u65B9 IM \u4F9D\u8D56\u3002\u5BFC\u89C8\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u6216\u4FEE\u6539\u5B83\u3002"),l?G.default.createElement("p",{className:"fine-print"},"\u6E05\u70B9\u548C\u6253\u5F00\u914D\u7F6E\u90FD\u4E0D\u4F1A\u5B89\u88C5\u4F9D\u8D56\u6216\u7ED1\u5B9A\u673A\u5668\u4EBA\u3002\u539F\u751F Web \u4E0D\u662F\u53EA\u8BFB\u6C99\u7BB1\uFF1B\u51ED\u636E\u3001\u7ED1\u5B9A\u53CA\u8FDE\u63A5\u5728\u4E91\u7AEF\u539F\u751F\u754C\u9762\u5355\u72EC\u64CD\u4F5C\u3002"):G.default.createElement("p",{className:"fine-print"},"\u7BA1\u7406\u9875\u7531 IM \u63D2\u4EF6\u63D0\u4F9B\uFF0C\u4FDD\u7559\u539F\u8BBE\u7F6E\u5165\u53E3\u3002\u7ED1\u5B9A\u3001\u8FDE\u63A5\u6216\u5220\u9664\u9700\u5728\u539F\u751F\u9875\u660E\u786E\u64CD\u4F5C\uFF1B\u6253\u5F00\u9875\u9762\u672C\u8EAB\u4E0D\u6388\u6743\u4EFB\u4F55\u673A\u5668\u4EBA\u53D8\u66F4\u3002"))}var to=class extends G.default.Component{constructor(t){super(t),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?G.default.createElement("p",{role:"alert"},"\u539F\u751F IM \u9762\u677F\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u8FD4\u56DE\u5BFC\u89C8\u6216\u4F7F\u7528\u539F\u8BBE\u7F6E\u5165\u53E3\uFF1B\u672A\u81EA\u52A8\u91CD\u8BD5\u3002"):this.props.children}};function os({bridge:e}){return e.render()??G.default.createElement("p",{role:"status"},"IM \u9762\u677F\u63D0\u4F9B\u65B9\u5DF2\u9000\u51FA\uFF0C\u8BF7\u8FD4\u56DE\u5BFC\u89C8\u91CD\u65B0\u6838\u5BF9\u3002")}function Sr({imClient:e=vr,onBack:t}){let s=(0,G.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot);return G.default.createElement("div",{className:"dsh-native-im-shell"},G.default.createElement("div",{className:"dsh-onboarding",style:{height:"auto",flex:"0 0 auto",overflow:"visible"}},G.default.createElement("div",{className:"im-manager-heading"},G.default.createElement("div",null,G.default.createElement("h2",null,"\u5F53\u524D Host \xB7 \u539F\u751F IM \u7BA1\u7406"),G.default.createElement("p",null,"\u8FD9\u91CC\u7531\u5DF2\u5B89\u88C5\u7684 IM \u63D2\u4EF6\u63D0\u4F9B\uFF1B\u4E0D\u662F\u4E91\u7AEF\u81EA\u52A8\u914D\u7F6E\u3001\u8DEF\u7531\u63A5\u7BA1\u6216\u4E1A\u52A1\u6388\u6743\u3002\u539F\u8BBE\u7F6E\u5165\u53E3\u4FDD\u7559\u3002")),G.default.createElement(_,{kind:"secondary",icon:"back",onClick:t},"\u8FD4\u56DE\u914D\u7F6E\u5BFC\u89C8")),G.default.createElement("details",{className:"details im-directory-help"},G.default.createElement("summary",null,"\u9009\u62E9\u5DE5\u4F5C\u533A\u4E00\u76F4\u52A0\u8F7D\uFF1F",G.default.createElement(ke,{name:"down"})),G.default.createElement("p",null,"\u672C\u673A Host \u53EF\u80FD\u5728\u7B49\u5F85\u72EC\u7ACB\u7684\u7CFB\u7EDF\u9009\u76EE\u5F55\u7A97\u53E3\uFF1B\u8BF7\u68C0\u67E5 Host \u6240\u5728\u7535\u8111\u7684\u524D\u53F0\u7A97\u53E3\uFF0C\u9501\u5C4F\u65F6\u5148\u89E3\u9501\u3002\u7F51\u9875\u91CC\u7684\u53D6\u6D88\u4E0D\u4E00\u5B9A\u5173\u95ED\u7CFB\u7EDF\u7A97\u53E3\uFF1B\u5148\u5728\u7CFB\u7EDF\u7A97\u53E3\u53D6\u6D88\uFF0C\u518D\u91CD\u8BD5\uFF0C\u907F\u514D\u53E0\u52A0\u8BF7\u6C42\u3002"),G.default.createElement("p",null,"\u76EE\u5F55\u5C5E\u4E8E\u5F53\u524D Host\uFF0C\u4E0D\u5C5E\u4E8E\u6D4F\u89C8\u5668\u6240\u5728\u7535\u8111\u3002\u8FDC\u7A0B Host \u5E94\u4F7F\u7528\u5B83\u63D0\u4F9B\u7684\u76EE\u5F55\u6D4F\u89C8\u80FD\u529B\uFF1B\u4E0D\u8981\u628A\u672C\u673A\u8DEF\u5F84\u586B\u5230\u4E91\u7AEF\u3002\u4FEE\u6539\u5DE5\u4F5C\u533A\u4F1A\u5F71\u54CD\u539F\u751F\u4F1A\u8BDD\uFF0C\u4E0D\u80FD\u4EC5\u4E3A\u6587\u4EF6\u53D1\u9001\u800C\u81EA\u52A8\u6539\u76EE\u5F55\u3002"),G.default.createElement("p",null,"\u539F\u751F\u5DE5\u4F5C\u533A\u8BBE\u7F6E\u4E0D\u7B49\u4E8E\u81EA\u6709\u76F4\u4F20\u6388\u6743\uFF1B\u666E\u901A\u5DE5\u4F5C\u533A\u5185\u7684 IM \u4E13\u7528\u63A5\u6536\u76EE\u5F55\uFF0C\u4E5F\u9700\u5728\u7B2C 6 \u9875\u5355\u72EC\u9884\u89C8\u786E\u8BA4\u3002"))),G.default.createElement("div",{className:"dsh-native-im-frame","data-native-im-manager":"true"},s.available?G.default.createElement(to,{key:s.generation},G.default.createElement(os,{bridge:e})):G.default.createElement("p",{role:"status"},"IM \u9762\u677F\u670D\u52A1\u4E0D\u53EF\u7528\uFF0C\u8BF7\u8FD4\u56DE\u5BFC\u89C8\uFF1B\u5176\u4ED6\u914D\u7F6E\u4ECD\u53EF\u7EE7\u7EED\u3002")))}function xr({entry:e,request:t,onBack:s}){let[n,u]=(0,G.useState)(!1),[l,a]=(0,G.useState)(""),[f,m]=(0,G.useState)(null);(0,G.useEffect)(()=>()=>{t("cloud_web_close",{entryId:e.entryId}).catch(()=>{})},[t,e.entryId]);async function p(){u(!0),a(""),m(null);try{let o=await t("cloud_web_status",{entryId:e.entryId});if(o?.contract!==1||o.entryId!==e.entryId||o.scope!=="local_owned_carrier_only"||!["open","closed","closing","cleanup_required","not_found"].includes(o.state))throw Error("INVALID_STATUS");m(o)}catch{a("\u672A\u80FD\u6838\u5BF9\u672C\u6B21\u627F\u8F7D\u8FDE\u63A5\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA\uFF1B\u6CA1\u6709\u91CD\u8FDE\u3001\u91CD\u542F\u6216\u91CD\u653E\u914D\u7F6E\u3002")}finally{u(!1)}}async function i(){u(!0),a("");try{await t("cloud_web_close",{entryId:e.entryId}),s()}catch{a("\u901A\u9053\u5173\u95ED\u672A\u786E\u8BA4\uFF1B\u8BF7\u91CD\u8BD5\u5173\u95ED\uFF0C\u4E0D\u4F1A\u505C\u6B62\u4E91\u7AEF Host \u6216\u5220\u9664\u673A\u5668\u4EBA\u3002")}finally{u(!1)}}let c={open:"\u672C\u673A\u627F\u8F7D\u8FDB\u7A0B\u4ECD\u5728\u8FD0\u884C\uFF1B\u4E0D\u8BC1\u660E\u4E91\u7AEF\u9875\u9762\u6216\u673A\u5668\u4EBA\u5728\u7EBF\u3002",closed:"\u672C\u6B21\u627F\u8F7D\u8FDE\u63A5\u5DF2\u5173\u95ED\u3002",closing:"\u672C\u6B21\u627F\u8F7D\u6B63\u5728\u5173\u95ED\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u65B0\u63D0\u4EA4\u539F\u751F\u914D\u7F6E\u3002",cleanup_required:"\u672C\u6B21\u627F\u8F7D\u6E05\u7406\u672A\u5B8C\u6210\uFF0C\u8BF7\u5148\u91CD\u8BD5\u5173\u95ED\uFF1B\u4E0D\u4F1A\u91CD\u5EFA\u53E6\u4E00\u6761\u901A\u9053\u3002",not_found:"\u5F53\u524D Host \u5DF2\u4E0D\u4FDD\u7559\u8BE5\u5165\u53E3\uFF0C\u53EF\u80FD\u5DF2\u91CD\u542F\u6216\u88AB\u540E\u7EED\u5165\u53E3\u66FF\u4EE3\u3002"};return G.default.createElement("div",{className:"dsh-native-im-shell"},G.default.createElement("div",{className:"dsh-onboarding",style:{height:"auto",flex:"0 0 auto",overflow:"visible"}},G.default.createElement("div",{className:"im-manager-heading"},G.default.createElement("div",null,G.default.createElement("h2",null,"\u4E91\u7AEF\u5927\u80A5\u9C7C \xB7 \u539F\u751F IM \u914D\u7F6E"),G.default.createElement("p",null,"\u4EC5\u672C\u6B21\u53D7\u7BA1\u5B9E\u4F8B\uFF1A",e.target.root,"\u3002\u539F\u751F Web \u53EF\u64CD\u4F5C\uFF0C\u4E0D\u662F\u53EA\u8BFB\u6C99\u7BB1\uFF1B\u6253\u5F00\u4E0D\u7B49\u4E8E\u5DF2\u8FDE\u63A5\u6216\u5DF2\u6279\u51C6\u4EFB\u52A1\u3002\u624B\u52A8\u6838\u5BF9\u53EA\u89C2\u5BDF\u672C\u673A\u627F\u8F7D\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0\u3002")),G.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E91\u7AEF\u914D\u7F6E\u8FDE\u63A5\u64CD\u4F5C"},G.default.createElement(_,{kind:"soft",icon:"reset",disabled:n,onClick:p},"\u624B\u52A8\u6838\u5BF9\u627F\u8F7D\u8FDE\u63A5"),G.default.createElement(_,{kind:"secondary",icon:"back",disabled:n,onClick:i},"\u5173\u95ED\u4E91\u7AEF\u5165\u53E3\uFF0C\u8FD4\u56DE\u5BFC\u89C8"))),l&&G.default.createElement("p",{role:"alert"},l),f&&G.default.createElement("div",{role:"status"},G.default.createElement("p",null,c[f.state]),G.default.createElement("p",null,"\u6838\u5BF9\u65F6\u95F4\uFF1A",new Date(f.observedAt).toLocaleString()," \xB7 \u5386\u53F2\u89C2\u5BDF"),f.transport?.reason&&G.default.createElement("p",null,"\u8FDB\u7A0B\u8BB0\u5F55\uFF1A",f.transport.reason,"\uFF1B\u9000\u51FA\u7801\uFF1A",f.transport.exitCode??"\u672A\u8BB0\u5F55","\u3002\u8BB0\u5F55\u4E0D\u4EE3\u8868\u5DF2\u786E\u5B9A\u7F51\u7EDC\u6545\u969C\u539F\u56E0\u3002"),f.transport?.stderrCategory&&G.default.createElement("p",null,"SSH \u8BCA\u65AD\u5206\u7C7B\uFF1A",f.transport.stderrCategory,"\uFF1B\u4EC5\u7531\u8FDB\u7A0B\u8F93\u51FA\u5206\u7C7B\uFF0C\u4E0D\u663E\u793A\u539F\u6587\u6216\u51ED\u636E\u3002")),G.default.createElement("p",{className:"fine-print"},"\u65AD\u7EBF\u540E\u5148\u4FDD\u7559\u672A\u4FDD\u5B58\u5185\u5BB9\uFF0C\u518D\u5173\u95ED\u5165\u53E3\u3001\u624B\u52A8\u91CD\u65B0\u6253\u5F00\uFF1B\u4E0D\u4F1A\u91CD\u653E\u7ED1\u5B9A\u6216\u914D\u7F6E\u52A8\u4F5C\u3002\u539F\u751F\u9875\u9762\u91CC\u7684\u201C\u91CD\u8FDE\u201D\u4E0D\u80FD\u91CD\u5EFA\u5DF2\u5173\u95ED\u7684 SSH \u627F\u8F7D\u3002\u672A\u77E5\u64CD\u4F5C\u7ED3\u679C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u3002")),G.default.createElement("iframe",{className:"dsh-cloud-im-web",title:"\u53D7\u7BA1\u4E91\u7AEF \xB7 \u539F\u751F IM \u914D\u7F6E",src:e.url,referrerPolicy:"no-referrer"}))}function Nr(){let e=null,t=0,s=Object.freeze({available:!1,generation:0}),n=new Set,u=()=>{s=Object.freeze({available:!!e,generation:++t});for(let l of n)l()};return{subscribe(l){return n.add(l),()=>n.delete(l)},getSnapshot:()=>s,attach(l){return l?.version!==1||typeof l.render!="function"?()=>{}:(e=l,u(),()=>{e===l&&(e=null,u())})},render(){return e?.render({preferredSectionId:"feishu"})??null}}}var pe=Ce(ge());var rs={not_started:"\u672A\u4EA4\u63A5",sending:"\u8BF7\u6C42\u5DF2\u767B\u8BB0 \xB7 \u5F85\u6838\u5BF9",delivered:"\u4E91\u7AEF\u5DF2\u4FDD\u5B58 \xB7 \u672C\u6B21\u672A\u542F\u7528\u6A21\u578B",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1",recovering:"\u5173\u95ED\u8BF7\u6C42\u5DF2\u767B\u8BB0 \xB7 \u8BF7\u624B\u52A8\u6838\u5BF9",closed:"\u539F\u4EA4\u63A5\u5DF2\u5173\u95ED \xB7 \u672A\u5220\u9664\u4E91\u7AEF\u51ED\u636E"},ls={ONBOARDING_CLOUD_HANDOFF_TOKEN_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF Host \u5C1A\u4E0D\u652F\u6301 Token Plan \u51ED\u636E\u5408\u540C\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_UNAVAILABLE:"\u76EE\u6807\u4E91\u7AEF\u6A21\u578B\u63A5\u5165\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5207\u6362\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_FENCE_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u6B64\u670D\u52A1\u7684\u7248\u672C\u5C4F\u969C\uFF0C\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_TOKEN_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301 Token Plan \u4EA4\u63A5\uFF1B\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5B8C\u5168\u5C31\u7EEA\u6216\u4ECD\u5728\u5B89\u88C5\uFF0F\u91CD\u542F\u6536\u5C3E\u3002\u8BF7\u7B49\u5F85\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED:"\u4E91\u7AEF\u5B9E\u4F8B\u8EAB\u4EFD\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u6838\u5BF9\u539F\u76EE\u6807\uFF0C\u4E0D\u4F7F\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_HANDOFF_IDENTITY_REVIEW:"\u4E91\u7AEF\u8EAB\u4EFD\u6216\u80FD\u529B\u5C1A\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u8F6C\u4EA4\u5176\u4ED6\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_RUNTIME_SOURCE_CHANGED:"\u4E91\u7AEF\u53D7\u7BA1\u7A0B\u5E8F\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u505C\u6B62\u64CD\u4F5C\uFF1B\u4E0D\u81EA\u52A8\u66FF\u6362\u6216\u4FEE\u590D\u3002",ONBOARDING_CLOUD_HANDOFF_AUTH_FAILED:"\u4E91\u7AEF\u539F\u751F\u8BBF\u95EE\u51ED\u636E\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u8BF7\u6838\u5BF9\u5F53\u524D\u8FD0\u884C\u65F6\uFF1B\u4E0D\u5C1D\u8BD5\u65E5\u5E38\u51ED\u636E\u6216\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_CLOUD_OPERATION_BUSY:"\u53E6\u4E00\u9879\u4E91\u7AEF\u64CD\u4F5C\u4ECD\u5728\u5904\u7406\uFF0C\u8BF7\u7B49\u5F85\u7ED3\u675F\u540E\u518D\u624B\u52A8\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u6392\u961F\u6267\u884C\u6216\u91CD\u8BD5\u3002",ONBOARDING_HANDOFF_BUSY:"\u53E6\u4E00\u9879\u4EA4\u63A5\u64CD\u4F5C\u4ECD\u5728\u5904\u7406\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_HANDOFF_FENCE_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u963B\u65AD\u8FDF\u5230\u8BF7\u6C42\uFF1B\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3001\u6E05\u8D26\u6216\u91CD\u53D1\u3002",ONBOARDING_HANDOFF_RECOVERY_CHANGED:"\u4E91\u7AEF\u51ED\u636E\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u5E76\u9884\u89C8\u5173\u95ED\u65B9\u6848\u3002",ONBOARDING_HANDOFF_ALREADY_DELIVERED:"\u539F\u4EA4\u63A5\u5DF2\u9001\u8FBE\uFF0C\u8BF7\u70B9\u51FB\u201C\u624B\u52A8\u6838\u5BF9\u4EA4\u63A5\u7ED3\u679C\u201D\u66F4\u65B0\u56DE\u6267\uFF0C\u65E0\u9700\u5173\u95ED\u3002",ONBOARDING_HANDOFF_LEDGER_CONFLICT:"\u53E6\u4E00\u9875\u9762\u5DF2\u66F4\u65B0\u4EA4\u63A5\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u6700\u65B0\u8D26\u672C\u540E\u518D\u64CD\u4F5C\u3002",ONBOARDING_HANDOFF_SOURCE_REQUIRED:"\u8BF7\u5148\u5728\u7B2C 2 \u9875\u4FDD\u5B58\u201C\u9884\u5907\u4E91\u7AEF DeepSeek\u201D\u51ED\u636E\u3002\u4E0D\u4F1A\u8BFB\u53D6\u65E5\u5E38 Key \u6216\u81EA\u52A8\u501F\u7528\u672C\u7AEF Key\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u8BF7\u5148\u5B8C\u6210\u672C\u5BFC\u89C8\u7684\u72EC\u7ACB\u4E91\u7AEF Host \u521D\u59CB\u5316\uFF0C\u518D\u9884\u89C8\u51ED\u636E\u4EA4\u63A5\u3002",ONBOARDING_CLOUD_HANDOFF_UNSUPPORTED:"\u5F53\u524D\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u51ED\u636E\u4EA4\u63A5\u3002\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_HANDOFF_RECOVERY_REQUIRED:"\u5DF2\u6709\u672A\u786E\u8BA4\u7ED3\u679C\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u8981\u518D\u6B21\u53D1\u9001 Key\u3002",ONBOARDING_HANDOFF_SOURCE_CHANGED:"\u9884\u5907\u4E91\u7AEF\u51ED\u636E\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u786E\u8BA4\u3002",ONBOARDING_HANDOFF_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u76EE\u6807\u3002"};function kt({request:e,service:t="deepseek"}){let s=t==="gitee",n=t==="token-plan",u=s?"\u4E91\u7AEF Gitee \u51ED\u636E\u4EA4\u63A5":n?"\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5":"\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5",l=s?"\u9884\u5907\u4E91\u7AEF Gitee":n?"\u9884\u5907\u4E91\u7AEF Token Plan":"\u9884\u5907\u4E91\u7AEF DeepSeek",a=pe.default.useCallback((g,v)=>e((s?"gitee_":n?"token_":"")+g,v),[e,n,s]),[f,m]=(0,pe.useState)(null),[p,i]=(0,pe.useState)(null),[c,o]=(0,pe.useState)(!1),[r,d]=(0,pe.useState)(!1),[L,C]=(0,pe.useState)("");(0,pe.useEffect)(()=>{let g=!0;return a("handoff_status",{refresh:!1}).then(v=>{g&&m(v)}).catch(()=>{g&&C("\u4EA4\u63A5\u8D26\u672C\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{g=!1}},[a]);async function h(g){d(!0),C("");try{if(g==="recover"&&(i(null),o(!1),i({...await a("handoff_recoveryPreview",{}),recovery:!0})),g==="preview"&&(i(null),o(!1),i(await a("handoff_preview",{}))),g==="refresh"&&(i(null),o(!1),m(await a("handoff_status",{refresh:!0}))),g==="apply"){if(!p||!c)return;let v=p;i(null),o(!1),m(await a(v.recovery?"handoff_recoveryApply":"handoff_apply",{id:v.id,fingerprint:v.fingerprint,confirm:!0}))}}catch(v){i(null),o(!1),C(s&&v.message==="ONBOARDING_HANDOFF_SOURCE_REQUIRED"?"\u8BF7\u5148\u5728\u7B2C 4 \u9875\u4FDD\u5B58\u9884\u5907\u4E91\u7AEF Gitee \u4EE4\u724C\uFF1B\u4E0D\u4F1A\u8BFB\u53D6\u65E5\u5E38\u6216\u5176\u4ED6\u6A21\u578B\u51ED\u636E\u3002":s&&["ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED","ONBOARDING_CLOUD_HANDOFF_REPOSITORY_UNSUPPORTED"].includes(v.message)?"\u539F\u4E91\u7AEF\u5F52\u6863\u6216 Host \u4E0D\u652F\u6301 Gitee \u51ED\u636E\u4EA4\u63A5\uFF1B\u4FDD\u7559\u65E7\u5B9E\u4F8B\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u5347\u7EA7\u3002":n&&v.message==="ONBOARDING_HANDOFF_SOURCE_REQUIRED"?"\u8BF7\u5148\u5728\u7B2C 2 \u9875\u4FDD\u5B58\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\u4E13\u7528\u51ED\u636E\uFF0C\u4E0D\u4F1A\u501F\u7528\u672C\u7AEF\u6216 DeepSeek Key\u3002":ls[v.message]??"\u672C\u6B21\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u672A\u786E\u8BA4\u4E0D\u7B49\u4E8E\u672A\u5199\u5165\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2\u8D26\u672C\uFF0C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002")}finally{d(!1)}}return pe.default.createElement(V,{className:"connection-panel",title:u,icon:"key",sub:"\u72EC\u7ACB\u4E91\u7AEF Host \u5C31\u7EEA\u540E\uFF0C\u5355\u72EC\u786E\u8BA4\uFF1B\u4E0D\u81EA\u52A8\u542F\u7528\u6A21\u578B\u6216\u542F\u52A8\u4EFB\u52A1\u3002"},pe.default.createElement(S,{label:"\u4EA4\u63A5\u72B6\u6001",value:f?s&&f.state==="delivered"?"\u4E91\u7AEF\u5DF2\u4FDD\u5B58 \xB7 \u672A\u6838\u9A8C\u4ED3\u5E93\u6216\u6388\u6743\u5199\u5165":rs[f.state]??"\u5F85\u6838\u5BF9":"\u8BFB\u53D6\u672C\u7AEF\u8D26\u672C\u4E2D"}),pe.default.createElement(x,null,"\u4EC5\u628A\u7B2C ",s?4:2," \u9875\u4FDD\u5B58\u7684\u201C",l,"\u201D",s?"\u4EE4\u724C":"Key","\uFF0C\u7ECF\u5DF2\u6838\u9A8C\u7684 SSH \u901A\u9053\u4EA4\u7ED9\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\u3002\u4E0D\u4F1A\u590D\u5236 SSH \u79C1\u94A5\uFF0C\u4E0D\u6539\u539F\u751F\u51ED\u636E\uFF0C\u4E0D\u81EA\u52A8\u8C03\u7528\u6A21\u578B\u3002\u8FDB\u5165\u672C\u9875\u53EA\u8BFB\u53D6\u672C\u7AEF\u8D26\u672C\uFF0C\u4E0D\u8FDE\u63A5\u4E91\u7AEF\u3002"),f?.observedAt!==void 0&&pe.default.createElement(S,{label:"\u56DE\u6267\u65B0\u9C9C\u5EA6",value:f.freshness==="remote_checked"?"\u5DF2\u4E8E "+new Date(f.checkedAt).toLocaleString()+" \u6838\u5BF9\u4E91\u7AEF":f.freshness==="check_failed"?"\u672C\u6B21\u672A\u80FD\u6838\u5BF9\u4E91\u7AEF \xB7 \u4FDD\u7559\u5F85\u6838\u5BF9\u72B6\u6001":"\u672C\u7AEF\u7F13\u5B58 \xB7 "+new Date(f.observedAt).toLocaleString()+" \u8BB0\u5F55\uFF0C\u975E\u5B9E\u65F6\u72B6\u6001"}),f?.error&&pe.default.createElement(x,null,f.error==="ONBOARDING_HANDOFF_NOT_CONFIRMED"?"\u4E91\u7AEF\u5F53\u524D\u7248\u672C\u672A\u786E\u8BA4\u539F\u4EA4\u63A5\u3002Key \u53EF\u80FD\u672A\u9001\u8FBE\uFF0C\u6216\u5DF2\u88AB\u540E\u7EED\u64CD\u4F5C\u4FEE\u6539\uFF1B\u4E0D\u8981\u76F4\u63A5\u91CD\u53D1\u3002":"\u672A\u62FF\u5230\u53EF\u4FE1\u7684\u4E91\u7AEF\u7ED3\u679C\uFF0C\u4E0D\u4EE3\u8868\u6CA1\u6709\u5199\u5165\u3002\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u3002"),f?.state==="closed"&&pe.default.createElement(x,null,"\u539F\u8BF7\u6C42\u5DF2\u88AB\u540E\u7EED\u51ED\u636E\u7248\u672C\u963B\u65AD\uFF0C\u4E0D\u4F1A\u7EE7\u7EED\u4F7F\u7528\u65E7\u786E\u8BA4\u3002\u5173\u95ED\u4E0D\u8BC1\u660E Key \u4ECE\u672A\u9001\u8FBE\uFF0C\u4E5F\u4E0D\u5220\u9664\u6216\u66FF\u6362\u4E91\u7AEF\u5F53\u524D Key\u3002\u65B0\u4EA4\u63A5\u4ECD\u9700\u91CD\u65B0\u9884\u89C8\u786E\u8BA4\u3002"),f?.target&&pe.default.createElement(S,{label:"\u5DF2\u767B\u8BB0\u7684\u76EE\u6807\u76EE\u5F55",value:f.target.root}),pe.default.createElement("div",{className:"connection-actions",role:"group","aria-label":s?"\u4E91\u7AEF Gitee \u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C":n?"\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C":"\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C"},pe.default.createElement(_,{kind:"primary",icon:"key",disabled:r||!f||["sending","needs_review","recovering"].includes(f.state),onClick:()=>h("preview")},"\u9884\u89C8",u),pe.default.createElement(_,{kind:"secondary",icon:"reset",disabled:r,onClick:()=>h("refresh")},s?"\u624B\u52A8\u6838\u5BF9 Gitee \u4EA4\u63A5\u7ED3\u679C":n?"\u624B\u52A8\u6838\u5BF9 Token Plan \u4EA4\u63A5\u7ED3\u679C":"\u624B\u52A8\u6838\u5BF9\u4EA4\u63A5\u7ED3\u679C"),f&&["sending","needs_review"].includes(f.state)&&pe.default.createElement(_,{kind:"secondary",icon:"shield",disabled:r,onClick:()=>h("recover")},s?"\u9884\u89C8\u5173\u95ED Gitee \u539F\u4EA4\u63A5":n?"\u9884\u89C8\u5173\u95ED Token Plan \u539F\u4EA4\u63A5":"\u9884\u89C8\u5173\u95ED\u539F\u4EA4\u63A5")),p?.recovery&&pe.default.createElement("section",{className:"connection-confirm"},pe.default.createElement("h3",null,s?"\u5173\u95ED Gitee \u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1\u4EE4\u724C":n?"\u5173\u95ED Token Plan \u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1 Key":"\u5173\u95ED\u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1 Key"),pe.default.createElement(S,{label:"\u76EE\u6807\u76EE\u5F55",value:p.target.root}),pe.default.createElement(x,null,p.mode==="fence"?"\u76EE\u6807\u7248\u672C\u5C1A\u672A\u63A8\u8FDB\u3002\u786E\u8BA4\u540E\u4EC5\u63A8\u8FDB\u51ED\u636E\u7248\u672C\uFF0C\u4FDD\u6301\u5F53\u524D\u5185\u5BB9\uFF08\u5305\u62EC\u7A7A\u503C\uFF09\u4E0D\u53D8\uFF0C\u963B\u65AD\u8FDF\u5230\u7684\u539F\u8BF7\u6C42\uFF1B\u5DF2\u6709\u81EA\u6709\u6A21\u578B\u63A5\u5165\u53EF\u80FD\u9700\u91CD\u65B0\u786E\u8BA4\u3002":"\u76EE\u6807\u51ED\u636E\u7248\u672C\u5DF2\u7ECF\u63A8\u8FDB\u3002\u786E\u8BA4\u540E\u4EC5\u5173\u95ED\u672C\u7AEF\u539F\u4EA4\u63A5\u8D26\u672C\uFF0C\u4E0D\u4FEE\u6539\u4E91\u7AEF\u51ED\u636E\u3002"," \u82E5\u539F\u8BF7\u6C42\u5148\u5230\u8FBE\uFF0C\u5219\u663E\u793A\u5DF2\u9001\u8FBE\uFF0C\u4E0D\u4F1A\u8BEF\u8BB0\u4E3A\u672A\u9001\u8FBE\u3002"),pe.default.createElement(R,{checked:c,onChange:o,title:"\u6211\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5\uFF0C\u4FDD\u7559\u4E91\u7AEF\u5F53\u524D\u51ED\u636E\uFF0C\u4E0D\u91CD\u53D1\u6216\u5220\u9664 Key"}),pe.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},pe.default.createElement(_,{kind:"primary",icon:"check",disabled:r||!c,onClick:()=>h("apply")},"\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5"),pe.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))),p&&!p.recovery&&pe.default.createElement("section",{className:"connection-confirm"},pe.default.createElement("h3",null,s?"\u4EC5\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u5173\u8054\u4EFB\u52A1\u6216\u6388\u6743\u5199\u5165":n?"\u4EC5\u4FDD\u5B58 Token Plan \u5230\u4E91\u7AEF\uFF0C\u4E0D\u542F\u7528\u6A21\u578B":"\u4EC5\u4FDD\u5B58\u5230\u4E91\u7AEF\uFF0C\u4E0D\u542F\u7528\u6A21\u578B"),pe.default.createElement(S,{label:"\u76EE\u6807\u89D2\u8272",value:"\u4E91\u7AEF\u5927\u80A5\u9C7C"}),pe.default.createElement(S,{label:"\u76EE\u6807\u76EE\u5F55",value:p.target.root}),pe.default.createElement(S,{label:"DSH \u7248\u672C",value:p.target.hostVersion}),pe.default.createElement(S,{label:"\u51ED\u636E\u53D8\u5316",value:p.replacesOwnCredential?"\u66FF\u6362\u8BE5\u5B9E\u4F8B\u672C\u9879\u76EE\u7684\u65E2\u6709 Key\uFF1B\u5DF2\u6709\u81EA\u6709\u6A21\u578B\u63A5\u5165\u53EF\u80FD\u9700\u91CD\u65B0\u786E\u8BA4":"\u65B0\u5EFA\u672C\u9879\u76EE\u7684\u4E13\u7528\u51ED\u636E\u69FD\u4F4D"}),pe.default.createElement(R,{checked:c,onChange:o,title:s?"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165":"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58\u9884\u5907 Key\uFF0C\u4E0D\u542F\u7528\u6A21\u578B\u6216\u4EFB\u52A1"}),pe.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},pe.default.createElement(_,{kind:"primary",icon:"check",disabled:r||!c,onClick:()=>h("apply")},"\u786E\u8BA4\u4EA4\u63A5",s?"\u4E91\u7AEF Gitee \u51ED\u636E":n?"\u4E91\u7AEF Token Plan \u51ED\u636E":"\u4E91\u7AEF\u51ED\u636E"),pe.default.createElement(_,{kind:"secondary",disabled:r,onClick:()=>{i(null),o(!1)}},"\u53D6\u6D88"))),L&&pe.default.createElement("p",{className:"connection-error",role:"alert"},L))}var ee=Ce(ge());var Ar="dsh-maintenance-session-reference-v1",ta=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),kr=e=>e&&!["released","not_held","retired"].includes(e.state),ro={acquire:["preview","apply"],release:["releasePreview","releaseApply"],record_observation:["recoveryPreview","recover"],retire_previous_instance:["retirementPreview","retirementApply"],resume_admission:["resumePreview","resumeApply"]},br=e=>e&&e.hostStopAuthorized===!1&&e.pluginSwitchAuthorized===!1,lo=e=>br(e)&&e.contract===2&&e.persisted===!0&&e.scope==="coordinated_components_only"&&ta(e.instanceId)&&Number.isSafeInteger(e.revision)&&e.revision>=0&&["open","held","needs_review","interrupted"].includes(e.state)&&typeof e.operationInFlight=="boolean"&&(!e.receipt||ta(e.receipt.id));function so(e,t,s=Date.now()){let n=e.current,u=t===2&&!e.busy&&e.fresh&&!e.uncertain&&lo(n)&&!n.operationInFlight,l=u&&kr(n.receipt)&&n.receipt.instanceId===n.instanceId;return{acquire:u&&n.state==="open"&&!n.admission?.blocked,resume_admission:u&&n.admission?.contract===1&&n.admission.blocked&&!kr(n.receipt),release:l&&n.live?.operationId===n.receipt.id,record_observation:l&&n.state==="needs_review",retire_previous_instance:u&&n.state==="interrupted",confirm:u&&!!e.plan&&e.plan.canApply===!0&&s<e.plan.expiresAt}}function yr(e,t,s,n,u=Date.now){let l=null;try{let c=JSON.parse(n?.getItem(Ar)??"null");ta(c?.operationId)?l={operationId:c.operationId,...ta(c?.decisionId)?{decisionId:c.decisionId}:{}}:ta(c?.decisionId)&&(l={operationId:null,decisionId:c.decisionId})}catch{}let a={current:null,receipt:null,plan:null,reference:l,busy:!1,error:"",fresh:!1,uncertain:!!l,observedAt:null},f=c=>{a={...a,...c},t(a)},m=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function p(c,o){return lo(c)||m(),o?.operationId&&(c.requestedOperationId!==o.operationId||c.requestedReceipt&&c.requestedReceipt.id!==o.operationId)&&m(),{current:c,receipt:o?.operationId?c.requestedReceipt:c.receipt,fresh:!0,uncertain:!!o&&(o.decisionId?c.admission?.durable?.decision?.id!==o.decisionId:!c.requestedReceipt),observedAt:u()}}async function i(c,o=!1){if(a.busy||s!==2)return!1;let r=so(a,s,u());if(c==="confirm"&&(!r.confirm||o!==!0)||c!=="refresh"&&c!=="confirm"&&!r[c]||!["refresh","confirm",...Object.keys(ro)].includes(c))return!1;let d=a.plan;f({busy:!0,error:"",plan:null});try{if(c==="refresh")f(p(await e("maintenance_record_status",a.reference?.operationId?{operationId:a.reference.operationId}:{}),a.reference));else if(c==="confirm"){let L={operationId:d.action==="acquire"?d.id:d.operationId,...d.action==="resume_admission"?{decisionId:d.id}:{}};if(!n)throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE");try{n.setItem(Ar,JSON.stringify(L))}catch{throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE")}f({reference:L,uncertain:!0,fresh:!1});let C=await e("maintenance_record_"+ro[d.action][1],{id:d.id,fingerprint:d.fingerprint,confirm:!0});(!lo(C)||(C.receipt?.id??null)!==L.operationId||L.decisionId&&C.admission?.durable?.decision?.id!==L.decisionId)&&m(),f({...p(C,null),receipt:C.receipt,uncertain:!1})}else{let L=await e("maintenance_record_"+ro[c][0],{}),C=c==="resume_admission"?"own_execution_startup_only":["record_observation","retire_previous_instance"].includes(c)?"ledger_only":"coordinated_components_only";(!br(L)||L.action!==c||L.scope!==C||!ta(L.id)||!ta(L.instanceId)||L.instanceId!==a.current.instanceId||!Number.isFinite(L.expiresAt)||!Number.isSafeInteger(L.revision)||L.revision!==a.current.revision||typeof L.canApply!="boolean"||!/^[a-f0-9]{64}$/.test(L.fingerprint??"")||c!=="acquire"&&(L.operationId!==null&&!ta(L.operationId)||L.operationId!==(a.current.receipt?.id??null)))&&m(),C==="ledger_only"&&(L.componentActions!==0||c==="retire_previous_instance"&&L.signals!==0)&&m(),f({plan:L})}return!0}catch(L){return f({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(L?.message)?L.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{f({busy:!1})}}return{get:()=>a,act:i,cancel:()=>{a.busy||f({plan:null})}}}var no={open:"\u5F53\u524D\u6CA1\u6709\u672A\u7ED3\u675F\u7EF4\u62A4",held:"\u672C\u5B9E\u4F8B\u6301\u6709\u7EC4\u4EF6\u7EF4\u62A4\u9501",needs_review:"\u672C\u5B9E\u4F8B\u8BB0\u5F55\u5F85\u6838\u5BF9",interrupted:"\u65E7\u5B9E\u4F8B\u8BB0\u5F55\u672A\u6536\u5C3E",acquire_intent:"\u5DF2\u8BB0\u83B7\u53D6\u610F\u56FE \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",release_intent:"\u5DF2\u8BB0\u91CA\u653E\u610F\u56FE \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",released:"\u539F\u7EC4\u4EF6\u9501\u5DF2\u91CA\u653E",not_held:"\u539F\u8BB0\u5F55\u5DF2\u6838\u5BF9 \xB7 \u672A\u6301\u9501",retired:"\u65E7\u5B9E\u4F8B\u8BB0\u5F55\u5DF2\u6536\u5C3E"},ss={...no,held:"\u8BE5\u8BB0\u5F55\u5F53\u65F6\u5DF2\u53D6\u5F97\u7EC4\u4EF6\u9501",needs_review:"\u8BE5\u8BB0\u5F55\u5F85\u6838\u5BF9",released:"\u8BE5\u8BB0\u5F55\u7EC4\u4EF6\u9501\u5DF2\u91CA\u653E",not_held:"\u8BE5\u8BB0\u5F55\u5DF2\u6838\u5BF9 \xB7 \u5F53\u65F6\u672A\u6301\u9501"},bt={acquire:"\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4",release:"\u91CA\u653E\u672C\u5B9E\u4F8B\u7EC4\u4EF6\u9501",record_observation:"\u6838\u5BF9\u672C\u5B9E\u4F8B\u8BB0\u5F55",retire_previous_instance:"\u6536\u5C3E\u65E7\u5B9E\u4F8B\u8BB0\u5F55",resume_admission:"\u6062\u590D\u81EA\u6709\u6267\u884C\u5165\u53E3"},ns={absent:"\u539F\u8FDB\u7A0B\u5DF2\u4E0D\u5B58\u5728",pid_reused:"PID \u5DF2\u5C5E\u4E8E\u4E0D\u540C\u51FA\u751F\u8EAB\u4EFD",boot_changed:"\u540C\u4E00\u4E3B\u673A\u5DF2\u91CD\u65B0\u542F\u52A8",terminal:"\u539F\u8FDB\u7A0B\u5DF2\u7EC8\u6B62",same_process:"\u539F\u8FDB\u7A0B\u4ECD\u5B58\u6D3B",identity_missing:"\u65E7\u8BB0\u5F55\u7F3A\u5C11\u8EAB\u4EFD\u51ED\u636E",host_changed:"\u4E3B\u673A\u8EAB\u4EFD\u4E0D\u540C",namespace_changed:"\u8FDB\u7A0B\u547D\u540D\u7A7A\u95F4\u4E0D\u540C",observer_unavailable:"\u5F53\u524D\u5B9E\u4F8B\u8EAB\u4EFD\u65E0\u6CD5\u6838\u9A8C",process_unavailable:"\u539F\u8FDB\u7A0B\u72B6\u6001\u65E0\u6CD5\u8BFB\u53D6",observation_changed:"\u89C2\u5BDF\u671F\u95F4\u8EAB\u4EFD\u53D8\u5316",identity_format_changed:"\u65E7\u65F6\u95F4\u683C\u5F0F\u65E0\u6CD5\u4E0E\u5F53\u524D\u683C\u5F0F\u6BD4\u8F83",current_instance:"\u5F53\u524D\u5B9E\u4F8B\u4E0D\u80FD\u4F5C\u4E3A\u65E7\u5B9E\u4F8B\u6536\u5C3E",previous_instance_unverified:"\u5C1A\u4E0D\u80FD\u6838\u9A8C\u65E7\u5B9E\u4F8B"},is={open:"\u672A\u6301\u9501",held:"\u672C\u5B9E\u4F8B\u5DF2\u6301\u9501",busy:"\u6D3B\u52A8\u4E2D",not_configured:"\u672A\u914D\u7F6E \xB7 \u4E0D\u9002\u7528",unsupported:"\u4E0D\u652F\u6301\u6838\u9A8C",needs_review:"\u5F85\u6838\u5BF9"},us={ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u8BF7\u6C42\u672A\u53D1\u9001\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u8BBE\u7F6E\u3002",ONBOARDING_MAINTENANCE_RECORD_PLAN_EXPIRED:"\u8BA1\u5212\u8FC7\u671F\u6216\u5DF2\u5931\u6548\uFF1B\u5148\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\u65B0\u8BA1\u5212\u3002",ONBOARDING_MAINTENANCE_RECORD_OBSERVATION_CHANGED:"\u8BB0\u5F55\u6216\u9000\u51FA\u8BC1\u636E\u53D1\u751F\u53D8\u5316\uFF0C\u672A\u7EE7\u7EED\u64CD\u4F5C\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_MAINTENANCE_RECORD_LEDGER_REVIEW:"\u539F\u8D26\u672C\u65E0\u6CD5\u5B89\u5168\u89E3\u6790\uFF0C\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u8986\u76D6\u6216\u5220\u9664\u3002"};function wr({request:e,contract:t=0}){let[s,n]=(0,ee.useState)(null),[u,l]=(0,ee.useState)(!1),a=(0,ee.useRef)(!0),f=(0,ee.useRef)();if(!f.current){let d;try{d=globalThis.sessionStorage}catch{}f.current=yr(e,L=>{a.current&&n(L)},t,d)}(0,ee.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let m=s??f.current.get(),p=so(m,t),i=m.plan,c=m.current,o=m.receipt,r=d=>(l(!1),f.current.act(d,u));return ee.default.createElement(V,{title:"\u7EF4\u62A4\u4F1A\u8BDD\u4E0E\u8BB0\u5F55",sub:"\u4EC5\u7BA1\u7406\u5F53\u524D Host \u7684\u81EA\u6709\u7EC4\u4EF6\uFF1B\u89C4\u5219\u6587\u4EF6\u7EF4\u62A4\u4ECD\u5728\u7B2C 5 \u9875\u3002",icon:"lock",className:"connection-panel maintenance-session",extra:ee.default.createElement(ve,null,"\u624B\u52A8\u6838\u5BF9")},ee.default.createElement(x,null,"\u7EC4\u4EF6\u9501\u4E0D\u662F\u6574\u673A\u6682\u505C\u3002\u7B2C\u4E09\u65B9 IM \u5C1A\u672A\u5B8C\u6210\u6392\u7A7A\uFF1B\u8FD9\u91CC\u4E0D\u6388\u6743\u505C\u673A\u3001\u63D2\u4EF6\u5347\u7EA7\u3001\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"),ee.default.createElement("div",{className:"maintenance-status",role:"status"},ee.default.createElement(S,{label:"\u5F53\u524D\u89C2\u5BDF",value:c?no[c.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),ee.default.createElement("p",{className:"fine-print"},m.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(m.observedAt).toLocaleString()+(m.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6\uFF0C\u9700\u91CD\u65B0\u6838\u5BF9"):"\u6253\u5F00\u9875\u9762\u4E0D\u8BFB\u8D26\u672C\u3001\u4E0D\u6267\u884C\u7EF4\u62A4\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),c?.admission?.contract===1&&ee.default.createElement(S,{label:"\u81EA\u6709\u6267\u884C\u5165\u53E3",value:{checking:"\u542F\u52A8\u6838\u5BF9\u4E2D \xB7 \u6682\u4E0D\u653E\u884C",open:"\u51C6\u5165\u5F00\u653E \xB7 \u4EFB\u52A1\u4ECD\u53D7\u5404\u81EA\u5BA1\u6279\u7EA6\u675F",fenced:"\u51C6\u5165\u5173\u95ED \xB7 \u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4",unavailable:"\u8D26\u672C\u65E0\u6CD5\u6838\u9A8C \xB7 \u4FDD\u6301\u5173\u95ED"}[c.admission.local]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u5DF2\u6062\u590D"}),c?.admission?.blocked&&ee.default.createElement(x,{tone:"warn"},"\u81EA\u6709\u4EFB\u52A1\u7F51\u5173\u3001\u6A21\u578B\u63A5\u5165\u4E0E\u540E\u53F0\u542F\u52A8\u4FDD\u6301\u5173\u95ED\u3002\u6536\u5C3E\u65E7\u8BB0\u5F55\u53EA\u66F4\u65B0\u5386\u53F2\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\uFF1B\u8FD9\u91CC\u4E0D\u6682\u505C\u7B2C\u4E09\u65B9 IM \u6216\u5168\u90E8\u539F\u751F\u4F1A\u8BDD\u3002"),c?.executionMayHaveResumed&&ee.default.createElement(x,{tone:"warn"},"Host \u5DF2\u6362\u5B9E\u4F8B\uFF0C\u539F\u751F\u6216\u7B2C\u4E09\u65B9\u4EFB\u52A1\u4ECD\u53EF\u80FD\u5DF2\u6062\u590D\u3002\u65E7\u8BB0\u5F55\u4E0D\u4EE3\u8868\u65E7\u9501\u4ECD\u7136\u751F\u6548\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u6279\u51C6\u3002"),c&&ee.default.createElement("div",{className:"maintenance-components"},[["onboarding","\u81EA\u6709\u5BFC\u89C8\u4E0E\u540E\u53F0"],["gateway","\u4EFB\u52A1\u4E0E\u6587\u4EF6\u7F51\u5173"],["agents","\u539F\u751F\u667A\u80FD\u4F53"]].map(([d,L])=>ee.default.createElement(S,{key:d,label:L,value:is[c.live?.components?.[d]?.state]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u7A7A\u95F2"})),ee.default.createElement(S,{label:"\u7B2C\u4E09\u65B9 IM",value:"\u672A\u5B8C\u6210\u6392\u7A7A\u9A8C\u8BC1"})),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(_,{kind:"secondary",icon:"reset",disabled:m.busy||t!==2,onClick:()=>r("refresh")},"\u624B\u52A8\u6838\u5BF9\u4F1A\u8BDD\u4E0E\u56DE\u6267"),Object.entries(bt).filter(([d])=>p[d]).map(([d,L])=>ee.default.createElement(_,{key:d,kind:"soft",onClick:()=>r(d)},"\u9884\u89C8",L))),m.uncertain&&ee.default.createElement(x,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u53EF\u6838\u9A8C\u8BB0\u5F55\u3002\u4FDD\u7559\u67E5\u8BE2\u5F15\u7528\uFF0C\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u5B9A\u8BF7\u6C42\u6CA1\u6709\u6267\u884C\u3002"),i&&ee.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u4F1A\u8BDD\u8BA1\u5212"},ee.default.createElement("h3",null,"\u5F85\u786E\u8BA4 \xB7 ",bt[i.action]),ee.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:i.scope==="ledger_only"?"\u53EA\u66F4\u65B0\u539F\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u7EC4\u4EF6":i.scope==="own_execution_startup_only"?"\u4EC5\u6062\u590D\u81EA\u6709\u540E\u53F0\u548C\u6267\u884C\u5165\u53E3":"\u5F53\u524D Host \u7684\u81EA\u6709\u5BFC\u89C8\u3001\u7F51\u5173\u4E0E\u539F\u751F\u667A\u80FD\u4F53"}),i.reason&&ee.default.createElement(S,{label:"\u6838\u9A8C\u4F9D\u636E",value:ns[i.reason]??"\u6838\u9A8C\u672A\u6EE1\u8DB3\u8981\u6C42"}),i.action==="record_observation"&&ee.default.createElement(S,{label:"\u62DF\u8BB0\u5165\u72B6\u6001",value:no[i.observedState]??"\u65E0\u6CD5\u6838\u9A8C"}),ee.default.createElement("p",null,i.action==="resume_admission"?"\u6838\u5BF9\u5E76\u6301\u4E45\u8BB0\u5F55\u6062\u590D\u51B3\u5B9A\uFF0C\u518D\u653E\u884C\u5F53\u524D\u6709\u6548\u7684\u81EA\u6709\u542F\u52A8\u9879\uFF1B\u4E0D\u81EA\u52A8\u91CD\u53D1\u6D88\u606F\u3001\u91CD\u8BD5\u5931\u8D25\u8BF7\u6C42\u6216\u653E\u5BBD\u4EFB\u52A1\u5BA1\u6279\u3002":i.action==="acquire"?"\u5148\u8BB0\u610F\u56FE\uFF0C\u518D\u5C1D\u8BD5\u83B7\u53D6\u7EC4\u4EF6\u9501\uFF1B\u4E0D\u53D6\u6D88\u73B0\u6709\u5DE5\u4F5C\u3002":i.action==="release"?"\u53EA\u91CA\u653E\u672C\u6B21\u5DF2\u6709\u7EC4\u4EF6\u9501\uFF1B\u666E\u901A\u4EFB\u52A1\u53EF\u80FD\u7EE7\u7EED\u6267\u884C\u3002":i.action==="record_observation"?"\u53EA\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u83B7\u53D6\u3001\u91CA\u653E\u6216\u91CD\u5EFA\u9501\u3002":"\u4FDD\u7559\u5386\u53F2\uFF0C\u5C06\u539F\u8BB0\u5F55\u6807\u4E3A\u5DF2\u6536\u5C3E\uFF1B\u4E0D\u53D1\u8FDB\u7A0B\u4FE1\u53F7\uFF0C\u65B0\u7EF4\u62A4\u9700\u53E6\u884C\u786E\u8BA4\u3002"),i.action==="acquire"&&!i.ownerProofAvailable&&ee.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u65E0\u6CD5\u8BB0\u5F55\u8FDB\u7A0B\u51FA\u751F\u8EAB\u4EFD\uFF1B\u82E5\u91CD\u542F\u540E\u7559\u4E0B\u672A\u5B8C\u6210\u8BB0\u5F55\uFF0C\u4E0D\u80FD\u81EA\u52A8\u8BC1\u660E\u65E7\u5B9E\u4F8B\u5DF2\u9000\u51FA\u3002"),i.reasons?.length>0&&ee.default.createElement(x,{tone:"warn"},"\u5B58\u5728\u6D3B\u52A8\u6216\u65E0\u6CD5\u6838\u9A8C\u7684\u7EC4\u4EF6\uFF0C\u672C\u8BA1\u5212\u4E0D\u80FD\u5E94\u7528\u3002\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u4E2D\u65AD\u73B0\u6709\u4EFB\u52A1\u3002"),!i.canApply&&ee.default.createElement(x,{tone:"warn"},"\u8BC1\u636E\u672A\u6EE1\u8DB3\uFF0C\u672C\u8BA1\u5212\u4E0D\u53EF\u786E\u8BA4\uFF1B\u4E0D\u4EE5\u672A\u77E5\u72B6\u6001\u4EE3\u66FF\u7A7A\u95F2\u6216\u9000\u51FA\u3002"),ee.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(i.expiresAt).toLocaleTimeString(),"\uFF0C\u786E\u8BA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),ee.default.createElement(R,{checked:u,disabled:!p.confirm,onChange:l,title:"\u6211\u786E\u8BA4\u4EC5"+bt[i.action],sub:"\u4E0D\u662F\u6574\u673A\u505C\u673A\u3001\u5347\u7EA7\u3001\u5378\u8F7D\u6216\u4EFB\u52A1\u6267\u884C\u6388\u6743\u3002"}),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(_,{kind:"primary",disabled:!p.confirm||!u,onClick:()=>r("confirm")},"\u786E\u8BA4",bt[i.action]),ee.default.createElement(_,{kind:"secondary",disabled:m.busy,onClick:()=>{f.current.cancel(),l(!1)}},"\u53D6\u6D88\u4F1A\u8BDD\u8BA1\u5212"))),o&&ee.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u7EF4\u62A4\u4F1A\u8BDD\u5386\u53F2\u56DE\u6267"},ee.default.createElement("h3",null,"\u67E5\u8BE2\u5230\u7684\u8BB0\u5F55 \xB7 ",ss[o.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),ee.default.createElement("p",null,"\u8FD9\u662F\u8D26\u672C\u4E8B\u5B9E\uFF0C\u4E0D\u4EE3\u8868\u6574\u673A\u5DF2\u6392\u7A7A\uFF0C\u4E5F\u4E0D\u4EE3\u8868\u5386\u53F2\u8BF7\u6C42\u5747\u5DF2\u6210\u529F\u3002"),c?.receipt?.id!==o.id&&ee.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u7684\u7EF4\u62A4\u8BB0\u5F55\uFF0C\u8BF7\u4EE5\u4E0A\u65B9\u201C\u5F53\u524D\u89C2\u5BDF\u201D\u4E3A\u51C6\u3002"),ee.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(o.updatedAt).toLocaleString()}),ee.default.createElement("details",{className:"plan-item"},ee.default.createElement("summary",null,"\u8BCA\u65AD\u4FE1\u606F"),ee.default.createElement("code",null,o.id),ee.default.createElement(S,{label:"\u5386\u53F2\u8BB0\u5F55\u6570",value:c?.historyCount??"\u672A\u77E5"}))),m.error&&ee.default.createElement("p",{className:"connection-error",role:"alert"},us[m.error]??"\u672C\u6B21\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u5148\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",ee.default.createElement("code",null,m.error)))}var oe=Ce(ge());var io="dsh-im-maintenance-reference-v1",oa=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),yt=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Or=e=>typeof e=="string"&&/^[A-Za-z0-9_-]{1,128}$/.test(e),Dr=["connected","disconnected","connecting","provisioning","error"],Er=e=>e&&e.hostStopAuthorized===!1&&e.pluginSwitchAuthorized===!1,Pr=e=>e===null||e&&oa(e.id)&&oa(e.instanceId)&&Or(e.botId)&&e.channel==="feishu"&&yt(e.configHash)&&["disconnect","reconnect"].includes(e.action)&&["intent","needs_review","acknowledged","reviewed"].includes(e.phase)&&Number.isSafeInteger(e.updatedAt)&&(e.review===null||e.phase==="reviewed"&&oa(e.review?.id)&&oa(e.review?.instanceId)&&Number.isSafeInteger(e.review?.at)),uo=e=>Er(e)&&e.contract===1&&e.queryContract===1&&e.scope==="single_bot_current_host"&&oa(e.instanceId)&&Number.isSafeInteger(e.revision)&&e.revision>=0&&["observed","unavailable"].includes(e.inventoryState)&&typeof e.operationInFlight=="boolean"&&typeof e.pending=="boolean"&&Pr(e.receipt)&&e.pending===!!(e.receipt&&["intent","needs_review"].includes(e.receipt.phase))&&e.lossless===!1&&e.configurationRetainedByContract===!0&&e.configurationSecretsVerified===!1&&e.restartMayReconnect===!0&&e.automaticDisconnect===!1&&Array.isArray(e.bots)&&e.bots.every(t=>Or(t.botId)&&t.channel==="feishu"&&typeof t.name=="string"&&typeof t.configured=="boolean"&&typeof t.connected=="boolean"&&Dr.includes(t.state)&&t.connected===(t.state==="connected")&&yt(t.configHash))&&new Set(e.bots.map(t=>t.botId)).size===e.bots.length;function fo(e,t,s=Date.now(),n=!0){let u=e.current,l=t===1&&n&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&uo(u)&&u.inventoryState==="observed"&&!u.operationInFlight,a=u?.bots.find(f=>f.botId===e.selected&&f.configured);return{disconnect:!!(l&&!u.pending&&a?.connected),reconnect:!!(l&&!u.pending&&a&&!a.connected&&a.state==="disconnected"),review:!!(l&&u.pending),confirm:!!(l&&e.plan&&s<e.plan.expiresAt)}}function Br(e,t,s,n,u=Date.now,l=!0){let a=null,f=!1;try{if(!n)throw Error();let r=JSON.parse(n.getItem(io)??"null");if(r!==null){if(!oa(r.operationId)||Object.keys(r).some(d=>!["operationId","decisionId"].includes(d))||Object.hasOwn(r,"decisionId")&&!oa(r.decisionId))throw Error();a=r}}catch{f=!0}let m={current:null,receipt:null,plan:null,selected:"",reference:a,storageError:f,busy:!1,error:"",fresh:!1,uncertain:!!a||f,observedAt:null},p=r=>{m={...m,...r},t(m)},i=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function c(r,d){uo(r)||i(),d&&(r.requestedOperationId!==d.operationId||!Object.hasOwn(r,"requestedReceipt")||!Pr(r.requestedReceipt)||r.requestedReceipt&&r.requestedReceipt.id!==d.operationId)&&i();let L=d?r.requestedReceipt:r.receipt;return{current:r,receipt:L,fresh:!0,uncertain:m.storageError||!!d&&(!L||!!d.decisionId&&L.review?.id!==d.decisionId),observedAt:u()}}async function o(r,d=!1){if(m.busy||s!==1||!["refresh","disconnect","reconnect","review","confirm"].includes(r))return!1;let L=fo(m,s,u(),l);if(r!=="refresh"&&(!L[r]||r==="confirm"&&d!==!0))return!1;let C=m.plan;p({busy:!0,error:"",plan:null});try{if(r==="refresh")p(c(await e("im_maintenance_status",m.reference?{operationId:m.reference.operationId}:{}),m.reference));else if(r==="confirm"){let h=C.kind==="review"?{operationId:C.operationId,decisionId:C.id}:{operationId:C.id};try{if(!n||(n.setItem(io,JSON.stringify(h)),n.getItem(io)!==JSON.stringify(h)))throw Error()}catch{throw Error("ONBOARDING_IM_MAINTENANCE_REFERENCE_UNAVAILABLE")}p({reference:h,uncertain:!0,fresh:!1});let g=await e("im_maintenance_"+(C.kind==="review"?"reconcileApply":"apply"),{id:C.id,fingerprint:C.fingerprint,confirm:!0,acknowledgeLoss:!0});(!uo(g)||g.instanceId!==C.instanceId||g.revision<=C.revision||g.receipt?.id!==h.operationId||h.decisionId&&g.receipt.review?.id!==h.decisionId||C.kind==="action"&&(g.receipt.botId!==C.botId||g.receipt.action!==C.action||g.receipt.configHash!==C.configHash))&&i(),p(c({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=m.current,g=h.bots.find(N=>N.botId===m.selected),v=await e("im_maintenance_"+(r==="review"?"reconcilePreview":"preview"),r==="review"?{}:{action:r,botId:m.selected});(!Er(v)||!oa(v.id)||v.instanceId!==h.instanceId||v.revision!==h.revision||!yt(v.fingerprint)||!yt(v.observationHash)||!Number.isSafeInteger(v.expiresAt)||v.expiresAt<=u())&&i(),(r==="review"?v.kind!=="review"||v.scope!=="ledger_only"||v.priorEffectVerified!==!1||v.operationId!==h.receipt?.id||!Dr.includes(v.observedState):v.kind!=="action"||v.scope!=="single_bot_current_host"||v.action!==r||v.botId!==g?.botId||v.channel!=="feishu"||v.configHash!==g.configHash||v.botName!==g.name||v.mayAbortInFlight!==!0||v.restartMayReconnect!==!0)&&i(),p({plan:v})}return!0}catch(h){return p({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{p({busy:!1})}}return{get:()=>m,act:o,select:r=>{m.busy||p({selected:r,plan:null})},cancel:()=>{m.busy||p({plan:null})}}}var co={connected:"\u5DF2\u8FDE\u63A5",disconnected:"\u5DF2\u65AD\u5F00",connecting:"\u8FDE\u63A5\u4E2D",provisioning:"\u914D\u7F6E\u4E2D",error:"\u8FDE\u63A5\u5F02\u5E38"},Tr={intent:"\u5DF2\u8BB0\u5F55\u610F\u56FE \xB7 \u7ED3\u679C\u672A\u77E5",acknowledged:"\u5DF2\u6536\u5230\u8BE5\u6B21\u64CD\u4F5C\u56DE\u6267",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9",reviewed:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u8FFD\u8BA4"},wt={disconnect:"\u65AD\u5F00\u673A\u5668\u4EBA",reconnect:"\u6062\u590D\u673A\u5668\u4EBA\u8FDE\u63A5",review:"\u8865\u8BB0\u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF"},ds={ONBOARDING_IM_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u67E5\u8BE2\u5F15\u7528\u65E0\u6CD5\u4FDD\u5B58\uFF0C\u8BF7\u6C42\u672A\u53D1\u9001\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u3002",ONBOARDING_IM_MAINTENANCE_OWN_DISCONNECT_REQUIRED:"\u672C\u63D2\u4EF6\u6CA1\u6709\u627E\u5230\u53EF\u6838\u9A8C\u7684\u65AD\u5F00\u8BB0\u5F55\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u6062\u590D\u8FDE\u63A5\u3002\u8BF7\u4F7F\u7528\u539F\u751F IM \u7BA1\u7406\u5165\u53E3\u3002",ONBOARDING_IM_MAINTENANCE_ORIGINAL_IN_FLIGHT_UNVERIFIED:"\u539F\u5B9E\u4F8B\u7684\u8BF7\u6C42\u4ECD\u53EF\u80FD\u5728\u9014\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u8BF7\u4FDD\u7559\u8BB0\u5F55\uFF0C\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_IM_MAINTENANCE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u624B\u52A8\u6838\u5BF9\u5E76\u9884\u89C8\u3002",ONBOARDING_IM_MAINTENANCE_CONFIG_CHANGED:"\u673A\u5668\u4EBA\u914D\u7F6E\u5DF2\u53D8\u5316\uFF0C\u8BF7\u4FDD\u7559\u73B0\u573A\u6838\u5BF9\uFF0C\u4E0D\u8986\u76D6\u65E7\u8BB0\u5F55\u3002"};function Mr({request:e,contract:t=0,allowMutation:s=!1}){let[n,u]=(0,oe.useState)(null),[l,a]=(0,oe.useState)(!1),f=(0,oe.useRef)(!0),m=(0,oe.useRef)();if(!m.current){let C;try{C=globalThis.sessionStorage}catch{}m.current=Br(e,h=>{f.current&&u(h)},t,C,Date.now,s)}(0,oe.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let p=n??m.current.get(),i=fo(p,t,Date.now(),s),c=p.current,o=p.plan,r=p.receipt,d=o?.kind==="review"?"review":o?.action,L=C=>(a(!1),m.current.act(C,l));return oe.default.createElement(V,{title:"IM \u8FDE\u63A5\u7EF4\u62A4",sub:"\u53EA\u64CD\u4F5C\u5F53\u524D Host \u7684\u5355\u4E2A\u98DE\u4E66\u673A\u5668\u4EBA\uFF1B\u4E0D\u901A\u8FC7\u672C\u9875\u8FDC\u7A0B\u5207\u6362\u53E6\u4E00\u7AEF\u3002",icon:"chat",className:"connection-panel",extra:oe.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},oe.default.createElement(x,{tone:"warn",title:"\u65AD\u5F00\u53EF\u80FD\u4E2D\u6B62\u5728\u9014\u6D88\u606F"},"\u53EF\u80FD\u4E2D\u6B62\u6B63\u5728\u53D1\u9001\u7684\u6D88\u606F\u3001\u5A92\u4F53\u548C\u5F85\u51B3\u4EA4\u4E92\uFF0C\u4E0D\u662F\u65E0\u635F\u6682\u505C\u3002\u914D\u7F6E\u6309\u5B98\u65B9\u63A5\u53E3\u7EA6\u5B9A\u4FDD\u7559\uFF1B\u6062\u590D\u8FDE\u63A5\u9700\u53E6\u884C\u786E\u8BA4\u3002Host \u91CD\u542F\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\uFF0C\u4E0D\u4EE3\u8868\u6574\u673A\u5DF2\u505C\u673A\u6216\u53EF\u5B89\u5168\u5347\u7EA7\u3002"),oe.default.createElement("section",{className:"maintenance-status","aria-label":"IM \u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF"},oe.default.createElement(S,{label:"\u5F53\u524D\u89C2\u5BDF",value:c?c.inventoryState==="unavailable"?"\u8FDE\u63A5\u6E05\u5355\u4E0D\u53EF\u7528 \xB7 \u4EC5\u5C55\u793A\u8D26\u672C":c.bots.length?`${c.bots.length} \u4E2A\u98DE\u4E66\u673A\u5668\u4EBA`:"\u6CA1\u6709\u5DF2\u914D\u7F6E\u7684\u98DE\u4E66\u673A\u5668\u4EBA":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),oe.default.createElement("p",{className:"fine-print"},p.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(p.observedAt).toLocaleString()+(p.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9"):"\u6253\u5F00\u9875\u9762\u4E0D\u8BFB\u53D6\u8FDE\u63A5\u3001\u4E0D\u81EA\u52A8\u65AD\u5F00\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002"),c?.inventoryState==="observed"&&c.bots.length>0&&oe.default.createElement(Se,{label:"\u672C\u6B21\u7EF4\u62A4\u7684\u673A\u5668\u4EBA",hint:"\u6309\u540D\u79F0\u9009\u62E9\uFF0C\u4E0D\u7528\u8F93\u5165\u7F16\u53F7\uFF1B\u8FDE\u63A5\u72B6\u6001\u53EA\u662F\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8BC1\u660E\u6D88\u606F\u5DF2\u6210\u529F\u9001\u8FBE\u3002"},oe.default.createElement("select",{value:p.selected,disabled:p.busy,onChange:C=>{m.current.select(C.target.value),a(!1)}},oe.default.createElement("option",{value:""},"\u8BF7\u9009\u62E9\u673A\u5668\u4EBA"),c.bots.map(C=>oe.default.createElement("option",{key:C.botId,value:C.botId},C.name," \xB7 ",co[C.state])))),c?.pending&&oe.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u53E6\u6709\u672A\u5B8C\u6210\u8BB0\u5F55\uFF1A",Tr[c.receipt.phase],"\u3002\u5148\u6838\u5BF9\u8D26\u672C\uFF0C\u4E0D\u91CD\u590D\u65AD\u5F00\u6216\u6062\u590D\u3002")),oe.default.createElement("div",{className:"connection-actions"},oe.default.createElement(_,{kind:"secondary",icon:"reset",disabled:p.busy||t!==1,onClick:()=>L("refresh")},"\u624B\u52A8\u6838\u5BF9 IM \u4E0E\u56DE\u6267"),["disconnect","reconnect","review"].filter(C=>i[C]).map(C=>oe.default.createElement(_,{key:C,kind:"soft",onClick:()=>L(C)},"\u9884\u89C8",wt[C]))),(!s||c?.inventoryState==="unavailable")&&oe.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u53EA\u53EF\u67E5\u8BE2\u7EF4\u62A4\u8D26\u672C\uFF1B\u672A\u53D6\u5F97\u516C\u5F00 IM \u63A5\u53E3\u4E0E\u5B9E\u65F6\u89C2\u5BDF\uFF0C\u4E0D\u5141\u8BB8\u8FDE\u63A5\u53D8\u66F4\u3002"),p.storageError&&oe.default.createElement(x,{tone:"warn"},"\u6D4F\u89C8\u5668\u67E5\u8BE2\u5F15\u7528\u65E0\u6CD5\u8BFB\u53D6\u6216\u5DF2\u635F\u574F\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u6240\u6709\u8FDE\u63A5\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\uFF1B\u672C\u9875\u4E0D\u6E05\u7406\u5386\u53F2\u3002"),p.uncertain&&!p.storageError&&oe.default.createElement(x,{tone:"warn"},"\u5C1A\u672A\u627E\u5230\u4E0E\u4E0A\u6B21\u8BF7\u6C42\u5B8C\u5168\u5BF9\u5E94\u7684\u56DE\u6267\u3002\u53EA\u6838\u5BF9\uFF0C\u4E0D\u91CD\u53D1\uFF1B\u4E0D\u80FD\u628A\u201C\u73B0\u5728\u5DF2\u65AD\u5F00\u201D\u5F53\u4F5C\u539F\u8BF7\u6C42\u6210\u529F\u3002"),o&&oe.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4 IM \u7EF4\u62A4\u8BA1\u5212"},oe.default.createElement("h3",null,"\u5F85\u786E\u8BA4 \xB7 ",wt[d]),oe.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:d==="review"?"\u53EA\u8865\u8BB0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u673A\u5668\u4EBA":o.botName}),oe.default.createElement("p",null,d==="review"?"\u4EC5\u4FDD\u5B58\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u53D1\u9001\u6216\u539F\u8FDE\u63A5\u64CD\u4F5C\u6210\u529F\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u6062\u590D\u8FDE\u63A5\u3002":d==="disconnect"?"\u8FD9\u6B21\u660E\u786E\u65AD\u5F00\u53EF\u80FD\u4E2D\u6B62\u5728\u9014\u6D88\u606F\u548C\u4EA4\u4E92\u3002\u4E0D\u4F1A\u5220\u9664\u673A\u5668\u4EBA\u914D\u7F6E\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\u3002":"\u4EC5\u6062\u590D\u8FD9\u4E2A\u673A\u5668\u4EBA\u8FDE\u63A5\uFF1B\u4E0D\u91CD\u653E\u5386\u53F2\u5931\u8D25\u6D88\u606F\uFF0C\u4E0D\u4EE3\u8868\u672A\u5B8C\u6210\u7684\u53D1\u9001\u5DF2\u7ECF\u6062\u590D\u3002"),d==="review"&&oe.default.createElement(S,{label:"\u62DF\u8BB0\u5F55\u7684\u5F53\u524D\u72B6\u6001",value:co[o.observedState]}),oe.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(o.expiresAt).toLocaleTimeString(),"\uFF0C\u786E\u8BA4\u65F6\u518D\u6B21\u6838\u9A8C\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u64A4\u9500\u5DF2\u53D1\u9001\u7684\u8BF7\u6C42\u3002"),oe.default.createElement(R,{checked:l,onChange:a,disabled:!i.confirm,title:d==="review"?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u786E\u8BA4\u672C\u6B21"+wt[d]+"\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM",sub:"\u4E0D\u6388\u6743 Host \u505C\u6B62\u3001\u63D2\u4EF6\u5207\u6362\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),oe.default.createElement("div",{className:"connection-actions"},oe.default.createElement(_,{kind:"primary",disabled:!i.confirm||!l,onClick:()=>L("confirm")},"\u786E\u8BA4",wt[d]),oe.default.createElement(_,{kind:"secondary",disabled:p.busy,onClick:()=>{m.current.cancel(),a(!1)}},"\u53D6\u6D88 IM \u8BA1\u5212"))),r&&oe.default.createElement("section",{className:"maintenance-receipt","aria-label":"IM \u5386\u53F2\u56DE\u6267"},oe.default.createElement("h3",null,"\u5386\u53F2\u56DE\u6267 \xB7 ",Tr[r.phase]),oe.default.createElement("p",null,"\u5386\u53F2\u7ED3\u679C\u4E0D\u7B49\u4E8E\u5F53\u524D\u8FDE\u63A5\u72B6\u6001\uFF0C\u4E5F\u4E0D\u8BC1\u660E\u5728\u9014\u6D88\u606F\u6210\u529F\u9001\u8FBE\u3002"),c?.receipt?.id!==r.id&&oe.default.createElement("p",null,"\u5F53\u524D\u6709\u66F4\u65B0\u7684\u8BB0\u5F55\uFF1B\u8FD9\u91CC\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u56DE\u6267\u3002"),oe.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(r.updatedAt).toLocaleString()}),oe.default.createElement(S,{label:"\u5F53\u65F6\u89C2\u5BDF",value:co[r.observedState]??"\u672A\u77E5 \xB7 \u672A\u89C6\u4E3A\u6210\u529F"}),oe.default.createElement("details",{className:"plan-item"},oe.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),oe.default.createElement("code",null,r.id))),p.error&&oe.default.createElement("p",{className:"connection-error",role:"alert"},ds[p.error]??"\u672C\u6B21\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",oe.default.createElement("code",null,p.error)))}var ze=Ce(ge());var K=Ce(ge());var po="dsh-self-disable-reference-v1",tt=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),fs=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),ma=e=>Number.isSafeInteger(e)&&e>=0,cs=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],Fr=e=>e===null||e&&tt(e.id)&&cs.includes(e.state)&&typeof e.version=="string"&&e.version.length<=128&&ma(e.createdAt)&&ma(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.originalOutcomeProven===!1&&e.review?.bundleEnabled===!0&&ma(e.review?.at)),ps=e=>!!e&&["intent","unknown"].includes(e.state),ms=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,mo=e=>ms(e)&&e.contract===1&&e.queryContract===1&&e.scope==="current_host_own_bundle_selection_only"&&e.externalRecovery==="official_plugin_manager"&&tt(e.instanceId)&&ma(e.revision)&&ma(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&Fr(e.receipt)&&e.pending===ps(e.receipt);function Io(e,t,s=Date.now()){let n=e.current,u=t===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&mo(n)&&!n.operationInFlight;return{disable:!!(u&&!n.pending&&n.receipt?.state!=="saved_restart_required"),review:!!(u&&n.pending),confirm:!!(u&&e.plan?.canApply===!0&&e.plan.expiresAt>s)}}function Ur(e){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u505C\u7528\u6062\u590D\u8BF4\u660E
10
10
 
11
11
  \u4EC5\u9002\u7528\u4E8E\u4F60\u521A\u624D\u64CD\u4F5C\u7684\u540C\u4E00\u53F0 Host\u3001\u540C\u4E00 profile\u3002
12
12
  1. \u505C\u7528\u540E\u672C\u63D2\u4EF6\u7684\u9762\u677F\u548C\u56DE\u6267\u901A\u9053\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\u3002\u8FD9\u4E0D\u8BC1\u660E\u539F\u8BF7\u6C42\u6210\u529F\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002\u4E0D\u8981\u91CD\u590D\u505C\u7528\u8BF7\u6C42\u3002
@@ -17,7 +17,7 @@ window.__ModuleLoader__.load({id:'@mogragsigma/dsh-dual-host-plugin',factory:req
17
17
 
18
18
  \u8BCA\u65AD\u5F15\u7528\uFF1A${tt(e)?e:"\u5C1A\u672A\u751F\u6210\uFF1B\u6062\u590D\u540E\u624B\u52A8\u67E5\u8BE2\u5F53\u524D\u8D26\u672C"}
19
19
  \u6B64\u8BF4\u660E\u4E0D\u542B\u5BC6\u94A5\u3001\u8BBF\u95EE\u5730\u5740\u3001\u6279\u51C6\u6307\u7EB9\u6216\u53EF\u91CD\u653E\u547D\u4EE4\u3002
20
- `}function Hr(e,t,s,n,u=Date.now){let l=null,a=!1;try{if(!n)throw Error();let o=JSON.parse(n.getItem(po)??"null");if(o!==null){if(!o||Object.keys(o).join()!=="operationId"||!tt(o.operationId))throw Error();l=o}}catch{a=!0}let f={current:null,receipt:null,reference:l,storageError:a,plan:null,busy:!1,fresh:!1,uncertain:!!l||a,error:"",observedAt:null},m=o=>{f={...f,...o},t(f)},p=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function i(o,r){mo(o)||p(),r&&(o.requestedOperationId!==r.operationId||!Object.hasOwn(o,"requestedReceipt")||!Fr(o.requestedReceipt)||o.requestedReceipt&&o.requestedReceipt.id!==r.operationId)&&p();let d=r?o.requestedReceipt:o.receipt;return{current:o,receipt:d,fresh:!0,uncertain:f.storageError||!!r&&!d,observedAt:u()}}async function c(o,r=!1,d=!1){if(f.busy||s!==1||!["refresh","disable","review","confirm"].includes(o))return!1;let L=Io(f,s,u()),C=f.plan;if(o!=="refresh"&&(!L[o]||o==="confirm"&&(r!==!0||C.action==="disable_own_bundle"&&d!==!0)))return!1;m({busy:!0,error:"",plan:null});try{if(o==="refresh")m(i(await e("self_disable_status",f.reference??{}),f.reference));else if(o==="confirm"){let h={operationId:C.action==="disable_own_bundle"?C.id:C.operationId};try{if(n.setItem(po,JSON.stringify(h)),n.getItem(po)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE")}m({reference:h,uncertain:!0,fresh:!1});let g=await e("self_disable_"+(C.action==="disable_own_bundle"?"apply":"reconcileApply"),{id:C.id,fingerprint:C.fingerprint,confirm:!0,acceptRisk:!0});(!mo(g)||g.instanceId!==C.instanceId||g.revision<=C.revision||g.receipt?.id!==h.operationId||C.action==="record_observation_only"&&(g.managerActions!==0||g.receipt.state!=="reconciled"))&&p(),m(i({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=f.current,g=await e("self_disable_"+(o==="disable"?"preview":"reconcilePreview"),{});(g.contract!==1||g.instanceId!==h.instanceId||g.revision!==h.revision||!tt(g.id)||!fs(g.fingerprint)||!ma(g.expiresAt)||g.expiresAt<=u()||g.canApply!==!0||g.hostStopAuthorized!==!1||g.automaticRestart!==!1)&&p(),(o==="disable"?g.action!=="disable_own_bundle"||g.scope!=="current_host_own_bundle_selection_only"||typeof g.version!="string"||!Array.isArray(g.risks)||!["own_ui_and_rpc_may_disappear","late_native_or_im_input_may_abort","restart_may_be_required"].every(v=>g.risks.includes(v))||![["package","global_rules","skills","credentials","tasks","artifacts","other_plugins"],["package","global_rules","skills","credentials","sessions","tasks","artifacts","other_declared_plugins"]].some(v=>JSON.stringify(g.retained)===JSON.stringify(v)):g.action!=="record_observation_only"||g.scope!=="ledger_only"||g.originalOutcomeProven!==!1||g.operationId!==h.receipt?.id)&&p(),m({plan:g})}return!0}catch(h){return m({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{m({busy:!1})}}return{get:()=>f,act:c,cancel:()=>{f.busy||m({plan:null})}}}var Is={intent:"\u5DF2\u8BB0\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",unknown:"\u539F\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",not_dispatched:"\u8BE5\u6B21\u672A\u6D3E\u53D1\u7ED9\u5B98\u65B9\u7BA1\u7406",saved_restart_required:"\u5B98\u65B9\u5DF2\u4FDD\u5B58\u9009\u62E9 \xB7 \u9700\u53E6\u884C\u91CD\u542F",manager_applied:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u56DE\u6267\u5DF2\u5E94\u7528",manager_rejected:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u672A\u786E\u8BA4\u5E94\u7528",reconciled:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u4E0D\u8FFD\u8BA4\u539F\u7ED3\u679C"},Ls={ONBOARDING_SELF_DISABLE_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u672C\u7AEF\u4ECD\u6709\u672A\u6838\u5BF9\u7684\u79FB\u9664\u8BB0\u5F55\u3002\u8BF7\u5148\u5728\u79FB\u9664\u63D2\u4EF6\u5305\u9875\u6838\u5BF9\uFF0C\u4E0D\u7528\u505C\u7528\u63A5\u53E3\u7ED5\u8FC7\u3002",ONBOARDING_SELF_DISABLE_MAINTENANCE_REQUIRED:"\u8BF7\u5148\u5728\u4E0A\u65B9\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5DF2\u6709\u4EFB\u52A1\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\uFF0C\u4E0D\u505C\u7528\u63D2\u4EF6\u3002",ONBOARDING_SELF_DISABLE_ORIGINAL_PROCESS_UNRESOLVED:"\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u82E5\u9700\u91CD\u542F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u98CE\u9669\uFF1B\u672C\u9875\u4E0D\u4F1A\u4EE3\u4F60\u505C\u6B62\u3002",ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u786E\u8BA4\u6CA1\u6709\u6D3E\u53D1\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_DISABLE_PROVIDER_CHANGED:"\u81EA\u8EAB\u901A\u9053\u5DF2\u53D8\u5316\uFF0C\u53EF\u80FD\u7531\u5B98\u65B9\u70ED\u91CD\u8F7D\u505C\u7528\u5F15\u8D77\u3002\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u590D\u505C\u7528\u3002",ONBOARDING_SELF_DISABLE_OWNERSHIP_REVIEW:"\u5B98\u65B9\u5F53\u524D\u5B89\u88C5\u5F52\u5C5E\u4E0D\u6EE1\u8DB3\u8981\u6C42\u3002\u8BF7\u5728\u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9\uFF0C\u4E0D\u6539\u5199\u914D\u7F6E\u6216\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_DISABLE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u53D1\u9001\u3002"};function Gr({request:e,contract:t=0}){let[s,n]=(0,K.useState)(null),[u,l]=(0,K.useState)(!1),[a,f]=(0,K.useState)(!1),m=(0,K.useRef)(!0),p=(0,K.useRef)();if(!p.current){let v;try{v=globalThis.sessionStorage}catch{}p.current=Hr(e,N=>{m.current&&n(N)},t,v)}(0,K.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let i=s??p.current.get(),c=Io(i,t),o=i.current,r=i.plan,d=i.receipt,L=r?.action==="record_observation_only",C=r?.action==="disable_own_bundle"?r.id:i.reference?.operationId??d?.id,h=(0,K.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Ur(C)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[C]);(0,K.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let g=v=>(l(!1),f(!1),p.current.act(v,u,a));return t!==1?null:K.default.createElement(V,{title:"\u672C\u7AEF\u63D2\u4EF6\u505C\u7528",sub:"\u4EC5\u505C\u7528\u5F53\u524D Host \u7684\u5927\u80A5\u9C7C\u63D2\u4EF6\uFF1B\u4FDD\u7559\u5B89\u88C5\u5305\u548C\u6570\u636E\uFF0C\u4E0D\u64CD\u4F5C\u53E6\u4E00\u7AEF\u3002",icon:"offline",className:"connection-panel self-disable-panel",extra:K.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},K.default.createElement(x,{tone:"warn",title:"\u5148\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u518D\u51B3\u5B9A\u505C\u7528"},"\u5B98\u65B9\u70ED\u91CD\u8F7D\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\u672C\u63D2\u4EF6\u7684\u9762\u677F\u4E0E\u56DE\u6267\u901A\u9053\u3002\u665A\u5230\u7684\u539F\u751F\u8F93\u5165\u6216\u5728\u9014 IM \u4ECD\u53EF\u80FD\u4E2D\u6B62\u3002\u754C\u9762\u6D88\u5931\u4E0D\u662F\u6210\u529F\u8BC1\u660E\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002"),K.default.createElement(Oe,{title:"\u505C\u7528\u4EE5\u540E\uFF0C\u5982\u4F55\u56DE\u6765\uFF1F",pose:"tasks",open:!0},K.default.createElement("ol",{className:"self-disable-guide"},K.default.createElement("li",null,"\u5728\u540C\u4E00 Host\u3001\u540C\u4E00 profile \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9 ",K.default.createElement("code",null,"@mogragsigma/dsh-dual-host-plugin"),"\uFF0C\u9700\u8981\u65F6\u53E6\u884C\u91CD\u65B0\u542F\u7528\u3002"),K.default.createElement("li",null,"\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u660E\u786E\u786E\u8BA4\u98CE\u9669\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),K.default.createElement("li",null,"\u91CD\u65B0\u8FDB\u5165\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u505C\u7528\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u672A\u77E5\u8BB0\u5F55\u624D\u53EF\u53E6\u884C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3002"),K.default.createElement("li",null,"\u7EC4\u4EF6\u9501\u7684\u65E7\u8BB0\u5F55\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),K.default.createElement("div",{className:"connection-actions"},h?K.default.createElement("a",{className:"button secondary",href:h,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u505C\u7528\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u6062\u590D\u8BF4\u660E"):K.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u3002\u4E0D\u8981\u5173\u95ED\u73B0\u6709\u5B98\u65B9\u7BA1\u7406\u5165\u53E3\u3002"))),K.default.createElement("section",{"aria-label":"\u672C\u7AEF\u505C\u7528\u5F53\u524D\u89C2\u5BDF"},K.default.createElement(S,{label:"\u8D26\u672C\u89C2\u5BDF",value:o?o.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u64CD\u4F5C":o.receipt?"\u5F53\u524D\u65E0\u672A\u77E5\u64CD\u4F5C":"\u5F53\u524D\u6CA1\u6709\u505C\u7528\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),K.default.createElement("p",{className:"fine-print"},i.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(i.observedAt).toLocaleString()+(i.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u505C\u7528\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(_,{kind:"secondary",icon:"reset",disabled:i.busy,onClick:()=>g("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u7528\u8D26\u672C"),c.disable&&K.default.createElement(_,{kind:"soft",onClick:()=>g("disable")},"\u9884\u89C8\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),c.review&&K.default.createElement(_,{kind:"soft",onClick:()=>g("review")},"\u9884\u89C8\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF")),i.storageError&&K.default.createElement(x,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u5DF2\u635F\u574F\uFF0C\u6240\u6709\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),i.uncertain&&!i.storageError&&K.default.createElement(x,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u505C\u7528\uFF0C\u4E0D\u636E\u6B64\u8BA4\u5B9A\u6CA1\u6709\u6267\u884C\u3002"),o?.pending&&K.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u77E5\u3002\u91CD\u65B0\u542F\u7528\u540E\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u653E\u5F00\u4EFB\u52A1\u5165\u53E3\u3002"),r&&K.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u505C\u7528\u8BA1\u5212"},K.default.createElement("h3",null,L?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),K.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:L?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u5B98\u65B9\u7BA1\u7406":"\u5F53\u524D Host \xB7 \u4EC5 @mogragsigma/dsh-dual-host-plugin"}),!L&&K.default.createElement(S,{label:"\u5F53\u524D\u7248\u672C",value:r.version}),K.default.createElement("p",null,L?"\u4FDD\u5B58\u5F53\u524D\u91CD\u65B0\u542F\u7528\u7684\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u4FDD\u7559\u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u3001\u6210\u679C\u548C\u5176\u4ED6\u63D2\u4EF6\u3002\u9762\u677F\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u53D1\u51FA\u7684\u8BF7\u6C42\u3002"),K.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(r.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!L&&K.default.createElement(R,{checked:a,onChange:f,disabled:!c.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u77E5\u9053\u5982\u4F55\u4ECE\u5B98\u65B9\u7BA1\u7406\u91CD\u65B0\u542F\u7528"}),K.default.createElement(R,{checked:u,onChange:l,disabled:!c.confirm,title:L?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u7406\u89E3\u9762\u677F\u53EF\u80FD\u6D88\u5931\u53CA\u5728\u9014\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u4EC5\u505C\u7528\u672C\u7AEF\u63D2\u4EF6",sub:"\u4E0D\u662F Host \u505C\u673A\u3001\u5B8C\u6574\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u6388\u6743\u3002"}),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(_,{kind:"primary",disabled:!c.confirm||!u||!L&&!a,onClick:()=>g("confirm")},L?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF":"\u786E\u8BA4\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),K.default.createElement(_,{kind:"secondary",disabled:i.busy,onClick:()=>{p.current.cancel(),l(!1),f(!1)}},"\u53D6\u6D88\u672C\u7AEF\u8BA1\u5212"))),d&&K.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u505C\u7528\u5386\u53F2\u56DE\u6267"},K.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",Is[d.state]),K.default.createElement("p",null,"\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u9762\u677F\u4ECD\u52A0\u8F7D\u3001Host \u5DF2\u505C\u673A\u6216\u4EFB\u52A1\u5DF2\u6062\u590D\u3002"),o?.receipt?.id!==d.id&&K.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u672C\u533A\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),K.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(d.updatedAt).toLocaleString()}),K.default.createElement("details",{className:"plan-item"},K.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),K.default.createElement("code",null,d.id))),i.error&&K.default.createElement("p",{className:"connection-error",role:"alert"},Ls[i.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",K.default.createElement("code",null,i.error)))}var z=Ce(ge());var Lo="dsh-self-remove-reference-v1",ot=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),hs=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Ia=e=>Number.isSafeInteger(e)&&e>=0,gs=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],qr=e=>e===null||e&&ot(e.id)&&gs.includes(e.state)&&typeof e.version=="string"&&e.version.length<=128&&Ia(e.createdAt)&&Ia(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.originalOutcomeProven===!1&&e.review?.bundleEnabled===!0&&Ia(e.review?.at)),Cs=e=>!!e&&["intent","unknown"].includes(e.state),_s=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,ho=e=>_s(e)&&e.contract===1&&e.queryContract===1&&e.scope==="current_host_own_bundle_dependency_only"&&e.externalRecovery==="official_reinstall_verified_source"&&ot(e.instanceId)&&Ia(e.revision)&&Ia(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&qr(e.receipt)&&e.pending===Cs(e.receipt);function go(e,t,s=Date.now()){let n=e.current,u=t===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&ho(n)&&!n.operationInFlight;return{remove:!!(u&&!n.pending&&n.receipt?.state!=="saved_restart_required"),review:!!(u&&n.pending),confirm:!!(u&&e.plan?.canApply===!0&&e.plan.expiresAt>s)}}function Vr(e,t){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664\u6062\u590D\u8BF4\u660E
20
+ `}function Hr(e,t,s,n,u=Date.now){let l=null,a=!1;try{if(!n)throw Error();let o=JSON.parse(n.getItem(po)??"null");if(o!==null){if(!o||Object.keys(o).join()!=="operationId"||!tt(o.operationId))throw Error();l=o}}catch{a=!0}let f={current:null,receipt:null,reference:l,storageError:a,plan:null,busy:!1,fresh:!1,uncertain:!!l||a,error:"",observedAt:null},m=o=>{f={...f,...o},t(f)},p=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function i(o,r){mo(o)||p(),r&&(o.requestedOperationId!==r.operationId||!Object.hasOwn(o,"requestedReceipt")||!Fr(o.requestedReceipt)||o.requestedReceipt&&o.requestedReceipt.id!==r.operationId)&&p();let d=r?o.requestedReceipt:o.receipt;return{current:o,receipt:d,fresh:!0,uncertain:f.storageError||!!r&&!d,observedAt:u()}}async function c(o,r=!1,d=!1){if(f.busy||s!==1||!["refresh","disable","review","confirm"].includes(o))return!1;let L=Io(f,s,u()),C=f.plan;if(o!=="refresh"&&(!L[o]||o==="confirm"&&(r!==!0||C.action==="disable_own_bundle"&&d!==!0)))return!1;m({busy:!0,error:"",plan:null});try{if(o==="refresh")m(i(await e("self_disable_status",f.reference??{}),f.reference));else if(o==="confirm"){let h={operationId:C.action==="disable_own_bundle"?C.id:C.operationId};try{if(n.setItem(po,JSON.stringify(h)),n.getItem(po)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE")}m({reference:h,uncertain:!0,fresh:!1});let g=await e("self_disable_"+(C.action==="disable_own_bundle"?"apply":"reconcileApply"),{id:C.id,fingerprint:C.fingerprint,confirm:!0,acceptRisk:!0});(!mo(g)||g.instanceId!==C.instanceId||g.revision<=C.revision||g.receipt?.id!==h.operationId||C.action==="record_observation_only"&&(g.managerActions!==0||g.receipt.state!=="reconciled"))&&p(),m(i({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=f.current,g=await e("self_disable_"+(o==="disable"?"preview":"reconcilePreview"),{});(g.contract!==1||g.instanceId!==h.instanceId||g.revision!==h.revision||!tt(g.id)||!fs(g.fingerprint)||!ma(g.expiresAt)||g.expiresAt<=u()||g.canApply!==!0||g.hostStopAuthorized!==!1||g.automaticRestart!==!1)&&p(),(o==="disable"?g.action!=="disable_own_bundle"||g.scope!=="current_host_own_bundle_selection_only"||typeof g.version!="string"||!Array.isArray(g.risks)||!["own_ui_and_rpc_may_disappear","late_native_or_im_input_may_abort","restart_may_be_required"].every(v=>g.risks.includes(v))||![["package","global_rules","skills","credentials","tasks","artifacts","other_plugins"],["package","global_rules","skills","credentials","sessions","tasks","artifacts","other_declared_plugins"]].some(v=>JSON.stringify(g.retained)===JSON.stringify(v)):g.action!=="record_observation_only"||g.scope!=="ledger_only"||g.originalOutcomeProven!==!1||g.operationId!==h.receipt?.id)&&p(),m({plan:g})}return!0}catch(h){return m({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{m({busy:!1})}}return{get:()=>f,act:c,cancel:()=>{f.busy||m({plan:null})}}}var Is={intent:"\u5DF2\u8BB0\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",unknown:"\u539F\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",not_dispatched:"\u8BE5\u6B21\u672A\u6D3E\u53D1\u7ED9\u5B98\u65B9\u7BA1\u7406",saved_restart_required:"\u5B98\u65B9\u5DF2\u4FDD\u5B58\u9009\u62E9 \xB7 \u9700\u53E6\u884C\u91CD\u542F",manager_applied:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u56DE\u6267\u5DF2\u5E94\u7528",manager_rejected:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u672A\u786E\u8BA4\u5E94\u7528",reconciled:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u4E0D\u8FFD\u8BA4\u539F\u7ED3\u679C"},Ls={ONBOARDING_SELF_DISABLE_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u672C\u7AEF\u4ECD\u6709\u672A\u6838\u5BF9\u7684\u79FB\u9664\u8BB0\u5F55\u3002\u8BF7\u5148\u5728\u79FB\u9664\u63D2\u4EF6\u5305\u9875\u6838\u5BF9\uFF0C\u4E0D\u7528\u505C\u7528\u63A5\u53E3\u7ED5\u8FC7\u3002",ONBOARDING_SELF_DISABLE_MAINTENANCE_REQUIRED:"\u8BF7\u5148\u5728\u4E0A\u65B9\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5DF2\u6709\u4EFB\u52A1\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\uFF0C\u4E0D\u505C\u7528\u63D2\u4EF6\u3002",ONBOARDING_SELF_DISABLE_ORIGINAL_PROCESS_UNRESOLVED:"\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u82E5\u9700\u91CD\u542F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u98CE\u9669\uFF1B\u672C\u9875\u4E0D\u4F1A\u4EE3\u4F60\u505C\u6B62\u3002",ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u786E\u8BA4\u6CA1\u6709\u6D3E\u53D1\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_DISABLE_PROVIDER_CHANGED:"\u81EA\u8EAB\u901A\u9053\u5DF2\u53D8\u5316\uFF0C\u53EF\u80FD\u7531\u5B98\u65B9\u70ED\u91CD\u8F7D\u505C\u7528\u5F15\u8D77\u3002\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u590D\u505C\u7528\u3002",ONBOARDING_SELF_DISABLE_OWNERSHIP_REVIEW:"\u5B98\u65B9\u5F53\u524D\u5B89\u88C5\u5F52\u5C5E\u4E0D\u6EE1\u8DB3\u8981\u6C42\u3002\u8BF7\u5728\u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9\uFF0C\u4E0D\u6539\u5199\u914D\u7F6E\u6216\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_DISABLE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u53D1\u9001\u3002"};function Gr({request:e,contract:t=0}){let[s,n]=(0,K.useState)(null),[u,l]=(0,K.useState)(!1),[a,f]=(0,K.useState)(!1),m=(0,K.useRef)(!0),p=(0,K.useRef)();if(!p.current){let v;try{v=globalThis.sessionStorage}catch{}p.current=Hr(e,N=>{m.current&&n(N)},t,v)}(0,K.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let i=s??p.current.get(),c=Io(i,t),o=i.current,r=i.plan,d=i.receipt,L=r?.action==="record_observation_only",C=r?.action==="disable_own_bundle"?r.id:i.reference?.operationId??d?.id,h=(0,K.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Ur(C)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[C]);(0,K.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let g=v=>(l(!1),f(!1),p.current.act(v,u,a));return t!==1?null:K.default.createElement(V,{title:"\u672C\u7AEF\u63D2\u4EF6\u505C\u7528",sub:"\u4EC5\u505C\u7528\u5F53\u524D Host \u7684\u5927\u80A5\u9C7C\u63D2\u4EF6\uFF1B\u4FDD\u7559\u5B89\u88C5\u5305\u548C\u6570\u636E\uFF0C\u4E0D\u64CD\u4F5C\u53E6\u4E00\u7AEF\u3002",icon:"offline",className:"connection-panel self-disable-panel",extra:K.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},K.default.createElement(x,{tone:"warn",title:"\u5148\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u518D\u51B3\u5B9A\u505C\u7528"},"\u5B98\u65B9\u70ED\u91CD\u8F7D\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\u672C\u63D2\u4EF6\u7684\u9762\u677F\u4E0E\u56DE\u6267\u901A\u9053\u3002\u665A\u5230\u7684\u539F\u751F\u8F93\u5165\u6216\u5728\u9014 IM \u4ECD\u53EF\u80FD\u4E2D\u6B62\u3002\u754C\u9762\u6D88\u5931\u4E0D\u662F\u6210\u529F\u8BC1\u660E\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002"),K.default.createElement(we,{title:"\u505C\u7528\u4EE5\u540E\uFF0C\u5982\u4F55\u56DE\u6765\uFF1F",pose:"tasks",open:!0},K.default.createElement("ol",{className:"self-disable-guide"},K.default.createElement("li",null,"\u5728\u540C\u4E00 Host\u3001\u540C\u4E00 profile \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9 ",K.default.createElement("code",null,"@mogragsigma/dsh-dual-host-plugin"),"\uFF0C\u9700\u8981\u65F6\u53E6\u884C\u91CD\u65B0\u542F\u7528\u3002"),K.default.createElement("li",null,"\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u660E\u786E\u786E\u8BA4\u98CE\u9669\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),K.default.createElement("li",null,"\u91CD\u65B0\u8FDB\u5165\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u505C\u7528\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u672A\u77E5\u8BB0\u5F55\u624D\u53EF\u53E6\u884C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3002"),K.default.createElement("li",null,"\u7EC4\u4EF6\u9501\u7684\u65E7\u8BB0\u5F55\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),K.default.createElement("div",{className:"connection-actions"},h?K.default.createElement("a",{className:"button secondary",href:h,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u505C\u7528\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u6062\u590D\u8BF4\u660E"):K.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u3002\u4E0D\u8981\u5173\u95ED\u73B0\u6709\u5B98\u65B9\u7BA1\u7406\u5165\u53E3\u3002"))),K.default.createElement("section",{"aria-label":"\u672C\u7AEF\u505C\u7528\u5F53\u524D\u89C2\u5BDF"},K.default.createElement(S,{label:"\u8D26\u672C\u89C2\u5BDF",value:o?o.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u64CD\u4F5C":o.receipt?"\u5F53\u524D\u65E0\u672A\u77E5\u64CD\u4F5C":"\u5F53\u524D\u6CA1\u6709\u505C\u7528\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),K.default.createElement("p",{className:"fine-print"},i.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(i.observedAt).toLocaleString()+(i.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u505C\u7528\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(_,{kind:"secondary",icon:"reset",disabled:i.busy,onClick:()=>g("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u7528\u8D26\u672C"),c.disable&&K.default.createElement(_,{kind:"soft",onClick:()=>g("disable")},"\u9884\u89C8\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),c.review&&K.default.createElement(_,{kind:"soft",onClick:()=>g("review")},"\u9884\u89C8\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF")),i.storageError&&K.default.createElement(x,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u5DF2\u635F\u574F\uFF0C\u6240\u6709\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),i.uncertain&&!i.storageError&&K.default.createElement(x,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u505C\u7528\uFF0C\u4E0D\u636E\u6B64\u8BA4\u5B9A\u6CA1\u6709\u6267\u884C\u3002"),o?.pending&&K.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u77E5\u3002\u91CD\u65B0\u542F\u7528\u540E\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u653E\u5F00\u4EFB\u52A1\u5165\u53E3\u3002"),r&&K.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u505C\u7528\u8BA1\u5212"},K.default.createElement("h3",null,L?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),K.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:L?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u5B98\u65B9\u7BA1\u7406":"\u5F53\u524D Host \xB7 \u4EC5 @mogragsigma/dsh-dual-host-plugin"}),!L&&K.default.createElement(S,{label:"\u5F53\u524D\u7248\u672C",value:r.version}),K.default.createElement("p",null,L?"\u4FDD\u5B58\u5F53\u524D\u91CD\u65B0\u542F\u7528\u7684\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u4FDD\u7559\u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u3001\u6210\u679C\u548C\u5176\u4ED6\u63D2\u4EF6\u3002\u9762\u677F\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u53D1\u51FA\u7684\u8BF7\u6C42\u3002"),K.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(r.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!L&&K.default.createElement(R,{checked:a,onChange:f,disabled:!c.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u77E5\u9053\u5982\u4F55\u4ECE\u5B98\u65B9\u7BA1\u7406\u91CD\u65B0\u542F\u7528"}),K.default.createElement(R,{checked:u,onChange:l,disabled:!c.confirm,title:L?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u7406\u89E3\u9762\u677F\u53EF\u80FD\u6D88\u5931\u53CA\u5728\u9014\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u4EC5\u505C\u7528\u672C\u7AEF\u63D2\u4EF6",sub:"\u4E0D\u662F Host \u505C\u673A\u3001\u5B8C\u6574\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u6388\u6743\u3002"}),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(_,{kind:"primary",disabled:!c.confirm||!u||!L&&!a,onClick:()=>g("confirm")},L?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF":"\u786E\u8BA4\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),K.default.createElement(_,{kind:"secondary",disabled:i.busy,onClick:()=>{p.current.cancel(),l(!1),f(!1)}},"\u53D6\u6D88\u672C\u7AEF\u8BA1\u5212"))),d&&K.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u505C\u7528\u5386\u53F2\u56DE\u6267"},K.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",Is[d.state]),K.default.createElement("p",null,"\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u9762\u677F\u4ECD\u52A0\u8F7D\u3001Host \u5DF2\u505C\u673A\u6216\u4EFB\u52A1\u5DF2\u6062\u590D\u3002"),o?.receipt?.id!==d.id&&K.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u672C\u533A\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),K.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(d.updatedAt).toLocaleString()}),K.default.createElement("details",{className:"plan-item"},K.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),K.default.createElement("code",null,d.id))),i.error&&K.default.createElement("p",{className:"connection-error",role:"alert"},Ls[i.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",K.default.createElement("code",null,i.error)))}var z=Ce(ge());var Lo="dsh-self-remove-reference-v1",ot=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),hs=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Ia=e=>Number.isSafeInteger(e)&&e>=0,gs=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],qr=e=>e===null||e&&ot(e.id)&&gs.includes(e.state)&&typeof e.version=="string"&&e.version.length<=128&&Ia(e.createdAt)&&Ia(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.originalOutcomeProven===!1&&e.review?.bundleEnabled===!0&&Ia(e.review?.at)),Cs=e=>!!e&&["intent","unknown"].includes(e.state),_s=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,ho=e=>_s(e)&&e.contract===1&&e.queryContract===1&&e.scope==="current_host_own_bundle_dependency_only"&&e.externalRecovery==="official_reinstall_verified_source"&&ot(e.instanceId)&&Ia(e.revision)&&Ia(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&qr(e.receipt)&&e.pending===Cs(e.receipt);function go(e,t,s=Date.now()){let n=e.current,u=t===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&ho(n)&&!n.operationInFlight;return{remove:!!(u&&!n.pending&&n.receipt?.state!=="saved_restart_required"),review:!!(u&&n.pending),confirm:!!(u&&e.plan?.canApply===!0&&e.plan.expiresAt>s)}}function Vr(e,t){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664\u6062\u590D\u8BF4\u660E
21
21
 
22
22
  \u4EC5\u9002\u7528\u4E8E\u4F60\u521A\u624D\u64CD\u4F5C\u7684\u540C\u4E00\u53F0 Host\u3001\u540C\u4E00 profile\u3002
23
23
  \u76EE\u6807\u5305\uFF1A@mogragsigma/dsh-dual-host-plugin
@@ -31,7 +31,7 @@ window.__ModuleLoader__.load({id:'@mogragsigma/dsh-dual-host-plugin',factory:req
31
31
 
32
32
  \u8BCA\u65AD\u5F15\u7528\uFF1A${ot(e)?e:"\u5C1A\u672A\u751F\u6210\uFF1B\u6062\u590D\u540E\u624B\u52A8\u67E5\u8BE2\u5F53\u524D\u8D26\u672C"}
33
33
  \u6B64\u8BF4\u660E\u4E0D\u542B\u5BC6\u94A5\u3001\u8BBF\u95EE\u5730\u5740\u3001\u6279\u51C6\u6307\u7EB9\u6216\u53EF\u91CD\u653E\u547D\u4EE4\u3002
34
- `}function Rr(e,t,s,n,u=Date.now){let l=null,a=!1;try{if(!n)throw Error();let o=JSON.parse(n.getItem(Lo)??"null");if(o!==null){if(!o||Object.keys(o).join()!=="operationId"||!ot(o.operationId))throw Error();l=o}}catch{a=!0}let f={current:null,receipt:null,reference:l,storageError:a,plan:null,busy:!1,fresh:!1,uncertain:!!l||a,error:"",observedAt:null},m=o=>{f={...f,...o},t(f)},p=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function i(o,r){ho(o)||p(),r&&(o.requestedOperationId!==r.operationId||!Object.hasOwn(o,"requestedReceipt")||!qr(o.requestedReceipt)||o.requestedReceipt&&o.requestedReceipt.id!==r.operationId)&&p();let d=r?o.requestedReceipt:o.receipt;return{current:o,receipt:d,fresh:!0,uncertain:f.storageError||!!r&&!d,observedAt:u()}}async function c(o,r=!1,d=!1){if(f.busy||s!==1||!["refresh","remove","review","confirm"].includes(o))return!1;let L=go(f,s,u()),C=f.plan;if(o!=="refresh"&&(!L[o]||o==="confirm"&&(r!==!0||C.action==="remove_own_bundle"&&d!==!0)))return!1;m({busy:!0,error:"",plan:null});try{if(o==="refresh")m(i(await e("self_remove_status",f.reference??{}),f.reference));else if(o==="confirm"){let h={operationId:C.action==="remove_own_bundle"?C.id:C.operationId};try{if(n.setItem(Lo,JSON.stringify(h)),n.getItem(Lo)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE")}m({reference:h,uncertain:!0,fresh:!1});let g=await e("self_remove_"+(C.action==="remove_own_bundle"?"apply":"reconcileApply"),{id:C.id,fingerprint:C.fingerprint,confirm:!0,acceptRisk:!0});(!ho(g)||g.instanceId!==C.instanceId||g.revision<=C.revision||g.receipt?.id!==h.operationId||C.action==="record_observation_only"&&(g.managerActions!==0||g.receipt.state!=="reconciled"))&&p(),m(i({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=f.current,g=await e("self_remove_"+(o==="remove"?"preview":"reconcilePreview"),{});(g.contract!==1||g.instanceId!==h.instanceId||g.revision!==h.revision||!ot(g.id)||!hs(g.fingerprint)||!Ia(g.expiresAt)||g.expiresAt<=u()||g.canApply!==!0||g.hostStopAuthorized!==!1||g.automaticRestart!==!1)&&p(),(o==="remove"?g.action!=="remove_own_bundle"||g.scope!=="current_host_own_bundle_dependency_only"||typeof g.version!="string"||!Array.isArray(g.risks)||!["own_ui_and_rpc_may_disappear","late_native_or_im_input_may_abort","restart_may_be_required","official_package_manager_may_prune_unused_profile_dependencies","verified_source_required_to_reinstall"].every(v=>g.risks.includes(v))||JSON.stringify(g.retained)!==JSON.stringify(["global_rules","skills","credentials","sessions","tasks","artifacts","other_declared_plugins"])||g.dataDeletionAuthorized!==!1:g.action!=="record_observation_only"||g.scope!=="ledger_only"||g.originalOutcomeProven!==!1||g.operationId!==h.receipt?.id)&&p(),m({plan:g})}return!0}catch(h){return m({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{m({busy:!1})}}return{get:()=>f,act:c,cancel:()=>{f.busy||m({plan:null})}}}var vs={intent:"\u5DF2\u8BB0\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",unknown:"\u539F\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",not_dispatched:"\u8BE5\u6B21\u672A\u6D3E\u53D1\u7ED9\u5B98\u65B9\u7BA1\u7406",saved_restart_required:"\u5B98\u65B9\u5DF2\u4FDD\u5B58\u9009\u62E9 \xB7 \u9700\u53E6\u884C\u91CD\u542F",manager_applied:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u56DE\u6267\u5DF2\u5E94\u7528",manager_rejected:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u672A\u786E\u8BA4\u5E94\u7528",reconciled:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u4E0D\u8FFD\u8BA4\u539F\u7ED3\u679C"},Ss={ONBOARDING_SELF_REMOVE_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u672C\u7AEF\u4ECD\u6709\u672A\u6838\u5BF9\u7684\u505C\u7528\u8BB0\u5F55\u3002\u8BF7\u5148\u6838\u5BF9\u539F\u8BB0\u5F55\uFF0C\u4E0D\u7528\u79FB\u9664\u63A5\u53E3\u7ED5\u8FC7\u3002",ONBOARDING_SELF_REMOVE_MAINTENANCE_REQUIRED:"\u8BF7\u5148\u5728\u4E0A\u65B9\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5DF2\u6709\u4EFB\u52A1\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\uFF0C\u4E0D\u79FB\u9664\u63D2\u4EF6\u3002",ONBOARDING_SELF_REMOVE_ORIGINAL_PROCESS_UNRESOLVED:"\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u82E5\u9700\u91CD\u542F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u98CE\u9669\uFF1B\u672C\u9875\u4E0D\u4F1A\u4EE3\u4F60\u505C\u6B62\u3002",ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u786E\u8BA4\u6CA1\u6709\u6D3E\u53D1\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_REMOVE_PROVIDER_CHANGED:"\u81EA\u8EAB\u901A\u9053\u5DF2\u53D8\u5316\uFF0C\u53EF\u80FD\u7531\u5B98\u65B9\u70ED\u91CD\u8F7D\u79FB\u9664\u5F15\u8D77\u3002\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u590D\u79FB\u9664\u3002",ONBOARDING_SELF_REMOVE_OWNERSHIP_REVIEW:"\u5B98\u65B9\u5F53\u524D\u5B89\u88C5\u5F52\u5C5E\u4E0D\u6EE1\u8DB3\u8981\u6C42\u3002\u8BF7\u5728\u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9\uFF0C\u4E0D\u6539\u5199\u914D\u7F6E\u6216\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_REMOVE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u53D1\u9001\u3002"};function Wr({request:e,contract:t=0}){let[s,n]=(0,z.useState)(null),[u,l]=(0,z.useState)(!1),[a,f]=(0,z.useState)(!1),m=(0,z.useRef)(!0),p=(0,z.useRef)();if(!p.current){let v;try{v=globalThis.sessionStorage}catch{}p.current=Rr(e,N=>{m.current&&n(N)},t,v)}(0,z.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let i=s??p.current.get(),c=go(i,t),o=i.current,r=i.plan,d=i.receipt,L=r?.action==="record_observation_only",C=r?.action==="remove_own_bundle"?r.id:i.reference?.operationId??d?.id,h=(0,z.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Vr(C,r?.version??d?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[C,r?.version,d?.version]);(0,z.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let g=v=>(l(!1),f(!1),p.current.act(v,u,a));return t!==1?null:z.default.createElement(V,{title:"\u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664",sub:"\u901A\u8FC7\u5B98\u65B9\u5305\u7BA1\u7406\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305\uFF1B\u4FDD\u7559\u89C4\u5219\u4E0E\u6570\u636E\uFF0C\u4E0D\u64CD\u4F5C\u53E6\u4E00\u7AEF\u3002",icon:"offline",className:"connection-panel self-disable-panel self-remove-panel",extra:z.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},z.default.createElement(x,{tone:"warn",title:"\u5148\u4FDD\u7559\u53EF\u91CD\u88C5\u7684\u5305\u6E90\uFF0C\u518D\u51B3\u5B9A\u79FB\u9664"},"\u5B98\u65B9\u70ED\u91CD\u8F7D\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\u672C\u63D2\u4EF6\u7684\u9762\u677F\u4E0E\u56DE\u6267\u901A\u9053\u3002\u665A\u5230\u7684\u539F\u751F\u8F93\u5165\u6216\u5728\u9014 IM \u4ECD\u53EF\u80FD\u4E2D\u6B62\u3002\u754C\u9762\u6D88\u5931\u4E0D\u662F\u6210\u529F\u8BC1\u660E\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002"),z.default.createElement(Oe,{title:"\u79FB\u9664\u4EE5\u540E\uFF0C\u5982\u4F55\u91CD\u65B0\u5B89\u88C5\uFF1F",pose:"tasks",open:!0},z.default.createElement("ol",{className:"self-disable-guide"},z.default.createElement("li",null,"\u5728\u540C\u4E00 Host\u3001\u540C\u4E00 profile \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9 ",z.default.createElement("code",null,"@mogragsigma/dsh-dual-host-plugin"),"\uFF0C\u9700\u8981\u65F6\u4ECE\u4FDD\u7559\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90\u53E6\u884C\u91CD\u65B0\u5B89\u88C5\uFF1B\u4E0D\u80FD\u5047\u5B9A\u5E02\u573A\u53EF\u6309\u5305\u540D\u4E0B\u8F7D\u3002"),z.default.createElement("li",null,"\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u660E\u786E\u786E\u8BA4\u98CE\u9669\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),z.default.createElement("li",null,"\u91CD\u65B0\u8FDB\u5165\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u79FB\u9664\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u672A\u77E5\u8BB0\u5F55\u624D\u53EF\u53E6\u884C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3002"),z.default.createElement("li",null,"\u7EC4\u4EF6\u9501\u7684\u65E7\u8BB0\u5F55\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),z.default.createElement("div",{className:"connection-actions"},h?z.default.createElement("a",{className:"button secondary",href:h,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u79FB\u9664\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u79FB\u9664\u6062\u590D\u8BF4\u660E"):z.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u3002\u4E0D\u8981\u5173\u95ED\u73B0\u6709\u5B98\u65B9\u7BA1\u7406\u5165\u53E3\u3002"))),z.default.createElement(x,{title:"\u6CA1\u6709\u5DF2\u9A8C\u8BC1\u7684\u5305\u6E90\uFF1F\u5148\u4E0D\u8981\u79FB\u9664"},"\u5F53\u524D\u5019\u9009\u4E3A\u672A\u53D1\u5E03\u79C1\u6709\u5305\uFF1B\u8BF7\u4FDD\u7559\u539F\u5B89\u88C5\u5305\u6216\u539F\u5B89\u88C5\u6765\u6E90\u3002\u672C\u9875\u4E0D\u4E0B\u8F7D\u672A\u77E5\u5305\uFF0C\u4E0D\u6E05\u7A7A\u6570\u636E\uFF0C\u4E5F\u4E0D\u91CA\u653E ECS\u3002"),z.default.createElement("section",{"aria-label":"\u672C\u7AEF\u79FB\u9664\u5F53\u524D\u89C2\u5BDF"},z.default.createElement(S,{label:"\u8D26\u672C\u89C2\u5BDF",value:o?o.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u64CD\u4F5C":o.receipt?"\u5F53\u524D\u65E0\u672A\u77E5\u64CD\u4F5C":"\u5F53\u524D\u6CA1\u6709\u79FB\u9664\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),z.default.createElement("p",{className:"fine-print"},i.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(i.observedAt).toLocaleString()+(i.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u79FB\u9664\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),z.default.createElement("div",{className:"connection-actions"},z.default.createElement(_,{kind:"secondary",icon:"reset",disabled:i.busy,onClick:()=>g("refresh")},"\u624B\u52A8\u6838\u5BF9\u79FB\u9664\u8D26\u672C"),c.remove&&z.default.createElement(_,{kind:"soft",onClick:()=>g("remove")},"\u9884\u89C8\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),c.review&&z.default.createElement(_,{kind:"soft",onClick:()=>g("review")},"\u9884\u89C8\u79FB\u9664\u540E\u6838\u5BF9")),i.storageError&&z.default.createElement(x,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u5DF2\u635F\u574F\uFF0C\u6240\u6709\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),i.uncertain&&!i.storageError&&z.default.createElement(x,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u79FB\u9664\uFF0C\u4E0D\u636E\u6B64\u8BA4\u5B9A\u6CA1\u6709\u6267\u884C\u3002"),o?.pending&&z.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u77E5\u3002\u91CD\u65B0\u5B89\u88C5\u540E\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u653E\u5F00\u4EFB\u52A1\u5165\u53E3\u3002"),r&&z.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u79FB\u9664\u8BA1\u5212"},z.default.createElement("h3",null,L?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),z.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:L?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u5B98\u65B9\u7BA1\u7406":"\u5F53\u524D Host \xB7 \u4EC5 @mogragsigma/dsh-dual-host-plugin"}),!L&&z.default.createElement(S,{label:"\u5F53\u524D\u7248\u672C",value:r.version}),z.default.createElement("p",null,L?"\u4FDD\u5B58\u5F53\u524D\u91CD\u65B0\u5B89\u88C5\u7684\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u672C\u5305\u5C06\u88AB\u5B98\u65B9\u79FB\u9664\uFF1B\u672A\u4F7F\u7528\u7684 profile \u4F9D\u8D56\u53EF\u80FD\u88AB\u4FEE\u526A\u3002\u4FDD\u7559\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u3001\u6210\u679C\u3001\u5907\u4EFD\u53CA\u5176\u4ED6\u58F0\u660E\u63D2\u4EF6\u3002\u9762\u677F\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u53D1\u51FA\u7684\u8BF7\u6C42\u3002"),z.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(r.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!L&&z.default.createElement(R,{checked:a,onChange:f,disabled:!c.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u5E76\u4FDD\u7559\u53EF\u91CD\u65B0\u5B89\u88C5\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90"}),z.default.createElement(R,{checked:u,onChange:l,disabled:!c.confirm,title:L?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u7406\u89E3\u9762\u677F\u53EF\u80FD\u6D88\u5931\u53CA\u5728\u9014\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u4EC5\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305",sub:"\u4E0D\u662F Host \u505C\u673A\u3001\u5B8C\u6574\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u6388\u6743\u3002"}),z.default.createElement("div",{className:"connection-actions"},z.default.createElement(_,{kind:"primary",disabled:!c.confirm||!u||!L&&!a,onClick:()=>g("confirm")},L?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u79FB\u9664\u89C2\u5BDF":"\u786E\u8BA4\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),z.default.createElement(_,{kind:"secondary",disabled:i.busy,onClick:()=>{p.current.cancel(),l(!1),f(!1)}},"\u53D6\u6D88\u672C\u7AEF\u8BA1\u5212"))),d&&z.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u79FB\u9664\u5386\u53F2\u56DE\u6267"},z.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",vs[d.state]),z.default.createElement("p",null,"\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u9762\u677F\u4ECD\u52A0\u8F7D\u3001Host \u5DF2\u505C\u673A\u6216\u4EFB\u52A1\u5DF2\u6062\u590D\u3002"),o?.receipt?.id!==d.id&&z.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u672C\u533A\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),z.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(d.updatedAt).toLocaleString()}),z.default.createElement("details",{className:"plan-item"},z.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),z.default.createElement("code",null,d.id))),i.error&&z.default.createElement("p",{className:"connection-error",role:"alert"},Ss[i.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",z.default.createElement("code",null,i.error)))}var X=Ce(ge());var Co="dsh-self-stop-reference-v1",ha=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),xs=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),La=e=>Number.isSafeInteger(e)&&e>=0,vo=e=>typeof e=="string"&&/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(e)&&e.length<=128,zr="current_host_public_app_exit_with_loss_risk",Kr=e=>e===null||e&&ha(e.id)&&["intent","not_dispatched","reconciled"].includes(e.state)&&vo(e.version)&&La(e.createdAt)&&La(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.ownerProcessExited===!0&&e.review?.requestOutcomeProven===!1&&ha(e.review?.observerInstanceId)&&La(e.review?.at)),Ns=e=>e?.state==="intent",_o=e=>e&&e.contract===1&&e.queryContract===1&&e.scope===zr&&ha(e.instanceId)&&La(e.revision)&&La(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&typeof e.stopCapabilityAvailable=="boolean"&&Kr(e.receipt)&&e.pending===Ns(e.receipt)&&e.hostStopped===!1&&e.currentHostRunning===!0&&e.automaticStop===!1&&e.automaticRestart===!1&&e.ingressFrozen===!1&&e.externalSupervisorControlled===!1&&e.executionAuthorized===!1&&e.dataDeletionAuthorized===!1;function So(e,t,s,n=Date.now()){let u=e.current,l=t===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&_o(u)&&!u.operationInFlight;return{stop:!!(l&&s&&u.stopCapabilityAvailable&&!u.pending),review:!!(l&&u.pending),confirm:!!(l&&e.plan?.canApply===!0&&e.plan.expiresAt>n&&(e.plan.action==="record_exit_observation_only"||s&&u.stopCapabilityAvailable))}}function Xr(e,t){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF Host \u505C\u673A\u6062\u590D\u8BF4\u660E
34
+ `}function Rr(e,t,s,n,u=Date.now){let l=null,a=!1;try{if(!n)throw Error();let o=JSON.parse(n.getItem(Lo)??"null");if(o!==null){if(!o||Object.keys(o).join()!=="operationId"||!ot(o.operationId))throw Error();l=o}}catch{a=!0}let f={current:null,receipt:null,reference:l,storageError:a,plan:null,busy:!1,fresh:!1,uncertain:!!l||a,error:"",observedAt:null},m=o=>{f={...f,...o},t(f)},p=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function i(o,r){ho(o)||p(),r&&(o.requestedOperationId!==r.operationId||!Object.hasOwn(o,"requestedReceipt")||!qr(o.requestedReceipt)||o.requestedReceipt&&o.requestedReceipt.id!==r.operationId)&&p();let d=r?o.requestedReceipt:o.receipt;return{current:o,receipt:d,fresh:!0,uncertain:f.storageError||!!r&&!d,observedAt:u()}}async function c(o,r=!1,d=!1){if(f.busy||s!==1||!["refresh","remove","review","confirm"].includes(o))return!1;let L=go(f,s,u()),C=f.plan;if(o!=="refresh"&&(!L[o]||o==="confirm"&&(r!==!0||C.action==="remove_own_bundle"&&d!==!0)))return!1;m({busy:!0,error:"",plan:null});try{if(o==="refresh")m(i(await e("self_remove_status",f.reference??{}),f.reference));else if(o==="confirm"){let h={operationId:C.action==="remove_own_bundle"?C.id:C.operationId};try{if(n.setItem(Lo,JSON.stringify(h)),n.getItem(Lo)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE")}m({reference:h,uncertain:!0,fresh:!1});let g=await e("self_remove_"+(C.action==="remove_own_bundle"?"apply":"reconcileApply"),{id:C.id,fingerprint:C.fingerprint,confirm:!0,acceptRisk:!0});(!ho(g)||g.instanceId!==C.instanceId||g.revision<=C.revision||g.receipt?.id!==h.operationId||C.action==="record_observation_only"&&(g.managerActions!==0||g.receipt.state!=="reconciled"))&&p(),m(i({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=f.current,g=await e("self_remove_"+(o==="remove"?"preview":"reconcilePreview"),{});(g.contract!==1||g.instanceId!==h.instanceId||g.revision!==h.revision||!ot(g.id)||!hs(g.fingerprint)||!Ia(g.expiresAt)||g.expiresAt<=u()||g.canApply!==!0||g.hostStopAuthorized!==!1||g.automaticRestart!==!1)&&p(),(o==="remove"?g.action!=="remove_own_bundle"||g.scope!=="current_host_own_bundle_dependency_only"||typeof g.version!="string"||!Array.isArray(g.risks)||!["own_ui_and_rpc_may_disappear","late_native_or_im_input_may_abort","restart_may_be_required","official_package_manager_may_prune_unused_profile_dependencies","verified_source_required_to_reinstall"].every(v=>g.risks.includes(v))||JSON.stringify(g.retained)!==JSON.stringify(["global_rules","skills","credentials","sessions","tasks","artifacts","other_declared_plugins"])||g.dataDeletionAuthorized!==!1:g.action!=="record_observation_only"||g.scope!=="ledger_only"||g.originalOutcomeProven!==!1||g.operationId!==h.receipt?.id)&&p(),m({plan:g})}return!0}catch(h){return m({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{m({busy:!1})}}return{get:()=>f,act:c,cancel:()=>{f.busy||m({plan:null})}}}var vs={intent:"\u5DF2\u8BB0\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",unknown:"\u539F\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",not_dispatched:"\u8BE5\u6B21\u672A\u6D3E\u53D1\u7ED9\u5B98\u65B9\u7BA1\u7406",saved_restart_required:"\u5B98\u65B9\u5DF2\u4FDD\u5B58\u9009\u62E9 \xB7 \u9700\u53E6\u884C\u91CD\u542F",manager_applied:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u56DE\u6267\u5DF2\u5E94\u7528",manager_rejected:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u672A\u786E\u8BA4\u5E94\u7528",reconciled:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u4E0D\u8FFD\u8BA4\u539F\u7ED3\u679C"},Ss={ONBOARDING_SELF_REMOVE_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u672C\u7AEF\u4ECD\u6709\u672A\u6838\u5BF9\u7684\u505C\u7528\u8BB0\u5F55\u3002\u8BF7\u5148\u6838\u5BF9\u539F\u8BB0\u5F55\uFF0C\u4E0D\u7528\u79FB\u9664\u63A5\u53E3\u7ED5\u8FC7\u3002",ONBOARDING_SELF_REMOVE_MAINTENANCE_REQUIRED:"\u8BF7\u5148\u5728\u4E0A\u65B9\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5DF2\u6709\u4EFB\u52A1\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\uFF0C\u4E0D\u79FB\u9664\u63D2\u4EF6\u3002",ONBOARDING_SELF_REMOVE_ORIGINAL_PROCESS_UNRESOLVED:"\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u82E5\u9700\u91CD\u542F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u98CE\u9669\uFF1B\u672C\u9875\u4E0D\u4F1A\u4EE3\u4F60\u505C\u6B62\u3002",ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u786E\u8BA4\u6CA1\u6709\u6D3E\u53D1\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_REMOVE_PROVIDER_CHANGED:"\u81EA\u8EAB\u901A\u9053\u5DF2\u53D8\u5316\uFF0C\u53EF\u80FD\u7531\u5B98\u65B9\u70ED\u91CD\u8F7D\u79FB\u9664\u5F15\u8D77\u3002\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u590D\u79FB\u9664\u3002",ONBOARDING_SELF_REMOVE_OWNERSHIP_REVIEW:"\u5B98\u65B9\u5F53\u524D\u5B89\u88C5\u5F52\u5C5E\u4E0D\u6EE1\u8DB3\u8981\u6C42\u3002\u8BF7\u5728\u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9\uFF0C\u4E0D\u6539\u5199\u914D\u7F6E\u6216\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_REMOVE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u53D1\u9001\u3002"};function Wr({request:e,contract:t=0}){let[s,n]=(0,z.useState)(null),[u,l]=(0,z.useState)(!1),[a,f]=(0,z.useState)(!1),m=(0,z.useRef)(!0),p=(0,z.useRef)();if(!p.current){let v;try{v=globalThis.sessionStorage}catch{}p.current=Rr(e,N=>{m.current&&n(N)},t,v)}(0,z.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let i=s??p.current.get(),c=go(i,t),o=i.current,r=i.plan,d=i.receipt,L=r?.action==="record_observation_only",C=r?.action==="remove_own_bundle"?r.id:i.reference?.operationId??d?.id,h=(0,z.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Vr(C,r?.version??d?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[C,r?.version,d?.version]);(0,z.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let g=v=>(l(!1),f(!1),p.current.act(v,u,a));return t!==1?null:z.default.createElement(V,{title:"\u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664",sub:"\u901A\u8FC7\u5B98\u65B9\u5305\u7BA1\u7406\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305\uFF1B\u4FDD\u7559\u89C4\u5219\u4E0E\u6570\u636E\uFF0C\u4E0D\u64CD\u4F5C\u53E6\u4E00\u7AEF\u3002",icon:"offline",className:"connection-panel self-disable-panel self-remove-panel",extra:z.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},z.default.createElement(x,{tone:"warn",title:"\u5148\u4FDD\u7559\u53EF\u91CD\u88C5\u7684\u5305\u6E90\uFF0C\u518D\u51B3\u5B9A\u79FB\u9664"},"\u5B98\u65B9\u70ED\u91CD\u8F7D\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\u672C\u63D2\u4EF6\u7684\u9762\u677F\u4E0E\u56DE\u6267\u901A\u9053\u3002\u665A\u5230\u7684\u539F\u751F\u8F93\u5165\u6216\u5728\u9014 IM \u4ECD\u53EF\u80FD\u4E2D\u6B62\u3002\u754C\u9762\u6D88\u5931\u4E0D\u662F\u6210\u529F\u8BC1\u660E\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002"),z.default.createElement(we,{title:"\u79FB\u9664\u4EE5\u540E\uFF0C\u5982\u4F55\u91CD\u65B0\u5B89\u88C5\uFF1F",pose:"tasks",open:!0},z.default.createElement("ol",{className:"self-disable-guide"},z.default.createElement("li",null,"\u5728\u540C\u4E00 Host\u3001\u540C\u4E00 profile \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9 ",z.default.createElement("code",null,"@mogragsigma/dsh-dual-host-plugin"),"\uFF0C\u9700\u8981\u65F6\u4ECE\u4FDD\u7559\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90\u53E6\u884C\u91CD\u65B0\u5B89\u88C5\uFF1B\u4E0D\u80FD\u5047\u5B9A\u5E02\u573A\u53EF\u6309\u5305\u540D\u4E0B\u8F7D\u3002"),z.default.createElement("li",null,"\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u660E\u786E\u786E\u8BA4\u98CE\u9669\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),z.default.createElement("li",null,"\u91CD\u65B0\u8FDB\u5165\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u79FB\u9664\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u672A\u77E5\u8BB0\u5F55\u624D\u53EF\u53E6\u884C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3002"),z.default.createElement("li",null,"\u7EC4\u4EF6\u9501\u7684\u65E7\u8BB0\u5F55\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),z.default.createElement("div",{className:"connection-actions"},h?z.default.createElement("a",{className:"button secondary",href:h,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u79FB\u9664\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u79FB\u9664\u6062\u590D\u8BF4\u660E"):z.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u3002\u4E0D\u8981\u5173\u95ED\u73B0\u6709\u5B98\u65B9\u7BA1\u7406\u5165\u53E3\u3002"))),z.default.createElement(x,{title:"\u6CA1\u6709\u5DF2\u9A8C\u8BC1\u7684\u5305\u6E90\uFF1F\u5148\u4E0D\u8981\u79FB\u9664"},"\u5F53\u524D\u5019\u9009\u4E3A\u672A\u53D1\u5E03\u79C1\u6709\u5305\uFF1B\u8BF7\u4FDD\u7559\u539F\u5B89\u88C5\u5305\u6216\u539F\u5B89\u88C5\u6765\u6E90\u3002\u672C\u9875\u4E0D\u4E0B\u8F7D\u672A\u77E5\u5305\uFF0C\u4E0D\u6E05\u7A7A\u6570\u636E\uFF0C\u4E5F\u4E0D\u91CA\u653E ECS\u3002"),z.default.createElement("section",{"aria-label":"\u672C\u7AEF\u79FB\u9664\u5F53\u524D\u89C2\u5BDF"},z.default.createElement(S,{label:"\u8D26\u672C\u89C2\u5BDF",value:o?o.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u64CD\u4F5C":o.receipt?"\u5F53\u524D\u65E0\u672A\u77E5\u64CD\u4F5C":"\u5F53\u524D\u6CA1\u6709\u79FB\u9664\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),z.default.createElement("p",{className:"fine-print"},i.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(i.observedAt).toLocaleString()+(i.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u79FB\u9664\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),z.default.createElement("div",{className:"connection-actions"},z.default.createElement(_,{kind:"secondary",icon:"reset",disabled:i.busy,onClick:()=>g("refresh")},"\u624B\u52A8\u6838\u5BF9\u79FB\u9664\u8D26\u672C"),c.remove&&z.default.createElement(_,{kind:"soft",onClick:()=>g("remove")},"\u9884\u89C8\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),c.review&&z.default.createElement(_,{kind:"soft",onClick:()=>g("review")},"\u9884\u89C8\u79FB\u9664\u540E\u6838\u5BF9")),i.storageError&&z.default.createElement(x,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u5DF2\u635F\u574F\uFF0C\u6240\u6709\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),i.uncertain&&!i.storageError&&z.default.createElement(x,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u79FB\u9664\uFF0C\u4E0D\u636E\u6B64\u8BA4\u5B9A\u6CA1\u6709\u6267\u884C\u3002"),o?.pending&&z.default.createElement(x,{tone:"warn"},"\u5F53\u524D\u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u77E5\u3002\u91CD\u65B0\u5B89\u88C5\u540E\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u653E\u5F00\u4EFB\u52A1\u5165\u53E3\u3002"),r&&z.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u79FB\u9664\u8BA1\u5212"},z.default.createElement("h3",null,L?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),z.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:L?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u5B98\u65B9\u7BA1\u7406":"\u5F53\u524D Host \xB7 \u4EC5 @mogragsigma/dsh-dual-host-plugin"}),!L&&z.default.createElement(S,{label:"\u5F53\u524D\u7248\u672C",value:r.version}),z.default.createElement("p",null,L?"\u4FDD\u5B58\u5F53\u524D\u91CD\u65B0\u5B89\u88C5\u7684\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u672C\u5305\u5C06\u88AB\u5B98\u65B9\u79FB\u9664\uFF1B\u672A\u4F7F\u7528\u7684 profile \u4F9D\u8D56\u53EF\u80FD\u88AB\u4FEE\u526A\u3002\u4FDD\u7559\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u3001\u6210\u679C\u3001\u5907\u4EFD\u53CA\u5176\u4ED6\u58F0\u660E\u63D2\u4EF6\u3002\u9762\u677F\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u53D1\u51FA\u7684\u8BF7\u6C42\u3002"),z.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(r.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!L&&z.default.createElement(R,{checked:a,onChange:f,disabled:!c.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u5E76\u4FDD\u7559\u53EF\u91CD\u65B0\u5B89\u88C5\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90"}),z.default.createElement(R,{checked:u,onChange:l,disabled:!c.confirm,title:L?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u7406\u89E3\u9762\u677F\u53EF\u80FD\u6D88\u5931\u53CA\u5728\u9014\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u4EC5\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305",sub:"\u4E0D\u662F Host \u505C\u673A\u3001\u5B8C\u6574\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u6388\u6743\u3002"}),z.default.createElement("div",{className:"connection-actions"},z.default.createElement(_,{kind:"primary",disabled:!c.confirm||!u||!L&&!a,onClick:()=>g("confirm")},L?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u79FB\u9664\u89C2\u5BDF":"\u786E\u8BA4\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),z.default.createElement(_,{kind:"secondary",disabled:i.busy,onClick:()=>{p.current.cancel(),l(!1),f(!1)}},"\u53D6\u6D88\u672C\u7AEF\u8BA1\u5212"))),d&&z.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u79FB\u9664\u5386\u53F2\u56DE\u6267"},z.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",vs[d.state]),z.default.createElement("p",null,"\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u9762\u677F\u4ECD\u52A0\u8F7D\u3001Host \u5DF2\u505C\u673A\u6216\u4EFB\u52A1\u5DF2\u6062\u590D\u3002"),o?.receipt?.id!==d.id&&z.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u672C\u533A\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),z.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(d.updatedAt).toLocaleString()}),z.default.createElement("details",{className:"plan-item"},z.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),z.default.createElement("code",null,d.id))),i.error&&z.default.createElement("p",{className:"connection-error",role:"alert"},Ss[i.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",z.default.createElement("code",null,i.error)))}var X=Ce(ge());var Co="dsh-self-stop-reference-v1",ha=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),xs=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),La=e=>Number.isSafeInteger(e)&&e>=0,vo=e=>typeof e=="string"&&/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(e)&&e.length<=128,zr="current_host_public_app_exit_with_loss_risk",Kr=e=>e===null||e&&ha(e.id)&&["intent","not_dispatched","reconciled"].includes(e.state)&&vo(e.version)&&La(e.createdAt)&&La(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.ownerProcessExited===!0&&e.review?.requestOutcomeProven===!1&&ha(e.review?.observerInstanceId)&&La(e.review?.at)),Ns=e=>e?.state==="intent",_o=e=>e&&e.contract===1&&e.queryContract===1&&e.scope===zr&&ha(e.instanceId)&&La(e.revision)&&La(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&typeof e.stopCapabilityAvailable=="boolean"&&Kr(e.receipt)&&e.pending===Ns(e.receipt)&&e.hostStopped===!1&&e.currentHostRunning===!0&&e.automaticStop===!1&&e.automaticRestart===!1&&e.ingressFrozen===!1&&e.externalSupervisorControlled===!1&&e.executionAuthorized===!1&&e.dataDeletionAuthorized===!1;function So(e,t,s,n=Date.now()){let u=e.current,l=t===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&_o(u)&&!u.operationInFlight;return{stop:!!(l&&s&&u.stopCapabilityAvailable&&!u.pending),review:!!(l&&u.pending),confirm:!!(l&&e.plan?.canApply===!0&&e.plan.expiresAt>n&&(e.plan.action==="record_exit_observation_only"||s&&u.stopCapabilityAvailable))}}function Xr(e,t){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF Host \u505C\u673A\u6062\u590D\u8BF4\u660E
35
35
 
36
36
  \u4EC5\u9002\u7528\u4E8E\u5F53\u524D\u8FD9\u53F0 Host\u3001\u5F53\u524D profile\uFF1B\u4E0D\u4F1A\u505C\u6B62\u53E6\u4E00\u7AEF\u3002
37
37
  \u63D2\u4EF6\u7248\u672C\uFF1A${vo(t)?t:"\u4EE5\u5F53\u524D\u8BA1\u5212\u4E3A\u51C6"}
@@ -44,7 +44,7 @@ window.__ModuleLoader__.load({id:'@mogragsigma/dsh-dual-host-plugin',factory:req
44
44
 
45
45
  \u8BCA\u65AD\u5F15\u7528\uFF1A${ha(e)?e:"\u5C1A\u672A\u751F\u6210\uFF1B\u6062\u590D\u540E\u624B\u52A8\u67E5\u8BE2\u5F53\u524D\u8D26\u672C"}
46
46
  \u672C\u8BF4\u660E\u4E0D\u542B\u8BBF\u95EE token\u3001\u5BC6\u94A5\u3001\u6279\u51C6\u6307\u7EB9\u6216\u53EF\u91CD\u653E\u547D\u4EE4\u3002
47
- `}function $r(e,t,s,n,u,l=Date.now){let a=null,f=!1;try{if(!u)throw Error();let r=JSON.parse(u.getItem(Co)??"null");if(r!==null){if(!r||Object.keys(r).join()!=="operationId"||!ha(r.operationId))throw Error();a=r}}catch{f=!0}let m={current:null,receipt:null,reference:a,storageError:f,plan:null,busy:!1,fresh:!1,uncertain:!!a||f,error:"",observedAt:null},p=r=>{m={...m,...r},t(m)},i=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function c(r,d){_o(r)||i(),d&&(r.requestedOperationId!==d.operationId||!Object.hasOwn(r,"requestedReceipt")||!Kr(r.requestedReceipt)||r.requestedReceipt&&r.requestedReceipt.id!==d.operationId)&&i();let L=d?r.requestedReceipt:r.receipt;return{current:r,receipt:L,fresh:!0,uncertain:m.storageError||!!d&&!L,observedAt:l()}}async function o(r,d=!1,L=!1){if(m.busy||s!==1||!["refresh","stop","review","confirm"].includes(r))return!1;let C=So(m,s,n,l()),h=m.plan;if(r!=="refresh"&&(!C[r]||r==="confirm"&&(d!==!0||h.action==="request_current_host_exit"&&L!==!0)))return!1;p({busy:!0,error:"",plan:null});try{if(r==="refresh")p(c(await e("self_stop_status",m.reference??{}),m.reference));else if(r==="confirm"){let g={operationId:h.action==="request_current_host_exit"?h.id:h.operationId};try{if(u.setItem(Co,JSON.stringify(g)),u.getItem(Co)!==JSON.stringify(g))throw Error()}catch{throw Error("ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE")}p({reference:g,uncertain:!0,fresh:!1});let v=await e("self_stop_"+(h.action==="request_current_host_exit"?"apply":"reconcileApply"),{id:h.id,fingerprint:h.fingerprint,confirm:!0,acceptRisk:!0});(!_o(v)||v.instanceId!==h.instanceId||v.revision<=h.revision||v.receipt?.id!==g.operationId||h.action==="record_exit_observation_only"&&(v.exitRequests!==0||v.receipt.state!=="reconciled"))&&i(),p(c({...v,requestedOperationId:g.operationId,requestedReceipt:v.receipt},g))}else{let g=m.current,v=await e("self_stop_"+(r==="stop"?"preview":"reconcilePreview"),{});(v.contract!==1||v.instanceId!==g.instanceId||v.revision!==g.revision||!ha(v.id)||!xs(v.fingerprint)||!La(v.expiresAt)||v.expiresAt<=l()||v.canApply!==!0||v.automaticRestart!==!1)&&i(),(r==="stop"?v.action!=="request_current_host_exit"||v.scope!==zr||!vo(v.version)||v.hostStopAuthorized!==!0||v.automaticStop!==!1||v.dataDeletionAuthorized!==!1||!Array.isArray(v.risks)||!["late_native_or_im_input_may_abort","own_ui_and_rpc_may_disappear","external_supervisor_may_restart","native_inputs_not_persistently_fenced","official_shutdown_may_force_exit"].every(N=>v.risks.includes(N))||JSON.stringify(v.retained)!==JSON.stringify(["package","global_rules","skills","credentials","sessions","tasks","artifacts","backups"]):v.action!=="record_exit_observation_only"||v.scope!=="ledger_only"||v.ownerProcessExited!==!0||v.currentHostRunning!==!0||v.requestOutcomeProven!==!1||v.operationId!==g.receipt?.id)&&i(),p({plan:v})}return!0}catch(g){return p({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(g?.message)?g.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{p({busy:!1})}}return{get:()=>m,act:o,cancel:()=>{m.busy||p({plan:null})}}}var As={intent:"\u5DF2\u8BB0\u505C\u673A\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",not_dispatched:"\u8BE5\u6B21\u672A\u5411\u5B98\u65B9\u8BF7\u6C42\u9000\u51FA",reconciled:"\u5DF2\u8865\u8BB0\u539F\u8FDB\u7A0B\u9000\u51FA\u89C2\u5BDF"},ks={ONBOARDING_SELF_STOP_MAINTENANCE_REQUIRED:"\u5148\u5728\u4E0A\u65B9\u53D6\u5F97\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\u4E0D\u80FD\u505C\u673A\u3002",ONBOARDING_MAINTENANCE_RECORD_HELD_SESSION_REQUIRED:"\u5F53\u524D\u6CA1\u6709\u672C\u5B9E\u4F8B\u6301\u6709\u7684\u7EC4\u4EF6\u7EF4\u62A4\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u7EF4\u62A4\u4F1A\u8BDD\u3002",ONBOARDING_SELF_STOP_ORIGINAL_PROCESS_UNRESOLVED:"\u539F\u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u8865\u8BB0\u3002\u4FDD\u7559\u8BB0\u5F55\uFF0C\u4E0D\u91CD\u590D\u505C\u673A\u3002",ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672A\u6D3E\u53D1\u672C\u6B21\u786E\u8BA4\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_STOP_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u8FD8\u6709\u672A\u6838\u5BF9\u7684\u505C\u7528\u3001\u79FB\u5305\u6216 IM \u7EF4\u62A4\uFF0C\u8BF7\u5148\u5904\u7406\u539F\u8BB0\u5F55\u3002",ONBOARDING_SELF_STOP_EXIT_UNAVAILABLE:"\u5F53\u524D Host \u672A\u63D0\u4F9B\u5B98\u65B9\u9000\u51FA\u670D\u52A1\uFF1B\u8BF7\u4F7F\u7528\u539F\u6709\u4EBA\u5DE5\u505C\u673A\u65B9\u5F0F\uFF0C\u4E0D\u4F1A\u964D\u7EA7\u4E3A\u5F3A\u6740\u3002",ONBOARDING_SELF_STOP_OWNERSHIP_REVIEW:"\u5F53\u524D\u5B98\u65B9\u5B89\u88C5\u5F52\u5C5E\u65E0\u6CD5\u6838\u9A8C\uFF1B\u4FDD\u6301\u53EA\u8BFB\uFF0C\u4E0D\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_STOP_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u540E\u91CD\u65B0\u9884\u89C8\u3002"};function Qr({request:e,contract:t=0,allowStop:s=!1}){let[n,u]=(0,X.useState)(null),[l,a]=(0,X.useState)(!1),[f,m]=(0,X.useState)(!1),p=(0,X.useRef)(!0),i=(0,X.useRef)();if(!i.current){let N;try{N=globalThis.sessionStorage}catch{}i.current=$r(e,T=>{p.current&&u(T)},t,s,N)}(0,X.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let c=n??i.current.get(),o=So(c,t,s),r=c.current,d=c.plan,L=c.receipt,C=d?.action==="record_exit_observation_only",h=d?.action==="request_current_host_exit"?d.id:c.reference?.operationId??L?.id,g=(0,X.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Xr(h,d?.version??L?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[h,d?.version,L?.version]);(0,X.useEffect)(()=>()=>{g&&URL.revokeObjectURL(g)},[g]);let v=N=>(a(!1),m(!1),i.current.act(N,l,f));return t!==1?null:X.default.createElement(V,{title:"\u505C\u6B62\u672C\u7AEF Host",sub:"\u4EC5\u8BF7\u6C42\u5F53\u524D Host \u5B98\u65B9\u9000\u51FA\uFF1B\u4E0D\u662F\u540C\u65F6\u505C\u6B62\u4E24\u7AEF\uFF0C\u4E5F\u4E0D\u662F\u5378\u8F7D\u6216\u6E05\u7406\u6570\u636E\u3002",icon:"offline",className:"connection-panel self-disable-panel self-stop-panel",extra:X.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u505C\u6B62")},X.default.createElement(x,{tone:"warn",title:"\u5148\u4FDD\u5B58\u8349\u7A3F\uFF0C\u786E\u8BA4\u77E5\u9053\u5982\u4F55\u56DE\u6765"},"\u754C\u9762\u4E0E\u8FDE\u63A5\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\uFF0C\u65AD\u5F00\u4E0D\u662F\u505C\u673A\u6210\u529F\u8BC1\u660E\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF1B\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u53EF\u80FD\u91CD\u542F\uFF0C\u4E0D\u80FD\u628A\u7EC4\u4EF6\u7EF4\u62A4\u5F53\u4F5C\u5168\u5C40\u8F93\u5165\u5C4F\u969C\u3002"),X.default.createElement(Oe,{title:"\u505C\u673A\u4EE5\u540E\uFF0C\u5982\u4F55\u6062\u590D\uFF1F",pose:"tasks",open:!0},X.default.createElement("ol",{className:"self-disable-guide"},X.default.createElement("li",null,"\u4FDD\u5B58\u6240\u6709\u8349\u7A3F\u548C\u672C\u8BF4\u660E\uFF0C\u786E\u8BA4\u5F53\u524D Host \u539F\u6709\u7684\u542F\u52A8\u65B9\u5F0F\u3002\u65E0\u9700\u91CD\u65B0\u5B89\u88C5\u63D2\u4EF6\uFF0C\u4E0D\u5220\u9664\u7528\u6237\u914D\u7F6E\u3002"),X.default.createElement("li",null,"\u9700\u8981\u6062\u590D\u65F6\u53E6\u884C\u786E\u8BA4\u5E76\u6309\u539F\u65B9\u5F0F\u91CD\u65B0\u542F\u52A8\u3002\u6B64\u754C\u9762\u4E0D\u81EA\u52A8\u542F\u52A8\uFF0C\u4E5F\u4E0D\u63A7\u5236\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u3002"),X.default.createElement("li",null,"\u91CD\u5F00\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u505C\u673A\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\u540E\uFF0C\u53E6\u884C\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u56E0\u679C\u3002"),X.default.createElement("li",null,"\u56DE\u5230\u7EC4\u4EF6\u7EF4\u62A4\u533A\uFF0C\u5206\u522B\u786E\u8BA4\u65E7\u8BB0\u5F55\u6536\u5C3E\u4E0E\u6062\u590D\u81EA\u6709\u53D7\u7406\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),X.default.createElement("div",{className:"connection-actions"},g?X.default.createElement("a",{className:"button secondary",href:g,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u505C\u673A\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u505C\u673A\u6062\u590D\u8BF4\u660E"):X.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF0C\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u540E\u518D\u51B3\u5B9A\u3002"))),(!s||r?.stopCapabilityAvailable===!1)&&X.default.createElement(x,{title:"\u5F53\u524D\u53EA\u53EF\u67E5\u8BE2\u4E0E\u6838\u5BF9"},"\u672A\u63D0\u4F9B\u5B98\u65B9\u9000\u51FA\u80FD\u529B\uFF0C\u4E0D\u4F1A\u6539\u7528\u5F3A\u6740\uFF1B\u8BF7\u4F7F\u7528\u539F\u6709\u4EBA\u5DE5\u505C\u673A\u65B9\u5F0F\u3002\u65E7\u8BB0\u5F55\u4ECD\u53EF\u624B\u52A8\u67E5\u8BE2\u3002"),X.default.createElement("section",{"aria-label":"\u672C\u7AEF\u505C\u673A\u5F53\u524D\u89C2\u5BDF"},X.default.createElement(S,{label:"\u8D26\u672C\u89C2\u5BDF",value:r?r.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u505C\u673A\u610F\u56FE":r.receipt?"\u5F53\u524D\u65E0\u672A\u51B3\u505C\u673A\u8BB0\u5F55":"\u5F53\u524D\u6CA1\u6709\u505C\u673A\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),X.default.createElement("p",{className:"fine-print"},c.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(c.observedAt).toLocaleString()+(c.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u505C\u6B62\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),X.default.createElement("div",{className:"connection-actions"},X.default.createElement(_,{kind:"secondary",icon:"reset",disabled:c.busy,onClick:()=>v("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u673A\u8D26\u672C"),o.stop&&X.default.createElement(_,{kind:"soft",onClick:()=>v("stop")},"\u9884\u89C8\u505C\u6B62\u672C\u7AEF Host"),o.review&&X.default.createElement(_,{kind:"soft",onClick:()=>v("review")},"\u9884\u89C8\u505C\u673A\u540E\u6838\u5BF9")),c.storageError&&X.default.createElement(x,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u635F\u574F\uFF0C\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),c.uncertain&&!c.storageError&&X.default.createElement(x,{tone:"warn"},"\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u505C\u6B62\uFF0C\u4E5F\u4E0D\u636E\u6B64\u63A8\u65AD\u539F\u8BF7\u6C42\u6CA1\u6709\u6267\u884C\u3002"),r?.pending&&X.default.createElement(x,{tone:"warn"},"\u539F\u505C\u673A\u7ED3\u679C\u5C1A\u672A\u6838\u5BF9\u3002\u5373\u4F7F\u5F53\u524D\u9875\u9762\u53EF\u6253\u5F00\uFF0C\u4E5F\u4E0D\u80FD\u65AD\u5B9A\u539F\u8FDB\u7A0B\u672A\u9000\u51FA\uFF1B\u81EA\u6709\u4EFB\u52A1\u53D7\u7406\u4ECD\u9700\u72EC\u7ACB\u786E\u8BA4\u6062\u590D\u3002"),d&&X.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u505C\u673A\u8BA1\u5212"},X.default.createElement("h3",null,C?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u505C\u6B62\u672C\u7AEF Host"),X.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:C?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u518D\u6B21\u505C\u6B62":"\u5F53\u524D\u6253\u5F00\u6B64\u754C\u9762\u7684 Host \xB7 \u5B98\u65B9\u9000\u51FA"}),!C&&X.default.createElement(S,{label:"\u63D2\u4EF6\u7248\u672C",value:d.version}),X.default.createElement("p",null,C?"\u53EA\u8865\u8BB0\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\uFF1B\u4E0D\u8FFD\u8BA4\u9000\u51FA\u4E00\u5B9A\u7531\u539F\u8BF7\u6C42\u9020\u6210\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u4FDD\u7559\u63D2\u4EF6\u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u961F\u5217\u3001\u6210\u679C\u4E0E\u5907\u4EFD\u3002\u5B98\u65B9\u6709\u754C\u5173\u95ED\u53EF\u80FD\u5F3A\u5236\u7ED3\u675F\u672A\u5B8C\u6210\u7684\u5DE5\u4F5C\uFF1B\u672C\u9875\u4E0D\u81EA\u52A8\u91CD\u542F\uFF0C\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u63D0\u4EA4\u8BF7\u6C42\u3002"),X.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!C&&X.default.createElement(R,{checked:f,onChange:m,disabled:!o.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u8349\u7A3F\u548C\u6062\u590D\u8BF4\u660E\uFF0C\u77E5\u9053\u5982\u4F55\u91CD\u65B0\u542F\u52A8\u6B64 Host"}),X.default.createElement(R,{checked:l,onChange:a,disabled:!o.confirm,title:C?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u539F\u8FDB\u7A0B\u9000\u51FA\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u56E0\u679C":"\u6211\u63A5\u53D7\u6700\u540E\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host",sub:"\u4E0D\u6388\u6743\u5378\u8F7D\u3001\u6E05\u7406\u6570\u636E\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),X.default.createElement("div",{className:"connection-actions"},X.default.createElement(_,{kind:"primary",disabled:!o.confirm||!l||!C&&!f,onClick:()=>v("confirm")},C?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host"),X.default.createElement(_,{kind:"secondary",disabled:c.busy,onClick:()=>{i.current.cancel(),a(!1),m(!1)}},"\u53D6\u6D88\u505C\u673A\u8BA1\u5212"))),L&&X.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u505C\u673A\u5386\u53F2\u56DE\u6267"},X.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",As[L.state]),X.default.createElement("p",null,"\u6B64\u8BB0\u5F55\u4E0D\u8BC1\u660E\u5F53\u524D Host \u5DF2\u505C\u6B62\uFF0C\u4E0D\u4EE3\u8868\u4EFB\u52A1\u5DF2\u6062\u590D\uFF1B\u539F\u751F\u8F93\u5165\u548C\u7B2C\u4E09\u65B9 IM \u4E0D\u53D7\u81EA\u6709\u53D7\u7406\u5C4F\u969C\u63A7\u5236\u3002"),r?.receipt?.id!==L.id&&X.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u8FD9\u91CC\u4FDD\u7559\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),X.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(L.updatedAt).toLocaleString()}),X.default.createElement("details",{className:"plan-item"},X.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),X.default.createElement("code",null,L.id))),c.error&&X.default.createElement("p",{className:"connection-error",role:"alert"},ks[c.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF0C\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u3002"," ",X.default.createElement("code",null,c.error)))}function Yr({request:e,disableContract:t=0,removeContract:s=0,stopContract:n=0,allowStop:u=!1}){let[l,a]=(0,ze.useState)(t===1?"disable":s===1?"remove":"stop");return t!==1&&s!==1&&n!==1?null:ze.default.createElement("section",{className:"connection-panel self-lifecycle-panel","aria-label":"\u672C\u7AEF\u7EF4\u62A4"},ze.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u7C7B\u578B"},t===1&&ze.default.createElement(_,{kind:l==="disable"?"soft":"secondary","aria-pressed":l==="disable",onClick:()=>a("disable")},"\u505C\u7528\u63D2\u4EF6"),s===1&&ze.default.createElement(_,{kind:l==="remove"?"soft":"secondary","aria-pressed":l==="remove",onClick:()=>a("remove")},"\u79FB\u9664\u63D2\u4EF6\u5305"),n===1&&ze.default.createElement(_,{kind:l==="stop"?"soft":"secondary","aria-pressed":l==="stop",onClick:()=>a("stop")},"\u505C\u6B62\u672C\u7AEF Host")),ze.default.createElement("p",{className:"fine-print"},"\u505C\u7528\u4FDD\u7559\u5B89\u88C5\u5305\uFF1B\u79FB\u9664\u9700\u53E6\u6709\u53EF\u91CD\u88C5\u5305\u6E90\u3002\u505C\u673A\u662F\u72EC\u7ACB\u52A8\u4F5C\uFF0C\u4E09\u8005\u90FD\u4E0D\u6E05\u7A7A\u6570\u636E\u3002\u5207\u6362\u6216\u5173\u95ED\u4E0D\u4F1A\u64A4\u9500\u5DF2\u63D0\u4EA4\u64CD\u4F5C\u3002"),l==="disable"?ze.default.createElement(Gr,{request:e,contract:t}):l==="remove"?ze.default.createElement(Wr,{request:e,contract:s}):ze.default.createElement(Qr,{request:e,contract:n,allowStop:u}))}var ga=()=>({host:"",user:"",port:"22",sshReference:"",deepseekReference:"",cloudDeepseekReference:"",scope:"both",model:"",extra:!1,tokenPlan:"token-cn",tokenReference:"",cloudTokenReference:"",im:!1,approval:"later",repo:!1,repoUrl:"",repoAlias:"",development:!1}),bs=Object.keys(ga()),ys=e=>typeof e=="string"&&(/\bsk[-_][A-Za-z0-9_-]{6,}|PRIVATE[ -]KEY|\bBearer\s+|(?:api[-_ ]?key|token|password)\s*[:=]\s*\S+/i.test(e)||/[A-Za-z0-9_-]{32,}/.test(e)&&!/^DSH_[A-Z0-9_]+$/.test(e));var ws=(e,t=200)=>typeof e=="string"&&e.length<=t&&!/[\u0000-\u001f\u007f]/u.test(e),rt=e=>!/^sk[-_]/i.test(e)&&/^[A-Za-z_][A-Za-z0-9_.:-]{0,127}$/.test(e);function Os(e){try{let t=new URL(e.startsWith("gitee.com/")?"https://"+e:e);return t.protocol==="https:"&&t.hostname==="gitee.com"&&!t.port&&!t.username&&!t.password&&!t.search&&!t.hash&&/^\/[A-Za-z0-9_-]+\/[A-Za-z0-9_.-]+(?:\.git)?\/?$/.test(t.pathname)&&!t.pathname.split("/").some(s=>s==="."||s==="..")?t.href:null}catch{return null}}function xo(e){if(!e||typeof e!="object"||Array.isArray(e)||Object.keys(e).some(l=>!bs.includes(l)))throw Error("ONBOARDING_INVALID_DRAFT");let t={...ga(),...e},s=[],n=(l,a,f)=>s.push({page:l,field:a,message:f});for(let[l,a]of Object.entries(t))if(typeof ga()[l]=="boolean"?typeof a!="boolean":!ws(a,l==="repoUrl"?500:200))throw Error("ONBOARDING_INVALID_DRAFT");for(let[l,a]of Object.entries(t))(ys(a)||l==="repoUrl"&&/[?#@]/.test(a))&&n(["host","user","port","sshReference"].includes(l)?0:["im","approval"].includes(l)?2:["repo","repoUrl","repoAlias","development"].includes(l)?3:1,l,"\u6B64\u5B57\u6BB5\u7591\u4F3C\u5BC6\u94A5\u6216\u8FC7\u957F\u6807\u8BC6\uFF0C\u8BF7\u6539\u7528\u7B80\u77ED\u5F15\u7528\uFF1BKey \u8BF7\u4F7F\u7528\u72EC\u7ACB\u51ED\u636E\u5165\u53E3\u3002");let u=t.host.trim();return(!u||u.length>253||!u.split(".").every(l=>/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/.test(l))||/^\d+(?:\.\d+){3}$/.test(u)&&u.split(".").some(l=>+l>255))&&n(0,"host","\u586B\u5199 ECS \u4E3B\u673A\u540D\u6216\u6709\u6548 IPv4 \u5730\u5740\uFF0C\u4E0D\u5305\u542B\u534F\u8BAE\u3001\u7AEF\u53E3\u6216\u547D\u4EE4\u3002"),/^[A-Za-z_][A-Za-z0-9_-]{0,63}$/.test(t.user)||n(0,"user","\u586B\u5199 SSH \u767B\u5F55\u7528\u6237\u540D\u3002\u5B83\u4E0D\u7B49\u4E8E\u4E91\u7AEF DSH \u670D\u52A1\u8D26\u53F7\u3002"),(!/^\d{1,5}$/.test(t.port)||+t.port<1||+t.port>65535)&&n(0,"port","SSH \u7AEF\u53E3\u5FC5\u987B\u662F 1\u201365535 \u7684\u6574\u6570\u3002"),rt(t.sshReference)||n(0,"sshReference","\u586B\u5199\u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF1B\u4E0D\u8981\u7C98\u8D34\u79C1\u94A5\u6216\u5BC6\u7801\u3002"),rt(t.deepseekReference)||n(1,"deepseekReference","\u586B\u5199 DeepSeek \u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002"),["both","separate"].includes(t.scope)||n(1,"scope","\u9009\u62E9\u51ED\u636E\u7528\u9014\u3002"),t.scope==="separate"&&!rt(t.cloudDeepseekReference)&&n(1,"cloudDeepseekReference","\u5206\u5F00\u914D\u7F6E\u65F6\u5FC5\u987B\u63D0\u4F9B\u4E91\u7AEF\u51ED\u636E\u5F15\u7528\u3002"),t.model.trim()||n(1,"model","\u586B\u5199\u6A21\u578B\u540D\u79F0\u6216\u7B80\u79F0\uFF0C\u540E\u7EED\u6309\u76EE\u6807\u7AEF\u6E05\u5355\u89E3\u6790\u3002"),t.extra&&(t.tokenPlan!=="token-cn"&&n(1,"tokenPlan","\u9009\u62E9\u652F\u6301\u7684\u5957\u9910\u3002"),!t.tokenReference&&!t.cloudTokenReference&&n(1,"tokenReference","\u542F\u7528 Token Plan \u540E\u81F3\u5C11\u586B\u5199\u672C\u7AEF\u6216\u4E91\u7AEF\u4E00\u7AEF\u7684\u51ED\u636E\u5F15\u7528\uFF1B\u4E0D\u8981\u6C42\u4E24\u7AEF\u540C\u65F6\u63A5\u5165\u3002"),t.tokenReference&&!rt(t.tokenReference)&&n(1,"tokenReference","\u586B\u5199\u672C\u7AEF Token Plan \u51ED\u636E\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002")),t.cloudTokenReference&&!rt(t.cloudTokenReference)&&n(1,"cloudTokenReference","\u586B\u5199\u4E91\u7AEF Token Plan \u7684\u72EC\u7ACB\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\uFF1B\u7559\u7A7A\u53EF\u8DF3\u8FC7\u4E91\u7AEF\u53EF\u9009\u63A5\u5165\u3002"),(!["later","chat","web"].includes(t.approval)||t.approval==="chat"&&!t.im)&&n(2,"approval","\u53EF\u4FE1\u804A\u5929\u786E\u8BA4\u9700\u8981\u5148\u9009\u62E9\u804A\u5929\u5165\u53E3\uFF0C\u6216\u9009\u62E9\u4EE5\u540E\u914D\u7F6E\u3002"),t.repo&&!Os(t.repoUrl)&&n(3,"repoUrl","\u542F\u7528\u540E\u586B\u5199 https://gitee.com/\u62E5\u6709\u8005/\u4ED3\u5E93\uFF1B\u4E0D\u8981\u5305\u542B\u4EE4\u724C\u3001\u5206\u652F\u6216\u6587\u4EF6\u8DEF\u5F84\u3002"),t.development&&!t.repo&&n(3,"development","\u51C6\u5907\u5F00\u53D1\u73AF\u5883\u9700\u8981\u5148\u9009\u62E9\u4EFB\u52A1\u4ED3\u5E93\uFF1B\u4E0D\u4F1A\u5F00\u653E\u5B9E\u9645\u5199\u5165\u3002"),{contract:1,valid:!s.length,errors:s,pageValid:[0,1,2,3].map(l=>!s.some(a=>a.page===l)),authorization:!1,validation:"format_only"}}var Ot=["\u8FDE\u63A5\u4E91\u7AEF","\u6A21\u578B\u670D\u52A1","\u804A\u5929\u4E0E\u5BA1\u6279","\u6210\u679C\u4E0E\u4ED3\u5E93","\u786E\u8BA4\u5B89\u88C5\u65B9\u6848","\u81EA\u52A8\u914D\u7F6E\u4E0E\u9A8C\u6536"],Ds=["\u4F7F\u7528\u5DF2\u6709 ECS\u3002\u5148\u586B\u5199\u8FDE\u63A5\u610F\u5411\uFF0C\u53EA\u8BFB\u68C0\u6D4B\u5F53\u524D Host\uFF1B\u672C\u671F\u4E0D\u8FDE\u63A5\u8FDC\u7AEF\u3002","\u4EE5 DeepSeek \u5B98\u65B9 API \u4E3A\u57FA\u7840\uFF1B\u666E\u901A\u5B57\u6BB5\u53EA\u586B\u5F15\u7528\uFF1BKey \u4F7F\u7528\u72EC\u7ACB\u4FDD\u5B58\u5165\u53E3\u3002","\u804A\u5929\u8D1F\u8D23\u8FDE\u63A5\u4F60\uFF0C\u5BA1\u6279\u8D1F\u8D23\u5B88\u4F4F\u8FB9\u754C\u3002\u672C\u9875\u53EF\u4EE5\u8DF3\u8FC7\u3002","\u7814\u7A76\u62A5\u544A\u4E0D\u5FC5\u8FDB\u5165\u4ED3\u5E93\uFF1B\u5F00\u53D1\u6210\u679C\u53EF\u4EE5\u6309\u9700\u5173\u8054 Gitee\u3002","\u5F53\u524D\u53EA\u662F\u672A\u5E94\u7528\u7684\u914D\u7F6E\u8349\u6848\uFF0C\u4E0D\u662F\u53EF\u6267\u884C\u7684\u5B89\u88C5\u6388\u6743\u3002","\u771F\u5B9E ECS \u521D\u59CB\u5316\u5C1A\u672A\u5F00\u653E\uFF0C\u4E0D\u4F1A\u6A21\u62DF\u6210\u529F\u6216\u540E\u53F0\u6267\u884C\u3002"],Es=["cloud","model","welcome","repository","tasks","model"],Ps={legacy_section_requires_manifest:"\u65E7\u7248\u6258\u7BA1\u533A \xB7 \u9700\u6838\u5BF9\u5347\u7EA7\u6E05\u5355",missing:"\u4E0D\u5B58\u5728 \xB7 \u672A\u6765\u53EF\u7533\u8BF7\u521B\u5EFA",existing_user_rules:"\u5DF2\u6709\u7528\u6237\u89C4\u5219 \xB7 \u672A\u6765\u4EC5\u8FFD\u52A0",symlink_review:"\u7B26\u53F7\u94FE\u63A5 \xB7 \u963B\u6B62\u5B89\u88C5",owned_block_requires_manifest:"\u5DF2\u6709\u53D7\u7BA1\u533A \xB7 \u9700\u6838\u5BF9\u5F52\u5C5E\u6E05\u5355",marker_conflict:"\u6807\u8BB0\u51B2\u7A81 \xB7 \u963B\u6B62\u5B89\u88C5",read_only:"\u53EA\u8BFB \xB7 \u963B\u6B62\u5B89\u88C5",unreadable:"\u65E0\u6CD5\u8BFB\u53D6 \xB7 \u5F85\u6838\u5BF9",encoding_review:"\u7F16\u7801\u5F85\u6838\u5BF9",changed_during_read:"\u8BFB\u53D6\u671F\u95F4\u53D1\u751F\u53D8\u5316",unsupported_file:"\u6587\u4EF6\u7C7B\u578B\u6216\u5927\u5C0F\u4E0D\u652F\u6301",not_directory:"\u7236\u7EA7\u4E0D\u662F\u76EE\u5F55"};function Bs({request:e,appearance:t,onExit:s,imClient:n,onManageIm:u,onManageCloudIm:l,cloudWebEntry:a=!1,installationEnabled:f=!1,maintenanceContract:m=0,maintenanceMutation:p=!1,maintenanceSessionContract:i=0,selfDisableContract:c=0,selfRemoveContract:o=0,selfStopContract:r=0,selfStopMutation:d=!1,imMaintenanceContract:L=0,imMaintenanceMutation:C=!1,persistenceEnabled:h=!1,cloudEnabled:g=!1,sourcePreparation:v=!1,nativeHostInstallation:N=!1,modelBinding:T=!1,tokenPlanBinding:w=!1,cloudCredentialHandoff:P=!1,cloudModelBinding:D=!1,cloudTokenPlanHandoff:O=!1,cloudTokenPlanBinding:W=!1,cloudImInventory:j=!1,notificationDefaults:H=!1,existingPairInspection:Ie=!1,onReuse:fe,optionalImInstallation:Ke=!1,repositoryCheck:Qe=!1,cloudRepositoryCheck:Ee=!1,cloudGiteeHandoff:Ae=!1,repositoryRegistry:se=!1,cloudRepositoryRegistry:De=!1,taskRuntime:Te=!1,cloudTaskRuntime:qe=!1,localPeerBinding:Pe=!1,cloudFileMigration:lt=!1,managedFileMigration:st=!1,cloudFileQueueReview:na=!1,managedFileQueueReview:Dt=!1,cloudFileTransfer:ia=!1,managedFileTransfer:nt=!1}){let[Z,ua]=(0,I.useState)(ga),[re,be]=(0,I.useState)(0),[Me,Ze]=(0,I.useState)([]),[Fe,da]=(0,I.useState)([]),[$e,Ye]=(0,I.useState)(null),[ye,Ca]=(0,I.useState)(null),[Be,Ve]=(0,I.useState)(!1),[_a,Ue]=(0,I.useState)(""),[ne,xe]=(0,I.useState)(null),[ra,No]=(0,I.useState)(!1),[Et,it]=(0,I.useState)(!1),[la,va]=(0,I.useState)({ready:!h,revision:0,message:"",failed:!1}),fa=(0,I.useRef)(!1);(0,I.useEffect)(()=>{if(!h)return;let E=!0;return e("draft_load",{}).then(le=>{E&&(ua(le.draft),be(le.page),Ze(le.handled),da(le.skipped),va({ready:!0,revision:le.revision,message:le.revision?"\u5DF2\u6062\u590D\u586B\u5199\u8349\u7A3F\uFF1B\u73AF\u5883\u9700\u91CD\u65B0\u68C0\u6D4B\uFF0C\u5DF2\u6709\u5B89\u88C5\u8BF7\u624B\u52A8\u6838\u5BF9\u56DE\u6267\u3002":"\u5C1A\u65E0\u8349\u7A3F\uFF1B\u70B9\u51FB\u4FDD\u5B58\u6216\u7EE7\u7EED\u540E\u6301\u4E45\u5316\u3002",failed:!1}))}).catch(()=>{E&&va({ready:!1,revision:0,message:"\u8349\u7A3F\u8BFB\u53D6\u5931\u8D25\uFF1B\u4E3A\u907F\u514D\u8986\u76D6\uFF0C\u4E0D\u63A5\u53D7\u4FDD\u5B58\u3002\u8BF7\u5173\u95ED\u5E76\u91CD\u65B0\u8FDB\u5165\u6838\u5BF9\u3002",failed:!0})}),()=>{E=!1}},[h]);async function Pt(E={draft:Z,page:re,handled:Me,skipped:Fe}){if(!h)return!0;if(!la.ready||fa.current)return!1;fa.current=!0,Ve(!0),Ue("");try{let le=await e("draft_save",{expectedRevision:la.revision,operation:crypto.randomUUID(),content:E});return We.current?(va({ready:!0,revision:le.revision,message:"\u8349\u7A3F\u5DF2\u4FDD\u5B58\uFF1B\u4FDD\u5B58\u672C\u8EAB\u4E0D\u6388\u6743\u6267\u884C\uFF0C\u5B89\u88C5\u72B6\u6001\u4EE5\u5404\u9879\u56DE\u6267\u4E3A\u51C6\u3002",failed:!1}),!0):!1}catch{return We.current&&(Ue("\u8349\u7A3F\u672A\u786E\u8BA4\u4FDD\u5B58\uFF1A\u53EF\u80FD\u6709\u5E76\u53D1\u4FEE\u6539\u3001\u8BEF\u586B\u5BC6\u94A5\u6216\u8BF7\u6C42\u4E2D\u65AD\u3002\u8BF7\u6838\u5BF9\u5F53\u524D\u8F93\u5165\uFF1B\u4E0D\u8981\u8986\u76D6\u5176\u4ED6\u9875\u9762\u7684\u65B0\u7248\u672C\u3002"),va(le=>({...le,message:"\u4FDD\u5B58\u7ED3\u679C\u9700\u6838\u5BF9",failed:!0}))),!1}finally{fa.current=!1,We.current&&Ve(!1)}}let Re=(0,I.useRef)(0),We=(0,I.useRef)(!0),Ao=(0,I.useRef)();(0,I.useEffect)(()=>(We.current=!0,t?.().then(E=>{We.current&&xe(E.mascot)}).catch(()=>{}),()=>{We.current=!1,Re.current++}),[]),(0,I.useEffect)(()=>{Ao.current?.focus({preventScroll:!0})},[re]);let Sa=(E,le)=>Ye({title:E,body:le}),we=(E,le)=>{fa.current||(Re.current++,Ve(!1),Ue(""),ua(He=>({...He,[E]:le,...E==="im"&&!le?{approval:"later"}:{},...E==="repo"&&!le?{development:!1}:{}})),Ze(He=>He.filter(xa=>xa<re)),da(He=>He.filter(xa=>xa<re)),it(!1))},Xe=(E,le,He={})=>I.default.createElement(Se,{label:E,value:Z[le],onChange:xa=>we(le,xa.target.value),...He}),ko=xo(Z),Bt=ko.errors.filter(E=>E.page===re),Tt=ye&&Date.now()<ye.expiresAt,bo=re<4?ko.pageValid[re]&&(re!==0||Tt):re===4&&Et;async function Zr(){let E=++Re.current;Ve(!0),Ue(""),Ca(null);try{let le=await e("detect",{});We.current&&E===Re.current&&Ca(le)}catch{We.current&&E===Re.current&&Ue("\u672C\u6B21\u68C0\u6D4B\u5931\u8D25\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u6210\u529F\u8BB0\u5F55\uFF0C\u4E5F\u6CA1\u6709\u5199\u5165\u4EFB\u4F55\u914D\u7F6E\u3002")}finally{We.current&&E===Re.current&&Ve(!1)}}async function Jr(){if(!bo||Be)return;let E=++Re.current;Ve(!0),Ue("");try{let le=await e("validate",{draft:Z});if(!We.current||E!==Re.current)return;if(re<4&&!le.pageValid[re]||re===0&&!(ye&&Date.now()<ye.expiresAt)){Ue("\u5B57\u6BB5\u6216\u73AF\u5883\u5FEB\u7167\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u3002");return}let He=[...new Set([...Me,re])];if(!await Pt({draft:Z,page:re+1,handled:He,skipped:Fe}))return;Ze(He),be(re+1)}catch{We.current&&E===Re.current&&Ue("\u670D\u52A1\u7AEF\u6821\u9A8C\u672A\u5B8C\u6210\uFF0C\u4FDD\u6301\u5F53\u524D\u9875\uFF1B\u4E0D\u5411\u540E\u63A8\u8FDB\u3002")}finally{We.current&&E===Re.current&&Ve(!1)}}async function jr(){if(Be||fa.current)return;let E={...Z,...re===2?{im:!1,approval:"later"}:{repo:!1,repoUrl:"",repoAlias:"",development:!1}},le=[...new Set([...Me,re])],He=[...new Set([...Fe,re])];await Pt({draft:E,page:re+1,handled:le,skipped:He})&&(Re.current++,ua(E),Ze(le),da(He),it(!1),be(re+1))}let yo=E=>{fa.current||(Re.current++,Ve(!1),Ue(""),be(E))},Mt=ye?.paths,el=()=>ye?I.default.createElement(I.default.Fragment,null,I.default.createElement(S,{label:"\u5F53\u524D Host",value:ye.role==="cloud"?"\u4E91\u7AEF\u8FDB\u7A0B":ye.role==="local"?"\u672C\u5730\u8FDB\u7A0B":"\u5C1A\u672A\u5206\u914D\u53CC\u7AEF\u89D2\u8272"}),I.default.createElement(S,{label:"\u7CFB\u7EDF / Node",value:ye.platform+" / "+ye.nodeVersion}),I.default.createElement(S,{label:"\u68C0\u6D4B\u65F6\u95F4",value:new Date(ye.observedAt).toLocaleString()}),I.default.createElement("p",{className:"fine-print"},Tt?"\u8FD1\u671F\u89C2\u5BDF\uFF0C\u4E0D\u4EE3\u8868\u5B89\u88C5\u6388\u6743":"\u5386\u53F2\u89C2\u5BDF\uFF0C\u8BF7\u624B\u52A8\u91CD\u65B0\u68C0\u6D4B"," \xB7 \u4E0D\u8F6E\u8BE2\u3001\u4E0D\u6267\u884C\u547D\u4EE4"),I.default.createElement("div",{className:"path-line"},I.default.createElement("span",null,"\u672C\u7AEF DSH \u5019\u9009\u6839"),I.default.createElement("code",null,Mt.dsh.path)),I.default.createElement("div",{className:"path-line"},I.default.createElement("span",null,"\u672C\u7AEF\u5171\u4EAB Agents \u5019\u9009\u6839"),I.default.createElement("code",null,Mt.agents.path)),I.default.createElement(x,null,Mt.warning),I.default.createElement(S,{label:"SSH / Git / \u963F\u91CC CLI",value:Object.entries(ye.commands).map(([E,le])=>E+": "+(le.state==="present_unexecuted"?"\u53D1\u73B0\u6587\u4EF6\uFF0C\u672A\u6267\u884C":"\u672A\u89C2\u5BDF\u5230")).join("\uFF1B")}),I.default.createElement("p",{className:"fine-print"},"\u672A\u53D1\u73B0\u4E0D\u7B49\u4E8E\u672A\u5B89\u88C5\u3002\u547D\u4EE4\u53EF\u7528\u6027\u3001\u7248\u672C\u4E0E\u4E91\u7AEF\u670D\u52A1\u8D26\u53F7\u5747\u672A\u786E\u8BA4\uFF1B\u963F\u91CC CLI \u4E3A\u53EF\u9009\u3002")):I.default.createElement("p",null,"\u5C1A\u672A\u68C0\u6D4B\u3002\u4E0D\u4F1A\u8BFB\u53D6\u4F60\u586B\u5199\u7684\u8FDC\u7AEF\u5730\u5740\uFF0C\u4E5F\u4E0D\u4F1A\u6839\u636E SSH \u7528\u6237\u540D\u731C\u6D4B\u4E91\u7AEF\u8DEF\u5F84\u3002"),al=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},Ie&&I.default.createElement(ja,{request:e}),I.default.createElement(V,{title:"\u4E91\u7AEF\u8FDE\u63A5",sub:"\u6B64\u5904\u4EC5\u586B\u5199\u8FDE\u63A5\u610F\u5411\uFF1B\u5B9E\u9645\u767B\u5F55\u9700\u5728\u4E0B\u65B9\u5355\u72EC\u9884\u68C0\uFF0C\u4E0D\u521B\u5EFA\u4E91\u8D44\u6E90\u3002",icon:"cloud"},I.default.createElement("div",{className:"form-grid"},Xe("ECS \u5730\u5740","host",{placeholder:"\u4E3B\u673A\u540D\u6216 IPv4"}),Xe("SSH \u767B\u5F55\u7528\u6237","user"),Xe("SSH \u7AEF\u53E3","port",{inputMode:"numeric"}),Xe("SSH \u51ED\u636E\u5F15\u7528","sshReference",{placeholder:"ecs-login",autoComplete:"off"})),I.default.createElement(x,null,"\u666E\u901A\u5B57\u6BB5\u4E0D\u63A5\u6536 SSH \u79C1\u94A5\u6216\u5BC6\u7801\u3002\u5730\u5740\u683C\u5F0F\u6B63\u786E\u4E0D\u7B49\u4E8E\u4E91\u7AEF\u53EF\u7528\uFF1B\u8FDE\u63A5\u5FC5\u987B\u901A\u8FC7\u72EC\u7ACB\u9884\u68C0\u3002")),g&&I.default.createElement(Yo,{request:e,target:{host:Z.host,user:Z.user,port:Z.port},onReference:E=>we("sshReference",E)}),I.default.createElement(V,{title:"\u672C\u7AEF\u73AF\u5883\u4E0E\u8DEF\u5F84",sub:"\u624B\u52A8\u53EA\u8BFB\u68C0\u6D4B\uFF1B\u53EA\u770B\u5F53\u524D Host\uFF0C\u4E0D\u66FF\u4EE3\u4E91\u7AEF\u9A8C\u6536\u3002",icon:"folder"},el(),I.default.createElement("div",{className:"form-actions"},I.default.createElement(_,{kind:"soft",icon:Be?"spinner":"search",onClick:Zr,disabled:Be},Be?"\u6B63\u5728\u68C0\u6D4B\u2026":"\u53EA\u8BFB\u68C0\u6D4B\u672C\u7AEF\u73AF\u5883"),I.default.createElement(ve,null,"\u96F6\u547D\u4EE4\u6267\u884C")))),I.default.createElement(Oe,{pose:"cloud",title:"\u672C\u5730\u4EA4\u529E\uFF0C\u4E91\u7AEF\u63A5\u529B\u3002"},I.default.createElement("p",null,"SSH / \u81EA\u6709\u534F\u8BAE\u8D1F\u8D23\u901A\u4FE1\uFF1BGitee \u4E0D\u662F\u6D88\u606F\u603B\u7EBF\u3002\u4E91\u7AEF\u8DEF\u5F84\u5FC5\u987B\u7531\u4E91\u7AEF\u5B9E\u9645\u670D\u52A1\u8FDB\u7A0B\u68C0\u6D4B\u3002"))),tl=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},h&&I.default.createElement(ao,{request:e,onReference:(E,le)=>{E==="deepseek-local"&&we("deepseekReference",le),E==="deepseek-cloud"&&(we("scope","separate"),we("cloudDeepseekReference",le)),E==="token-plan"&&(we("extra",!0),we("tokenReference",le)),E==="token-plan-cloud"&&(we("extra",!0),we("cloudTokenReference",le))}}),I.default.createElement(V,{title:"DeepSeek \u5B98\u65B9 API",icon:"key",sub:"\u53EA\u8BB0\u5F55\u5F15\u7528\u540D\uFF0C\u4E0D\u7C98\u8D34 Key\u3002"},Xe("DeepSeek \u51ED\u636E\u5F15\u7528","deepseekReference",{placeholder:"DEEPSEEK_API_KEY",autoComplete:"off"}),I.default.createElement("div",{className:"form-grid"},I.default.createElement(Se,{label:"\u51ED\u636E\u7528\u9014"},I.default.createElement("select",{value:Z.scope,onChange:E=>we("scope",E.target.value)},I.default.createElement("option",{value:"both"},"\u4E24\u7AEF\u5171\u7528\u6307\u5B9A\u51ED\u636E \xB7 \u4EC5\u610F\u5411"),I.default.createElement("option",{value:"separate"},"\u4E91\u7AEF\u4F7F\u7528\u72EC\u7ACB\u51ED\u636E"))),Xe("\u521D\u59CB\u4EFB\u52A1\u6A21\u578B","model",{placeholder:"\u4F8B\u5982 ds flash"})),Z.scope==="separate"&&Xe("\u4E91\u7AEF\u72EC\u7ACB\u51ED\u636E\u5F15\u7528","cloudDeepseekReference",{autoComplete:"off"}),I.default.createElement(S,{label:"\u4E91\u7AEF\u601D\u8003\u5F3A\u5EA6",value:"High \xB7 \u4E0D\u652F\u6301\u65F6\u660E\u786E\u63D0\u793A"}),I.default.createElement(x,null,"\u672A\u8C03\u7528\u6A21\u578B\u3001\u672A\u8BFB\u53D6\u73AF\u5883\u53D8\u91CF\u7684\u503C\uFF1B\u51ED\u636E\u4FDD\u5B58\u72B6\u6001\u53EF\u5355\u72EC\u6838\u5BF9\uFF1B\u672C\u7AEF\u63A5\u5165\u89C1\u4E0B\u65B9\uFF0C\u771F\u5B9E\u8BF7\u6C42\u4E0E\u4E91\u7AEF\u63A5\u7EBF\u9700\u53E6\u884C\u9A8C\u6536\u3002\u672C\u6B21\u9009\u62E9\u4E0D\u4F1A\u9501\u5B9A\u6240\u6709\u4EFB\u52A1\u7684\u6A21\u578B\u3002")),T&&I.default.createElement(at,{request:e,query:Z.model}),I.default.createElement(V,{title:"\u5176\u4ED6\u6A21\u578B\u670D\u52A1",icon:"plus",extra:I.default.createElement(Lt,{label:"\u542F\u7528\u963F\u91CC\u4E91 Token Plan",checked:Z.extra,onChange:E=>we("extra",E)})},I.default.createElement("p",null,"\u4E0D\u542F\u7528\u4E0D\u5F71\u54CD DeepSeek \u57FA\u7840\u65B9\u6848\u3002\u542F\u7528\u540E\u672C\u7AEF\u3001\u4E91\u7AEF\u81F3\u5C11\u586B\u5199\u4E00\u7AEF\u7684\u5F15\u7528\uFF0C\u4E0D\u8981\u6C42\u4E24\u7AEF\u540C\u65F6\u63A5\u5165\u3002"),Z.extra&&I.default.createElement("div",{className:"form-grid"},I.default.createElement(Se,{label:"\u63A5\u5165\u5957\u9910"},I.default.createElement("select",{value:Z.tokenPlan,onChange:E=>we("tokenPlan",E.target.value)},I.default.createElement("option",{value:""},"\u8BF7\u9009\u62E9"),I.default.createElement("option",{value:"token-cn"},"Token Plan \xB7 \u4E2D\u56FD\u5185\u5730"))),Xe("Token Plan \u51ED\u636E\u5F15\u7528","tokenReference",{autoComplete:"off"}),Xe("\u4E91\u7AEF Token Plan \u51ED\u636E\u5F15\u7528","cloudTokenReference",{autoComplete:"off"})),I.default.createElement(x,null,"\u6B64\u5F00\u5173\u53EA\u63A7\u5236\u53EF\u9009\u8868\u5355\uFF0C\u4E0D\u4EE3\u8868\u542F\u7528\u6216\u505C\u7528\u3002\u63A5\u5165\u72B6\u6001\u4E0E\u505C\u7528\u64CD\u4F5C\u89C1\u4E0B\u65B9\uFF1B\u5173\u95ED\u8868\u5355\u4E0D\u4F1A\u64A4\u9500\u5DF2\u786E\u8BA4\u7684\u63A5\u5165\u3002\u672C\u7AEF\u4E0E\u4E91\u7AEF\u5206\u522B\u786E\u8BA4\uFF1B\u4E91\u7AEF\u4E13\u7528 Key \u8BF7\u4FDD\u5B58\u5230\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\uFF0C\u5E76\u5728\u7B2C 6 \u9875\u5355\u72EC\u4EA4\u63A5\u548C\u63A5\u5165\u3002")),w&&I.default.createElement(at,{request:e,query:Z.model,service:"token-plan"})),I.default.createElement(Oe,{pose:"model",title:"\u6A21\u578B\u7531\u4F60\u9009\u62E9\u3002"},I.default.createElement("p",null,"\u4EE5\u76EE\u6807\u7AEF\u5B9E\u9645\u914D\u7F6E\u4E3A\u51C6\uFF0C\u552F\u4E00\u5339\u914D\u518D\u89E3\u6790\uFF0C\u6709\u6B67\u4E49\u65F6\u7528\u81EA\u7136\u8BED\u8A00\u8BE2\u95EE\u3002\u4E0D\u5F3A\u5236\u8F93\u5165 provider\u3002"))),ol=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u804A\u5929\u5165\u53E3",icon:"chat",extra:I.default.createElement(Lt,{label:"\u9700\u8981\u804A\u5929\u5165\u53E3",checked:Z.im,onChange:E=>we("im",E)})},I.default.createElement("p",null,Z.im?"\u5728\u4E0B\u65B9\u6838\u5BF9\u5F53\u524D Host\uFF0C\u6216\u6253\u5F00\u539F\u751F IM \u7BA1\u7406\u3002":"\u672C\u9875\u53EF\u8DF3\u8FC7\uFF1B\u4E0D\u4F1A\u505C\u7528\u5DF2\u6709\u673A\u5668\u4EBA\uFF0C\u4ECD\u53EF\u4F7F\u7528 Desktop\u3002"),I.default.createElement(x,null,"\u5F00\u5173\u53EA\u4FDD\u5B58\u914D\u7F6E\u610F\u5411\uFF1B\u4E0D\u4F1A\u7ED1\u5B9A\u3001\u8FDE\u63A5\u3001\u505C\u7528\u673A\u5668\u4EBA\u6216\u8F6C\u4EA4\u51ED\u636E\u3002")),Z.im&&I.default.createElement(oo,{request:e,imClient:n,onManage:u}),Z.im&&j&&I.default.createElement(oo,{request:e,cloud:!0,cloudWebEntry:a,onManageCloud:l}),Z.im&&H&&I.default.createElement(ht,{request:e}),I.default.createElement(V,{title:"\u5BA1\u6279\u4E0E\u64CD\u4F5C\u6388\u6743",icon:"shield"},I.default.createElement("div",{className:"radio-options"},[["chat","\u53EF\u4FE1\u804A\u5929\u786E\u8BA4"],["web","\u8DE8\u5E73\u53F0\u7F51\u9875\u786E\u8BA4"],["later","\u4EE5\u540E\u518D\u914D\u7F6E"]].map(([E,le])=>I.default.createElement("label",{key:E,className:"choice "+(Z.approval===E?"selected":"")},I.default.createElement("input",{type:"radio",name:"onboarding-approval",value:E,checked:Z.approval===E,disabled:E==="chat"&&!Z.im,onChange:()=>we("approval",E)}),I.default.createElement("span",null,le)))),I.default.createElement(x,null,"\u9009\u62E9\u901A\u9053\u4E0D\u7B49\u4E8E\u672C\u4EBA\u8EAB\u4EFD\u5DF2\u6838\u9A8C\uFF0C\u4E5F\u4E0D\u662F\u4E1A\u52A1\u6279\u51C6\u3002\u5F00\u53D1\u3001commit\u3001push \u4ECD\u5206\u522B\u5BA1\u6279\u3002"))),I.default.createElement(Oe,{pose:"welcome",title:"\u4F60\u8BF4\u201C\u5148\u7B49\u7B49\u201D\uFF0C\u5979\u5C31\u4F1A\u505C\u4E0B\u6765\u3002"},I.default.createElement("p",null,"\u6709\u6761\u4EF6\u540C\u610F\u4E0D\u4F1A\u76F4\u63A5\u6267\u884C\u65E7\u65B9\u6848\u3002\u8DF3\u8FC7\u672C\u9875\u4E0D\u6388\u4E88\u4EFB\u4F55\u5199\u5165\u80FD\u529B\u3002"))),rl=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93",icon:"git",extra:I.default.createElement(Lt,{label:"\u5173\u8054 Gitee \u4EFB\u52A1\u4ED3\u5E93",checked:Z.repo,onChange:E=>we("repo",E)})},Z.repo?I.default.createElement(I.default.Fragment,null,I.default.createElement("div",{className:"form-grid"},Xe("Gitee \u4ED3\u5E93\u5730\u5740","repoUrl",{placeholder:"https://gitee.com/team/repo"}),Xe("\u4ED3\u5E93\u522B\u540D","repoAlias",{placeholder:"\u9009\u586B"})),I.default.createElement(x,null,"\u4FDD\u5B58\u53EA\u68C0\u67E5\u683C\u5F0F\uFF1B\u4E0B\u65B9\u5206\u522B\u6838\u9A8C\u672C\u7AEF\u548C\u4E91\u7AEF\u8BFB\u53D6\u6743\u9650\u3002\u6240\u6709\u4ED3\u5E93\u64CD\u4F5C\u901A\u8FC7 Git CLI / SSH / API\uFF0C\u4E0D\u4F9D\u8D56\u6D4F\u89C8\u5668\uFF0C\u4E0D\u590D\u5236\u672C\u673A\u79C1\u94A5\u3002")):I.default.createElement("div",{className:"empty-option"},I.default.createElement(ke,{name:"file"}),I.default.createElement("h3",null,"\u4E0D\u5173\u8054\u4ED3\u5E93\uFF0C\u4E5F\u80FD\u4EA4\u4ED8\u6210\u679C\u3002"),I.default.createElement("p",null,"\u4FDD\u7559\u6210\u679C\u4ECB\u7ECD\u4E0E\u6267\u884C\u4F1A\u8BDD\u5165\u53E3\u3002"))),Z.repo&&h&&I.default.createElement(ao,{request:e,category:"repository"}),Z.repo&&Qe&&I.default.createElement(Nt,{request:e,url:Z.repoUrl})," ",Z.repo&&Ee&&I.default.createElement(Nt,{request:e,url:Z.repoUrl,cloud:!0}),Z.repo&&se&&I.default.createElement(At,{request:e,url:Z.repoUrl,alias:Z.repoAlias}),Z.repo&&De&&I.default.createElement(At,{request:e,url:Z.repoUrl,alias:Z.repoAlias,cloud:!0}),I.default.createElement(V,{title:"\u5F00\u53D1\u80FD\u529B\u51C6\u5907",icon:"terminal"},I.default.createElement(R,{checked:Z.development,disabled:!Z.repo,onChange:E=>we("development",E),title:"\u4E3A\u4E91\u7AEF\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u73AF\u5883",sub:"\u4EC5\u610F\u5411\uFF0C\u672C\u671F\u4E0D\u5B89\u88C5\u3002\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6CA1\u6709\u83B7\u51C6\u3002"}))),I.default.createElement(Oe,{pose:"repository",title:"\u6210\u679C\u6709\u5165\u53E3\uFF0C\u4ED3\u5E93\u662F\u53EF\u9009\u9879\u3002"},I.default.createElement("p",null,Z.repo?"\u540E\u7EED\u6838\u9A8C\u540E\u63D0\u4F9B\u6210\u679C\u4ECB\u7ECD\u4E0E Gitee \u56FA\u5B9A\u7248\u672C\u5165\u53E3\u3002":"\u975E\u4ED3\u5E93\u4EFB\u52A1\u4FDD\u7559\u6210\u679C\u4ECB\u7ECD\u4E0E\u6240\u5C5E\u6267\u884C\u4F1A\u8BDD\u3002"),I.default.createElement(S,{label:"\u4EFB\u52A1\u4ED3\u5E93",value:"\u7528\u6237\u81EA\u5DF1\u7684 B \u4ED3\u5E93"}))),ll=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u5168\u5C40\u89C4\u5219\u4E0E\u8DEF\u5F84\u4FDD\u62A4",icon:"file",sub:"\u4EE5\u4E0B\u5747\u662F\u53EA\u8BFB\u89C2\u5BDF\uFF0C\u4E0D\u662F\u6700\u7EC8\u5B89\u88C5\u8DEF\u5F84\u3002"},(ye?.rules??[]).map(E=>I.default.createElement("div",{className:"plan-item",key:E.path},I.default.createElement("code",null,E.path),I.default.createElement("strong",null,Ps[E.state]??E.state))),I.default.createElement(x,null,"\u5DF2\u6709\u89C4\u5219\u4E0D\u8986\u76D6\uFF1B\u672A\u6765\u53EA\u8FFD\u52A0\u5E26\u5F52\u5C5E\u6807\u8BB0\u7684\u53D7\u7BA1\u533A\u3002\u65E0\u6587\u4EF6\u65F6\u7533\u8BF7\u521B\u5EFA\uFF1B\u591A\u4E2A\u6765\u6E90\u3001\u7528\u6237\u6539\u52A8\u3001\u7F16\u7801\u3001\u94FE\u63A5\u6216\u5E76\u53D1\u51B2\u7A81\u5FC5\u987B\u6838\u5BF9\u540E\u505C\u6B62\u3002\u5F53\u524D\u6CA1\u6709\u5199\u6587\u4EF6\u3002")),I.default.createElement(V,{title:"Skill \u8DEF\u5F84\u4E0E\u540C\u540D\u4FDD\u62A4",icon:"folder"},(ye?.skills??[]).map(E=>I.default.createElement("div",{className:"plan-item",key:E.path},I.default.createElement("code",null,E.path),I.default.createElement("span",null,E.conflicts.length?"\u540C\u540D\u9879\u76EE\u9700\u6838\u5BF9\uFF1A"+E.conflicts.join("\u3001"):E.state==="missing"?"\u76EE\u5F55\u4E0D\u5B58\u5728 \xB7 \u5C1A\u672A\u521B\u5EFA":E.state==="no_name_collision"?"\u672A\u53D1\u73B0\u540C\u540D\u76EE\u5F55 \xB7 \u5C1A\u672A\u8BC1\u660E\u52A0\u8F7D":"\u8DEF\u5F84\u4E0D\u53EF\u5B89\u5168\u6838\u9A8C"))),I.default.createElement("p",null,"\u5168\u5C40\u548C worker \u4E13\u7528 Skill \u5206\u5F00\uFF1B\u540C\u540D\u7528\u6237\u5185\u5BB9\u4E0D\u8986\u76D6\u3002\u542F\u7528\u76EE\u5F55\u987B\u4E0E\u5B9E\u9645\u626B\u63CF\u914D\u7F6E\u4E00\u81F4\uFF0C\u4E0D\u80FD\u4EC5\u51ED\u9ED8\u8BA4\u8DEF\u5F84\u5BA3\u79F0\u5DF2\u52A0\u8F7D\u3002")),I.default.createElement(V,{title:"\u914D\u7F6E\u610F\u5411\u6458\u8981",icon:"shield"},I.default.createElement(S,{label:"\u6A21\u578B",value:Z.model+" \xB7 \u5C1A\u672A\u89E3\u6790/\u8C03\u7528"}),I.default.createElement(S,{label:"\u804A\u5929 / \u5BA1\u6279",value:Z.im?"\u8BA1\u5212\u914D\u7F6E \xB7 \u8EAB\u4EFD\u672A\u6838\u9A8C":"\u8DF3\u8FC7 \xB7 \u672A\u542F\u7528"}),I.default.createElement(S,{label:"\u4ED3\u5E93",value:Z.repo?"\u8BA1\u5212\u5173\u8054 \xB7 \u5C1A\u672A\u6838\u9A8C":"\u8DF3\u8FC7 \xB7 \u975E\u4ED3\u5E93\u6210\u679C\u4FDD\u7559"}),I.default.createElement(S,{label:"\u5B9E\u9645\u5E94\u7528\u53D8\u66F4",value:"0 \u9879"}))),I.default.createElement(Oe,{pose:"tasks",title:"\u5148\u4FDD\u62A4\u539F\u6709\u5185\u5BB9\u3002"},I.default.createElement("p",null,"\u672C\u671F\u4E0D\u6267\u884C\u6388\u6743\u3001\u5907\u4EFD\u3001\u5B89\u88C5\u6216\u91CD\u542F\u3002\u4E0B\u4E00\u9875\u5C55\u793A\u5C1A\u672A\u5F00\u653E\u7684\u521D\u59CB\u5316\u9636\u6BB5\uFF0C\u4E0D\u80FD\u636E\u6B64\u6807\u8BB0\u5DF2\u5C31\u7EEA\u3002"))),sl=f?I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(gt,{request:e}),m>0&&I.default.createElement(Ct,{request:e,contract:m,mutation:p}),I.default.createElement(V,{title:"\u4FDD\u62A4\u4E0E\u751F\u6548\u8FB9\u754C",icon:"shield"},I.default.createElement("p",null,"\u7528\u6237\u539F\u6587\u9010\u5B57\u8282\u4FDD\u7559\uFF1B\u672A\u77E5\u540C\u540D Skill \u963B\u6B62\u5B89\u88C5\uFF1B\u5DF2\u5B89\u88C5\u4E14\u4E00\u81F4\u5219\u4E0D\u91CD\u590D\u8FFD\u52A0\u3002\u9884\u89C8\u6709\u6548 5 \u5206\u949F\uFF0C\u6587\u4EF6\u53D1\u751F\u53D8\u5316\u9700\u91CD\u65B0\u9884\u89C8\u3002"),I.default.createElement("p",null,"\u5931\u8D25\u65F6\u6309\u5907\u4EFD\u56DE\u6EDA\u672C\u4E8B\u52A1\uFF1B\u82E5\u6587\u4EF6\u88AB\u5E76\u53D1\u4FEE\u6539\uFF0C\u4FDD\u7559\u73B0\u573A\u5E76\u6807\u4E3A\u5F85\u6838\u5BF9\u3002\u5199\u5165\u5B8C\u6210\u4E0D\u7B49\u4E8E\u4F1A\u8BDD\u52A0\u8F7D\uFF0C\u6700\u5C0F\u6A21\u5F0F\u4FDD\u7559\u539F\u751F\u4E0D\u52A0\u8F7D\u884C\u4E3A\u3002"),I.default.createElement("p",null,"\u6B64\u533A\u57DF\u53EA\u5E94\u7528\u672C\u7AEF\u89C4\u5219\u548C Skill\uFF1B\u4E91\u7AEF\u5B89\u88C5\u9700\u5728\u72EC\u7ACB\u533A\u57DF\u786E\u8BA4\u3002\u5DF2\u6709\u5B89\u88C5\u7EF4\u62A4\u9700\u5728\u672C\u7AEF\u7EF4\u62A4\u533A\u57DF\u5355\u72EC\u9884\u89C8\u786E\u8BA4\uFF1B\u4E0D\u81EA\u52A8\u5347\u7EA7\uFF0C\u4E0D\u4FEE\u6539\u6A21\u578B\u6216\u673A\u5668\u4EBA\u3002"))),I.default.createElement(Oe,{pose:"tasks",title:"\u5148\u9884\u89C8\uFF0C\u518D\u660E\u786E\u5E94\u7528\u3002"},I.default.createElement("p",null,"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u7684\u786E\u8BA4\u5206\u5F00\u8BB0\u5F55\u3002\u67E5\u770B\u9875\u9762\u548C\u8FDB\u5EA6\u6761\u4E0D\u7B49\u4E8E\u6279\u51C6\u5B89\u88C5\u6216\u6574\u5957\u914D\u7F6E\u5B8C\u6210\u3002"))):ll,nl=I.default.createElement(I.default.Fragment,null,g&&I.default.createElement(Jt,{key:"cloud-plan",request:e,preparation:v,runtime:N,optionalIm:Ke}),I.default.createElement("div",{style:{height:20}}),sl),il=I.default.createElement("div",{className:"run-sections"},Ie&&I.default.createElement(ja,{request:e}),nt&&I.default.createElement(qt,{request:e,migration:st,queueReview:Dt}),ia&&I.default.createElement(qt,{request:e,cloud:!0,migration:lt,queueReview:na}),Te&&I.default.createElement(jt,{request:e})," ",g?I.default.createElement("div",{className:"stack"},I.default.createElement(Jt,{key:"cloud-execution",request:e,preparation:v,runtime:N,optionalIm:Ke,execution:!0}),qe&&I.default.createElement(jt,{request:e,cloud:!0}),Pe&&I.default.createElement(gr,{request:e}),Z.repo&&Ae&&I.default.createElement(kt,{request:e,service:"gitee"}),Z.repo&&Ee&&I.default.createElement(Nt,{request:e,url:Z.repoUrl,cloud:!0}),Z.repo&&De&&I.default.createElement(At,{request:e,url:Z.repoUrl,alias:Z.repoAlias,cloud:!0}),P&&I.default.createElement(kt,{request:e})," ",D&&I.default.createElement(at,{request:e,query:Z.model,cloud:!0}),O&&I.default.createElement(kt,{request:e,service:"token-plan"}),W&&I.default.createElement(at,{request:e,query:Z.model,service:"token-plan",cloud:!0})):I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u81EA\u52A8\u914D\u7F6E\u5C1A\u672A\u5F00\u653E",icon:"lock",extra:I.default.createElement(ve,null,"\u672A\u6267\u884C")},I.default.createElement(x,null,f?"\u672C\u7AEF\u89C4\u5219\u5B89\u88C5\u8BF7\u770B\u4E0A\u4E00\u9875\u6301\u4E45\u56DE\u6267\uFF1B\u4E0B\u5217\u4E91\u7AEF\u521D\u59CB\u5316\u9636\u6BB5\u5747\u672A\u6267\u884C\uFF0C\u6CA1\u6709\u540E\u53F0\u521D\u59CB\u5316\u4EFB\u52A1\u3002":"\u672C\u671F\u5B8C\u6210\u754C\u9762\u3001\u5B57\u6BB5\u6821\u9A8C\u548C\u672C\u7AEF\u53EA\u8BFB\u68C0\u6D4B\uFF1B\u6CA1\u6709\u521D\u59CB\u5316\u6267\u884C\u5668\uFF0C\u4E5F\u6CA1\u6709\u521B\u5EFA\u540E\u53F0\u4EFB\u52A1\u3002\u4E0D\u662F\u6682\u505C\u4E2D\u7684\u5DF2\u6388\u6743\u4EFB\u52A1\u3002"),I.default.createElement("ol",{className:"phase-timeline"},["\u6838\u5BF9\u53CC\u7AEF\u8EAB\u4EFD\u4E0E\u6700\u7EC8\u8DEF\u5F84","\u751F\u6210\u5907\u4EFD\u4E0E\u53EF\u5BA1\u67E5\u53D8\u66F4\u8BA1\u5212","\u4FDD\u62A4\u6027\u8FFD\u52A0 AGENTS.md \u4E0E\u5B89\u88C5 Skill","\u914D\u7F6E\u53D7\u4FDD\u62A4\u51ED\u636E\u4E0E\u5EFA\u7ACB\u76F4\u8FDE","\u6267\u884C\u7EAF DeepSeek \u94FE\u8DEF\u9A8C\u6536","\u751F\u6210\u914D\u7F6E\u56DE\u6267"].map((E,le)=>I.default.createElement("li",{className:"pending",key:E},I.default.createElement("span",{className:"phase-dot"},le+1),I.default.createElement("div",{className:"phase-copy"},I.default.createElement("h3",null,E),I.default.createElement("p",null,"\u672A\u6267\u884C \xB7 \u9700\u540E\u7EED\u5B9E\u73B0\u4E0E\u660E\u786E\u6388\u6743"))))),I.default.createElement(_,{kind:"primary",disabled:!0,icon:"lock"},"\u771F\u5B9E\u521D\u59CB\u5316\u672A\u5F00\u653E"))),I.default.createElement(Oe,{pose:"model",title:"\u4E0D\u4F1A\u7528\u6F14\u793A\u4EE3\u66FF\u9A8C\u6536\u3002"},I.default.createElement(S,{label:"\u81EA\u52A8\u914D\u7F6E",value:"0 / 6 \u9636\u6BB5"}),I.default.createElement(S,{label:"\u5B9E\u9645\u6A21\u578B / SSH \u8BF7\u6C42",value:"0"}),I.default.createElement(S,{label:f?"ECS \u5199\u5165 / \u53D1\u5E03":"\u6587\u4EF6\u5199\u5165 / \u53D1\u5E03",value:"0"}),I.default.createElement("p",null,"\u4ECD\u662F 5/6 \u9875\u5DF2\u586B\u5199\uFF0C\u4E0D\u6807\u8BB0\u5B89\u88C5\u5B8C\u6210\u3002")))),wo=(i===2||L===1||c===1||o===1||r===1)&&I.default.createElement(_,{kind:"text",icon:"lock","aria-haspopup":"dialog",onClick:()=>Ye({title:"\u7EF4\u62A4\u4F1A\u8BDD",eyebrow:"\u72EC\u7ACB\u6062\u590D\u5165\u53E3",closeLabel:"\u5173\u95ED\uFF08\u4E0D\u91CA\u653E\u7EC4\u4EF6\u9501\uFF09",body:I.default.createElement("div",{className:"maintenance-panels"},i===2&&I.default.createElement(wr,{request:e,contract:i}),I.default.createElement(Yr,{request:e,disableContract:c,removeContract:o,stopContract:r,allowStop:d}),I.default.createElement(Mr,{request:e,contract:L,allowMutation:C}))})},"\u7EF4\u62A4\u4F1A\u8BDD");return h&&!la.ready?I.default.createElement("div",{className:"dsh-onboarding"},I.default.createElement(V,{title:la.failed?"\u8349\u7A3F\u9700\u6838\u5BF9":"\u8BFB\u53D6\u5DF2\u4FDD\u5B58\u8349\u7A3F"},I.default.createElement("p",{role:"status"},la.message||"\u6B63\u5728\u8BFB\u53D6\u5F53\u524D Host \u7684\u81EA\u6709\u8BB0\u5F55\u2026"),I.default.createElement("div",{className:"connection-actions"},wo)),I.default.createElement(sa,{modal:$e,onClose:()=>Ye(null)})):I.default.createElement(mt,{onHelp:Sa},I.default.createElement("div",{className:"dsh-onboarding"+(ra?" keyboard":""),style:ne?{"--mascot":`url("${ne}")`}:void 0,onKeyDownCapture:()=>No(!0),onPointerDownCapture:()=>No(!1)},I.default.createElement("div",{className:"window-frame"},I.default.createElement("header",{className:"window-header"},I.default.createElement("div",{className:"brand"},I.default.createElement("span",{className:"brand-portrait"},I.default.createElement(Ge,null)),I.default.createElement("strong",null,"\u5927\u80A5\u9C7Cbot",I.default.createElement("span",null,"\u914D\u7F6E\u5BFC\u89C8"))),I.default.createElement(ve,null,N?"\u72EC\u7ACB\u73AF\u5883\u5B89\u88C5\u5019\u9009":f?"\u89C4\u5219\u5B89\u88C5\u5019\u9009":"\u53EA\u8BFB\u5019\u9009 \xB7 \u672A\u5E94\u7528"),fe&&I.default.createElement(_,{kind:"text",onClick:()=>Sa("\u590D\u7528\u5DF2\u914D\u5BF9\u7684\u53CC\u7AEF\uFF1F",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",null,"\u5207\u6362\u540E\u672A\u4FDD\u5B58\u7684\u586B\u5199\u4F1A\u4E22\u5931\uFF1B\u5DF2\u4FDD\u5B58\u8349\u7A3F\u3001\u51ED\u636E\u548C\u73B0\u6709\u914D\u7F6E\u4FDD\u6301\u4E0D\u53D8\u3002\u4EC5\u9002\u7528\u4E8E\u5DF2\u5EFA\u7ACB\u81EA\u6709\u76F4\u8FDE\u7684\u4E24\u7AEF\uFF0C\u4E0D\u91CD\u65B0\u521D\u59CB\u5316 ECS\u3002"),I.default.createElement(_,{onClick:fe},"\u8FDB\u5165\u65E2\u6709\u53CC\u7AEF\u914D\u7F6E")))},"\u590D\u7528\u5DF2\u6709\u53CC\u7AEF"),s&&I.default.createElement(_,{kind:"text",onClick:()=>Sa("\u79BB\u5F00\u5BFC\u89C8\uFF1F",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",null,h?"\u5DF2\u4FDD\u5B58\u7684\u8349\u7A3F\u4E0B\u6B21\u6062\u590D\uFF1B\u672A\u4FDD\u5B58\u8F93\u5165\u4F1A\u4E22\u5931\u3002Key \u4E0D\u8FDB\u5165\u8349\u7A3F\uFF0C\u51ED\u636E\u64CD\u4F5C\u6709\u72EC\u7ACB\u56DE\u6267\u3002":"\u586B\u5199\u5185\u5BB9\u4EC5\u5728\u5F53\u524D\u9762\u677F\u5185\u5B58\u4E2D\uFF0C\u9000\u51FA\u540E\u9700\u91CD\u65B0\u586B\u5199\u3002","\u5DF2\u786E\u8BA4\u7684\u5B89\u88C5\u4E8B\u52A1\u4E0D\u4F1A\u56E0\u5173\u95ED\u9875\u9762\u64A4\u9500\uFF0C\u8BF7\u91CD\u65B0\u8FDB\u5165\u6838\u5BF9\u56DE\u6267\u3002"),I.default.createElement(_,{onClick:s},"\u79BB\u5F00\u5BFC\u89C8")))},"\u8FD4\u56DE\u5927\u80A5\u9C7Cbot")),I.default.createElement("main",null,I.default.createElement("div",{className:"page-top"},I.default.createElement("div",{className:"page-position"},I.default.createElement("strong",null,re+1,I.default.createElement("span",null,"/6")),I.default.createElement("h1",{tabIndex:"-1",ref:Ao},Ot[re]),I.default.createElement(Ja,{title:Ot[re]},re===4&&g?"\u5206\u522B\u9884\u89C8\u672C\u7AEF\u4FDD\u62A4\u6027\u89C4\u5219\u548C\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6\uFF1B\u6BCF\u9879\u4FEE\u6539\u90FD\u9700\u72EC\u7ACB\u786E\u8BA4\u3002":re===5&&g?"\u6838\u5BF9\u771F\u5B9E\u8D26\u672C\u540E\uFF0C\u786E\u8BA4\u5B89\u88C5\u4E0E\u542F\u52A8\u8BA1\u5212\u3002\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u81EA\u52A8\u7EED\u8DD1\u6216\u8C03\u7528\u6A21\u578B\u3002":re===4&&f?"\u9884\u89C8\u5F53\u524D\u9694\u79BB Host \u7684\u89C4\u5219\u4E0E Skill \u53D8\u66F4\uFF0C\u786E\u8BA4\u540E\u624D\u5E94\u7528\uFF1B\u4E0D\u521D\u59CB\u5316 ECS\u3002":re===0&&g?"\u586B\u5199\u8FDE\u63A5\u610F\u5411\u3001\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u540E\u518D\u624B\u52A8\u9884\u68C0\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u3002":Ds[re])),I.default.createElement("div",{className:"page-top-actions"},I.default.createElement("span",{className:"step-mascot mascot-zone"},I.default.createElement(Ge,{pose:Es[re]})),wo,I.default.createElement(_,{kind:"text",onClick:()=>Sa("\u516D\u9875\u914D\u7F6E\u6982\u89C8",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",{className:"fine-print"},"\u8FD9\u91CC\u4EC5\u663E\u793A\u586B\u5199\u8FDB\u5EA6\uFF1B\u5B9E\u9645\u5B89\u88C5\u3001\u63A5\u5165\u4E0E\u6267\u884C\u72B6\u6001\u8BF7\u6838\u5BF9\u5BF9\u5E94\u56DE\u6267\u3002"),I.default.createElement("div",{className:"overview-list"},Ot.map((E,le)=>I.default.createElement("button",{key:E,disabled:le>re&&!Me.includes(le)&&!(le===5&&Et&&Me.includes(4)),onClick:()=>{yo(le),Ye(null)},"aria-current":le===re?"step":void 0},I.default.createElement("span",{className:"overview-title"},E),I.default.createElement(ve,null,le===re?"\u5F53\u524D\u9875":Fe.includes(le)?"\u672C\u6B21\u586B\u5199\u8DF3\u8FC7":Me.includes(le)?"\u586B\u5199\u5B8C\u6210":"\u5C1A\u672A\u586B\u5199"),I.default.createElement(ke,{name:"chevron"}))))))},"\u914D\u7F6E\u6982\u89C8"))),I.default.createElement("div",{className:"page-progress progress-track",role:"progressbar","aria-label":"\u914D\u7F6E\u9875\u586B\u5199\u8FDB\u5EA6","aria-valuemin":"0","aria-valuemax":"6","aria-valuenow":Me.length,"aria-valuetext":`\u5DF2\u586B\u5199 ${Me.length}/6 \u9875\uFF0C${f?"\u89C4\u5219\u5B89\u88C5\u4EE5\u6301\u4E45\u56DE\u6267\u4E3A\u51C6":"\u672A\u5E94\u7528\u914D\u7F6E"}`},I.default.createElement("span",{style:{transform:`scaleX(${Me.length/6})`}})),h&&I.default.createElement("div",{className:"draft-toolbar"},I.default.createElement("p",{role:"status"},la.message),I.default.createElement(_,{kind:"soft",disabled:Be||!la.ready,onClick:()=>Pt()},"\u4FDD\u5B58\u8349\u7A3F"),I.default.createElement(_,{kind:"text",disabled:Be,onClick:()=>Sa("\u91CD\u65B0\u8BFB\u53D6\u8349\u7A3F\uFF1F",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",null,"\u4F1A\u4E22\u5F03\u672C\u9875\u5C1A\u672A\u4FDD\u5B58\u7684\u8F93\u5165\uFF0C\u52A0\u8F7D\u670D\u52A1\u5668\u6700\u65B0\u8349\u7A3F\u3002\u4E0D\u4F1A\u6062\u590D\u6279\u51C6\u6216\u81EA\u52A8\u6267\u884C\u3002"),I.default.createElement(_,{onClick:async()=>{try{let E=await e("draft_load",{});ua(E.draft),be(E.page),Ze(E.handled),da(E.skipped),Ca(null),it(!1),Ue(""),va({ready:!0,revision:E.revision,message:"\u5DF2\u91CD\u65B0\u8BFB\u53D6\uFF0C\u8BF7\u91CD\u65B0\u68C0\u6D4B\u73AF\u5883\u3002",failed:!1}),Ye(null)}catch{Ue("\u91CD\u65B0\u8BFB\u53D6\u5931\u8D25\uFF0C\u672A\u66FF\u6362\u5F53\u524D\u8F93\u5165\u3002")}}},"\u786E\u8BA4\u91CD\u65B0\u8BFB\u53D6")))},"\u6838\u5BF9\u6700\u65B0\u8349\u7A3F")),I.default.createElement("fieldset",{disabled:Be,style:{border:0,padding:0,margin:0}},I.default.createElement("div",{className:"page-content","data-page":re+1},[al,tl,ol,rl,nl,il][re])),I.default.createElement("footer",{className:"wizard-footer"},I.default.createElement("div",{className:"page-guidance "+(Bt.length?"waiting":"ready"),role:"status",id:"onboarding-validation"},I.default.createElement(ke,{name:"info"}),I.default.createElement("p",null,Bt.length?Bt.map(E=>E.message).join(" "):re===0&&!Tt?"\u8BF7\u6267\u884C\u672C\u7AEF\u53EA\u8BFB\u68C0\u6D4B\uFF0C\u5FEB\u7167\u6709\u6548 60 \u79D2\uFF1B\u4E0D\u7B49\u4E8E\u4E91\u7AEF\u8FDE\u63A5\u901A\u8FC7\u3002":re===4?"\u67E5\u770B\u4FDD\u62A4\u7B56\u7565\u540E\u53EF\u8FDB\u5165\u9636\u6BB5\u8BF4\u660E\uFF1B\u4E0D\u4F1A\u63D0\u4EA4\u6388\u6743\u3002":re===5?"\u539F\u751F Host \u4E0E\u6A21\u578B\u72B6\u6001\u5206\u522B\u4EE5\u624B\u52A8\u6838\u9A8C\u4E3A\u51C6\uFF1B\u6A21\u578B\u63A5\u5165\u4E0D\u4EE3\u8868\u8BF7\u6C42\u3001IM \u6216\u5168\u94FE\u8DEF\u9A8C\u6536\u901A\u8FC7\u3002":"\u683C\u5F0F\u7B26\u5408\uFF0C\u53EF\u7EE7\u7EED\u586B\u5199\uFF1B\u672A\u9A8C\u8BC1\u51ED\u636E\u6216\u8FDC\u7AEF\u53EF\u7528\u6027\u3002")),_a&&I.default.createElement("p",{role:"alert",className:"error"},_a),re===4&&I.default.createElement(R,{checked:Et,onChange:it,title:"\u6211\u5DF2\u9605\u8BFB\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u67E5\u770B\u4E0B\u4E00\u9875\uFF08\u4E0D\u6388\u6743\u6267\u884C\uFF09"}),I.default.createElement("div",null,I.default.createElement(_,{kind:"text",icon:"back",disabled:re===0||Be,onClick:()=>yo(re-1)},"\u4E0A\u4E00\u6B65")),I.default.createElement("div",null,[2,3].includes(re)&&I.default.createElement(_,{kind:"text",onClick:jr,disabled:Be},"\u6682\u65F6\u8DF3\u8FC7"),re<5&&I.default.createElement(_,{kind:"primary",end:"arrow",disabled:!bo||Be,onClick:Jr,"aria-describedby":"onboarding-validation"},re===4?g?"\u67E5\u770B\u4E91\u7AEF\u914D\u7F6E\u4E0E\u6062\u590D":"\u67E5\u770B\u672A\u6267\u884C\u9636\u6BB5":"\u7EE7\u7EED"))))),I.default.createElement("div",{className:"outside-note"},I.default.createElement(ke,{name:"shield"}),I.default.createElement("span",null,g?"\u4E91\u7AEF\u64CD\u4F5C\u9700\u72EC\u7ACB\u786E\u8BA4 \xB7 \u624B\u52A8\u5237\u65B0 \xB7 \u4E0D\u81EA\u52A8\u914D\u7F6E\u6A21\u578B\u6216\u53D1\u5E03":f?"\u9694\u79BB\u914D\u7F6E\u5019\u9009 \xB7 \u4E0D\u8FDE\u63A5 ECS\uFF1B\u4FDD\u5B58\u4E0D\u4EE3\u8868\u6A21\u578B\u63A5\u901A\uFF0C\u8FDB\u5EA6\u6761\u4E0D\u4EE3\u8868\u5B89\u88C5\u72B6\u6001":"\u4E0D\u8FDE\u63A5\u771F\u5B9E ECS \xB7 \u4E0D\u81EA\u52A8\u914D\u7F6E\u6216\u53D1\u5E03")),I.default.createElement(sa,{modal:$e,onClose:()=>Ye(null)})))}function Ts(e){let[t,s]=(0,I.useState)(!1);return t&&e.existingSetup?I.default.createElement(Wo,{...e,onManaged:()=>s(!1)}):I.default.createElement(Bs,{...e,onReuse:e.existingSetup?()=>s(!0):void 0})}return Ll(Ms);})();
47
+ `}function $r(e,t,s,n,u,l=Date.now){let a=null,f=!1;try{if(!u)throw Error();let r=JSON.parse(u.getItem(Co)??"null");if(r!==null){if(!r||Object.keys(r).join()!=="operationId"||!ha(r.operationId))throw Error();a=r}}catch{f=!0}let m={current:null,receipt:null,reference:a,storageError:f,plan:null,busy:!1,fresh:!1,uncertain:!!a||f,error:"",observedAt:null},p=r=>{m={...m,...r},t(m)},i=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function c(r,d){_o(r)||i(),d&&(r.requestedOperationId!==d.operationId||!Object.hasOwn(r,"requestedReceipt")||!Kr(r.requestedReceipt)||r.requestedReceipt&&r.requestedReceipt.id!==d.operationId)&&i();let L=d?r.requestedReceipt:r.receipt;return{current:r,receipt:L,fresh:!0,uncertain:m.storageError||!!d&&!L,observedAt:l()}}async function o(r,d=!1,L=!1){if(m.busy||s!==1||!["refresh","stop","review","confirm"].includes(r))return!1;let C=So(m,s,n,l()),h=m.plan;if(r!=="refresh"&&(!C[r]||r==="confirm"&&(d!==!0||h.action==="request_current_host_exit"&&L!==!0)))return!1;p({busy:!0,error:"",plan:null});try{if(r==="refresh")p(c(await e("self_stop_status",m.reference??{}),m.reference));else if(r==="confirm"){let g={operationId:h.action==="request_current_host_exit"?h.id:h.operationId};try{if(u.setItem(Co,JSON.stringify(g)),u.getItem(Co)!==JSON.stringify(g))throw Error()}catch{throw Error("ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE")}p({reference:g,uncertain:!0,fresh:!1});let v=await e("self_stop_"+(h.action==="request_current_host_exit"?"apply":"reconcileApply"),{id:h.id,fingerprint:h.fingerprint,confirm:!0,acceptRisk:!0});(!_o(v)||v.instanceId!==h.instanceId||v.revision<=h.revision||v.receipt?.id!==g.operationId||h.action==="record_exit_observation_only"&&(v.exitRequests!==0||v.receipt.state!=="reconciled"))&&i(),p(c({...v,requestedOperationId:g.operationId,requestedReceipt:v.receipt},g))}else{let g=m.current,v=await e("self_stop_"+(r==="stop"?"preview":"reconcilePreview"),{});(v.contract!==1||v.instanceId!==g.instanceId||v.revision!==g.revision||!ha(v.id)||!xs(v.fingerprint)||!La(v.expiresAt)||v.expiresAt<=l()||v.canApply!==!0||v.automaticRestart!==!1)&&i(),(r==="stop"?v.action!=="request_current_host_exit"||v.scope!==zr||!vo(v.version)||v.hostStopAuthorized!==!0||v.automaticStop!==!1||v.dataDeletionAuthorized!==!1||!Array.isArray(v.risks)||!["late_native_or_im_input_may_abort","own_ui_and_rpc_may_disappear","external_supervisor_may_restart","native_inputs_not_persistently_fenced","official_shutdown_may_force_exit"].every(N=>v.risks.includes(N))||JSON.stringify(v.retained)!==JSON.stringify(["package","global_rules","skills","credentials","sessions","tasks","artifacts","backups"]):v.action!=="record_exit_observation_only"||v.scope!=="ledger_only"||v.ownerProcessExited!==!0||v.currentHostRunning!==!0||v.requestOutcomeProven!==!1||v.operationId!==g.receipt?.id)&&i(),p({plan:v})}return!0}catch(g){return p({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(g?.message)?g.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{p({busy:!1})}}return{get:()=>m,act:o,cancel:()=>{m.busy||p({plan:null})}}}var As={intent:"\u5DF2\u8BB0\u505C\u673A\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",not_dispatched:"\u8BE5\u6B21\u672A\u5411\u5B98\u65B9\u8BF7\u6C42\u9000\u51FA",reconciled:"\u5DF2\u8865\u8BB0\u539F\u8FDB\u7A0B\u9000\u51FA\u89C2\u5BDF"},ks={ONBOARDING_SELF_STOP_MAINTENANCE_REQUIRED:"\u5148\u5728\u4E0A\u65B9\u53D6\u5F97\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\u4E0D\u80FD\u505C\u673A\u3002",ONBOARDING_MAINTENANCE_RECORD_HELD_SESSION_REQUIRED:"\u5F53\u524D\u6CA1\u6709\u672C\u5B9E\u4F8B\u6301\u6709\u7684\u7EC4\u4EF6\u7EF4\u62A4\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u7EF4\u62A4\u4F1A\u8BDD\u3002",ONBOARDING_SELF_STOP_ORIGINAL_PROCESS_UNRESOLVED:"\u539F\u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u8865\u8BB0\u3002\u4FDD\u7559\u8BB0\u5F55\uFF0C\u4E0D\u91CD\u590D\u505C\u673A\u3002",ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672A\u6D3E\u53D1\u672C\u6B21\u786E\u8BA4\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_STOP_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u8FD8\u6709\u672A\u6838\u5BF9\u7684\u505C\u7528\u3001\u79FB\u5305\u6216 IM \u7EF4\u62A4\uFF0C\u8BF7\u5148\u5904\u7406\u539F\u8BB0\u5F55\u3002",ONBOARDING_SELF_STOP_EXIT_UNAVAILABLE:"\u5F53\u524D Host \u672A\u63D0\u4F9B\u5B98\u65B9\u9000\u51FA\u670D\u52A1\uFF1B\u8BF7\u4F7F\u7528\u539F\u6709\u4EBA\u5DE5\u505C\u673A\u65B9\u5F0F\uFF0C\u4E0D\u4F1A\u964D\u7EA7\u4E3A\u5F3A\u6740\u3002",ONBOARDING_SELF_STOP_OWNERSHIP_REVIEW:"\u5F53\u524D\u5B98\u65B9\u5B89\u88C5\u5F52\u5C5E\u65E0\u6CD5\u6838\u9A8C\uFF1B\u4FDD\u6301\u53EA\u8BFB\uFF0C\u4E0D\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_STOP_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u540E\u91CD\u65B0\u9884\u89C8\u3002"};function Qr({request:e,contract:t=0,allowStop:s=!1}){let[n,u]=(0,X.useState)(null),[l,a]=(0,X.useState)(!1),[f,m]=(0,X.useState)(!1),p=(0,X.useRef)(!0),i=(0,X.useRef)();if(!i.current){let N;try{N=globalThis.sessionStorage}catch{}i.current=$r(e,T=>{p.current&&u(T)},t,s,N)}(0,X.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let c=n??i.current.get(),o=So(c,t,s),r=c.current,d=c.plan,L=c.receipt,C=d?.action==="record_exit_observation_only",h=d?.action==="request_current_host_exit"?d.id:c.reference?.operationId??L?.id,g=(0,X.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Xr(h,d?.version??L?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[h,d?.version,L?.version]);(0,X.useEffect)(()=>()=>{g&&URL.revokeObjectURL(g)},[g]);let v=N=>(a(!1),m(!1),i.current.act(N,l,f));return t!==1?null:X.default.createElement(V,{title:"\u505C\u6B62\u672C\u7AEF Host",sub:"\u4EC5\u8BF7\u6C42\u5F53\u524D Host \u5B98\u65B9\u9000\u51FA\uFF1B\u4E0D\u662F\u540C\u65F6\u505C\u6B62\u4E24\u7AEF\uFF0C\u4E5F\u4E0D\u662F\u5378\u8F7D\u6216\u6E05\u7406\u6570\u636E\u3002",icon:"offline",className:"connection-panel self-disable-panel self-stop-panel",extra:X.default.createElement(ve,null,"\u9ED8\u8BA4\u4E0D\u505C\u6B62")},X.default.createElement(x,{tone:"warn",title:"\u5148\u4FDD\u5B58\u8349\u7A3F\uFF0C\u786E\u8BA4\u77E5\u9053\u5982\u4F55\u56DE\u6765"},"\u754C\u9762\u4E0E\u8FDE\u63A5\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\uFF0C\u65AD\u5F00\u4E0D\u662F\u505C\u673A\u6210\u529F\u8BC1\u660E\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF1B\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u53EF\u80FD\u91CD\u542F\uFF0C\u4E0D\u80FD\u628A\u7EC4\u4EF6\u7EF4\u62A4\u5F53\u4F5C\u5168\u5C40\u8F93\u5165\u5C4F\u969C\u3002"),X.default.createElement(we,{title:"\u505C\u673A\u4EE5\u540E\uFF0C\u5982\u4F55\u6062\u590D\uFF1F",pose:"tasks",open:!0},X.default.createElement("ol",{className:"self-disable-guide"},X.default.createElement("li",null,"\u4FDD\u5B58\u6240\u6709\u8349\u7A3F\u548C\u672C\u8BF4\u660E\uFF0C\u786E\u8BA4\u5F53\u524D Host \u539F\u6709\u7684\u542F\u52A8\u65B9\u5F0F\u3002\u65E0\u9700\u91CD\u65B0\u5B89\u88C5\u63D2\u4EF6\uFF0C\u4E0D\u5220\u9664\u7528\u6237\u914D\u7F6E\u3002"),X.default.createElement("li",null,"\u9700\u8981\u6062\u590D\u65F6\u53E6\u884C\u786E\u8BA4\u5E76\u6309\u539F\u65B9\u5F0F\u91CD\u65B0\u542F\u52A8\u3002\u6B64\u754C\u9762\u4E0D\u81EA\u52A8\u542F\u52A8\uFF0C\u4E5F\u4E0D\u63A7\u5236\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u3002"),X.default.createElement("li",null,"\u91CD\u5F00\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u505C\u673A\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\u540E\uFF0C\u53E6\u884C\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u56E0\u679C\u3002"),X.default.createElement("li",null,"\u56DE\u5230\u7EC4\u4EF6\u7EF4\u62A4\u533A\uFF0C\u5206\u522B\u786E\u8BA4\u65E7\u8BB0\u5F55\u6536\u5C3E\u4E0E\u6062\u590D\u81EA\u6709\u53D7\u7406\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),X.default.createElement("div",{className:"connection-actions"},g?X.default.createElement("a",{className:"button secondary",href:g,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u505C\u673A\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u505C\u673A\u6062\u590D\u8BF4\u660E"):X.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF0C\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u540E\u518D\u51B3\u5B9A\u3002"))),(!s||r?.stopCapabilityAvailable===!1)&&X.default.createElement(x,{title:"\u5F53\u524D\u53EA\u53EF\u67E5\u8BE2\u4E0E\u6838\u5BF9"},"\u672A\u63D0\u4F9B\u5B98\u65B9\u9000\u51FA\u80FD\u529B\uFF0C\u4E0D\u4F1A\u6539\u7528\u5F3A\u6740\uFF1B\u8BF7\u4F7F\u7528\u539F\u6709\u4EBA\u5DE5\u505C\u673A\u65B9\u5F0F\u3002\u65E7\u8BB0\u5F55\u4ECD\u53EF\u624B\u52A8\u67E5\u8BE2\u3002"),X.default.createElement("section",{"aria-label":"\u672C\u7AEF\u505C\u673A\u5F53\u524D\u89C2\u5BDF"},X.default.createElement(S,{label:"\u8D26\u672C\u89C2\u5BDF",value:r?r.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u505C\u673A\u610F\u56FE":r.receipt?"\u5F53\u524D\u65E0\u672A\u51B3\u505C\u673A\u8BB0\u5F55":"\u5F53\u524D\u6CA1\u6709\u505C\u673A\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),X.default.createElement("p",{className:"fine-print"},c.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(c.observedAt).toLocaleString()+(c.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u505C\u6B62\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),X.default.createElement("div",{className:"connection-actions"},X.default.createElement(_,{kind:"secondary",icon:"reset",disabled:c.busy,onClick:()=>v("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u673A\u8D26\u672C"),o.stop&&X.default.createElement(_,{kind:"soft",onClick:()=>v("stop")},"\u9884\u89C8\u505C\u6B62\u672C\u7AEF Host"),o.review&&X.default.createElement(_,{kind:"soft",onClick:()=>v("review")},"\u9884\u89C8\u505C\u673A\u540E\u6838\u5BF9")),c.storageError&&X.default.createElement(x,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u635F\u574F\uFF0C\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),c.uncertain&&!c.storageError&&X.default.createElement(x,{tone:"warn"},"\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u505C\u6B62\uFF0C\u4E5F\u4E0D\u636E\u6B64\u63A8\u65AD\u539F\u8BF7\u6C42\u6CA1\u6709\u6267\u884C\u3002"),r?.pending&&X.default.createElement(x,{tone:"warn"},"\u539F\u505C\u673A\u7ED3\u679C\u5C1A\u672A\u6838\u5BF9\u3002\u5373\u4F7F\u5F53\u524D\u9875\u9762\u53EF\u6253\u5F00\uFF0C\u4E5F\u4E0D\u80FD\u65AD\u5B9A\u539F\u8FDB\u7A0B\u672A\u9000\u51FA\uFF1B\u81EA\u6709\u4EFB\u52A1\u53D7\u7406\u4ECD\u9700\u72EC\u7ACB\u786E\u8BA4\u6062\u590D\u3002"),d&&X.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u505C\u673A\u8BA1\u5212"},X.default.createElement("h3",null,C?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u505C\u6B62\u672C\u7AEF Host"),X.default.createElement(S,{label:"\u4F5C\u7528\u8303\u56F4",value:C?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u518D\u6B21\u505C\u6B62":"\u5F53\u524D\u6253\u5F00\u6B64\u754C\u9762\u7684 Host \xB7 \u5B98\u65B9\u9000\u51FA"}),!C&&X.default.createElement(S,{label:"\u63D2\u4EF6\u7248\u672C",value:d.version}),X.default.createElement("p",null,C?"\u53EA\u8865\u8BB0\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\uFF1B\u4E0D\u8FFD\u8BA4\u9000\u51FA\u4E00\u5B9A\u7531\u539F\u8BF7\u6C42\u9020\u6210\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u4FDD\u7559\u63D2\u4EF6\u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u961F\u5217\u3001\u6210\u679C\u4E0E\u5907\u4EFD\u3002\u5B98\u65B9\u6709\u754C\u5173\u95ED\u53EF\u80FD\u5F3A\u5236\u7ED3\u675F\u672A\u5B8C\u6210\u7684\u5DE5\u4F5C\uFF1B\u672C\u9875\u4E0D\u81EA\u52A8\u91CD\u542F\uFF0C\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u63D0\u4EA4\u8BF7\u6C42\u3002"),X.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!C&&X.default.createElement(R,{checked:f,onChange:m,disabled:!o.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u8349\u7A3F\u548C\u6062\u590D\u8BF4\u660E\uFF0C\u77E5\u9053\u5982\u4F55\u91CD\u65B0\u542F\u52A8\u6B64 Host"}),X.default.createElement(R,{checked:l,onChange:a,disabled:!o.confirm,title:C?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u539F\u8FDB\u7A0B\u9000\u51FA\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u56E0\u679C":"\u6211\u63A5\u53D7\u6700\u540E\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host",sub:"\u4E0D\u6388\u6743\u5378\u8F7D\u3001\u6E05\u7406\u6570\u636E\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),X.default.createElement("div",{className:"connection-actions"},X.default.createElement(_,{kind:"primary",disabled:!o.confirm||!l||!C&&!f,onClick:()=>v("confirm")},C?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host"),X.default.createElement(_,{kind:"secondary",disabled:c.busy,onClick:()=>{i.current.cancel(),a(!1),m(!1)}},"\u53D6\u6D88\u505C\u673A\u8BA1\u5212"))),L&&X.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u505C\u673A\u5386\u53F2\u56DE\u6267"},X.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",As[L.state]),X.default.createElement("p",null,"\u6B64\u8BB0\u5F55\u4E0D\u8BC1\u660E\u5F53\u524D Host \u5DF2\u505C\u6B62\uFF0C\u4E0D\u4EE3\u8868\u4EFB\u52A1\u5DF2\u6062\u590D\uFF1B\u539F\u751F\u8F93\u5165\u548C\u7B2C\u4E09\u65B9 IM \u4E0D\u53D7\u81EA\u6709\u53D7\u7406\u5C4F\u969C\u63A7\u5236\u3002"),r?.receipt?.id!==L.id&&X.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u8FD9\u91CC\u4FDD\u7559\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),X.default.createElement(S,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(L.updatedAt).toLocaleString()}),X.default.createElement("details",{className:"plan-item"},X.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),X.default.createElement("code",null,L.id))),c.error&&X.default.createElement("p",{className:"connection-error",role:"alert"},ks[c.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF0C\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u3002"," ",X.default.createElement("code",null,c.error)))}function Yr({request:e,disableContract:t=0,removeContract:s=0,stopContract:n=0,allowStop:u=!1}){let[l,a]=(0,ze.useState)(t===1?"disable":s===1?"remove":"stop");return t!==1&&s!==1&&n!==1?null:ze.default.createElement("section",{className:"connection-panel self-lifecycle-panel","aria-label":"\u672C\u7AEF\u7EF4\u62A4"},ze.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u7C7B\u578B"},t===1&&ze.default.createElement(_,{kind:l==="disable"?"soft":"secondary","aria-pressed":l==="disable",onClick:()=>a("disable")},"\u505C\u7528\u63D2\u4EF6"),s===1&&ze.default.createElement(_,{kind:l==="remove"?"soft":"secondary","aria-pressed":l==="remove",onClick:()=>a("remove")},"\u79FB\u9664\u63D2\u4EF6\u5305"),n===1&&ze.default.createElement(_,{kind:l==="stop"?"soft":"secondary","aria-pressed":l==="stop",onClick:()=>a("stop")},"\u505C\u6B62\u672C\u7AEF Host")),ze.default.createElement("p",{className:"fine-print"},"\u505C\u7528\u4FDD\u7559\u5B89\u88C5\u5305\uFF1B\u79FB\u9664\u9700\u53E6\u6709\u53EF\u91CD\u88C5\u5305\u6E90\u3002\u505C\u673A\u662F\u72EC\u7ACB\u52A8\u4F5C\uFF0C\u4E09\u8005\u90FD\u4E0D\u6E05\u7A7A\u6570\u636E\u3002\u5207\u6362\u6216\u5173\u95ED\u4E0D\u4F1A\u64A4\u9500\u5DF2\u63D0\u4EA4\u64CD\u4F5C\u3002"),l==="disable"?ze.default.createElement(Gr,{request:e,contract:t}):l==="remove"?ze.default.createElement(Wr,{request:e,contract:s}):ze.default.createElement(Qr,{request:e,contract:n,allowStop:u}))}var ga=()=>({host:"",user:"",port:"22",sshReference:"",deepseekReference:"",cloudDeepseekReference:"",scope:"both",model:"",extra:!1,tokenPlan:"token-cn",tokenReference:"",cloudTokenReference:"",im:!1,approval:"later",repo:!1,repoUrl:"",repoAlias:"",development:!1}),bs=Object.keys(ga()),ys=e=>typeof e=="string"&&(/\bsk[-_][A-Za-z0-9_-]{6,}|PRIVATE[ -]KEY|\bBearer\s+|(?:api[-_ ]?key|token|password)\s*[:=]\s*\S+/i.test(e)||/[A-Za-z0-9_-]{32,}/.test(e)&&!/^DSH_[A-Z0-9_]+$/.test(e));var ws=(e,t=200)=>typeof e=="string"&&e.length<=t&&!/[\u0000-\u001f\u007f]/u.test(e),rt=e=>!/^sk[-_]/i.test(e)&&/^[A-Za-z_][A-Za-z0-9_.:-]{0,127}$/.test(e);function Os(e){try{let t=new URL(e.startsWith("gitee.com/")?"https://"+e:e);return t.protocol==="https:"&&t.hostname==="gitee.com"&&!t.port&&!t.username&&!t.password&&!t.search&&!t.hash&&/^\/[A-Za-z0-9_-]+\/[A-Za-z0-9_.-]+(?:\.git)?\/?$/.test(t.pathname)&&!t.pathname.split("/").some(s=>s==="."||s==="..")?t.href:null}catch{return null}}function xo(e){if(!e||typeof e!="object"||Array.isArray(e)||Object.keys(e).some(l=>!bs.includes(l)))throw Error("ONBOARDING_INVALID_DRAFT");let t={...ga(),...e},s=[],n=(l,a,f)=>s.push({page:l,field:a,message:f});for(let[l,a]of Object.entries(t))if(typeof ga()[l]=="boolean"?typeof a!="boolean":!ws(a,l==="repoUrl"?500:200))throw Error("ONBOARDING_INVALID_DRAFT");for(let[l,a]of Object.entries(t))(ys(a)||l==="repoUrl"&&/[?#@]/.test(a))&&n(["host","user","port","sshReference"].includes(l)?0:["im","approval"].includes(l)?2:["repo","repoUrl","repoAlias","development"].includes(l)?3:1,l,"\u6B64\u5B57\u6BB5\u7591\u4F3C\u5BC6\u94A5\u6216\u8FC7\u957F\u6807\u8BC6\uFF0C\u8BF7\u6539\u7528\u7B80\u77ED\u5F15\u7528\uFF1BKey \u8BF7\u4F7F\u7528\u72EC\u7ACB\u51ED\u636E\u5165\u53E3\u3002");let u=t.host.trim();return(!u||u.length>253||!u.split(".").every(l=>/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/.test(l))||/^\d+(?:\.\d+){3}$/.test(u)&&u.split(".").some(l=>+l>255))&&n(0,"host","\u586B\u5199 ECS \u4E3B\u673A\u540D\u6216\u6709\u6548 IPv4 \u5730\u5740\uFF0C\u4E0D\u5305\u542B\u534F\u8BAE\u3001\u7AEF\u53E3\u6216\u547D\u4EE4\u3002"),/^[A-Za-z_][A-Za-z0-9_-]{0,63}$/.test(t.user)||n(0,"user","\u586B\u5199 SSH \u767B\u5F55\u7528\u6237\u540D\u3002\u5B83\u4E0D\u7B49\u4E8E\u4E91\u7AEF DSH \u670D\u52A1\u8D26\u53F7\u3002"),(!/^\d{1,5}$/.test(t.port)||+t.port<1||+t.port>65535)&&n(0,"port","SSH \u7AEF\u53E3\u5FC5\u987B\u662F 1\u201365535 \u7684\u6574\u6570\u3002"),rt(t.sshReference)||n(0,"sshReference","\u586B\u5199\u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF1B\u4E0D\u8981\u7C98\u8D34\u79C1\u94A5\u6216\u5BC6\u7801\u3002"),rt(t.deepseekReference)||n(1,"deepseekReference","\u586B\u5199 DeepSeek \u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002"),["both","separate"].includes(t.scope)||n(1,"scope","\u9009\u62E9\u51ED\u636E\u7528\u9014\u3002"),t.scope==="separate"&&!rt(t.cloudDeepseekReference)&&n(1,"cloudDeepseekReference","\u5206\u5F00\u914D\u7F6E\u65F6\u5FC5\u987B\u63D0\u4F9B\u4E91\u7AEF\u51ED\u636E\u5F15\u7528\u3002"),t.model.trim()||n(1,"model","\u586B\u5199\u6A21\u578B\u540D\u79F0\u6216\u7B80\u79F0\uFF0C\u540E\u7EED\u6309\u76EE\u6807\u7AEF\u6E05\u5355\u89E3\u6790\u3002"),t.extra&&(t.tokenPlan!=="token-cn"&&n(1,"tokenPlan","\u9009\u62E9\u652F\u6301\u7684\u5957\u9910\u3002"),!t.tokenReference&&!t.cloudTokenReference&&n(1,"tokenReference","\u542F\u7528 Token Plan \u540E\u81F3\u5C11\u586B\u5199\u672C\u7AEF\u6216\u4E91\u7AEF\u4E00\u7AEF\u7684\u51ED\u636E\u5F15\u7528\uFF1B\u4E0D\u8981\u6C42\u4E24\u7AEF\u540C\u65F6\u63A5\u5165\u3002"),t.tokenReference&&!rt(t.tokenReference)&&n(1,"tokenReference","\u586B\u5199\u672C\u7AEF Token Plan \u51ED\u636E\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002")),t.cloudTokenReference&&!rt(t.cloudTokenReference)&&n(1,"cloudTokenReference","\u586B\u5199\u4E91\u7AEF Token Plan \u7684\u72EC\u7ACB\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\uFF1B\u7559\u7A7A\u53EF\u8DF3\u8FC7\u4E91\u7AEF\u53EF\u9009\u63A5\u5165\u3002"),(!["later","chat","web"].includes(t.approval)||t.approval==="chat"&&!t.im)&&n(2,"approval","\u53EF\u4FE1\u804A\u5929\u786E\u8BA4\u9700\u8981\u5148\u9009\u62E9\u804A\u5929\u5165\u53E3\uFF0C\u6216\u9009\u62E9\u4EE5\u540E\u914D\u7F6E\u3002"),t.repo&&!Os(t.repoUrl)&&n(3,"repoUrl","\u542F\u7528\u540E\u586B\u5199 https://gitee.com/\u62E5\u6709\u8005/\u4ED3\u5E93\uFF1B\u4E0D\u8981\u5305\u542B\u4EE4\u724C\u3001\u5206\u652F\u6216\u6587\u4EF6\u8DEF\u5F84\u3002"),t.development&&!t.repo&&n(3,"development","\u51C6\u5907\u5F00\u53D1\u73AF\u5883\u9700\u8981\u5148\u9009\u62E9\u4EFB\u52A1\u4ED3\u5E93\uFF1B\u4E0D\u4F1A\u5F00\u653E\u5B9E\u9645\u5199\u5165\u3002"),{contract:1,valid:!s.length,errors:s,pageValid:[0,1,2,3].map(l=>!s.some(a=>a.page===l)),authorization:!1,validation:"format_only"}}var Ot=["\u8FDE\u63A5\u4E91\u7AEF","\u6A21\u578B\u670D\u52A1","\u804A\u5929\u5165\u53E3","\u6210\u679C\u4E0E\u4ED3\u5E93","\u786E\u8BA4\u5B89\u88C5\u65B9\u6848","\u81EA\u52A8\u914D\u7F6E\u4E0E\u9A8C\u6536"],Ds=["\u4F7F\u7528\u5DF2\u6709 ECS\u3002\u5148\u586B\u5199\u8FDE\u63A5\u610F\u5411\uFF0C\u53EA\u8BFB\u68C0\u6D4B\u5F53\u524D Host\uFF1B\u672C\u671F\u4E0D\u8FDE\u63A5\u8FDC\u7AEF\u3002","\u4EE5 DeepSeek \u5B98\u65B9 API \u4E3A\u57FA\u7840\uFF1B\u666E\u901A\u5B57\u6BB5\u53EA\u586B\u5F15\u7528\uFF1BKey \u4F7F\u7528\u72EC\u7ACB\u4FDD\u5B58\u5165\u53E3\u3002","\u53EA\u914D\u7F6E\u6D88\u606F\u63A5\u5165\uFF0C\u4EFB\u52A1\u6743\u9650\u4E0D\u4E0E IM \u6743\u9650\u7ED1\u5B9A\u3002\u672C\u9875\u53EF\u4EE5\u8DF3\u8FC7\u3002","\u7814\u7A76\u62A5\u544A\u4E0D\u5FC5\u8FDB\u5165\u4ED3\u5E93\uFF1B\u5F00\u53D1\u6210\u679C\u53EF\u4EE5\u6309\u9700\u5173\u8054 Gitee\u3002","\u5F53\u524D\u53EA\u662F\u672A\u5E94\u7528\u7684\u914D\u7F6E\u8349\u6848\uFF0C\u4E0D\u662F\u53EF\u6267\u884C\u7684\u5B89\u88C5\u6388\u6743\u3002","\u771F\u5B9E ECS \u521D\u59CB\u5316\u5C1A\u672A\u5F00\u653E\uFF0C\u4E0D\u4F1A\u6A21\u62DF\u6210\u529F\u6216\u540E\u53F0\u6267\u884C\u3002"],Es=["cloud","model","welcome","repository","tasks","model"],Ps={legacy_section_requires_manifest:"\u65E7\u7248\u6258\u7BA1\u533A \xB7 \u9700\u6838\u5BF9\u5347\u7EA7\u6E05\u5355",missing:"\u4E0D\u5B58\u5728 \xB7 \u672A\u6765\u53EF\u7533\u8BF7\u521B\u5EFA",existing_user_rules:"\u5DF2\u6709\u7528\u6237\u89C4\u5219 \xB7 \u672A\u6765\u4EC5\u8FFD\u52A0",symlink_review:"\u7B26\u53F7\u94FE\u63A5 \xB7 \u963B\u6B62\u5B89\u88C5",owned_block_requires_manifest:"\u5DF2\u6709\u53D7\u7BA1\u533A \xB7 \u9700\u6838\u5BF9\u5F52\u5C5E\u6E05\u5355",marker_conflict:"\u6807\u8BB0\u51B2\u7A81 \xB7 \u963B\u6B62\u5B89\u88C5",read_only:"\u53EA\u8BFB \xB7 \u963B\u6B62\u5B89\u88C5",unreadable:"\u65E0\u6CD5\u8BFB\u53D6 \xB7 \u5F85\u6838\u5BF9",encoding_review:"\u7F16\u7801\u5F85\u6838\u5BF9",changed_during_read:"\u8BFB\u53D6\u671F\u95F4\u53D1\u751F\u53D8\u5316",unsupported_file:"\u6587\u4EF6\u7C7B\u578B\u6216\u5927\u5C0F\u4E0D\u652F\u6301",not_directory:"\u7236\u7EA7\u4E0D\u662F\u76EE\u5F55"};function Bs({request:e,appearance:t,onExit:s,imClient:n,onManageIm:u,onManageCloudIm:l,cloudWebEntry:a=!1,installationEnabled:f=!1,maintenanceContract:m=0,maintenanceMutation:p=!1,maintenanceSessionContract:i=0,selfDisableContract:c=0,selfRemoveContract:o=0,selfStopContract:r=0,selfStopMutation:d=!1,imMaintenanceContract:L=0,imMaintenanceMutation:C=!1,persistenceEnabled:h=!1,cloudEnabled:g=!1,sourcePreparation:v=!1,nativeHostInstallation:N=!1,modelBinding:T=!1,tokenPlanBinding:w=!1,cloudCredentialHandoff:P=!1,cloudModelBinding:D=!1,cloudTokenPlanHandoff:O=!1,cloudTokenPlanBinding:W=!1,cloudImInventory:J=!1,notificationDefaults:H=!1,existingPairInspection:Ie=!1,onReuse:fe,optionalImInstallation:Ke=!1,repositoryCheck:Qe=!1,cloudRepositoryCheck:Ee=!1,cloudGiteeHandoff:Ae=!1,repositoryRegistry:le=!1,cloudRepositoryRegistry:Oe=!1,taskRuntime:Te=!1,cloudTaskRuntime:qe=!1,localPeerBinding:Pe=!1,cloudFileMigration:lt=!1,managedFileMigration:st=!1,cloudFileQueueReview:na=!1,managedFileQueueReview:Dt=!1,cloudFileTransfer:ia=!1,managedFileTransfer:nt=!1}){let[j,ua]=(0,I.useState)(ga),[re,be]=(0,I.useState)(0),[Me,Ze]=(0,I.useState)([]),[Fe,da]=(0,I.useState)([]),[$e,Ye]=(0,I.useState)(null),[ye,Ca]=(0,I.useState)(null),[Be,Ve]=(0,I.useState)(!1),[_a,Ue]=(0,I.useState)(""),[se,xe]=(0,I.useState)(null),[ra,No]=(0,I.useState)(!1),[Et,it]=(0,I.useState)(!1),[la,va]=(0,I.useState)({ready:!h,revision:0,message:"",failed:!1}),fa=(0,I.useRef)(!1);(0,I.useEffect)(()=>{if(!h)return;let B=!0;return e("draft_load",{}).then(ue=>{B&&(ua(ue.draft),be(ue.page),Ze(ue.handled),da(ue.skipped),va({ready:!0,revision:ue.revision,message:ue.revision?"\u5DF2\u6062\u590D\u586B\u5199\u8349\u7A3F\uFF1B\u73AF\u5883\u9700\u91CD\u65B0\u68C0\u6D4B\uFF0C\u5DF2\u6709\u5B89\u88C5\u8BF7\u624B\u52A8\u6838\u5BF9\u56DE\u6267\u3002":"\u5C1A\u65E0\u8349\u7A3F\uFF1B\u70B9\u51FB\u4FDD\u5B58\u6216\u7EE7\u7EED\u540E\u6301\u4E45\u5316\u3002",failed:!1}))}).catch(()=>{B&&va({ready:!1,revision:0,message:"\u8349\u7A3F\u8BFB\u53D6\u5931\u8D25\uFF1B\u4E3A\u907F\u514D\u8986\u76D6\uFF0C\u4E0D\u63A5\u53D7\u4FDD\u5B58\u3002\u8BF7\u5173\u95ED\u5E76\u91CD\u65B0\u8FDB\u5165\u6838\u5BF9\u3002",failed:!0})}),()=>{B=!1}},[h]);async function Pt(B={draft:j,page:re,handled:Me,skipped:Fe}){if(!h)return!0;if(!la.ready||fa.current)return!1;fa.current=!0,Ve(!0),Ue("");try{let ue=await e("draft_save",{expectedRevision:la.revision,operation:crypto.randomUUID(),content:B});return We.current?(va({ready:!0,revision:ue.revision,message:"\u8349\u7A3F\u5DF2\u4FDD\u5B58\uFF1B\u4FDD\u5B58\u672C\u8EAB\u4E0D\u6388\u6743\u6267\u884C\uFF0C\u5B89\u88C5\u72B6\u6001\u4EE5\u5404\u9879\u56DE\u6267\u4E3A\u51C6\u3002",failed:!1}),!0):!1}catch{return We.current&&(Ue("\u8349\u7A3F\u672A\u786E\u8BA4\u4FDD\u5B58\uFF1A\u53EF\u80FD\u6709\u5E76\u53D1\u4FEE\u6539\u3001\u8BEF\u586B\u5BC6\u94A5\u6216\u8BF7\u6C42\u4E2D\u65AD\u3002\u8BF7\u6838\u5BF9\u5F53\u524D\u8F93\u5165\uFF1B\u4E0D\u8981\u8986\u76D6\u5176\u4ED6\u9875\u9762\u7684\u65B0\u7248\u672C\u3002"),va(ue=>({...ue,message:"\u4FDD\u5B58\u7ED3\u679C\u9700\u6838\u5BF9",failed:!0}))),!1}finally{fa.current=!1,We.current&&Ve(!1)}}let Re=(0,I.useRef)(0),We=(0,I.useRef)(!0),Ao=(0,I.useRef)();(0,I.useEffect)(()=>(We.current=!0,t?.().then(B=>{We.current&&xe(B.mascot)}).catch(()=>{}),()=>{We.current=!1,Re.current++}),[]),(0,I.useEffect)(()=>{Ao.current?.focus({preventScroll:!0})},[re]);let Sa=(B,ue)=>Ye({title:B,body:ue}),De=(B,ue)=>{fa.current||(Re.current++,Ve(!1),Ue(""),ua(He=>({...He,[B]:ue,...B==="im"&&!ue?{approval:"later"}:{},...B==="repo"&&!ue?{development:!1}:{}})),Ze(He=>He.filter(xa=>xa<re)),da(He=>He.filter(xa=>xa<re)),it(!1))},Xe=(B,ue,He={})=>I.default.createElement(Se,{label:B,value:j[ue],onChange:xa=>De(ue,xa.target.value),...He}),ko=xo(j),Bt=ko.errors.filter(B=>B.page===re),Tt=ye&&Date.now()<ye.expiresAt,bo=re<4?ko.pageValid[re]&&(re!==0||Tt):re===4&&Et;async function Zr(){let B=++Re.current;Ve(!0),Ue(""),Ca(null);try{let ue=await e("detect",{});We.current&&B===Re.current&&Ca(ue)}catch{We.current&&B===Re.current&&Ue("\u672C\u6B21\u68C0\u6D4B\u5931\u8D25\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u6210\u529F\u8BB0\u5F55\uFF0C\u4E5F\u6CA1\u6709\u5199\u5165\u4EFB\u4F55\u914D\u7F6E\u3002")}finally{We.current&&B===Re.current&&Ve(!1)}}async function Jr(){if(!bo||Be)return;let B=++Re.current;Ve(!0),Ue("");try{let ue=await e("validate",{draft:j});if(!We.current||B!==Re.current)return;if(re<4&&!ue.pageValid[re]||re===0&&!(ye&&Date.now()<ye.expiresAt)){Ue("\u5B57\u6BB5\u6216\u73AF\u5883\u5FEB\u7167\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u3002");return}let He=[...new Set([...Me,re])];if(!await Pt({draft:j,page:re+1,handled:He,skipped:Fe}))return;Ze(He),be(re+1)}catch{We.current&&B===Re.current&&Ue("\u670D\u52A1\u7AEF\u6821\u9A8C\u672A\u5B8C\u6210\uFF0C\u4FDD\u6301\u5F53\u524D\u9875\uFF1B\u4E0D\u5411\u540E\u63A8\u8FDB\u3002")}finally{We.current&&B===Re.current&&Ve(!1)}}async function jr(){if(Be||fa.current)return;let B={...j,...re===2?{im:!1,approval:"later"}:{repo:!1,repoUrl:"",repoAlias:"",development:!1}},ue=[...new Set([...Me,re])],He=[...new Set([...Fe,re])];await Pt({draft:B,page:re+1,handled:ue,skipped:He})&&(Re.current++,ua(B),Ze(ue),da(He),it(!1),be(re+1))}let yo=B=>{fa.current||(Re.current++,Ve(!1),Ue(""),be(B))},Mt=ye?.paths,el=()=>ye?I.default.createElement(I.default.Fragment,null,I.default.createElement(S,{label:"\u5F53\u524D Host",value:ye.role==="cloud"?"\u4E91\u7AEF\u8FDB\u7A0B":ye.role==="local"?"\u672C\u5730\u8FDB\u7A0B":"\u5C1A\u672A\u5206\u914D\u53CC\u7AEF\u89D2\u8272"}),I.default.createElement(S,{label:"\u7CFB\u7EDF / Node",value:ye.platform+" / "+ye.nodeVersion}),I.default.createElement(S,{label:"\u68C0\u6D4B\u65F6\u95F4",value:new Date(ye.observedAt).toLocaleString()}),I.default.createElement("p",{className:"fine-print"},Tt?"\u8FD1\u671F\u89C2\u5BDF\uFF0C\u4E0D\u4EE3\u8868\u5B89\u88C5\u6388\u6743":"\u5386\u53F2\u89C2\u5BDF\uFF0C\u8BF7\u624B\u52A8\u91CD\u65B0\u68C0\u6D4B"," \xB7 \u4E0D\u8F6E\u8BE2\u3001\u4E0D\u6267\u884C\u547D\u4EE4"),I.default.createElement("div",{className:"path-line"},I.default.createElement("span",null,"\u672C\u7AEF DSH \u5019\u9009\u6839"),I.default.createElement("code",null,Mt.dsh.path)),I.default.createElement("div",{className:"path-line"},I.default.createElement("span",null,"\u672C\u7AEF\u5171\u4EAB Agents \u5019\u9009\u6839"),I.default.createElement("code",null,Mt.agents.path)),I.default.createElement(x,null,Mt.warning),I.default.createElement(S,{label:"SSH / Git / \u963F\u91CC CLI",value:Object.entries(ye.commands).map(([B,ue])=>B+": "+(ue.state==="present_unexecuted"?"\u53D1\u73B0\u6587\u4EF6\uFF0C\u672A\u6267\u884C":"\u672A\u89C2\u5BDF\u5230")).join("\uFF1B")}),I.default.createElement("p",{className:"fine-print"},"\u672A\u53D1\u73B0\u4E0D\u7B49\u4E8E\u672A\u5B89\u88C5\u3002\u547D\u4EE4\u53EF\u7528\u6027\u3001\u7248\u672C\u4E0E\u4E91\u7AEF\u670D\u52A1\u8D26\u53F7\u5747\u672A\u786E\u8BA4\uFF1B\u963F\u91CC CLI \u4E3A\u53EF\u9009\u3002")):I.default.createElement("p",null,"\u5C1A\u672A\u68C0\u6D4B\u3002\u4E0D\u4F1A\u8BFB\u53D6\u4F60\u586B\u5199\u7684\u8FDC\u7AEF\u5730\u5740\uFF0C\u4E5F\u4E0D\u4F1A\u6839\u636E SSH \u7528\u6237\u540D\u731C\u6D4B\u4E91\u7AEF\u8DEF\u5F84\u3002"),al=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},Ie&&I.default.createElement(ja,{request:e}),I.default.createElement(V,{title:"\u4E91\u7AEF\u8FDE\u63A5",sub:"\u6B64\u5904\u4EC5\u586B\u5199\u8FDE\u63A5\u610F\u5411\uFF1B\u5B9E\u9645\u767B\u5F55\u9700\u5728\u4E0B\u65B9\u5355\u72EC\u9884\u68C0\uFF0C\u4E0D\u521B\u5EFA\u4E91\u8D44\u6E90\u3002",icon:"cloud"},I.default.createElement("div",{className:"form-grid"},Xe("ECS \u5730\u5740","host",{placeholder:"\u4E3B\u673A\u540D\u6216 IPv4"}),Xe("SSH \u767B\u5F55\u7528\u6237","user"),Xe("SSH \u7AEF\u53E3","port",{inputMode:"numeric"}),Xe("SSH \u51ED\u636E\u5F15\u7528","sshReference",{placeholder:"ecs-login",autoComplete:"off"})),I.default.createElement(x,null,"\u666E\u901A\u5B57\u6BB5\u4E0D\u63A5\u6536 SSH \u79C1\u94A5\u6216\u5BC6\u7801\u3002\u5730\u5740\u683C\u5F0F\u6B63\u786E\u4E0D\u7B49\u4E8E\u4E91\u7AEF\u53EF\u7528\uFF1B\u8FDE\u63A5\u5FC5\u987B\u901A\u8FC7\u72EC\u7ACB\u9884\u68C0\u3002")),g&&I.default.createElement(Yo,{request:e,target:{host:j.host,user:j.user,port:j.port},onReference:B=>De("sshReference",B)}),I.default.createElement(V,{title:"\u672C\u7AEF\u73AF\u5883\u4E0E\u8DEF\u5F84",sub:"\u624B\u52A8\u53EA\u8BFB\u68C0\u6D4B\uFF1B\u53EA\u770B\u5F53\u524D Host\uFF0C\u4E0D\u66FF\u4EE3\u4E91\u7AEF\u9A8C\u6536\u3002",icon:"folder"},el(),I.default.createElement("div",{className:"form-actions"},I.default.createElement(_,{kind:"soft",icon:Be?"spinner":"search",onClick:Zr,disabled:Be},Be?"\u6B63\u5728\u68C0\u6D4B\u2026":"\u53EA\u8BFB\u68C0\u6D4B\u672C\u7AEF\u73AF\u5883"),I.default.createElement(ve,null,"\u96F6\u547D\u4EE4\u6267\u884C")))),I.default.createElement(we,{pose:"cloud",title:"\u672C\u5730\u4EA4\u529E\uFF0C\u4E91\u7AEF\u63A5\u529B\u3002"},I.default.createElement("p",null,"SSH / \u81EA\u6709\u534F\u8BAE\u8D1F\u8D23\u901A\u4FE1\uFF1BGitee \u4E0D\u662F\u6D88\u606F\u603B\u7EBF\u3002\u4E91\u7AEF\u8DEF\u5F84\u5FC5\u987B\u7531\u4E91\u7AEF\u5B9E\u9645\u670D\u52A1\u8FDB\u7A0B\u68C0\u6D4B\u3002"))),tl=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},h&&I.default.createElement(ao,{request:e,onReference:(B,ue)=>{B==="deepseek-local"&&De("deepseekReference",ue),B==="deepseek-cloud"&&(De("scope","separate"),De("cloudDeepseekReference",ue)),B==="token-plan"&&(De("extra",!0),De("tokenReference",ue)),B==="token-plan-cloud"&&(De("extra",!0),De("cloudTokenReference",ue))}}),I.default.createElement(V,{title:"DeepSeek \u5B98\u65B9 API",icon:"key",sub:"\u53EA\u8BB0\u5F55\u5F15\u7528\u540D\uFF0C\u4E0D\u7C98\u8D34 Key\u3002"},Xe("DeepSeek \u51ED\u636E\u5F15\u7528","deepseekReference",{placeholder:"DEEPSEEK_API_KEY",autoComplete:"off"}),I.default.createElement("div",{className:"form-grid"},I.default.createElement(Se,{label:"\u51ED\u636E\u7528\u9014"},I.default.createElement("select",{value:j.scope,onChange:B=>De("scope",B.target.value)},I.default.createElement("option",{value:"both"},"\u4E24\u7AEF\u5171\u7528\u6307\u5B9A\u51ED\u636E \xB7 \u4EC5\u610F\u5411"),I.default.createElement("option",{value:"separate"},"\u4E91\u7AEF\u4F7F\u7528\u72EC\u7ACB\u51ED\u636E"))),Xe("\u521D\u59CB\u4EFB\u52A1\u6A21\u578B","model",{placeholder:"\u4F8B\u5982 ds flash"})),j.scope==="separate"&&Xe("\u4E91\u7AEF\u72EC\u7ACB\u51ED\u636E\u5F15\u7528","cloudDeepseekReference",{autoComplete:"off"}),I.default.createElement(S,{label:"\u4E91\u7AEF\u601D\u8003\u5F3A\u5EA6",value:"High \xB7 \u4E0D\u652F\u6301\u65F6\u660E\u786E\u63D0\u793A"}),I.default.createElement(x,null,"\u672A\u8C03\u7528\u6A21\u578B\u3001\u672A\u8BFB\u53D6\u73AF\u5883\u53D8\u91CF\u7684\u503C\uFF1B\u51ED\u636E\u4FDD\u5B58\u72B6\u6001\u53EF\u5355\u72EC\u6838\u5BF9\uFF1B\u672C\u7AEF\u63A5\u5165\u89C1\u4E0B\u65B9\uFF0C\u771F\u5B9E\u8BF7\u6C42\u4E0E\u4E91\u7AEF\u63A5\u7EBF\u9700\u53E6\u884C\u9A8C\u6536\u3002\u672C\u6B21\u9009\u62E9\u4E0D\u4F1A\u9501\u5B9A\u6240\u6709\u4EFB\u52A1\u7684\u6A21\u578B\u3002")),T&&I.default.createElement(at,{request:e,query:j.model}),I.default.createElement(V,{title:"\u5176\u4ED6\u6A21\u578B\u670D\u52A1",icon:"plus",extra:I.default.createElement(Lt,{label:"\u542F\u7528\u963F\u91CC\u4E91 Token Plan",checked:j.extra,onChange:B=>De("extra",B)})},I.default.createElement("p",null,"\u4E0D\u542F\u7528\u4E0D\u5F71\u54CD DeepSeek \u57FA\u7840\u65B9\u6848\u3002\u542F\u7528\u540E\u672C\u7AEF\u3001\u4E91\u7AEF\u81F3\u5C11\u586B\u5199\u4E00\u7AEF\u7684\u5F15\u7528\uFF0C\u4E0D\u8981\u6C42\u4E24\u7AEF\u540C\u65F6\u63A5\u5165\u3002"),j.extra&&I.default.createElement("div",{className:"form-grid"},I.default.createElement(Se,{label:"\u63A5\u5165\u5957\u9910"},I.default.createElement("select",{value:j.tokenPlan,onChange:B=>De("tokenPlan",B.target.value)},I.default.createElement("option",{value:""},"\u8BF7\u9009\u62E9"),I.default.createElement("option",{value:"token-cn"},"Token Plan \xB7 \u4E2D\u56FD\u5185\u5730"))),Xe("Token Plan \u51ED\u636E\u5F15\u7528","tokenReference",{autoComplete:"off"}),Xe("\u4E91\u7AEF Token Plan \u51ED\u636E\u5F15\u7528","cloudTokenReference",{autoComplete:"off"})),I.default.createElement(x,null,"\u6B64\u5F00\u5173\u53EA\u63A7\u5236\u53EF\u9009\u8868\u5355\uFF0C\u4E0D\u4EE3\u8868\u542F\u7528\u6216\u505C\u7528\u3002\u63A5\u5165\u72B6\u6001\u4E0E\u505C\u7528\u64CD\u4F5C\u89C1\u4E0B\u65B9\uFF1B\u5173\u95ED\u8868\u5355\u4E0D\u4F1A\u64A4\u9500\u5DF2\u786E\u8BA4\u7684\u63A5\u5165\u3002\u672C\u7AEF\u4E0E\u4E91\u7AEF\u5206\u522B\u786E\u8BA4\uFF1B\u4E91\u7AEF\u4E13\u7528 Key \u8BF7\u4FDD\u5B58\u5230\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\uFF0C\u5E76\u5728\u7B2C 6 \u9875\u5355\u72EC\u4EA4\u63A5\u548C\u63A5\u5165\u3002")),w&&I.default.createElement(at,{request:e,query:j.model,service:"token-plan"})),I.default.createElement(we,{pose:"model",title:"\u6A21\u578B\u7531\u4F60\u9009\u62E9\u3002"},I.default.createElement("p",null,"\u4EE5\u76EE\u6807\u7AEF\u5B9E\u9645\u914D\u7F6E\u4E3A\u51C6\uFF0C\u552F\u4E00\u5339\u914D\u518D\u89E3\u6790\uFF0C\u6709\u6B67\u4E49\u65F6\u7528\u81EA\u7136\u8BED\u8A00\u8BE2\u95EE\u3002\u4E0D\u5F3A\u5236\u8F93\u5165 provider\u3002"))),ol=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u804A\u5929\u5165\u53E3",icon:"chat",extra:I.default.createElement(Lt,{label:"\u9700\u8981\u804A\u5929\u5165\u53E3",checked:j.im,onChange:B=>De("im",B)})},I.default.createElement("p",null,j.im?"\u5728\u4E0B\u65B9\u6838\u5BF9\u5F53\u524D Host\uFF0C\u6216\u6253\u5F00\u539F\u751F IM \u7BA1\u7406\u3002":"\u672C\u9875\u53EF\u8DF3\u8FC7\uFF1B\u4E0D\u4F1A\u505C\u7528\u5DF2\u6709\u673A\u5668\u4EBA\uFF0C\u4ECD\u53EF\u4F7F\u7528 Desktop\u3002"),I.default.createElement(x,null,"\u5F00\u5173\u53EA\u4FDD\u5B58\u914D\u7F6E\u610F\u5411\uFF1B\u4E0D\u4F1A\u7ED1\u5B9A\u3001\u8FDE\u63A5\u3001\u505C\u7528\u673A\u5668\u4EBA\u6216\u8F6C\u4EA4\u51ED\u636E\u3002")),j.im&&I.default.createElement(oo,{request:e,imClient:n,onManage:u}),j.im&&J&&I.default.createElement(oo,{request:e,cloud:!0,cloudWebEntry:a,onManageCloud:l}),j.im&&H&&I.default.createElement(ht,{request:e}),I.default.createElement(V,{title:"\u6D88\u606F\u4E0E\u4EFB\u52A1\u5206\u5F00",icon:"shield"},I.default.createElement("p",null,"\u673A\u5668\u4EBA\u6240\u6709\u8005\u548C\u767D\u540D\u5355\u63A7\u5236\u6D88\u606F\u80FD\u5426\u8FDB\u5165\u539F\u751F\u4F1A\u8BDD\uFF1B\u4E0D\u51B3\u5B9A\u5927\u80A5\u9C7C\u4EFB\u52A1\u7684\u5DE5\u5177\u6743\u9650\u3002\u65B0\u4EFB\u52A1\u6309\u660E\u786E\u76EE\u6807\u5728\u4E91\u7AEF\u81EA\u4E3B\u6267\u884C\u3002"))),I.default.createElement(we,{pose:"welcome",title:"\u4F60\u8BF4\u201C\u5148\u7B49\u7B49\u201D\uFF0C\u5979\u5C31\u4F1A\u505C\u4E0B\u6765\u3002"},I.default.createElement("p",null,"\u8865\u5145\u9700\u6C42\u6CBF\u539F\u4EFB\u52A1\u8DDF\u8FDB\uFF1B\u6D88\u606F\u5165\u53E3\u914D\u7F6E\u4E0D\u4F1A\u66FF\u4EE3\u4EFB\u52A1\u8981\u6C42\u3002"))),rl=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93",icon:"git",extra:I.default.createElement(Lt,{label:"\u5173\u8054 Gitee \u4EFB\u52A1\u4ED3\u5E93",checked:j.repo,onChange:B=>De("repo",B)})},j.repo?I.default.createElement(I.default.Fragment,null,I.default.createElement("div",{className:"form-grid"},Xe("Gitee \u4ED3\u5E93\u5730\u5740","repoUrl",{placeholder:"https://gitee.com/team/repo"}),Xe("\u4ED3\u5E93\u522B\u540D","repoAlias",{placeholder:"\u9009\u586B"})),I.default.createElement(x,null,"\u4FDD\u5B58\u53EA\u68C0\u67E5\u683C\u5F0F\uFF1B\u4E0B\u65B9\u5206\u522B\u6838\u9A8C\u672C\u7AEF\u548C\u4E91\u7AEF\u8BFB\u53D6\u6743\u9650\u3002\u6240\u6709\u4ED3\u5E93\u64CD\u4F5C\u901A\u8FC7 Git CLI / SSH / API\uFF0C\u4E0D\u4F9D\u8D56\u6D4F\u89C8\u5668\uFF0C\u4E0D\u590D\u5236\u672C\u673A\u79C1\u94A5\u3002")):I.default.createElement("div",{className:"empty-option"},I.default.createElement(ke,{name:"file"}),I.default.createElement("h3",null,"\u4E0D\u5173\u8054\u4ED3\u5E93\uFF0C\u4E5F\u80FD\u4EA4\u4ED8\u6210\u679C\u3002"),I.default.createElement("p",null,"\u4FDD\u7559\u6210\u679C\u4ECB\u7ECD\u4E0E\u6587\u4EF6\u4E0B\u8F7D\u5165\u53E3\u3002"))),j.repo&&h&&I.default.createElement(ao,{request:e,category:"repository"}),j.repo&&Qe&&I.default.createElement(Nt,{request:e,url:j.repoUrl})," ",j.repo&&Ee&&I.default.createElement(Nt,{request:e,url:j.repoUrl,cloud:!0}),j.repo&&le&&I.default.createElement(At,{request:e,url:j.repoUrl,alias:j.repoAlias}),j.repo&&Oe&&I.default.createElement(At,{request:e,url:j.repoUrl,alias:j.repoAlias,cloud:!0}),I.default.createElement(V,{title:"\u5F00\u53D1\u80FD\u529B\u51C6\u5907",icon:"terminal"},I.default.createElement(R,{checked:j.development,disabled:!j.repo,onChange:B=>De("development",B),title:"\u4E3A\u4E91\u7AEF\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u73AF\u5883",sub:"\u4EC5\u610F\u5411\uFF0C\u672C\u671F\u4E0D\u5B89\u88C5\u3002\u5B9E\u9645\u64CD\u4F5C\u9075\u5FAA\u4EFB\u52A1\u4E2D\u7684\u660E\u786E\u4EA4\u4ED8\u8981\u6C42\u3002"}))),I.default.createElement(we,{pose:"repository",title:"\u6210\u679C\u6709\u5165\u53E3\uFF0C\u4ED3\u5E93\u662F\u53EF\u9009\u9879\u3002"},I.default.createElement("p",null,j.repo?"\u540E\u7EED\u6838\u9A8C\u540E\u63D0\u4F9B\u6210\u679C\u4ECB\u7ECD\u4E0E Gitee \u56FA\u5B9A\u7248\u672C\u5165\u53E3\u3002":"\u975E\u4ED3\u5E93\u4EFB\u52A1\u4FDD\u7559\u6210\u679C\u4ECB\u7ECD\u4E0E\u6587\u4EF6\u4E0B\u8F7D\u3002"),I.default.createElement(S,{label:"\u4EFB\u52A1\u4ED3\u5E93",value:"\u7528\u6237\u81EA\u5DF1\u7684 B \u4ED3\u5E93"}))),ll=I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u5168\u5C40\u89C4\u5219\u4E0E\u8DEF\u5F84\u4FDD\u62A4",icon:"file",sub:"\u4EE5\u4E0B\u5747\u662F\u53EA\u8BFB\u89C2\u5BDF\uFF0C\u4E0D\u662F\u6700\u7EC8\u5B89\u88C5\u8DEF\u5F84\u3002"},(ye?.rules??[]).map(B=>I.default.createElement("div",{className:"plan-item",key:B.path},I.default.createElement("code",null,B.path),I.default.createElement("strong",null,Ps[B.state]??B.state))),I.default.createElement(x,null,"\u5DF2\u6709\u89C4\u5219\u4E0D\u8986\u76D6\uFF1B\u672A\u6765\u53EA\u8FFD\u52A0\u5E26\u5F52\u5C5E\u6807\u8BB0\u7684\u53D7\u7BA1\u533A\u3002\u65E0\u6587\u4EF6\u65F6\u7533\u8BF7\u521B\u5EFA\uFF1B\u591A\u4E2A\u6765\u6E90\u3001\u7528\u6237\u6539\u52A8\u3001\u7F16\u7801\u3001\u94FE\u63A5\u6216\u5E76\u53D1\u51B2\u7A81\u5FC5\u987B\u6838\u5BF9\u540E\u505C\u6B62\u3002\u5F53\u524D\u6CA1\u6709\u5199\u6587\u4EF6\u3002")),I.default.createElement(V,{title:"Skill \u8DEF\u5F84\u4E0E\u540C\u540D\u4FDD\u62A4",icon:"folder"},(ye?.skills??[]).map(B=>I.default.createElement("div",{className:"plan-item",key:B.path},I.default.createElement("code",null,B.path),I.default.createElement("span",null,B.conflicts.length?"\u540C\u540D\u9879\u76EE\u9700\u6838\u5BF9\uFF1A"+B.conflicts.join("\u3001"):B.state==="missing"?"\u76EE\u5F55\u4E0D\u5B58\u5728 \xB7 \u5C1A\u672A\u521B\u5EFA":B.state==="no_name_collision"?"\u672A\u53D1\u73B0\u540C\u540D\u76EE\u5F55 \xB7 \u5C1A\u672A\u8BC1\u660E\u52A0\u8F7D":"\u8DEF\u5F84\u4E0D\u53EF\u5B89\u5168\u6838\u9A8C"))),I.default.createElement("p",null,"\u5168\u5C40\u548C worker \u4E13\u7528 Skill \u5206\u5F00\uFF1B\u540C\u540D\u7528\u6237\u5185\u5BB9\u4E0D\u8986\u76D6\u3002\u542F\u7528\u76EE\u5F55\u987B\u4E0E\u5B9E\u9645\u626B\u63CF\u914D\u7F6E\u4E00\u81F4\uFF0C\u4E0D\u80FD\u4EC5\u51ED\u9ED8\u8BA4\u8DEF\u5F84\u5BA3\u79F0\u5DF2\u52A0\u8F7D\u3002")),I.default.createElement(V,{title:"\u914D\u7F6E\u610F\u5411\u6458\u8981",icon:"shield"},I.default.createElement(S,{label:"\u6A21\u578B",value:j.model+" \xB7 \u5C1A\u672A\u89E3\u6790/\u8C03\u7528"}),I.default.createElement(S,{label:"\u804A\u5929\u5165\u53E3",value:j.im?"\u8BA1\u5212\u914D\u7F6E \xB7 \u672A\u6838\u5BF9\u63A5\u7EBF":"\u8DF3\u8FC7 \xB7 \u672A\u542F\u7528"}),I.default.createElement(S,{label:"\u4ED3\u5E93",value:j.repo?"\u8BA1\u5212\u5173\u8054 \xB7 \u5C1A\u672A\u6838\u9A8C":"\u8DF3\u8FC7 \xB7 \u975E\u4ED3\u5E93\u6210\u679C\u4FDD\u7559"}),I.default.createElement(S,{label:"\u5B9E\u9645\u5E94\u7528\u53D8\u66F4",value:"0 \u9879"}))),I.default.createElement(we,{pose:"tasks",title:"\u5148\u4FDD\u62A4\u539F\u6709\u5185\u5BB9\u3002"},I.default.createElement("p",null,"\u672C\u671F\u4E0D\u6267\u884C\u6388\u6743\u3001\u5907\u4EFD\u3001\u5B89\u88C5\u6216\u91CD\u542F\u3002\u4E0B\u4E00\u9875\u5C55\u793A\u5C1A\u672A\u5F00\u653E\u7684\u521D\u59CB\u5316\u9636\u6BB5\uFF0C\u4E0D\u80FD\u636E\u6B64\u6807\u8BB0\u5DF2\u5C31\u7EEA\u3002"))),sl=f?I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(gt,{request:e}),m>0&&I.default.createElement(Ct,{request:e,contract:m,mutation:p}),I.default.createElement(V,{title:"\u4FDD\u62A4\u4E0E\u751F\u6548\u8FB9\u754C",icon:"shield"},I.default.createElement("p",null,"\u7528\u6237\u539F\u6587\u9010\u5B57\u8282\u4FDD\u7559\uFF1B\u672A\u77E5\u540C\u540D Skill \u963B\u6B62\u5B89\u88C5\uFF1B\u5DF2\u5B89\u88C5\u4E14\u4E00\u81F4\u5219\u4E0D\u91CD\u590D\u8FFD\u52A0\u3002\u9884\u89C8\u6709\u6548 5 \u5206\u949F\uFF0C\u6587\u4EF6\u53D1\u751F\u53D8\u5316\u9700\u91CD\u65B0\u9884\u89C8\u3002"),I.default.createElement("p",null,"\u5931\u8D25\u65F6\u6309\u5907\u4EFD\u56DE\u6EDA\u672C\u4E8B\u52A1\uFF1B\u82E5\u6587\u4EF6\u88AB\u5E76\u53D1\u4FEE\u6539\uFF0C\u4FDD\u7559\u73B0\u573A\u5E76\u6807\u4E3A\u5F85\u6838\u5BF9\u3002\u5199\u5165\u5B8C\u6210\u4E0D\u7B49\u4E8E\u4F1A\u8BDD\u52A0\u8F7D\uFF0C\u6700\u5C0F\u6A21\u5F0F\u4FDD\u7559\u539F\u751F\u4E0D\u52A0\u8F7D\u884C\u4E3A\u3002"),I.default.createElement("p",null,"\u6B64\u533A\u57DF\u53EA\u5E94\u7528\u672C\u7AEF\u89C4\u5219\u548C Skill\uFF1B\u4E91\u7AEF\u5B89\u88C5\u9700\u5728\u72EC\u7ACB\u533A\u57DF\u786E\u8BA4\u3002\u5DF2\u6709\u5B89\u88C5\u7EF4\u62A4\u9700\u5728\u672C\u7AEF\u7EF4\u62A4\u533A\u57DF\u5355\u72EC\u9884\u89C8\u786E\u8BA4\uFF1B\u4E0D\u81EA\u52A8\u5347\u7EA7\uFF0C\u4E0D\u4FEE\u6539\u6A21\u578B\u6216\u673A\u5668\u4EBA\u3002"))),I.default.createElement(we,{pose:"tasks",title:"\u5148\u9884\u89C8\uFF0C\u518D\u660E\u786E\u5E94\u7528\u3002"},I.default.createElement("p",null,"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u7684\u786E\u8BA4\u5206\u5F00\u8BB0\u5F55\u3002\u67E5\u770B\u9875\u9762\u548C\u8FDB\u5EA6\u6761\u4E0D\u7B49\u4E8E\u6279\u51C6\u5B89\u88C5\u6216\u6574\u5957\u914D\u7F6E\u5B8C\u6210\u3002"))):ll,nl=I.default.createElement(I.default.Fragment,null,g&&I.default.createElement(Jt,{key:"cloud-plan",request:e,preparation:v,runtime:N,optionalIm:Ke}),I.default.createElement("div",{style:{height:20}}),sl),il=I.default.createElement("div",{className:"run-sections"},Ie&&I.default.createElement(ja,{request:e}),nt&&I.default.createElement(qt,{request:e,migration:st,queueReview:Dt}),ia&&I.default.createElement(qt,{request:e,cloud:!0,migration:lt,queueReview:na}),Te&&I.default.createElement("details",null,I.default.createElement("summary",null,"\u5386\u53F2\u53EA\u8BFB\u4EFB\u52A1\u53D7\u7406\uFF08\u517C\u5BB9\u5408\u540C\uFF09"),I.default.createElement(jt,{request:e}))," ",g?I.default.createElement("div",{className:"stack"},I.default.createElement(Jt,{key:"cloud-execution",request:e,preparation:v,runtime:N,optionalIm:Ke,execution:!0}),qe&&I.default.createElement("details",null,I.default.createElement("summary",null,"\u5386\u53F2\u4E91\u7AEF\u53EA\u8BFB\u4EFB\u52A1\u53D7\u7406\uFF08\u517C\u5BB9\u5408\u540C\uFF09"),I.default.createElement(jt,{request:e,cloud:!0})),Pe&&I.default.createElement(gr,{request:e}),j.repo&&Ae&&I.default.createElement(kt,{request:e,service:"gitee"}),j.repo&&Ee&&I.default.createElement(Nt,{request:e,url:j.repoUrl,cloud:!0}),j.repo&&Oe&&I.default.createElement(At,{request:e,url:j.repoUrl,alias:j.repoAlias,cloud:!0}),P&&I.default.createElement(kt,{request:e})," ",D&&I.default.createElement(at,{request:e,query:j.model,cloud:!0}),O&&I.default.createElement(kt,{request:e,service:"token-plan"}),W&&I.default.createElement(at,{request:e,query:j.model,service:"token-plan",cloud:!0})):I.default.createElement("div",{className:"page-columns"},I.default.createElement("div",{className:"stack"},I.default.createElement(V,{title:"\u81EA\u52A8\u914D\u7F6E\u5C1A\u672A\u5F00\u653E",icon:"lock",extra:I.default.createElement(ve,null,"\u672A\u6267\u884C")},I.default.createElement(x,null,f?"\u672C\u7AEF\u89C4\u5219\u5B89\u88C5\u8BF7\u770B\u4E0A\u4E00\u9875\u6301\u4E45\u56DE\u6267\uFF1B\u4E0B\u5217\u4E91\u7AEF\u521D\u59CB\u5316\u9636\u6BB5\u5747\u672A\u6267\u884C\uFF0C\u6CA1\u6709\u540E\u53F0\u521D\u59CB\u5316\u4EFB\u52A1\u3002":"\u672C\u671F\u5B8C\u6210\u754C\u9762\u3001\u5B57\u6BB5\u6821\u9A8C\u548C\u672C\u7AEF\u53EA\u8BFB\u68C0\u6D4B\uFF1B\u6CA1\u6709\u521D\u59CB\u5316\u6267\u884C\u5668\uFF0C\u4E5F\u6CA1\u6709\u521B\u5EFA\u540E\u53F0\u4EFB\u52A1\u3002\u4E0D\u662F\u6682\u505C\u4E2D\u7684\u5DF2\u6388\u6743\u4EFB\u52A1\u3002"),I.default.createElement("ol",{className:"phase-timeline"},["\u6838\u5BF9\u53CC\u7AEF\u8EAB\u4EFD\u4E0E\u6700\u7EC8\u8DEF\u5F84","\u751F\u6210\u5907\u4EFD\u4E0E\u53EF\u5BA1\u67E5\u53D8\u66F4\u8BA1\u5212","\u4FDD\u62A4\u6027\u8FFD\u52A0 AGENTS.md \u4E0E\u5B89\u88C5 Skill","\u914D\u7F6E\u53D7\u4FDD\u62A4\u51ED\u636E\u4E0E\u5EFA\u7ACB\u76F4\u8FDE","\u6267\u884C\u7EAF DeepSeek \u94FE\u8DEF\u9A8C\u6536","\u751F\u6210\u914D\u7F6E\u56DE\u6267"].map((B,ue)=>I.default.createElement("li",{className:"pending",key:B},I.default.createElement("span",{className:"phase-dot"},ue+1),I.default.createElement("div",{className:"phase-copy"},I.default.createElement("h3",null,B),I.default.createElement("p",null,"\u672A\u6267\u884C \xB7 \u9700\u540E\u7EED\u5B9E\u73B0\u4E0E\u660E\u786E\u6388\u6743"))))),I.default.createElement(_,{kind:"primary",disabled:!0,icon:"lock"},"\u771F\u5B9E\u521D\u59CB\u5316\u672A\u5F00\u653E"))),I.default.createElement(we,{pose:"model",title:"\u4E0D\u4F1A\u7528\u6F14\u793A\u4EE3\u66FF\u9A8C\u6536\u3002"},I.default.createElement(S,{label:"\u81EA\u52A8\u914D\u7F6E",value:"0 / 6 \u9636\u6BB5"}),I.default.createElement(S,{label:"\u5B9E\u9645\u6A21\u578B / SSH \u8BF7\u6C42",value:"0"}),I.default.createElement(S,{label:f?"ECS \u5199\u5165 / \u53D1\u5E03":"\u6587\u4EF6\u5199\u5165 / \u53D1\u5E03",value:"0"}),I.default.createElement("p",null,"\u4ECD\u662F 5/6 \u9875\u5DF2\u586B\u5199\uFF0C\u4E0D\u6807\u8BB0\u5B89\u88C5\u5B8C\u6210\u3002")))),wo=(i===2||L===1||c===1||o===1||r===1)&&I.default.createElement(_,{kind:"text",icon:"lock","aria-haspopup":"dialog",onClick:()=>Ye({title:"\u7EF4\u62A4\u4F1A\u8BDD",eyebrow:"\u72EC\u7ACB\u6062\u590D\u5165\u53E3",closeLabel:"\u5173\u95ED\uFF08\u4E0D\u91CA\u653E\u7EC4\u4EF6\u9501\uFF09",body:I.default.createElement("div",{className:"maintenance-panels"},i===2&&I.default.createElement(wr,{request:e,contract:i}),I.default.createElement(Yr,{request:e,disableContract:c,removeContract:o,stopContract:r,allowStop:d}),I.default.createElement(Mr,{request:e,contract:L,allowMutation:C}))})},"\u7EF4\u62A4\u4F1A\u8BDD");return h&&!la.ready?I.default.createElement("div",{className:"dsh-onboarding"},I.default.createElement(V,{title:la.failed?"\u8349\u7A3F\u9700\u6838\u5BF9":"\u8BFB\u53D6\u5DF2\u4FDD\u5B58\u8349\u7A3F"},I.default.createElement("p",{role:"status"},la.message||"\u6B63\u5728\u8BFB\u53D6\u5F53\u524D Host \u7684\u81EA\u6709\u8BB0\u5F55\u2026"),I.default.createElement("div",{className:"connection-actions"},wo)),I.default.createElement(sa,{modal:$e,onClose:()=>Ye(null)})):I.default.createElement(mt,{onHelp:Sa},I.default.createElement("div",{className:"dsh-onboarding"+(ra?" keyboard":""),style:se?{"--mascot":`url("${se}")`}:void 0,onKeyDownCapture:()=>No(!0),onPointerDownCapture:()=>No(!1)},I.default.createElement("div",{className:"window-frame"},I.default.createElement("header",{className:"window-header"},I.default.createElement("div",{className:"brand"},I.default.createElement("span",{className:"brand-portrait"},I.default.createElement(Ge,null)),I.default.createElement("strong",null,"\u5927\u80A5\u9C7Cbot",I.default.createElement("span",null,"\u914D\u7F6E\u5BFC\u89C8"))),I.default.createElement(ve,null,N?"\u72EC\u7ACB\u73AF\u5883\u5B89\u88C5\u5019\u9009":f?"\u89C4\u5219\u5B89\u88C5\u5019\u9009":"\u53EA\u8BFB\u5019\u9009 \xB7 \u672A\u5E94\u7528"),fe&&I.default.createElement(_,{kind:"text",onClick:()=>Sa("\u590D\u7528\u5DF2\u914D\u5BF9\u7684\u53CC\u7AEF\uFF1F",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",null,"\u5207\u6362\u540E\u672A\u4FDD\u5B58\u7684\u586B\u5199\u4F1A\u4E22\u5931\uFF1B\u5DF2\u4FDD\u5B58\u8349\u7A3F\u3001\u51ED\u636E\u548C\u73B0\u6709\u914D\u7F6E\u4FDD\u6301\u4E0D\u53D8\u3002\u4EC5\u9002\u7528\u4E8E\u5DF2\u5EFA\u7ACB\u81EA\u6709\u76F4\u8FDE\u7684\u4E24\u7AEF\uFF0C\u4E0D\u91CD\u65B0\u521D\u59CB\u5316 ECS\u3002"),I.default.createElement(_,{onClick:fe},"\u8FDB\u5165\u65E2\u6709\u53CC\u7AEF\u914D\u7F6E")))},"\u590D\u7528\u5DF2\u6709\u53CC\u7AEF"),s&&I.default.createElement(_,{kind:"text",onClick:()=>Sa("\u79BB\u5F00\u5BFC\u89C8\uFF1F",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",null,h?"\u5DF2\u4FDD\u5B58\u7684\u8349\u7A3F\u4E0B\u6B21\u6062\u590D\uFF1B\u672A\u4FDD\u5B58\u8F93\u5165\u4F1A\u4E22\u5931\u3002Key \u4E0D\u8FDB\u5165\u8349\u7A3F\uFF0C\u51ED\u636E\u64CD\u4F5C\u6709\u72EC\u7ACB\u56DE\u6267\u3002":"\u586B\u5199\u5185\u5BB9\u4EC5\u5728\u5F53\u524D\u9762\u677F\u5185\u5B58\u4E2D\uFF0C\u9000\u51FA\u540E\u9700\u91CD\u65B0\u586B\u5199\u3002","\u5DF2\u786E\u8BA4\u7684\u5B89\u88C5\u4E8B\u52A1\u4E0D\u4F1A\u56E0\u5173\u95ED\u9875\u9762\u64A4\u9500\uFF0C\u8BF7\u91CD\u65B0\u8FDB\u5165\u6838\u5BF9\u56DE\u6267\u3002"),I.default.createElement(_,{onClick:s},"\u79BB\u5F00\u5BFC\u89C8")))},"\u8FD4\u56DE\u5927\u80A5\u9C7Cbot")),I.default.createElement("main",null,I.default.createElement("div",{className:"page-top"},I.default.createElement("div",{className:"page-position"},I.default.createElement("strong",null,re+1,I.default.createElement("span",null,"/6")),I.default.createElement("h1",{tabIndex:"-1",ref:Ao},Ot[re]),I.default.createElement(Ja,{title:Ot[re]},re===4&&g?"\u5206\u522B\u9884\u89C8\u672C\u7AEF\u4FDD\u62A4\u6027\u89C4\u5219\u548C\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6\uFF1B\u6BCF\u9879\u4FEE\u6539\u90FD\u9700\u72EC\u7ACB\u786E\u8BA4\u3002":re===5&&g?"\u6838\u5BF9\u771F\u5B9E\u8D26\u672C\u540E\uFF0C\u786E\u8BA4\u5B89\u88C5\u4E0E\u542F\u52A8\u8BA1\u5212\u3002\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u81EA\u52A8\u7EED\u8DD1\u6216\u8C03\u7528\u6A21\u578B\u3002":re===4&&f?"\u9884\u89C8\u5F53\u524D\u9694\u79BB Host \u7684\u89C4\u5219\u4E0E Skill \u53D8\u66F4\uFF0C\u786E\u8BA4\u540E\u624D\u5E94\u7528\uFF1B\u4E0D\u521D\u59CB\u5316 ECS\u3002":re===0&&g?"\u586B\u5199\u8FDE\u63A5\u610F\u5411\u3001\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u540E\u518D\u624B\u52A8\u9884\u68C0\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u3002":Ds[re])),I.default.createElement("div",{className:"page-top-actions"},I.default.createElement("span",{className:"step-mascot mascot-zone"},I.default.createElement(Ge,{pose:Es[re]})),wo,I.default.createElement(_,{kind:"text",onClick:()=>Sa("\u516D\u9875\u914D\u7F6E\u6982\u89C8",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",{className:"fine-print"},"\u8FD9\u91CC\u4EC5\u663E\u793A\u586B\u5199\u8FDB\u5EA6\uFF1B\u5B9E\u9645\u5B89\u88C5\u3001\u63A5\u5165\u4E0E\u6267\u884C\u72B6\u6001\u8BF7\u6838\u5BF9\u5BF9\u5E94\u56DE\u6267\u3002"),I.default.createElement("div",{className:"overview-list"},Ot.map((B,ue)=>I.default.createElement("button",{key:B,disabled:ue>re&&!Me.includes(ue)&&!(ue===5&&Et&&Me.includes(4)),onClick:()=>{yo(ue),Ye(null)},"aria-current":ue===re?"step":void 0},I.default.createElement("span",{className:"overview-title"},B),I.default.createElement(ve,null,ue===re?"\u5F53\u524D\u9875":Fe.includes(ue)?"\u672C\u6B21\u586B\u5199\u8DF3\u8FC7":Me.includes(ue)?"\u586B\u5199\u5B8C\u6210":"\u5C1A\u672A\u586B\u5199"),I.default.createElement(ke,{name:"chevron"}))))))},"\u914D\u7F6E\u6982\u89C8"))),I.default.createElement("div",{className:"page-progress progress-track",role:"progressbar","aria-label":"\u914D\u7F6E\u9875\u586B\u5199\u8FDB\u5EA6","aria-valuemin":"0","aria-valuemax":"6","aria-valuenow":Me.length,"aria-valuetext":`\u5DF2\u586B\u5199 ${Me.length}/6 \u9875\uFF0C${f?"\u89C4\u5219\u5B89\u88C5\u4EE5\u6301\u4E45\u56DE\u6267\u4E3A\u51C6":"\u672A\u5E94\u7528\u914D\u7F6E"}`},I.default.createElement("span",{style:{transform:`scaleX(${Me.length/6})`}})),h&&I.default.createElement("div",{className:"draft-toolbar"},I.default.createElement("p",{role:"status"},la.message),I.default.createElement(_,{kind:"soft",disabled:Be||!la.ready,onClick:()=>Pt()},"\u4FDD\u5B58\u8349\u7A3F"),I.default.createElement(_,{kind:"text",disabled:Be,onClick:()=>Sa("\u91CD\u65B0\u8BFB\u53D6\u8349\u7A3F\uFF1F",I.default.createElement(I.default.Fragment,null,I.default.createElement("p",null,"\u4F1A\u4E22\u5F03\u672C\u9875\u5C1A\u672A\u4FDD\u5B58\u7684\u8F93\u5165\uFF0C\u52A0\u8F7D\u670D\u52A1\u5668\u6700\u65B0\u8349\u7A3F\u3002\u4E0D\u4F1A\u6062\u590D\u6279\u51C6\u6216\u81EA\u52A8\u6267\u884C\u3002"),I.default.createElement(_,{onClick:async()=>{try{let B=await e("draft_load",{});ua(B.draft),be(B.page),Ze(B.handled),da(B.skipped),Ca(null),it(!1),Ue(""),va({ready:!0,revision:B.revision,message:"\u5DF2\u91CD\u65B0\u8BFB\u53D6\uFF0C\u8BF7\u91CD\u65B0\u68C0\u6D4B\u73AF\u5883\u3002",failed:!1}),Ye(null)}catch{Ue("\u91CD\u65B0\u8BFB\u53D6\u5931\u8D25\uFF0C\u672A\u66FF\u6362\u5F53\u524D\u8F93\u5165\u3002")}}},"\u786E\u8BA4\u91CD\u65B0\u8BFB\u53D6")))},"\u6838\u5BF9\u6700\u65B0\u8349\u7A3F")),I.default.createElement("fieldset",{disabled:Be,style:{border:0,padding:0,margin:0}},I.default.createElement("div",{className:"page-content","data-page":re+1},[al,tl,ol,rl,nl,il][re])),I.default.createElement("footer",{className:"wizard-footer"},I.default.createElement("div",{className:"page-guidance "+(Bt.length?"waiting":"ready"),role:"status",id:"onboarding-validation"},I.default.createElement(ke,{name:"info"}),I.default.createElement("p",null,Bt.length?Bt.map(B=>B.message).join(" "):re===0&&!Tt?"\u8BF7\u6267\u884C\u672C\u7AEF\u53EA\u8BFB\u68C0\u6D4B\uFF0C\u5FEB\u7167\u6709\u6548 60 \u79D2\uFF1B\u4E0D\u7B49\u4E8E\u4E91\u7AEF\u8FDE\u63A5\u901A\u8FC7\u3002":re===4?"\u67E5\u770B\u4FDD\u62A4\u7B56\u7565\u540E\u53EF\u8FDB\u5165\u9636\u6BB5\u8BF4\u660E\uFF1B\u4E0D\u4F1A\u63D0\u4EA4\u6388\u6743\u3002":re===5?"\u539F\u751F Host \u4E0E\u6A21\u578B\u72B6\u6001\u5206\u522B\u4EE5\u624B\u52A8\u6838\u9A8C\u4E3A\u51C6\uFF1B\u6A21\u578B\u63A5\u5165\u4E0D\u4EE3\u8868\u8BF7\u6C42\u3001IM \u6216\u5168\u94FE\u8DEF\u9A8C\u6536\u901A\u8FC7\u3002":"\u683C\u5F0F\u7B26\u5408\uFF0C\u53EF\u7EE7\u7EED\u586B\u5199\uFF1B\u672A\u9A8C\u8BC1\u51ED\u636E\u6216\u8FDC\u7AEF\u53EF\u7528\u6027\u3002")),_a&&I.default.createElement("p",{role:"alert",className:"error"},_a),re===4&&I.default.createElement(R,{checked:Et,onChange:it,title:"\u6211\u5DF2\u9605\u8BFB\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u67E5\u770B\u4E0B\u4E00\u9875\uFF08\u4E0D\u6388\u6743\u6267\u884C\uFF09"}),I.default.createElement("div",null,I.default.createElement(_,{kind:"text",icon:"back",disabled:re===0||Be,onClick:()=>yo(re-1)},"\u4E0A\u4E00\u6B65")),I.default.createElement("div",null,[2,3].includes(re)&&I.default.createElement(_,{kind:"text",onClick:jr,disabled:Be},"\u6682\u65F6\u8DF3\u8FC7"),re<5&&I.default.createElement(_,{kind:"primary",end:"arrow",disabled:!bo||Be,onClick:Jr,"aria-describedby":"onboarding-validation"},re===4?g?"\u67E5\u770B\u4E91\u7AEF\u914D\u7F6E\u4E0E\u6062\u590D":"\u67E5\u770B\u672A\u6267\u884C\u9636\u6BB5":"\u7EE7\u7EED"))))),I.default.createElement("div",{className:"outside-note"},I.default.createElement(ke,{name:"shield"}),I.default.createElement("span",null,g?"\u4E91\u7AEF\u64CD\u4F5C\u9700\u72EC\u7ACB\u786E\u8BA4 \xB7 \u624B\u52A8\u5237\u65B0 \xB7 \u4E0D\u81EA\u52A8\u914D\u7F6E\u6A21\u578B\u6216\u53D1\u5E03":f?"\u9694\u79BB\u914D\u7F6E\u5019\u9009 \xB7 \u4E0D\u8FDE\u63A5 ECS\uFF1B\u4FDD\u5B58\u4E0D\u4EE3\u8868\u6A21\u578B\u63A5\u901A\uFF0C\u8FDB\u5EA6\u6761\u4E0D\u4EE3\u8868\u5B89\u88C5\u72B6\u6001":"\u4E0D\u8FDE\u63A5\u771F\u5B9E ECS \xB7 \u4E0D\u81EA\u52A8\u914D\u7F6E\u6216\u53D1\u5E03")),I.default.createElement(sa,{modal:$e,onClose:()=>Ye(null)})))}function Ts(e){let[t,s]=(0,I.useState)(!1);return t&&e.existingSetup?I.default.createElement(Wo,{...e,onManaged:()=>s(!1)}):I.default.createElement(Bs,{...e,onReuse:e.existingSetup?()=>s(!0):void 0})}return Ll(Ms);})();
48
48
  /*! Bundled license information:
49
49
 
50
50
  lucide-react/dist/esm/shared/src/utils.js:
@@ -94,7 +94,7 @@ lucide-react/dist/esm/lucide-react.js:
94
94
 
95
95
  onboardingRpc=DSHOnboarding.callOnboarding;onboardingCreateImBridge=DSHOnboarding.createImClientBridge;onboardingNativeImManager=DSHOnboarding.NativeImManager;onboardingCloudImManager=DSHOnboarding.CloudImManager;return onboardingView=DSHOnboarding.Onboarding;}
96
96
  const panel='dsh-cloud-workbench',boardPanel='dsh-dual-tasks',boardTab='@mogragsigma/dsh-dual-host-plugin/tasks';
97
- const css=".dtu{color-scheme:light;--ground:#f5f8fc;--surface:#fff;--ink:#192534;--muted:#667383;--blue:#0671e3;--blue-dark:#005ec4;--pale:#eaf3ff;--line:#e7edf4;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--radius:24px;--shadow:0 5px 24px #153f6b06,0 1px 3px #153f6b04}\n.dtu *{box-sizing:border-box}\n.dtu{margin:0;background:var(--ground);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,\"PingFang SC\",\"Microsoft YaHei\",sans-serif;-webkit-font-smoothing:antialiased}\n.dtu button,.dtu input,.dtu select{font:inherit}\n.dtu button{color:inherit;cursor:pointer}\n.dtu button,.dtu a,.dtu select,.dtu input{-webkit-tap-highlight-color:transparent}\n.dtu button{transition:transform 140ms var(--ease-out)}\n.dtu button:active:not(:disabled){transform:scale(.97)}\n.dtu button:disabled{opacity:.48;cursor:not-allowed}\n.dtu button:focus-visible,.dtu a:focus-visible,.dtu input:focus-visible,.dtu select:focus-visible{outline:3px solid #368cee;outline-offset:4px}\n.dtu button svg,.dtu svg{width:19px;height:19px;flex:none;vertical-align:middle}\n.dtu h1,.dtu h2,.dtu h3,.dtu p{margin:0}\n.dtu h1{font-size:42px;font-weight:650;line-height:1.2;letter-spacing:-.045em}\n.dtu h2{font-size:21px;line-height:1.4;font-weight:630;letter-spacing:-.025em}\n.dtu h3{font-size:16px;line-height:1.45;font-weight:610}\n.dtu ::selection{background:#bcdcff;color:#193552}\n.dtu .small{font-size:12px}\n.dtu .muted{color:var(--muted)}\n.dtu [hidden]{display:none!important}\n.dtu .surface{max-width:1500px;width:100%;padding:24px 42px 24px;margin:0 auto;min-width:0}\n.dtu .utility{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;min-height:28px}\n.dtu .breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#64758b}\n.dtu .breadcrumb svg{width:12px;height:12px;color:#64758b}\n.dtu .utility-actions{display:flex;align-items:center;gap:20px}\n.dtu .preview-label{font-size:11px;color:#53657b}\n.dtu .preview-label span{display:inline-grid;place-items:center;background:#e4ecf6;color:#526e91;width:24px;height:20px;border-radius:6px;margin-left:4px;font-size:10px}\n.dtu .text-button{display:inline-flex;align-items:center;gap:7px;border:0;padding:6px 0;background:transparent;font-size:12px;color:var(--muted)}\n.dtu .text-button svg{width:15px;height:15px}\n.dtu .page-header{display:flex;align-items:center;justify-content:space-between;gap:20px}\n.dtu .eyebrow{display:block;color:#6c7d93;font-size:12px;letter-spacing:.01em;margin-bottom:10px}\n.dtu .title-dot{color:#86b5f3}\n.dtu .page-header p{font-size:16px;color:#64758b;margin-top:12px;letter-spacing:.025em}\n.dtu .header-actions{display:flex;align-items:center;gap:10px;padding-top:17px}\n.dtu .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;min-height:40px;padding:9px 17px;border-radius:999px;font-size:13px;line-height:1.5;background:var(--pale);color:var(--blue-dark);font-weight:500;white-space:nowrap}\n.dtu .button.primary{background:var(--blue);color:white;box-shadow:0 4px 10px #006cdb14}\n.dtu .button.plain{background:transparent;padding-left:0}\n.dtu .button svg{width:16px;height:16px;transition:transform 160ms var(--ease-out)}\n.dtu .icon-button{display:grid;place-items:center;border:0;border-radius:50%;width:32px;height:32px;background:#edf1f5;color:#68788b}\n.dtu .icon-button svg{width:18px;height:18px}\n.dtu .snapshot-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#64758b;margin:24px 0 16px}\n.dtu .snapshot-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#6799d4;vertical-align:middle;margin-right:7px}\n.dtu .separator{margin:0 8px;color:#a6b3c4}\n.dtu .host-picker{position:relative;z-index:12}\n.dtu .host-trigger{color:#465a72;background:#ffffffc7;box-shadow:0 1px 4px #18447307}\n.dtu .host-trigger .down{transform:rotate(90deg);display:flex}\n.dtu .host-trigger .down svg{width:12px;height:12px}\n.dtu .host-menu{position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:10px;background:#ffffffeb;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid #ffffffd9;border-radius:20px;box-shadow:0 16px 50px #1b416e22;transform-origin:90% 0;z-index:25;animation:dtu-popover-in 180ms var(--ease-out)}\n.dtu .host-menu p{font-size:10px;color:#64758b;padding:2px 9px 8px}\n.dtu .host-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px;background:none;border:0;text-align:left;border-radius:11px}\n.dtu .host-menu button[aria-checked=true]{background:#e9f3ff}\n.dtu .host-menu strong{font-size:12px;font-weight:550}\n.dtu .host-menu small{font-size:10px;display:block;color:var(--muted);margin-top:2px}\n.dtu .host-menu .menu-check{margin-left:auto;color:var(--blue)}\n.dtu .host-menu [aria-checked=false] .menu-check{visibility:hidden}\n.dtu .host-menu svg{width:17px;height:17px}\n.dtu .host-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}\n.dtu .host-block{position:relative;display:flex;min-height:163px;overflow:hidden;border-radius:var(--radius);padding:23px 27px;background:#fff;border:1px solid #e3ecf8;box-shadow:var(--shadow)}\n.dtu .cloud-host{background:#eaf3ff;border-color:#deebfc}\n.dtu .host-caption{display:flex;align-items:center;gap:7px;font-size:11px;color:#69809b;margin-bottom:7px}\n.dtu .host-caption svg{width:15px;height:15px}\n.dtu .host-block h2{font-size:21px}\n.dtu .host-block p{font-size:12px;color:#647891;margin-top:6px}\n.dtu .host-state{display:block;font-size:11px;color:#5d7693;margin-top:13px}\n.dtu .host-state:before{content:\"\";display:inline-block;width:5px;height:5px;border-radius:50%;background:#6d9aca;margin-right:6px;vertical-align:middle}\n.dtu .host-copy{position:relative;z-index:1;max-width:72%}\n.dtu .connection{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;border:5px solid var(--ground);width:37px;height:37px;border-radius:50%;background:#fff;color:#6b92c0}\n.dtu .connection svg{width:15px;height:15px}\n.dtu .connection span:last-child{position:absolute;width:100px;bottom:-29px;text-align:center;font-size:10px;color:#64758b;background:var(--ground);border-radius:10px;padding:2px 0}\n.dtu .companion{position:relative;width:82px;height:82px;pointer-events:none;flex:none;overflow:hidden;isolation:isolate}\n.dtu .companion:before,.dtu .companion:after{content:\"\";position:absolute;inset:0;background-image:var(--mascot,none);background-size:400% 300%;background-repeat:no-repeat;transition:opacity 170ms var(--ease-out),transform 210ms var(--ease-out);transform-origin:50% 90%;will-change:auto}\n.dtu .companion:before{background-position:var(--pose-x,0%) var(--pose-y,0%);opacity:1}\n.dtu .companion:after{background-position:var(--hover-x,33.333333%) var(--pose-y,0%);opacity:0;transform:translateY(2px)}\n.dtu [data-companion=local]{--pose-x:0%;--hover-x:33.333333%;--pose-y:0%}\n.dtu [data-companion=cloud]{--pose-x:66.666667%;--hover-x:100%;--pose-y:0%}\n.dtu [data-companion=tasks]{--pose-x:0%;--hover-x:33.333333%;--pose-y:50%}\n.dtu [data-companion=model]{--pose-x:66.666667%;--hover-x:100%;--pose-y:50%}\n.dtu [data-companion=files]{--pose-x:0%;--hover-x:33.333333%;--pose-y:100%}\n.dtu [data-companion=repository]{--pose-x:66.666667%;--hover-x:100%;--pose-y:100%}\n.dtu .host-companion{position:absolute;width:133px;height:133px;right:13px;bottom:-1px}\n.dtu .view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 23px}\n.dtu .section-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:5px;background:#e7eef8b3;border:1px solid #e6edf6;border-radius:999px;width:340px;isolation:isolate;flex:none}\n.dtu .section-tabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;padding:9px 10px;font-size:13px;color:#687d97;white-space:nowrap;border-radius:999px}\n.dtu .section-tabs button[aria-selected=true]{color:var(--blue-dark);font-weight:600}\n.dtu .section-tabs svg{width:16px;height:16px}\n.dtu .count{font-size:10px;min-width:17px;background:#dae9fe;border-radius:5px;padding:0 5px}\n.dtu .tab-indicator{position:absolute;left:5px;top:5px;bottom:5px;width:calc(50% - 5px);border-radius:999px;background:#fff;box-shadow:0 2px 6px #2f5c9820;transform:translateX(0);transition:transform 210ms var(--ease-out);z-index:0}\n.dtu .section-tabs[data-view=workspace] .tab-indicator{transform:translateX(100%)}\n.dtu .hover-hint{font-size:10px;color:#64758b}\n.dtu .task-layout{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(370px,1.14fr);gap:22px;align-items:start}\n.dtu .module{background:var(--surface);border:1px solid #e9eef5;border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;position:relative;overflow:hidden}\n.dtu .module-header{display:flex;align-items:center;justify-content:space-between;padding:24px 25px 18px;gap:12px;min-height:111px}\n.dtu .module-header .small{margin-top:5px}\n.dtu .module-header .companion{width:76px;height:76px;margin-top:-4px;margin-bottom:-14px}\n.dtu .module-tools{display:flex;gap:8px;padding:0 24px 18px}\n.dtu .search-box{display:flex;align-items:center;gap:7px;background:#f3f6fa;padding:9px 12px;border-radius:11px;flex:1;min-width:0}\n.dtu .search-box input{border:0;outline:none;background:none;width:100%;min-width:0;font-size:12px;color:var(--ink)}\n.dtu .search-box svg{width:15px;height:15px;color:#8a9bae}\n.dtu .search-box:focus-within{outline:2px solid #80b4f4;outline-offset:2px}\n.dtu .module-tools select{max-width:96px;border:0;border-radius:10px;background:#f3f6fa;padding:8px 4px;font-size:11px;color:#637892}\n.dtu .timeline{position:relative;list-style:none;margin:0;padding:0 22px 26px 35px}\n.dtu .timeline:before{content:\"\";position:absolute;left:26px;top:17px;bottom:45px;width:2px;background:#dce9f9}\n.dtu .timeline-day{position:relative;font-size:10px;font-weight:600;color:#64758b;padding:10px 10px 12px}\n.dtu .timeline-day:before{content:\"\";position:absolute;left:-13px;top:15px;width:9px;height:9px;border:2px solid #9cbbe2;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #fff}\n.dtu .timeline-row{position:relative;padding-left:11px;margin-bottom:4px}\n.dtu .timeline-row:before{content:\"\";position:absolute;left:-11px;top:26px;width:6px;height:6px;border-radius:50%;background:#bdcfe5;box-shadow:0 0 0 4px #fff}\n.dtu .timeline-row:has([aria-pressed=true]):before{background:var(--blue);box-shadow:0 0 0 4px #eaf3ff}\n.dtu .task-card{display:block;text-align:left;width:100%;padding:16px;border-radius:15px;border:1px solid transparent;background:#fff}\n.dtu .task-card[aria-pressed=true]{background:#edf5ff;border-color:#dceafb}\n.dtu .card-top,.dtu .card-foot{display:flex;align-items:center;justify-content:space-between;gap:5px}\n.dtu .card-top time,.dtu .session-head time{font-size:10px;color:#6c84a0;font-variant-numeric:tabular-nums}\n.dtu .badge{font-size:10px;padding:3px 7px;border-radius:6px;font-weight:500;line-height:1.5;white-space:nowrap}\n.dtu .badge.good{background:#e2efff;color:#2a6ab6}\n.dtu .badge.wait{background:#fff3dc;color:#946523}\n.dtu .badge.neutral{background:#eef1f5;color:#7d8793}\n.dtu .task-card h3{font-size:14px;margin-top:9px}\n.dtu .description{font-size:12px;line-height:1.7;color:#64758b;margin-top:5px}\n.dtu .card-foot{font-size:10px;color:#6c839d;margin-top:14px}\n.dtu .card-foot>span{display:flex;align-items:center;gap:5px}\n.dtu .card-foot svg{width:12px;height:12px}\n.dtu .card-chevron{color:var(--blue)}\n.dtu .empty-list{padding:30px;color:var(--muted);font-size:12px}\n.dtu .detail-panel{scroll-margin-top:20px}\n.dtu .detail-head{position:relative;background:#f6faff;padding:25px 27px 23px;overflow:hidden;min-height:154px}\n.dtu .detail-head h2{font-size:24px;line-height:1.4;margin-top:13px;max-width:calc(100% - 80px)}\n.dtu .detail-head p{font-size:12px;color:#64758b;margin-top:10px;max-width:calc(100% - 78px)}\n.dtu .detail-head .companion{position:absolute;right:20px;bottom:-3px;width:99px;height:99px}\n.dtu .meta{display:flex;align-items:center;gap:7px;font-size:10px;color:#64758b;flex-wrap:wrap}\n.dtu .detail-body{padding:24px 27px 26px}\n.dtu .detail-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}\n.dtu .detail-title h3{display:flex;align-items:center;gap:8px;font-size:15px}\n.dtu .detail-title h3 svg{width:18px;height:18px;color:#487fb8}\n.dtu .detail-title>span{font-size:10px}\n.dtu .artifact-stack{display:flex;flex-direction:column;gap:10px}\n.dtu .artifact{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px 12px;background:#f5f9fe;border:1px solid #e5effb;border-radius:14px}\n.dtu .file-icon{display:grid;place-items:center;width:30px;height:37px;border-radius:7px;background:#fff;color:#4485cf;box-shadow:0 2px 5px #1c5c9c06}\n.dtu .file-icon svg{width:19px;height:19px}\n.dtu .artifact strong{display:block;font-size:13px;line-height:1.5;word-break:break-word;font-weight:560}\n.dtu .artifact small{display:block;color:#64758b;font-size:11px;margin-top:5px;overflow-wrap:anywhere}\n.dtu .artifact .button{font-size:11px;min-height:32px;padding:7px 12px;background:#fff;border:1px solid #e0eaf8;gap:5px}\n.dtu .artifact .button svg{width:12px;height:12px}\n.dtu .empty-artifact{padding:20px;background:#f6f9fc;border-radius:13px;font-size:12px;color:#8492a4}\n.dtu .empty-artifact strong{display:block;color:#465d78;font-size:14px;margin-bottom:6px}\n.dtu .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}\n.dtu .fact{position:relative;min-width:0;min-height:117px;padding:16px 14px;background:#f8fafd;border-radius:14px;overflow:hidden;margin:0}\n.dtu .fact dt{font-size:11px;color:#64758b;margin-bottom:8px}\n.dtu .fact dd{margin:0;font-size:14px;font-weight:550;line-height:1.55}\n.dtu .fact dd small{display:block;font-size:11px;font-weight:400;color:#64758b;margin-top:6px;line-height:1.7}\n.dtu .fact.with-companion{padding-right:74px}\n.dtu .fact.with-companion .companion{position:absolute;right:0;bottom:0;width:73px;height:73px}\n.dtu .fact.with-companion dd small{min-width:94px}\n.dtu .evidence{padding-top:20px;border-top:1px solid #ebf0f6}\n.dtu .evidence h3{font-size:14px}\n.dtu .evidence p{color:#64758b;font-size:12px;line-height:1.9;margin:9px 0}\n.dtu .evidence .button{font-size:12px;color:var(--blue)}\n.dtu .workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;min-height:210px;border-radius:var(--radius);background:linear-gradient(110deg,#e2efff,#f1f7ff 65%,#e7f2ff);border:1px solid #dceafa;padding:28px 32px;overflow:hidden;margin-bottom:22px}\n.dtu .workspace-banner .banner-copy{position:relative;z-index:1;max-width:71%}\n.dtu .workspace-banner .banner-copy .eyebrow{color:#6484ae;font-size:11px;margin-bottom:7px}\n.dtu .workspace-banner h2{font-size:29px;letter-spacing:-.045em}\n.dtu .workspace-banner p{font-size:12px;line-height:1.8;color:#7187a3;margin:10px 0 17px;max-width:440px}\n.dtu .workspace-banner .companion{width:183px;height:183px;position:absolute;right:30px;bottom:-3px}\n.dtu .workspace-banner .button{background:var(--blue);color:#fff}\n.dtu .workspace-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);gap:22px;align-items:start}\n.dtu .workspace-aside{display:flex;flex-direction:column;gap:20px}\n.dtu .session-card{border-radius:14px;background:#f7faff;padding:17px 18px;margin-bottom:10px}\n.dtu .session-head{display:flex;justify-content:space-between;align-items:center;gap:10px}\n.dtu .session-card h3{font-size:15px;margin-top:10px}\n.dtu .session-card p{font-size:11px;color:#64758b;margin-top:6px}\n.dtu .session-actions{display:flex;align-items:center;gap:7px;margin-top:13px;flex-wrap:wrap}\n.dtu .session-actions .button{font-size:11px;min-height:32px;padding:7px 12px}\n.dtu .session-actions .button svg{width:14px;height:14px}\n.dtu .side-module{padding:22px}\n.dtu .side-module h3{display:flex;align-items:center;gap:8px;font-size:15px}\n.dtu .side-module h3 svg{color:#5786bf;width:17px;height:17px}\n.dtu .side-module>p{font-size:12px;line-height:1.85;color:#64758b;margin-top:12px}\n.dtu .side-module .text-button{color:var(--blue);margin-top:10px}\n.dtu .side-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:-5px;margin-bottom:6px}\n.dtu .side-heading .companion{width:67px;height:67px;margin-top:-7px;margin-bottom:-7px}\n.dtu .mini-list{list-style:none;padding:0;margin:10px 0 0}\n.dtu .mini-list li{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#64758b;padding:13px 0;border-bottom:1px solid #edf2f8}\n.dtu .mini-list li:last-child{border:0;padding-bottom:0}\n.dtu .mini-list strong{font-size:11px;font-weight:500;color:#3e5775;text-align:right}\n.dtu .page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:24px;font-size:10px;color:#64758b}\n.dtu .page-footer .text-button{font-size:10px}\n.dtu #alert{margin-bottom:18px;background:#fff5e3;border:1px solid #f1e6cf;border-radius:13px;padding:12px 16px;font-size:12px;color:#91622d}\n.dtu dialog{position:fixed;border:1px solid #fff;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);border-radius:26px;max-width:min(600px,calc(100vw - 32px));width:600px;padding:27px;box-shadow:0 24px 80px #17376230;max-height:90dvh}\n.dtu dialog[open]{animation:dtu-modal-in 220ms var(--ease-out)}\n.dtu dialog::backdrop{background:#36527625;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}\n.dtu .dialog-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}\n.dtu .dialog-header h2{font-size:22px}\n.dtu .dialog-label{font-size:10px;color:#6e8bad;margin-bottom:7px}\n.dtu #dialog-body{font-size:13px;color:#607591;line-height:1.9}\n.dtu #dialog-body h3{font-size:15px;color:#3c5777}\n.dtu #dialog-body ul{padding-left:21px}\n.dtu #dialog-body .document{padding:18px;background:#eef6ff;border-radius:16px;margin:18px 0}\n.dtu #dialog-body .path{overflow-wrap:anywhere;font-size:12px}\n.dtu .document p{margin-top:8px}\n.dtu #toast{position:fixed;z-index:99;bottom:28px;left:50%;transform:translateX(-50%);background:#fffE;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 7px 30px #294d7c23;border:1px solid #fff;border-radius:999px;padding:13px 22px;color:#3f6085;font-size:12px;max-width:90vw;width:max-content;animation:dtu-toast-in 180ms var(--ease-out)}\n.dtu .noscript{padding:25px}\n.dtu .view-enter{animation:dtu-view-in 180ms var(--ease-out)}\n.dtu .refreshing svg{animation:dtu-refresh-turn 500ms var(--ease-out)}\n@keyframes dtu-view-in{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}\n@keyframes dtu-popover-in{from{opacity:0;transform:translateY(-3px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}\n@keyframes dtu-modal-in{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}\n@keyframes dtu-toast-in{from{opacity:0;transform:translate(-50%,7px)}to{opacity:1;transform:translate(-50%,0)}}\n@keyframes dtu-refresh-turn{to{transform:rotate(360deg)}}\n@media (hover:hover) and (pointer:fine){.dtu .text-button:hover{color:var(--blue)}\n.dtu .button.primary:hover,.dtu .workspace-banner .button:hover{background:#137de9}\n.dtu .button:hover svg{transform:translateX(1px)}\n.dtu .task-card:hover:not([aria-pressed=true]){background:#f6faff}\n.dtu .host-menu button:hover{background:#edf5ff}\n.dtu .icon-button:hover{background:#e2ebf6}\n.dtu .mascot-zone:hover>.companion:before,.dtu .mascot-zone:hover>.module-header .companion:before,.dtu .mascot-zone:hover>.side-heading .companion:before{opacity:0;transform:translateY(-2px) rotate(-1deg)}\n.dtu .mascot-zone:hover>.companion:after,.dtu .mascot-zone:hover>.module-header .companion:after,.dtu .mascot-zone:hover>.side-heading .companion:after{opacity:1;transform:translateY(-2px) rotate(-1deg)}}\n.dtu .mascot-zone.greet>.companion:before,.dtu .mascot-zone.greet>.module-header .companion:before,.dtu .mascot-zone.greet>.side-heading .companion:before{opacity:0}\n.dtu .mascot-zone.greet>.companion:after,.dtu .mascot-zone.greet>.module-header .companion:after,.dtu .mascot-zone.greet>.side-heading .companion:after{opacity:1;transform:translateY(-2px)}\n@container (max-width:1250px){.dtu .surface{padding:23px 28px}\n.dtu .host-companion{width:116px;height:116px;right:9px}\n.dtu .host-block{padding:22px;min-height:158px}\n.dtu .task-layout{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr)}\n.dtu .detail-head,.dtu .detail-body{padding:23px}\n.dtu .artifact{gap:7px;padding:13px 10px}\n.dtu .artifact .button{padding:7px 9px}\n.dtu .fact.with-companion{padding-right:64px}\n.dtu .fact.with-companion .companion{width:63px;height:63px}\n.dtu .hover-hint{font-size:10px}\n.dtu .workspace-banner .companion{right:18px}}\n@container (max-width:1000px){.dtu .surface{padding:22px 25px}\n.dtu .utility{margin-bottom:30px}\n.dtu .task-layout{grid-template-columns:minmax(280px,.9fr) minmax(330px,1.1fr);gap:17px}\n.dtu .artifact{grid-template-columns:27px minmax(0,1fr)}\n.dtu .artifact .button{grid-column:2;justify-self:start}\n.dtu .file-icon{width:27px}\n.dtu .detail-grid{gap:8px}\n.dtu .fact{padding:13px;min-height:125px}\n.dtu .fact.with-companion{padding-right:13px}\n.dtu .fact.with-companion .companion{width:55px;height:55px;opacity:.9}\n.dtu .fact.with-companion dd small{padding-right:38px;min-width:0}\n.dtu .workspace-layout{grid-template-columns:minmax(0,1fr) 260px;gap:17px}\n.dtu .workspace-banner .banner-copy{max-width:73%}\n.dtu .workspace-banner h2{font-size:27px}\n.dtu .host-copy{max-width:72%}}\n@container (max-width:740px){.dtu .surface{padding:20px}\n.dtu .page-header{align-items:flex-start}\n.dtu .page-header h1{font-size:34px}\n.dtu .page-header p{font-size:14px}\n.dtu .header-actions{flex-direction:column;align-items:flex-end;padding-top:0;gap:8px}\n.dtu .header-actions .button{font-size:12px;min-height:36px;padding:8px 14px}\n.dtu .eyebrow{font-size:10px}\n.dtu .snapshot-line{font-size:10px;margin-top:23px;gap:5px;flex-wrap:wrap}\n.dtu .host-strip{gap:14px}\n.dtu .host-block{padding:17px;min-height:164px}\n.dtu .host-block h2{font-size:18px}\n.dtu .host-block p{font-size:10px;max-width:125px}\n.dtu .host-copy{max-width:70%}\n.dtu .host-state{font-size:10px;max-width:106px;line-height:1.8}\n.dtu .host-companion{width:93px;height:93px;right:0;bottom:0}\n.dtu .connection{display:none}\n.dtu .host-caption{font-size:10px}\n.dtu .view-toolbar{margin:23px 0 18px}\n.dtu .hover-hint{display:none}\n.dtu .section-tabs{width:330px}\n.dtu .task-layout{grid-template-columns:1fr}\n.dtu .module-header{padding:20px 23px 15px}\n.dtu .task-card{padding:15px 17px}\n.dtu .task-card h3{font-size:15px}\n.dtu .card-top time,.dtu .card-foot{font-size:11px}\n.dtu .description{font-size:12px}\n.dtu .detail-head h2{font-size:25px}\n.dtu .artifact{grid-template-columns:32px minmax(0,1fr) auto}\n.dtu .artifact .button{grid-column:auto}\n.dtu .fact.with-companion{padding-right:85px}\n.dtu .fact.with-companion .companion{width:80px;height:80px;opacity:1}\n.dtu .fact.with-companion dd small{padding:0;min-width:95px}\n.dtu .fact{min-height:123px}\n.dtu .workspace-layout{grid-template-columns:1fr}\n.dtu .workspace-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.dtu .workspace-banner{min-height:205px;padding:24px}\n.dtu .workspace-banner .companion{width:145px;height:145px;right:5px}\n.dtu .workspace-banner .banner-copy{max-width:74%}\n.dtu .workspace-banner h2{font-size:24px}\n.dtu .workspace-banner p{font-size:11px}\n.dtu .page-footer{font-size:10px;align-items:start}\n.dtu .page-footer .text-button{flex:none}\n.dtu .detail-head p{max-width:calc(100% - 72px)}}\n@container (max-width:440px){.dtu .surface{padding:17px 14px}\n.dtu .utility{margin-bottom:26px}\n.dtu .breadcrumb{display:none}\n.dtu .utility-actions{width:100%;justify-content:space-between}\n.dtu .page-header h1{font-size:clamp(28px,8vw,32px)}\n.dtu .page-header p{font-size:12px}\n.dtu .eyebrow{font-size:10px}\n.dtu .page-header{gap:8px}\n.dtu .header-actions .button{font-size:11px;padding:8px 12px;gap:5px}\n.dtu .header-actions svg{width:14px;height:14px}\n.dtu .host-strip{gap:10px}\n.dtu .host-block{padding:14px 13px;min-height:177px;border-radius:19px}\n.dtu .host-block h2{font-size:16px}\n.dtu .host-block p{font-size:10px;max-width:100%}\n.dtu .host-copy{max-width:100%;width:100%}\n.dtu .host-state{margin-top:8px;max-width:95px;font-size:10px}\n.dtu .host-companion{width:82px;height:82px;right:-3px;bottom:-1px}\n.dtu .host-caption{font-size:10px;margin-bottom:5px}\n.dtu .host-caption svg{width:13px;height:13px}\n.dtu .section-tabs{width:100%}\n.dtu .section-tabs button{font-size:12px}\n.dtu .module{border-radius:21px}\n.dtu .module-header{padding:20px 18px 16px}\n.dtu .module-header h2{font-size:20px}\n.dtu .module-header p{font-size:10px}\n.dtu .module-header .companion{width:66px;height:66px}\n.dtu .module-tools{padding:0 18px 16px}\n.dtu .timeline{padding-right:15px;padding-left:29px}\n.dtu .timeline:before{left:20px}\n.dtu .task-card{padding:13px 12px}\n.dtu .task-card h3{font-size:14px}\n.dtu .description{font-size:11px}\n.dtu .card-foot{font-size:10px}\n.dtu .detail-head,.dtu .detail-body{padding:20px}\n.dtu .detail-head h2{font-size:22px}\n.dtu .detail-head .companion{right:12px;width:83px;height:83px}\n.dtu .detail-head p{font-size:11px}\n.dtu .detail-title>span{font-size:10px}\n.dtu .artifact{grid-template-columns:27px minmax(0,1fr);padding:12px}\n.dtu .artifact .button{grid-column:2;justify-self:start}\n.dtu .artifact strong{font-size:12px}\n.dtu .artifact small{font-size:10px}\n.dtu .fact.with-companion{padding-right:13px}\n.dtu .fact.with-companion .companion{width:53px;height:53px}\n.dtu .fact.with-companion dd small{padding-right:32px;min-width:0}\n.dtu .fact{min-height:139px;padding:13px 12px}\n.dtu .fact dd{font-size:12px}\n.dtu .fact dd small{font-size:10px}\n.dtu .workspace-banner{padding:23px 20px;min-height:219px}\n.dtu .workspace-banner h2{font-size:23px}\n.dtu .workspace-banner .companion{width:118px;height:118px;right:0}\n.dtu .workspace-banner p{font-size:11px}\n.dtu .workspace-banner .banner-copy{max-width:83%}\n.dtu .workspace-banner .button{font-size:12px}\n.dtu .workspace-aside{grid-template-columns:1fr}\n.dtu .side-module{padding:21px}\n.dtu .session-card{padding:15px}\n.dtu .session-card h3{font-size:14px}\n.dtu .session-card p{font-size:10px}\n.dtu .page-footer{flex-direction:column;gap:8px}\n.dtu .host-menu{right:-118px;width:258px}\n.dtu .snapshot-line{font-size:10px}\n.dtu .dialog-header h2{font-size:20px}\n.dtu dialog{padding:23px}}\n@container (max-width:360px){.dtu .host-strip{grid-template-columns:1fr}\n.dtu .host-block{min-height:139px;padding:18px}\n.dtu .host-copy{max-width:calc(100% - 94px)}\n.dtu .host-block h2{font-size:18px}\n.dtu .host-block p{font-size:11px}\n.dtu .host-state{max-width:none;font-size:10px}\n.dtu .host-companion{width:96px;height:96px;right:5px}\n.dtu .host-caption{font-size:10px}}\n.dtu.keyboard *,.dtu.keyboard *:before,.dtu.keyboard *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dtu.keyboard .companion:after{opacity:0!important}\n.dtu.keyboard .companion:before{opacity:1!important;transform:none!important}\n@media (prefers-reduced-motion:reduce){.dtu *,.dtu *:before,.dtu *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dtu .companion:after{opacity:0!important;transform:none!important}\n.dtu .companion:before{opacity:1!important;transform:none!important}\n.dtu button:active{transform:none!important}}\n/* Integration adjustments: native DSH owns its navigation and theme. */\n.dtu{height:100%;width:100%;overflow:auto;container-type:inline-size;background:#f5f8fc;color:#192534;--mascot:none;min-width:0;color-scheme:light}\n.dtu .surface{max-width:1500px;width:100%;padding:calc(var(--dsh-frame-top-clearance,0px) + 28px) 36px 24px;margin:0 auto;min-width:0}\n.dtu h1{font-size:36px}.dtu p,.dtu dd,.dtu strong,.dtu h2,.dtu h3{overflow-wrap:anywhere}\n.dtu button{font:inherit}.dtu button.button{font-size:13px}.dtu .host-copy{max-width:calc(100% - 95px)}\n.dtu .host-companion{width:112px;height:112px;right:5px;bottom:4px}.dtu .host-block{min-height:200px;padding:22px}\n.dtu .host-state{max-width:none}.dtu .host-copy p{font-size:11px;line-height:1.7}\n.dtu .warning{padding:12px 16px;color:#86490b;background:#fff3df;border-radius:12px;margin:14px 0;overflow-wrap:anywhere}\n.dtu .pending{padding:12px 16px;background:#eef4fb;border-radius:12px}.dtu summary{cursor:pointer;font-weight:550;list-style:revert;padding:5px 0}\n.dtu details p{margin:8px 0}.dtu .page-footer{margin-top:24px}.dtu .pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 24px 22px}.dtu .pagination .button{min-height:34px;font-size:12px;padding:6px 12px}\n.dtu .task-card .card-top{align-items:flex-start;flex-wrap:wrap;gap:8px}.dtu .card-foot{flex-wrap:wrap;gap:8px}\n.dtu .record{padding:12px 0;border-top:1px solid var(--line)}.dtu .record p{margin:6px 0}\n.dtu .empty-detail{padding:42px 28px;display:grid;justify-items:start;gap:12px}.dtu .empty-detail h2{font-size:20px}\n.dtu .back-button{display:none;margin:16px 20px 4px}.dtu .inner-timeline{padding:12px 0 0 14px;margin-top:16px}.dtu .inner-timeline:before{left:4px;top:36px;bottom:32px}.dtu .session-card .session-actions{flex-wrap:wrap}\n.dtu .evidence{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.dtu .evidence p{margin-top:10px}.dtu pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font:12px/1.7 inherit;background:#f5f8fc;padding:12px;border-radius:10px}\n.dtu .empty-artifact .button{margin-top:10px}.dtu .detail-grid .fact{margin:0;min-width:0}.dtu .fact dd{margin:6px 0 0;overflow-wrap:anywhere}.dtu .fact.with-companion{padding-right:72px}.dtu .fact.with-companion .companion{width:62px;height:62px}\n.dtu .workspace-banner p{max-width:570px}.dtu .about-dialog{padding:28px;border:1px solid #dfebf7;border-radius:24px;color:#192534;background:#ffffffed;max-width:min(560px,calc(100% - 32px));box-shadow:0 25px 80px #153f6b25;animation:dtu-modal-in 200ms var(--ease-out)}.dtu .about-dialog::backdrop{background:#17355933;backdrop-filter:blur(5px)}.dtu .about-dialog>p{margin:16px 0;font-size:13px;line-height:1.8}\n.dtu .task-layout{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr)}\n.dtu.compact .surface{padding:14px}.dtu.compact h1{font-size:23px}.dtu.compact .eyebrow{display:none}.dtu.compact .page-header{flex-wrap:wrap}.dtu.compact .header-actions{padding:0}.dtu.compact .task-layout{display:block}.dtu.compact .host-strip{grid-template-columns:1fr;margin-bottom:18px}.dtu.compact .host-block{min-height:175px}.dtu.compact .task-layout:not(.has-selection) .detail-panel{display:none}.dtu.compact .back-button{display:inline-flex}.dtu.compact .snapshot-line{flex-wrap:wrap}.dtu.compact .detail-grid{grid-template-columns:1fr}.dtu.compact .surface>.page-footer{font-size:10px}\n@container(max-width:900px){.dtu .surface{padding-left:22px;padding-right:22px}.dtu .task-layout{gap:16px;grid-template-columns:minmax(230px,.85fr) minmax(280px,1.15fr)}.dtu .detail-head,.dtu .detail-body{padding:20px}.dtu .fact.with-companion{padding-right:14px;padding-bottom:65px}.dtu .host-block{padding:18px}}\n@container(max-width:680px){.dtu .surface{padding-left:16px;padding-right:16px}.dtu .task-layout{display:block}.dtu .task-layout.has-selection .tasklist{display:none}.dtu .task-layout:not(.has-selection) .detail-panel{display:none}.dtu .back-button{display:inline-flex}.dtu .host-strip{grid-template-columns:1fr}.dtu .host-block{min-height:170px}.dtu .host-copy{max-width:calc(100% - 110px)}.dtu .host-copy p{max-width:none}.dtu .host-companion{width:114px;height:114px}.dtu .workspace-layout{display:block}.dtu .workspace-aside{margin-top:18px}.dtu .view-toolbar{flex-wrap:wrap}.dtu .section-tabs{max-width:100%}.dtu .detail-grid{grid-template-columns:1fr 1fr}.dtu .fact.with-companion{padding-right:65px;padding-bottom:16px}.dtu .page-header{flex-wrap:wrap}.dtu .header-actions{flex-direction:row;align-items:center;flex-wrap:wrap;padding:0}.dtu .host-menu{right:auto;left:0;max-width:calc(100vw - 48px)}.dtu .about-dialog{padding:22px}}\n@container(max-width:360px){.dtu .surface{padding-left:12px;padding-right:12px}.dtu .detail-grid{grid-template-columns:1fr}.dtu .detail-head,.dtu .detail-body{padding:16px}.dtu .session-head{flex-wrap:wrap}.dtu .pagination{padding-left:16px;padding-right:16px}.dtu .pagination .button{font-size:11px;padding:6px 10px}.dtu .module-tools{padding-left:16px;padding-right:16px}}\n@container(min-width:681px){.dtu:not(.compact) .tasklist>.timeline{max-height:610px;overflow:auto;overscroll-behavior:contain}}\n/* Per-row axis remains continuous when the task list itself scrolls. */\n.dtu .timeline:before{display:none}.dtu .timeline-row:before{z-index:1}.dtu .timeline-row:after{content:\"\";position:absolute;left:-9px;top:0;bottom:-4px;width:2px;background:#dce9f9;pointer-events:none}.dtu .timeline-row:first-child:after{top:26px}.dtu .timeline-row:last-child:after{bottom:auto;height:26px}.dtu .timeline-row:only-child:after{display:none}\n@container(max-width:360px){.dtu .host-block{min-height:196px;padding:16px}.dtu .host-copy{max-width:100%}.dtu .host-companion{width:78px;height:78px;right:5px;bottom:4px}.dtu .host-copy>p:nth-last-child(-n+2){max-width:calc(100% - 68px)}.dtu .host-state{max-width:none}}\n\n.artifact-card{border:1px solid #d6e6f3;border-radius:16px;padding:16px;background:#f5faff;margin-block:12px;overflow-wrap:anywhere}.artifact-card h4{display:flex;align-items:center;gap:8px;margin:0}.artifact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.artifact-card p{margin-block:8px}\n\n.dtu .artifact-introduction{font-size:14px;line-height:1.65;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}\n\n/* Persistent planning reads only. Static budget meters are not completion progress. */\n.dtu .planning-heading,.dtu .plan-card-heading,.dtu .budget-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}\n.dtu .planning-heading h3{display:flex;align-items:center;gap:8px}.dtu .plan-card{margin-top:14px;padding:18px;border:1px solid #d7e6f6;border-radius:16px;background:linear-gradient(135deg,#f5faff,#fff)}\n.dtu .plan-card h4{margin:0;font-size:14px;line-height:1.6}.dtu .plan-card p{font-size:12px;line-height:1.7}.dtu .plan-rule{color:#285c91;font-weight:550}\n.dtu .plan-budget{margin:14px 0 10px;padding:12px;border-radius:10px;background:#eaf3fc}.dtu .budget-caption{font-size:12px;font-variant-numeric:tabular-nums}.dtu .plan-budget meter{width:100%;height:8px;display:block;margin-top:8px;accent-color:#438be1}\n.dtu .planning-empty{padding:14px 16px;border:1px dashed #ccdeef;border-radius:12px;background:#f8fbff}.dtu .child-timeline{margin:12px 0 0;padding-left:14px}.dtu .child-card{padding:12px;background:#fff;border:1px solid #e1eaf4;border-radius:12px}.dtu .child-card .input-question{color:#80501b;background:#fff4e4;padding:10px;border-radius:8px;white-space:pre-wrap}\n.dtu .plan-budget meter::-webkit-meter-bar{border:0;border-radius:6px;background:#d9e6f5;box-shadow:none;height:8px}.dtu .plan-budget meter::-webkit-meter-optimum-value{border-radius:6px;background:#438be1}.dtu .plan-budget meter::-moz-meter-bar{border-radius:6px;background:#438be1}\n@container(max-width:360px){.dtu .plan-card{padding:12px}.dtu .child-card{padding:10px}.dtu .plan-card-heading .badge{white-space:normal}.dtu .planning-heading{align-items:flex-start}}\n\n/* Task notification snapshots reuse the accepted blue/white panels and left timeline. */\n.dtu .notification-binding{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 16px;margin:12px 0;border:1px solid #d9e8f7;border-radius:16px;background:#f4f9ff}\n.dtu .notification-binding p{flex-basis:100%;margin:0}\n.dtu .notification-card{border:1px solid #e0eaf4;border-radius:14px;background:#fff;padding:12px 14px;overflow-wrap:anywhere}\n.dtu .notification-reason{color:#40576c;font-size:13px;line-height:1.6}\n.dtu .notification-discovery{margin-top:16px;border-top:1px solid #e0eaf4;padding-top:14px}\n.dtu .notification-discovery summary{font-weight:600;cursor:pointer;color:#185a97;padding:5px 0}\n.dtu .notification-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}\n.dtu .notification-targets{list-style:none;padding:0;display:grid;gap:10px}\n.dtu .notification-targets li{padding:12px 14px;background:#f6faff;border:1px solid #deebf7;border-radius:12px;overflow-wrap:anywhere}\n\n/* A2A is a read-only timeline; no ambient motion or additional display polling. */\n.dtu .a2a-budgets{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n.dtu .a2a-card{background:#fff;border:1px solid #dbe8f7;border-radius:14px;padding:16px;overflow-wrap:anywhere}\n.dtu .a2a-result{margin:12px 0;padding:12px;border-radius:10px;background:#f2f8ff}\n.dtu .a2a-models{border-top:1px solid #e1eaf4;margin-top:14px;padding:12px 0}\n.dtu .a2a-models summary{cursor:pointer;color:#185a97;font-size:12px}\n.dtu .a2a-timeline{margin-top:18px;padding-left:14px}\n@container(max-width:480px){.dtu .a2a-budgets{grid-template-columns:1fr;gap:0}.dtu .a2a-card{padding:12px}}\n\n.dtu .a2a-workspace{margin-bottom:22px}.dtu .a2a-workspace>.inner-timeline{padding:0 22px 18px 28px}\n\n/* Static safety evidence: no auto-refresh, progress animation or new destructive controls. */\n.dtu .development-facts{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px 12px;margin:14px 0;padding:14px;border-radius:12px;background:#edf5fd;font-size:12px;line-height:1.65}.dtu .development-facts dt{color:#4b6d8d}.dtu .development-facts dd{margin:0;overflow-wrap:anywhere}.dtu .development-events{border-top:1px solid #dbe8f5;margin-top:14px;padding-top:12px}.dtu .development-events summary{cursor:pointer;font-size:12px;color:#185a97}.dtu .development-events .inner-timeline{margin-top:14px}.dtu .development-local{border:1px dashed #bcd5ee;border-radius:14px;padding:14px;margin-top:16px;background:#f7fbff}.dtu .development-local h4{margin:0;font-size:13px}.dtu .development-local .record:last-child{border-bottom:0}.dtu .development-card .badge{white-space:normal;text-align:left}\n@container(max-width:360px){.dtu .development-facts{grid-template-columns:1fr;gap:4px}.dtu .development-facts dd{margin-bottom:8px}.dtu .development-events .notification-card{padding:10px}}\n\n/* Delivery snapshots reuse accepted cards; no automatic refresh or decorative motion. */\n.dtu .delivery-section dd,.dtu .delivery-section h4{overflow-wrap:anywhere}\n.dtu .delivery-files summary{cursor:pointer;padding:10px 0}\n.dtu .delivery-files pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;padding:12px;border:1px solid #d6e8fa;border-radius:12px;background:#f5faff;color:#18344f;font-size:12px;line-height:1.55}\n.dtu .delivery-files summary:focus-visible{outline:2px solid #438fe8;outline-offset:3px;border-radius:6px}\n\n/* Own boundary only: never target or restyle the optional IM provider's descendants. */\n.dsh-native-im-shell{display:flex;flex-direction:column;gap:20px;height:100%;min-width:0;padding:24px;box-sizing:border-box;background:#f5f8fc}\n.dsh-native-im-frame{flex:1 1 auto;min-height:0;min-width:0;overflow:auto;padding:20px;border:1px solid #e1ebf6;border-radius:24px;box-sizing:border-box;background:#fff;box-shadow:0 4px 16px #345c7f05}\n\n.dsh-cloud-im-web{flex:1 1 auto;width:100%;min-height:360px;border:1px solid #e1ebf6;border-radius:24px;background:#fff}\n\n/* Compact presentation pass: no change to requests, permissions or expiry gates. */\n.dtu .surface{padding:calc(var(--dsh-frame-top-clearance,0px) + 16px) 24px 16px}\n.dtu .page-header{align-items:center;margin-bottom:12px;gap:16px}\n.dtu .workbench-brand{display:flex;align-items:center;gap:10px;min-width:0}\n.dtu .workbench-brand h1{font-size:25px;line-height:1.3;white-space:nowrap}\n.dtu .brand-companion{width:44px;height:44px;flex:none}\n.dtu .header-actions{gap:10px;padding:0;flex-wrap:wrap;align-items:center}\n.dtu .header-actions .button{min-height:38px;padding:8px 13px}\n.dtu .snapshot-line{margin:8px 0 12px;gap:6px 16px;flex-wrap:wrap;font-size:11px}\n.dtu .host-strip{gap:12px;margin-bottom:16px}\n.dtu .host-block{min-height:126px;padding:14px 16px;border-radius:18px}\n.dtu .host-block h2{font-size:18px;margin:4px 0 6px}\n.dtu .host-copy{max-width:calc(100% - 74px)}\n.dtu .host-copy p{margin:4px 0;font-size:11px;line-height:1.5}\n.dtu .host-companion{width:78px;height:78px;right:8px;bottom:12px}\n.dtu .view-toolbar{margin-bottom:12px}\n.dtu .module-header{padding:14px 18px;min-height:0;gap:12px}\n.dtu .module-header h2{font-size:17px;line-height:1.4}\n.dtu .module-header>.companion{width:44px;height:44px}\n.dtu .heading-with-help{display:flex;align-items:center;gap:6px;min-width:0}\n.dtu .info-help{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#5681a6;corner-shape:round}\n.dtu .info-help svg{width:18px;height:18px}\n.dtu .info-help:focus-visible{outline:2px solid #438fe8;outline-offset:-2px}\n.dtu .help-dialog{width:480px;max-height:80dvh;overflow:auto}\n.dtu .execution-tools{display:flex;align-items:center;gap:12px;flex:none}\n.dtu .execution-tools .companion{width:50px;height:50px}\n.dtu .execution-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 18px 12px;border-bottom:1px solid #e3edf7}\n.dtu .execution-toolbar p{margin:0;font-size:11px}\n.dtu .execution-switch{display:flex;gap:4px;align-items:center;padding:3px;background:#edf4fc;border-radius:12px}\n.dtu .execution-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:7px 12px;min-height:34px;background:transparent;color:#546e87;font-size:12px}\n.dtu .execution-switch button[aria-pressed=true]{background:#fff;color:#246eaf;box-shadow:0 1px 5px #315f8c10}\n.dtu .paged-timeline>.timeline{padding:12px 18px 0 30px;margin:0}\n.dtu .paged-timeline .session-card{padding:10px 14px;border-radius:12px}\n.dtu .paged-timeline .timeline-row{margin-bottom:8px}\n.dtu .paged-timeline .session-head{margin-bottom:4px;gap:8px;flex-wrap:wrap}\n.dtu .paged-timeline .session-card h3{font-size:14px;line-height:1.5;margin:2px 0}\n.dtu .paged-timeline .session-card p{font-size:12px;line-height:1.5;margin:4px 0}\n.dtu .paged-timeline .session-actions{margin-top:8px;gap:8px}\n.dtu .paged-timeline .button{min-height:32px;padding:6px 12px;font-size:12px}\n.dtu .paged-timeline .pagination{padding:10px 18px 14px}\n.dtu .pagination p{margin:0;font-variant-numeric:tabular-nums;font-size:12px;text-align:center}\n.dtu .tasklist .module-tools{padding:0 18px 12px}\n.dtu .tasklist .task-card{padding:14px 16px}\n.dtu .tasklist .timeline{padding-top:6px}\n.dtu .empty-detail{padding:24px;gap:8px}\n.dtu .empty-list{padding:16px 18px;font-size:12px}\n.dtu .page-footer{margin-top:12px}\n.dtu.compact .workbench-brand h1{font-size:20px}\n.dtu.compact .host-block{min-height:126px}\n@media(hover:hover) and (pointer:fine){.dtu .info-help:hover{background:#e7f2ff;color:#226caf}.dtu .execution-switch button:hover{color:#2168a4}}\n@container(max-width:680px){.dtu .surface{padding-left:14px;padding-right:14px}.dtu .page-header{gap:10px}.dtu .header-actions{gap:8px}.dtu .header-actions .button{min-height:44px}.dtu .host-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dtu .host-block{padding:12px;min-height:156px}.dtu .host-copy{max-width:100%}.dtu .host-companion{width:42px;height:42px;right:6px;bottom:4px;opacity:.85}.dtu .host-copy>p:nth-last-child(-n+2){max-width:calc(100% - 30px)}.dtu .host-block h2{font-size:15px}.dtu .execution-module>.module-header{flex-wrap:wrap}.dtu .execution-tools{justify-content:space-between;width:100%}.dtu .paged-timeline .button,.dtu .execution-switch button{min-height:44px}.dtu .info-help{width:44px;height:44px}.dtu .module-header{padding:12px}.dtu .execution-toolbar{padding:0 12px 12px}.dtu .paged-timeline>.timeline{padding-left:26px;padding-right:12px}.dtu .paged-timeline .pagination{padding:10px 12px}.dtu .pagination{gap:4px}.dtu .pagination p{font-size:11px}.dtu .execution-switch{width:100%}.dtu .execution-switch button{flex:1}.dtu .heading-with-help{gap:0}.dtu.compact .host-strip{grid-template-columns:1fr}}\n.dtu .empty-detail>.companion{width:48px;height:48px}\n.dtu .empty-detail h2{font-size:17px}\n@container(min-width:801px){.dtu .paged-timeline .session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px}.dtu .paged-timeline .session-card>.session-head,.dtu .paged-timeline .session-card>h3,.dtu .paged-timeline .session-card>p,.dtu .paged-timeline .session-card>details{grid-column:1}.dtu .paged-timeline .session-actions,.dtu .paged-timeline .session-card>.button{grid-column:2;grid-row:1/span 5;align-self:center;margin:0}.dtu .paged-timeline .session-head{justify-content:flex-start;gap:12px}}\n.dtu .host-caption{display:none}\n.dtu .host-block{min-height:120px}\n.dtu .host-state{margin-top:4px}\n.dtu .view-toolbar{margin-top:12px}\n@container(max-width:680px){.dtu .host-block{min-height:144px}.dtu .view-toolbar{margin-top:10px}}\n\n/* Task focus: outcomes first; internal evidence lives behind an explicit dialog. */\n.dtu .task-layout{grid-template-columns:minmax(240px,.67fr) minmax(360px,1.33fr);align-items:start}\n.dtu .detail-head{padding:18px 22px 14px;min-height:0}\n.dtu .detail-head h2{font-size:22px;max-width:calc(100% - 72px);padding-right:0}\n.dtu .detail-head .companion{width:64px;height:64px;right:18px;top:24px}\n.dtu .detail-body{padding:18px 22px 20px}\n.dtu .empty-artifact{padding:12px 14px;border:1px dashed #cfdeee;border-radius:14px;background:#f8fbff}\n.dtu .empty-artifact p{margin-top:4px;font-size:12px}\n.dtu .artifact-card{padding:14px 16px;margin:10px 0 0;background:#f8fbff;border:1px solid #dae7f5;border-radius:16px}\n.dtu .artifact-card h4{font-size:14px;line-height:1.5}\n.dtu .artifact-card .artifact-introduction{font-size:13px;line-height:1.7;margin:6px 0}\n.dtu .artifact-provenance summary{font-size:11px;color:#5d7894;font-weight:450;padding:2px 0}\n.dtu .artifact-actions{gap:8px;margin-top:10px}\n.dtu .artifact-actions .button{min-height:34px;padding:6px 12px;font-size:12px}\n.dtu .artifact-files>p:last-child{font-size:11px;margin-top:10px;color:#61788d}\n.dtu .task-attention{border-top:1px solid #e2ebf4;padding-top:18px;margin-top:20px}\n.dtu .attention-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}\n.dtu .attention-heading h3{display:flex;align-items:center;gap:7px;font-size:17px}\n.dtu .attention-heading p{font-size:12px;margin-top:4px}\n.dtu .attention-heading .companion{width:52px;height:52px;flex:none}\n.dtu .attention-heading .count{font-size:11px;background:#eaf2ff;color:#2666a6;padding:2px 7px;border-radius:8px}\n.dtu .attention-item{margin-top:12px;padding:14px 0;border-top:1px solid #ebf0f6}\n.dtu .attention-item h4{font-size:14px;margin:0 0 6px;color:#243b54}\n.dtu .attention-description{font-size:13px;color:#536b83;line-height:1.75;white-space:pre-wrap;margin:0 0 10px}\n.dtu .decision-context{display:flex;gap:6px 16px;flex-wrap:wrap;margin-bottom:10px;color:#5b728a}\n.dtu .task-decision-box label{display:block;font-size:12px;color:#38516b;margin-bottom:7px}\n.dtu .task-decision-box textarea{display:block;width:100%;min-height:88px;resize:vertical;max-height:220px;box-sizing:border-box;font:13px/1.7 inherit;font-family:inherit;padding:12px 14px;color:#243b54;background:#f8fbff;border:1px solid #c6daef;border-radius:14px;outline-offset:3px}\n.dtu .task-decision-box textarea:focus-visible{outline:2px solid #4f93e0;background:#fff}\n.dtu .task-decision-box textarea::placeholder{color:#71859b}\n.dtu .decision-hint{font-size:11px;color:#61768b;margin:7px 0 12px;line-height:1.6}\n.dtu .decision-actions{display:flex;flex-wrap:wrap;gap:8px}\n.dtu .decision-actions .button{min-height:36px;padding:7px 13px;font-size:12px}\n.dtu .decision-actions .decision-reject{color:#8d3c46;background:#fcf0f1}\n.dtu .decision-result{margin-top:12px;padding:12px 14px;border:1px solid #ccdfed;border-radius:12px;background:#f1f8ff;color:#2d5476;font-size:13px}\n.dtu .decision-result p{font-size:12px;margin:4px 0 0}\n.dtu .attention-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}\n.dtu .attention-inline-actions p{width:100%;font-size:11px}\n.dtu .attention-clear{padding:14px 0 8px;font-size:12px;color:#4b756d}\n.dtu .detail-more{margin-top:12px;font-size:12px}\n.dtu .task-diagnostics-dialog{width:780px;max-width:calc(100% - 32px);max-height:84dvh;overflow:auto;overscroll-behavior:contain}\n.dtu .task-diagnostics-dialog .detail-grid{margin:20px 0}\n.dtu .task-diagnostics-dialog .fact{min-height:0}\n@media(hover:hover) and (pointer:fine){.dtu .decision-actions .button:hover{transform:translateY(-1px)}.dtu .decision-actions .button:active{transform:scale(.97)}}\n@container(max-width:900px){.dtu .task-layout{grid-template-columns:minmax(210px,.68fr) minmax(310px,1.32fr);gap:14px}.dtu .detail-body{padding:16px 18px}}\n@container(max-width:680px){.dtu .task-layout{display:block}.dtu .detail-head,.dtu .detail-body{padding:16px}.dtu .detail-head h2{font-size:20px}.dtu .task-diagnostics-dialog{padding:18px}.dtu .decision-actions .button{min-height:40px}}\n@media(prefers-reduced-motion:reduce){.dtu .decision-actions .button:hover,.dtu .decision-actions .button:active{transform:none}}\n\n/* Workbench decision review is part of the existing action card, not another dashboard tile. */\n.dtu .decision-review{margin-top:12px;padding:16px;border:1px solid #cbdff2;background:#f5faff;border-radius:16px;min-width:0;outline-offset:3px}\n.dtu .decision-review h5{margin:0 0 8px;font-size:15px;line-height:1.5;color:#23496b}\n.dtu .decision-quote{padding:8px 12px;border-left:3px solid #88b7e3;white-space:pre-wrap;overflow-wrap:anywhere}\n.dtu .decision-proposal{margin:12px 0;font-size:13px;line-height:1.6}\n.dtu .decision-proposal summary{cursor:pointer;padding:6px 0;color:#245b8b}\n.dtu .decision-proposal>div{margin-top:10px;overflow-wrap:anywhere}\n.dtu .decision-proposal p{margin:2px 0;white-space:pre-wrap}\n.dtu .decision-proposal pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:220px;overflow:auto}\n.dtu .decision-query{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:#55718b}\n.dtu .decision-actions{flex-wrap:wrap}\n\n/* Step 02: compact source-backed intervention guidance; no attention animation. */\n.dtu .intervention-owner{font-size:12px;color:#35688f;margin:4px 0 8px}\n.dtu .intervention-next{border-left:2px solid #c2dcf7;padding:2px 0 2px 12px;margin:10px 0}\n.dtu .intervention-next strong{font-size:12px;color:#355a7e}\n.dtu .intervention-next p{margin:4px 0 10px}\n.dtu .intervention-history{border-top:1px solid #e4edf6;margin-top:16px;padding-top:12px;overflow-wrap:anywhere}\n.dtu .intervention-history summary{cursor:pointer;color:#35688f;padding:7px 0}\n.dtu .intervention-event{border-left:2px solid #e1ecf8;margin-left:4px;padding-left:12px;font-size:12px}\n.dtu .decision-identity{padding:12px;margin:12px 0;background:#f1f7ff;border:1px solid #d2e6fb;border-radius:12px;font-size:13px}\n.dtu .decision-identity p{margin:6px 0;color:#526b82}\n\n.dtu .task-query-helper{margin:10px 0 16px;min-width:0}\n.dtu .task-query-helper textarea{display:block;box-sizing:border-box;width:100%;min-height:88px;resize:vertical;max-height:200px;padding:12px 14px;margin:8px 0;font-family:inherit;font-size:13px;line-height:1.7;color:#243b54;background:#f8fbff;border:1px solid #c6daef;border-radius:14px;outline-offset:3px}\n.dtu .task-query-helper textarea:focus-visible{outline:2px solid #4f93e0;background:#fff}\n\n.dsh-onboarding{--ground:#f5f8fc;--surface:#fff;--ink:#192534;--muted:#667383;--blue:#0671e3;--blue-dark:#005ec4;--pale:#eaf3ff;--line:#e7edf4;--radius:24px;--ease-out:cubic-bezier(.23,1,.32,1);font-family:-apple-system,BlinkMacSystemFont,\"PingFang SC\",\"Microsoft YaHei\",sans-serif}\n.dsh-onboarding *{box-sizing:border-box}\n.dsh-onboarding{margin:0;background:#eef4fa;color:#23374a;font:14px/1.6 -apple-system,BlinkMacSystemFont,\"PingFang SC\",\"Microsoft YaHei\",sans-serif;-webkit-font-smoothing:antialiased}\n.dsh-onboarding button,.dsh-onboarding input,.dsh-onboarding select{font:inherit}\n.dsh-onboarding button{cursor:pointer;color:inherit}\n.dsh-onboarding button,.dsh-onboarding input,.dsh-onboarding select,.dsh-onboarding summary{-webkit-tap-highlight-color:transparent}\n.dsh-onboarding button:disabled{cursor:not-allowed;opacity:.48}\n.dsh-onboarding button{transition:transform 140ms var(--ease-out),background-color 160ms ease}\n.dsh-onboarding button:active:not(:disabled){transform:scale(.97)}\n.dsh-onboarding button:focus-visible,.dsh-onboarding select:focus-visible,.dsh-onboarding input:focus-visible,.dsh-onboarding summary:focus-visible{outline:3px solid #5fa8ef;outline-offset:3px}\n.dsh-onboarding h1,.dsh-onboarding h2,.dsh-onboarding h3,.dsh-onboarding p{margin:0}\n.dsh-onboarding svg{width:19px;height:19px;flex:none;vertical-align:middle}\n.dsh-onboarding h1:focus{outline:none}\n.dsh-onboarding ::selection{background:#c7e3ff}\n.dsh-onboarding a{color:var(--blue)}\n.dsh-onboarding code{font-family:\"SFMono-Regular\",Consolas,monospace;overflow-wrap:anywhere}\n.dsh-onboarding .window-frame{max-width:1140px;margin:22px auto 0;background:#f7faff;border:1px solid #fff;border-radius:25px;box-shadow:0 12px 50px #345d800b;overflow:clip}\n.dsh-onboarding .window-header{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;border-bottom:1px solid #e3edf7;background:#ffffffb0}\n.dsh-onboarding .brand{display:flex;align-items:center;gap:10px}\n.dsh-onboarding .brand-portrait{display:block;width:42px;height:42px;border-radius:14px;overflow:hidden;background:#e9f3ff}\n.dsh-onboarding .brand-portrait .companion{width:43px;height:43px;margin-top:2px}\n.dsh-onboarding .brand>strong{font-size:16px;font-weight:650;letter-spacing:-.02em;line-height:1.5}\n.dsh-onboarding .brand strong span{display:block;font-size:10px;font-weight:450;letter-spacing:.035em;color:#7b8fa5}\n.dsh-onboarding .header-actions{display:flex;align-items:center;gap:21px}\n.dsh-onboarding .mock-label{font-size:11px;color:#69859f;display:flex;gap:7px;align-items:center}\n.dsh-onboarding .mock-label>span{width:5px;height:5px;background:#6eafda;border-radius:50%}\n.dsh-onboarding .demo-options{position:relative}\n.dsh-onboarding .demo-options>summary{display:flex;align-items:center;gap:7px;list-style:none;font-size:11px;color:#71889f;cursor:pointer;padding:8px 0}\n.dsh-onboarding .demo-options>summary svg{width:14px;height:14px}\n.dsh-onboarding .demo-options>summary svg:last-child{width:11px}\n.dsh-onboarding .demo-options summary::-webkit-details-marker{display:none}\n.dsh-onboarding .demo-popover{position:absolute;z-index:20;right:0;top:37px;width:256px;border:1px solid #e3edf6;background:#fffffff8;backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 10px 38px #345d8024;padding:18px;animation:onboarding-popover-in 170ms var(--ease-out);transform-origin:top right}\n.dsh-onboarding .demo-popover>strong{font-size:11px;color:#637d94;font-weight:500}\n.dsh-onboarding .demo-popover label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#7a8ea3;margin-top:15px}\n.dsh-onboarding .demo-popover select{width:100%;min-height:39px;border:1px solid #dbe6f1;border-radius:9px;padding:8px;background:#f5f9fd;color:#466987;font-size:12px}\n.dsh-onboarding .reset-button{display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:#eef5fc;color:#5783ac;border-radius:9px;width:100%;font-size:11px;min-height:37px;margin-top:13px}\n.dsh-onboarding .reset-button svg{width:14px;height:14px}\n.dsh-onboarding main{padding:0 32px;min-width:0}\n.dsh-onboarding .page-top{height:53px;display:flex;align-items:center;justify-content:space-between;gap:18px}\n.dsh-onboarding .page-position{display:flex;align-items:baseline;gap:12px}\n.dsh-onboarding .page-position>strong{font-variant-numeric:tabular-nums;font-size:21px;color:#2776c2;font-weight:620;letter-spacing:-.045em}\n.dsh-onboarding .page-position>strong span{font-size:12px;font-weight:400;color:#8399ad;margin-left:3px;letter-spacing:0}\n.dsh-onboarding .page-position>span{font-size:12px;font-weight:500;color:#6a8096}\n.dsh-onboarding .page-top .button{font-size:11px;color:#7d92a6}\n.dsh-onboarding .page-top .button svg{width:12px;height:12px}\n.dsh-onboarding .progress-track{height:4px;border-radius:6px;overflow:hidden;background:#e1ebf5}\n.dsh-onboarding .progress-track>span{display:block;width:100%;height:100%;background:#5c9fe3;transform-origin:left;transition:transform 220ms var(--ease-out);border-radius:6px}\n.dsh-onboarding .page-progress{height:2px;background:#e3edf7}\n.dsh-onboarding .page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:155px;padding:19px 0 15px}\n.dsh-onboarding .intro-copy{min-width:0;max-width:720px}\n.dsh-onboarding .page-intro h1{font-size:30px;line-height:1.35;font-weight:640;letter-spacing:-.04em;text-wrap:balance;color:#263c51}\n.dsh-onboarding .page-intro p{font-size:12px;line-height:1.9;color:#71879d;margin-top:10px;max-width:650px}\n.dsh-onboarding .intro-art{position:relative;flex:0 0 170px;height:126px;display:flex;justify-content:center;align-items:start}\n.dsh-onboarding .art-disc{position:absolute;top:5px;width:114px;height:114px;border-radius:50%;background:#e6f2ff;box-shadow:0 0 0 9px #eef6ff}\n.dsh-onboarding .intro-art .companion{width:120px;height:120px;position:relative}\n.dsh-onboarding .art-tag{position:absolute;bottom:0;border:1px solid #e2edf8;background:#ffffffeb;backdrop-filter:blur(6px);border-radius:999px;font-size:9px;color:#7291b0;padding:4px 10px;white-space:nowrap;box-shadow:0 3px 8px #34668f08}\n.dsh-onboarding .page-content{animation:onboarding-page-in 190ms var(--ease-out)}\n.dsh-onboarding .page-columns{display:block}\n.dsh-onboarding .stack{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:18px;align-items:start}\n.dsh-onboarding .panel{background:#fff;border:1px solid #e1ebf6;border-radius:20px;padding:23px;min-width:0;box-shadow:0 4px 14px #345c7f04}\n.dsh-onboarding .panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:19px}\n.dsh-onboarding .panel-heading h2{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.5;font-weight:610;letter-spacing:-.025em;color:#354f67}\n.dsh-onboarding .panel-heading h2 svg{width:18px;height:18px;color:#74a4d3}\n.dsh-onboarding .panel-heading p{font-size:11px;line-height:1.8;color:#7a8fa4;margin-top:6px}\n.dsh-onboarding .badge{display:inline-flex;align-self:start;align-items:center;white-space:nowrap;font-size:10px;line-height:1.7;padding:3px 8px;border-radius:6px;background:#f0f5f9;color:#71879c;font-weight:450}\n.dsh-onboarding .badge.good{background:#eef8f2;color:#45836c}\n.dsh-onboarding .badge.blue{background:#edf5ff;color:#4689c8}\n.dsh-onboarding .badge.amber{background:#fff6e9;color:#a47937}\n.dsh-onboarding .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:3px}\n.dsh-onboarding .stack>.panel:nth-child(2) .form-grid{grid-template-columns:1fr}\n.dsh-onboarding .field{display:flex;min-width:0;flex-direction:column;gap:7px}\n.dsh-onboarding .field>span{font-size:11px;font-weight:550;color:#5c7690}\n.dsh-onboarding .field input,.dsh-onboarding .field select{width:100%;min-height:43px;background:#fcfdff;border:1px solid #dce7f2;border-radius:10px;padding:10px 11px;font-size:12px;color:#43627f;outline-offset:2px}\n.dsh-onboarding .field input[readonly]{background:#f5f9fd;color:#7890a6}\n.dsh-onboarding .field input:focus,.dsh-onboarding .field select:focus{border-color:#68a6df;background:#fff}\n.dsh-onboarding .field small{font-size:10px;line-height:1.8;color:#8499ad}\n.dsh-onboarding .field select{cursor:pointer}\n.dsh-onboarding .form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}\n.dsh-onboarding .button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;gap:8px;min-width:0;max-width:100%;min-height:44px;border:1px solid #c9def2;border-radius:999px;background:#edf5ff;color:#326c9f;padding:10px 16px;font-size:12px;font-weight:500;line-height:1.5;white-space:normal;box-shadow:0 1px 2px #37699508;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}\n.dsh-onboarding .button>span{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .button svg{width:15px;height:15px}\n.dsh-onboarding .button.primary{background:var(--blue);border-color:var(--blue);color:#fff;padding:10px 20px;min-height:44px;box-shadow:0 2px 5px #0671e314}\n.dsh-onboarding .button.secondary{background:#fff;border-color:#d4e3f1;color:#426c91}\n.dsh-onboarding .button.text{background:transparent;border-color:transparent;box-shadow:none;padding:10px 16px;min-width:72px;min-height:44px;font-size:11px;color:#4380b5}\n.dsh-onboarding .button:disabled{opacity:1;background:#f3f7fb;border-color:#e2eaf3;color:#8194a6;box-shadow:none}\n.dsh-onboarding .button.text:disabled{background:transparent;border-color:transparent}\n.dsh-onboarding .button.text.muted{color:#7c91a6}\n.dsh-onboarding .micro,.dsh-onboarding .fine-print{font-size:10px;color:#7e94a9;line-height:1.8}\n.dsh-onboarding .fine-print{margin-top:16px}\n.dsh-onboarding .error{font-size:11px;color:#ae4a40;margin-top:12px}\n.dsh-onboarding .detected{display:flex;gap:10px;align-items:start;padding:13px;background:#f2f9f6;border:1px solid #e6f1eb;border-radius:12px;margin-top:17px}\n.dsh-onboarding .detected>svg{width:17px;color:#5d9984;margin-top:2px}\n.dsh-onboarding .detected>div{flex:1;min-width:0}\n.dsh-onboarding .detected strong{font-size:12px;font-weight:550;color:#497b67}\n.dsh-onboarding .detected p,.dsh-onboarding .detected code{font-size:10px;color:#779588;line-height:1.8}\n.dsh-onboarding .detected code{display:block}\n.dsh-onboarding .path-line{display:flex;flex-direction:column;gap:4px;margin-top:18px;font-size:10px;color:#879aab}\n.dsh-onboarding .path-line code{color:#65829b}\n.dsh-onboarding .details{grid-column:1/-1;min-width:0;border:1px solid #e2ebf5;background:#f4f8fd;border-radius:13px;padding:13px 18px;color:#6e87a0;font-size:11px}\n.dsh-onboarding .details summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font-weight:500;min-height:20px}\n.dsh-onboarding .details summary::-webkit-details-marker{display:none}\n.dsh-onboarding .details summary>svg{margin-left:auto;width:14px;height:14px}\n.dsh-onboarding .details[open] summary{margin-bottom:13px}\n.dsh-onboarding .details[open] summary>svg{transform:rotate(180deg)}\n.dsh-onboarding .details p{font-size:11px;line-height:1.9;color:#7089a1}\n.dsh-onboarding .companion{position:relative;width:60px;height:60px;pointer-events:none;overflow:hidden;flex:none}\n.dsh-onboarding .companion:before,.dsh-onboarding .companion:after{content:\"\";position:absolute;inset:0;background-image:var(--mascot,none);background-size:400% 300%;background-repeat:no-repeat;transition:opacity 170ms var(--ease-out),transform 210ms var(--ease-out);transform-origin:50% 90%}\n.dsh-onboarding .companion:before{background-position:var(--x,0%) var(--y,0%);opacity:1}\n.dsh-onboarding .companion:after{background-position:var(--hx,33.3333%) var(--y,0%);opacity:0;transform:translateY(2px)}\n.dsh-onboarding .companion[data-pose=cloud]{--x:66.6667%;--hx:100%;--y:0%}\n.dsh-onboarding .companion[data-pose=tasks]{--x:0%;--hx:33.3333%;--y:50%}\n.dsh-onboarding .companion[data-pose=model]{--x:66.6667%;--hx:100%;--y:50%}\n.dsh-onboarding .companion[data-pose=repository]{--x:66.6667%;--hx:100%;--y:100%}\n.dsh-onboarding .context-note{margin-top:17px;border:1px solid #dfebf7;border-radius:15px;background:#eef6ff;overflow:clip}\n.dsh-onboarding .context-note>summary{display:flex;align-items:center;gap:13px;min-height:65px;padding:6px 19px 0 14px;cursor:pointer;list-style:none}\n.dsh-onboarding .context-note>summary::-webkit-details-marker{display:none}\n.dsh-onboarding .context-note>summary>.companion{width:58px;height:58px;align-self:end}\n.dsh-onboarding .context-note>summary>span{flex:1;padding:4px 0 10px}\n.dsh-onboarding .context-note strong{display:block;font-size:12px;font-weight:550;color:#5a7c9b}\n.dsh-onboarding .context-note small{font-size:10px;color:#8a9fb5;display:block;margin-top:3px}\n.dsh-onboarding .context-note>summary>svg{width:14px;height:14px;color:#8aa5bc;margin-bottom:6px}\n.dsh-onboarding .context-note[open]>summary>svg{transform:rotate(180deg)}\n.dsh-onboarding .context-body{padding:16px 22px 20px;border-top:1px solid #dfebf7;display:grid;grid-template-columns:1fr 1fr;gap:8px 26px;align-items:center}\n.dsh-onboarding .context-body>p{font-size:11px;line-height:1.9;color:#718aa3;white-space:pre-line}\n.dsh-onboarding .context-body .summary-foot{grid-column:1/-1;display:flex;align-items:center;gap:8px;border-top:1px solid #dfeaf5;padding-top:12px;margin-top:9px;color:#91a5b9;font-size:10px}\n.dsh-onboarding .summary-foot svg{width:14px;height:14px}\n.dsh-onboarding .context-body>.button{justify-self:start}\n.dsh-onboarding .info-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e6edf5;padding:12px 0;font-size:11px;line-height:1.8;color:#7b91a7}\n.dsh-onboarding .info-row:last-child{border:0}\n.dsh-onboarding .info-row strong{font-size:11px;font-weight:500;color:#536f89;text-align:right;overflow-wrap:anywhere}\n.dsh-onboarding .info-row svg{width:13px;height:13px}\n.dsh-onboarding .callout{display:flex;align-items:start;gap:9px;background:#f3f8fe;border:1px solid #e5eef8;border-radius:12px;padding:13px;margin:16px 0 0;font-size:11px;line-height:1.8;color:#738ca5}\n.dsh-onboarding .callout>svg{width:15px;height:15px;color:#81a4c7;margin-top:2px}\n.dsh-onboarding .callout strong{display:block;font-size:12px;color:#5c7893;font-weight:550;margin-bottom:3px}\n.dsh-onboarding .callout.warn{background:#fffaf1;border-color:#efe3ca;color:#92774a}\n.dsh-onboarding .callout.warn>svg{color:#b49158}\n.dsh-onboarding .callout .button{margin-top:10px}\n.dsh-onboarding .callout+.form-grid{margin-top:20px}\n.dsh-onboarding .inline-success{display:flex;align-items:center;gap:6px;color:#56947c;font-size:11px}\n.dsh-onboarding .inline-success svg{width:14px;height:14px}\n.dsh-onboarding .credential-row{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:16px;padding:16px;border:1px solid #e1ebf6;border-radius:16px;background:#f8fbff}\n.dsh-onboarding .credential-row>.info-row{border:0;padding:0;min-width:0;flex-wrap:wrap;gap:6px 16px}\n.dsh-onboarding .credential-row>.info-row>span{font-size:12px;font-weight:550;color:#4e6c87}\n.dsh-onboarding .credential-row>.info-row>strong{font-size:11px;color:#72899f}\n.dsh-onboarding .credential-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0}\n.dsh-onboarding .credential-actions .button{font-size:12px;min-height:44px}\n.dsh-onboarding .credential-row .info-row:last-child{border:0}\n.dsh-onboarding .provider-option{display:flex;align-items:center;gap:12px}\n.dsh-onboarding .provider-option>div{flex:1}\n.dsh-onboarding .provider-option strong{font-size:12px;font-weight:500}\n.dsh-onboarding .provider-option p{font-size:11px;color:#7f95a9;margin-top:3px}\n.dsh-onboarding .provider-monogram{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:#fff6ef;color:#b88757;font-size:10px}\n.dsh-onboarding .toggle{position:relative;flex:none;width:37px;height:23px;border:0;border-radius:30px;padding:3px;background:#dce6f0}\n.dsh-onboarding .toggle span{display:block;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #2645601a;transition:transform 180ms var(--ease-out)}\n.dsh-onboarding .toggle.on{background:#4196e5}\n.dsh-onboarding .toggle.on span{transform:translateX(14px)}\n.dsh-onboarding .expand-content{border-top:1px solid #e8eef5;padding-top:18px;margin-top:18px}\n.dsh-onboarding .channel-selected{display:flex;align-items:center;gap:10px;margin-bottom:20px}\n.dsh-onboarding .channel-selected>div{flex:1}\n.dsh-onboarding .channel-selected strong{font-size:13px}\n.dsh-onboarding .channel-selected p{font-size:11px;color:#7e95ab}\n.dsh-onboarding .channel-logo{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#edf6ff;color:#72a1cb}\n.dsh-onboarding .subtle-list{display:flex;flex-wrap:wrap;gap:10px 14px;margin:17px 0 8px;font-size:10px;color:#7e94a8}\n.dsh-onboarding .subtle-list span{display:flex;align-items:center;gap:5px}\n.dsh-onboarding .subtle-list svg{width:12px;height:12px;color:#7ca593}\n.dsh-onboarding .radio-options{display:flex;flex-direction:column;gap:9px}\n.dsh-onboarding .choice{display:flex;align-items:start;gap:11px;padding:13px;border:1px solid #e4ecf6;border-radius:12px;cursor:pointer}\n.dsh-onboarding .choice.selected{border-color:#b2d2f0;background:#f6faff}\n.dsh-onboarding .choice input{margin:3px 0 0;accent-color:var(--blue)}\n.dsh-onboarding .choice strong{font-size:12px;font-weight:550;color:#56738e}\n.dsh-onboarding .choice small{display:block;font-size:11px;line-height:1.8;color:#7f95a9;margin-top:3px}\n.dsh-onboarding .disabled{opacity:.55;cursor:not-allowed}\n.dsh-onboarding .conversation{margin:6px 0;max-width:330px}\n.dsh-onboarding .bubble{font-size:11px;line-height:1.9;background:#fff;color:#6a86a1;border-radius:12px 12px 12px 3px;padding:10px 12px;margin-bottom:10px}\n.dsh-onboarding .bubble.mine{background:#dcecfb;color:#5c7f9d;border-radius:12px 12px 3px 12px;margin-left:35px}\n.dsh-onboarding .empty-option{text-align:center;padding:24px 12px 30px}\n.dsh-onboarding .empty-option>svg{width:30px;height:30px;color:#96b8d7;margin-bottom:12px}\n.dsh-onboarding .empty-option h3{font-size:14px;font-weight:500;color:#658099}\n.dsh-onboarding .empty-option p{font-size:11px;line-height:1.9;color:#8096ab;margin:8px auto 0;max-width:340px}\n.dsh-onboarding .check-row{display:flex;align-items:start;gap:10px;cursor:pointer}\n.dsh-onboarding .check-row input{accent-color:var(--blue);margin:3px 0 0;width:15px;height:15px;flex:none}\n.dsh-onboarding .check-row strong{display:block;font-size:12px;font-weight:550;color:#58718a}\n.dsh-onboarding .check-row small{display:block;font-size:11px;line-height:1.8;color:#8297ab;margin-top:5px}\n.dsh-onboarding .artifact-example{display:flex;gap:11px;padding:15px;background:#ffffffc9;border-radius:12px;margin:8px 0}\n.dsh-onboarding .artifact-example>svg{width:22px;height:22px;color:#78a4cb;margin-top:2px}\n.dsh-onboarding .artifact-example strong{font-size:12px;font-weight:550;color:#5d7b95}\n.dsh-onboarding .artifact-example p{font-size:11px;color:#91a3b5;margin-top:4px}\n.dsh-onboarding .artifact-example span{display:block;font-size:11px;color:#4c89bd;margin-top:10px}\n.dsh-onboarding .connection-diagram{display:flex;align-items:center;gap:22px;justify-content:center;margin:10px 0}\n.dsh-onboarding .connection-diagram>div{display:flex;align-items:center;flex-direction:column;gap:5px;font-size:11px;color:#6f96b8}\n.dsh-onboarding .connection-diagram svg{width:23px;height:23px}\n.dsh-onboarding .dotted-link{color:#a4bdd3;letter-spacing:4px;margin-bottom:15px}\n.dsh-onboarding .plan-host+.plan-host{margin-top:23px;border-top:1px solid #e4edf5;padding-top:20px}\n.dsh-onboarding .host-label{display:flex;align-items:center;gap:8px;margin-bottom:9px}\n.dsh-onboarding .host-label>svg{width:17px;color:#7ca2c5}\n.dsh-onboarding .host-label>strong{font-size:12px;font-weight:550}\n.dsh-onboarding .host-label .badge{margin-left:auto}\n.dsh-onboarding .plan-item{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;font-size:11px;margin-top:12px}\n.dsh-onboarding .plan-item>span{color:#8094a7}\n.dsh-onboarding .plan-item strong{font-weight:500;color:#617b92;text-align:right}\n.dsh-onboarding .plan-item code{width:100%;font-size:10px;color:#8198ad}\n.dsh-onboarding .green{color:#4f8d77!important}\n.dsh-onboarding .plan-aside{margin-top:18px}\n.dsh-onboarding .plan-aside .summary{border:1px solid #e0ebf6;border-radius:15px;background:#edf5fe;padding:18px 22px;display:grid;grid-template-columns:70px 1fr 1fr;column-gap:20px;align-items:center}\n.dsh-onboarding .compact-mascot{grid-column:1;grid-row:1/4}\n.dsh-onboarding .compact-mascot .companion{width:70px;height:70px}\n.dsh-onboarding .summary>h3{grid-column:2;font-size:13px;font-weight:550;color:#63819c}\n.dsh-onboarding .summary>p{grid-column:2;font-size:11px;color:#8099b0}\n.dsh-onboarding .summary .status-list{display:none}\n.dsh-onboarding .summary>.info-row{grid-column:3;font-size:10px;padding:4px 0;border:0}\n.dsh-onboarding .summary>.info-row:nth-last-child(3){grid-row:1}\n.dsh-onboarding .summary>.info-row:nth-last-child(2){grid-row:2}\n.dsh-onboarding .summary>.info-row:last-child{grid-row:3}\n.dsh-onboarding .summary .info-row strong{font-size:10px}\n.dsh-onboarding .consent{padding:19px 4px 0}\n.dsh-onboarding .run-columns>.stack{display:block}\n.dsh-onboarding .run-panel{padding:23px 28px}\n.dsh-onboarding .run-panel .panel-heading{margin-bottom:15px}\n.dsh-onboarding .run-progress{padding:14px 17px;background:#f5f9fe;border-radius:12px;margin-bottom:25px}\n.dsh-onboarding .run-progress>div:first-child{display:flex;align-items:baseline;gap:8px;margin-bottom:11px}\n.dsh-onboarding .run-progress strong{font-size:20px;font-weight:550;color:#4184c1;letter-spacing:-.04em}\n.dsh-onboarding .run-progress span{font-size:11px;color:#6e8ba4}\n.dsh-onboarding .run-progress small{font-size:10px;color:#8197ac;margin-left:auto}\n.dsh-onboarding .phase-timeline{list-style:none;padding:0;margin:24px 0}\n.dsh-onboarding .phase-timeline li{display:flex;gap:15px;position:relative;padding-bottom:21px;min-height:66px}\n.dsh-onboarding .phase-timeline li:not(:last-child):before{content:\"\";position:absolute;left:12px;top:25px;bottom:0;width:1px;background:#dee9f4}\n.dsh-onboarding .phase-dot{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#edf3f8;color:#8298ac;font-size:10px}\n.dsh-onboarding .phase-dot svg{width:13px;height:13px}\n.dsh-onboarding .phase-timeline .done .phase-dot{background:#edf6f0;color:#58947b}\n.dsh-onboarding .phase-timeline .active .phase-dot{background:#e6f2ff;color:#418dce}\n.dsh-onboarding .phase-copy{flex:1;min-width:0}\n.dsh-onboarding .phase-copy>div{display:flex;justify-content:space-between;align-items:center;gap:12px}\n.dsh-onboarding .phase-copy h3{font-size:13px;font-weight:550;color:#5c7893;margin-bottom:5px}\n.dsh-onboarding .phase-copy small{font-size:11px;color:#7e94a9}\n.dsh-onboarding .phase-copy p{font-size:11px;line-height:1.8;color:#5e758b}\n.dsh-onboarding .phase-timeline .active h3{color:#337dbb}\n.dsh-onboarding .phase-timeline .pending .phase-dot{background:#f1f5f9;color:#8b9caf}\n.dsh-onboarding .phase-timeline li:last-child{padding-bottom:0}\n.dsh-onboarding .capability-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}\n.dsh-onboarding .wizard-footer{position:sticky;bottom:0;z-index:4;background:#f7faffed;backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dfeaf5;margin-top:25px;padding:19px 0}\n.dsh-onboarding .wizard-footer>div{display:flex;align-items:center;gap:22px}\n.dsh-onboarding .outside-note{max-width:1140px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#8da2b6;padding:15px 16px 20px}\n.dsh-onboarding .outside-note svg{width:13px;height:13px}\n.dsh-onboarding .overview-list{display:flex;flex-direction:column;gap:12px;margin-top:17px}\n.dsh-onboarding .overview-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:12px;width:100%;min-height:52px;padding:13px 16px;border:1px solid #dbe8f5;border-radius:16px;corner-shape:round;appearance:none;background:#fff;background-image:none;font-size:13px;color:#43627f;text-align:left;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}\n.dsh-onboarding .overview-list .overview-title{min-width:0;overflow-wrap:anywhere;font-weight:550}\n.dsh-onboarding .overview-list>button>svg{width:14px;height:14px;color:#7e9fbb}\n.dsh-onboarding .overview-list .badge{justify-self:start;align-self:center;max-width:100%;font-size:10px}\n.dsh-onboarding .overview-list>button[aria-current=step]{border-color:#9fc7ef;background:#edf5ff}\n.dsh-onboarding .overview-list>button:disabled{opacity:1;color:#8598aa;background:#f7f9fc;border-color:#e5edf5}\n.dsh-onboarding .overview-list>button:disabled .badge{color:#8799aa}\n.dsh-onboarding .overview-list>button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .overview-list>button:focus-visible:active{transform:none}\n@container (max-width:520px){.dsh-onboarding .overview-list>button{grid-template-columns:minmax(0,1fr) 14px;gap:6px 12px;padding:12px 14px}\n.dsh-onboarding .overview-list .badge{grid-column:1;grid-row:2}\n.dsh-onboarding .overview-list>button>svg{grid-column:2;grid-row:1/3}}\n.dsh-onboarding .eyebrow{display:block;font-size:10px;letter-spacing:.08em;color:#89a0b5;margin-bottom:7px}\n.dsh-onboarding dialog{border:1px solid #fff;padding:25px;border-radius:23px;background:#fffffff5;color:var(--ink);box-shadow:0 24px 80px #17376230;max-width:min(600px,calc(100vw - 30px));width:600px;max-height:88dvh}\n.dsh-onboarding dialog::backdrop{background:#2d4d7029;backdrop-filter:blur(5px)}\n.dsh-onboarding dialog[open]{animation:onboarding-dialog-in 210ms var(--ease-out)}\n.dsh-onboarding dialog header{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}\n.dsh-onboarding dialog h2{font-size:21px;font-weight:600;letter-spacing:-.025em}\n.dsh-onboarding .icon-button{display:grid;place-items:center;border:0;background:#f0f5fa;width:32px;height:32px;border-radius:50%;color:#7a90a4;flex:none}\n.dsh-onboarding .icon-button svg{width:16px;height:16px}\n.dsh-onboarding .modal-body{font-size:12px;color:#6b8196;line-height:1.95}\n.dsh-onboarding .modal-body>p{margin-top:12px}\n.dsh-onboarding .modal-body ul{padding-left:20px}\n.dsh-onboarding .modal-body h3{font-size:15px;color:#4c6985}\n.dsh-onboarding .modal-body .button{margin-top:15px}\n.dsh-onboarding dialog footer{margin-top:24px;padding-top:20px;border-top:1px solid #e7edf4;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}\n.dsh-onboarding .code-block,.dsh-onboarding .diff-block{display:block;padding:18px;border:1px solid #e1eaf3;background:#f5f9fe;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/2 \"SFMono-Regular\",Consolas,monospace;color:#71879f;margin:16px 0}\n.dsh-onboarding .diff-block .added{color:#47836a}\n.dsh-onboarding .mock-chat{padding:16px;background:#eef6ff;border-radius:12px;margin-top:15px}\n.dsh-onboarding .mock-chat small{color:#98aac0}\n.dsh-onboarding .toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e0eaf4;border-radius:30px;padding:12px 23px;font-size:12px;box-shadow:0 8px 28px #23496b1a}\n@keyframes onboarding-page-in{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}\n@keyframes onboarding-dialog-in{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}\n@keyframes onboarding-popover-in{from{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:none}}\n@keyframes onboarding-spin{to{transform:rotate(360deg)}}\n.dsh-onboarding .lucide-loader-circle{animation:onboarding-spin 1s linear infinite}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .button.primary:not(:disabled):hover{background:#2689e5}\n.dsh-onboarding .button.soft:hover{background:#dfedfc}\n.dsh-onboarding .button.text:hover{color:#1c70b7}\n.dsh-onboarding .demo-options>summary:hover{color:#3d83bf}\n.dsh-onboarding .reset-button:hover{background:#e2effb}\n.dsh-onboarding .choice:hover:not(.disabled){border-color:#b1cde8}\n.dsh-onboarding .icon-button:hover{background:#e2edf7}\n.dsh-onboarding .overview-list>button:not(:disabled):hover{background:#eaf4ff}\n.dsh-onboarding .context-note>summary:hover{background:#e7f2ff}\n.dsh-onboarding .mascot-zone:hover .companion:before{opacity:0;transform:translateY(-2px) rotate(-1deg)}\n.dsh-onboarding .mascot-zone:hover .companion:after{opacity:1;transform:translateY(-2px) rotate(-1deg)}}\n@container (max-width:1180px){.dsh-onboarding .window-frame{margin:14px 18px 0}}\n@container (max-width:900px){.dsh-onboarding .window-frame{margin:10px 14px 0}\n.dsh-onboarding .window-header{padding:0 24px}\n.dsh-onboarding main{padding:0 24px}\n.dsh-onboarding .page-intro{gap:16px;min-height:149px}\n.dsh-onboarding .page-intro h1{font-size:27px}\n.dsh-onboarding .intro-art{flex-basis:145px}\n.dsh-onboarding .panel{padding:20px}\n.dsh-onboarding .stack{gap:15px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}\n.dsh-onboarding .form-grid{grid-template-columns:1fr}\n.dsh-onboarding .field input,.dsh-onboarding .field select{min-height:42px}\n.dsh-onboarding .art-tag{font-size:8px}\n.dsh-onboarding .page-intro p{font-size:11px}}\n@container (max-width:740px){.dsh-onboarding .stack{grid-template-columns:1fr}\n.dsh-onboarding .form-grid{grid-template-columns:1fr 1fr}\n.dsh-onboarding .stack>.panel:nth-child(2) .form-grid{grid-template-columns:1fr 1fr}\n.dsh-onboarding .page-intro{min-height:140px}\n.dsh-onboarding .intro-art{height:108px;flex-basis:124px}\n.dsh-onboarding .intro-art .companion{width:102px;height:102px}\n.dsh-onboarding .art-disc{width:95px;height:95px;top:3px;box-shadow:0 0 0 7px #eef6ff}\n.dsh-onboarding .art-tag{font-size:8px;bottom:-3px;padding:3px 7px}\n.dsh-onboarding .plan-aside .summary{grid-template-columns:60px 1fr;gap:3px 16px}\n.dsh-onboarding .compact-mascot .companion{width:60px;height:60px}\n.dsh-onboarding .summary>.info-row{display:none}\n.dsh-onboarding .context-body{grid-template-columns:1fr 1fr;gap:10px 17px}\n.dsh-onboarding .context-body>p{font-size:11px}\n.dsh-onboarding .run-panel{padding:20px}}\n@container (max-width:520px){.dsh-onboarding .window-frame{margin:0;border:0;border-radius:0;box-shadow:none;min-height:100dvh}\n.dsh-onboarding .window-header{height:61px;padding:0 17px}\n.dsh-onboarding .brand{gap:8px}\n.dsh-onboarding .brand>strong{font-size:14px}\n.dsh-onboarding .brand strong span{font-size:9px}\n.dsh-onboarding .brand-portrait{width:36px;height:36px;border-radius:11px}\n.dsh-onboarding .brand-portrait .companion{width:37px;height:37px}\n.dsh-onboarding .header-actions{gap:12px}\n.dsh-onboarding .mock-label{font-size:9px;gap:5px}\n.dsh-onboarding .demo-options>summary{font-size:10px;gap:5px;min-height:44px}\n.dsh-onboarding .demo-options>summary svg:first-child{display:none}\n.dsh-onboarding .demo-popover{top:42px;width:240px}\n.dsh-onboarding .demo-popover select,.dsh-onboarding .reset-button{min-height:44px}\n.dsh-onboarding main{padding:0 16px}\n.dsh-onboarding .page-top{height:47px}\n.dsh-onboarding .page-position>strong{font-size:20px}\n.dsh-onboarding .page-position>span{font-size:11px}\n.dsh-onboarding .page-top .button{min-height:40px;font-size:10px}\n.dsh-onboarding .page-intro{min-height:133px;gap:10px;padding:15px 0}\n.dsh-onboarding .intro-copy{flex:1}\n.dsh-onboarding .page-intro h1{font-size:23px;line-height:1.4}\n.dsh-onboarding .page-intro p{font-size:10px;line-height:1.85;margin-top:7px}\n.dsh-onboarding .intro-art{height:95px;flex:0 0 86px}\n.dsh-onboarding .intro-art .companion{width:86px;height:86px}\n.dsh-onboarding .art-disc{width:77px;height:77px;box-shadow:0 0 0 5px #eef6ff;top:4px}\n.dsh-onboarding .art-tag{display:none}\n.dsh-onboarding .panel{border-radius:17px;padding:18px}\n.dsh-onboarding .panel-heading h2{font-size:15px}\n.dsh-onboarding .panel-heading{gap:10px;margin-bottom:16px}\n.dsh-onboarding .panel-heading p{font-size:10px}\n.dsh-onboarding .form-grid,.dsh-onboarding .stack>.panel:nth-child(2) .form-grid{grid-template-columns:1fr;gap:14px}\n.dsh-onboarding .field>span{font-size:11px}\n.dsh-onboarding .field input,.dsh-onboarding .field select{font-size:12px;min-height:44px}\n.dsh-onboarding .field small{font-size:10px}\n.dsh-onboarding .form-actions{gap:16px;margin-top:20px}\n.dsh-onboarding .button{min-height:44px;font-size:11px;padding:10px 14px}\n.dsh-onboarding .button.text{min-height:44px}\n.dsh-onboarding .button.primary{padding:11px 18px}\n.dsh-onboarding .micro{font-size:10px}\n.dsh-onboarding .badge{font-size:9px}\n.dsh-onboarding .toggle{width:44px;height:28px;padding:5px}\n.dsh-onboarding .toggle.on span{transform:translateX(17px)}\n.dsh-onboarding .choice{min-height:58px}\n.dsh-onboarding .choice small{font-size:10px}\n.dsh-onboarding .callout{font-size:10px}\n.dsh-onboarding .credential-row{padding:14px;gap:12px}\n.dsh-onboarding .credential-actions>.button{flex:1 1 130px;font-size:12px}\n.dsh-onboarding .provider-option p{font-size:10px}\n.dsh-onboarding .check-row small{font-size:10px}\n.dsh-onboarding .empty-option{padding:18px 4px 22px}\n.dsh-onboarding .details{padding:13px 16px}\n.dsh-onboarding .details summary{min-height:25px}\n.dsh-onboarding .context-note>summary{gap:9px;padding:6px 12px 0 8px;min-height:61px}\n.dsh-onboarding .context-note>summary>.companion{width:49px;height:49px}\n.dsh-onboarding .context-note strong{font-size:11px}\n.dsh-onboarding .context-note small{font-size:9px}\n.dsh-onboarding .context-body{grid-template-columns:1fr;padding:14px 16px;gap:9px}\n.dsh-onboarding .capability-list{grid-template-columns:1fr;gap:0}\n.dsh-onboarding .context-body .info-row{padding:8px 0}\n.dsh-onboarding .connection-diagram{gap:18px;justify-content:start}\n.dsh-onboarding .context-body .summary-foot{font-size:9px}\n.dsh-onboarding .plan-aside .summary{padding:16px}\n.dsh-onboarding .plan-aside .summary>h3{font-size:12px}\n.dsh-onboarding .summary>p{font-size:10px}\n.dsh-onboarding .plan-item code{font-size:9px}\n.dsh-onboarding .consent{padding-top:17px}\n.dsh-onboarding .consent .check-row strong{font-size:12px}\n.dsh-onboarding .run-panel{padding:18px}\n.dsh-onboarding .run-panel .panel-heading h2{font-size:13px}\n.dsh-onboarding .run-progress{padding:12px}\n.dsh-onboarding .run-progress small{font-size:9px;max-width:90px;line-height:1.7}\n.dsh-onboarding .run-progress strong{font-size:18px}\n.dsh-onboarding .run-progress span{font-size:10px}\n.dsh-onboarding .phase-timeline li{gap:10px;min-height:77px}\n.dsh-onboarding .phase-copy h3{font-size:12px}\n.dsh-onboarding .phase-copy p{font-size:11px;color:#5e758b}\n.dsh-onboarding .phase-copy small{font-size:10px;white-space:nowrap}\n.dsh-onboarding .wizard-footer{padding:15px 0;gap:10px;margin-top:20px}\n.dsh-onboarding .wizard-footer>div{gap:13px}\n.dsh-onboarding .wizard-footer .button.text{font-size:10px}\n.dsh-onboarding .wizard-footer .button.text svg{display:none}\n.dsh-onboarding .wizard-footer .button.primary{font-size:11px;padding:10px 15px}\n.dsh-onboarding .wizard-footer .badge{font-size:9px}\n.dsh-onboarding .outside-note{font-size:9px;padding:14px 12px}\n.dsh-onboarding .outside-note svg{width:12px;height:12px}\n.dsh-onboarding dialog{padding:21px}\n.dsh-onboarding dialog h2{font-size:19px}\n.dsh-onboarding .overview-list>button{min-height:48px}}\n@container (max-width:370px){.dsh-onboarding .header-actions .mock-label{display:none}\n.dsh-onboarding .page-intro h1{font-size:21px}\n.dsh-onboarding .intro-art{flex-basis:72px}\n.dsh-onboarding .intro-art .companion{width:72px;height:72px}\n.dsh-onboarding .art-disc{width:66px;height:66px}\n.dsh-onboarding .wizard-footer{flex-wrap:wrap}\n.dsh-onboarding .wizard-footer>div:last-child{margin-left:auto}}\n.dsh-onboarding.keyboard *,.dsh-onboarding.keyboard *:before,.dsh-onboarding.keyboard *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dsh-onboarding.keyboard .companion:after{opacity:0!important}\n.dsh-onboarding.keyboard .companion:before{opacity:1!important;transform:none!important}\n@media (prefers-reduced-motion:reduce){.dsh-onboarding *,.dsh-onboarding *:before,.dsh-onboarding *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dsh-onboarding .companion:after{opacity:0!important}\n.dsh-onboarding .companion:before{opacity:1!important;transform:none!important}\n.dsh-onboarding button:active{transform:none!important}}\n.dsh-onboarding .field-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:28px}\n.dsh-onboarding .field-heading>label{font-size:11px;font-weight:550;color:#5c7690;cursor:text;min-width:0;line-height:1.6}\n.dsh-onboarding .field-markers{display:inline-flex;align-items:center;gap:5px;flex:none}\n.dsh-onboarding .requirement-badge{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:9px;font-weight:450;line-height:1.6;border-radius:5px;padding:2px 5px;color:#71869b;background:#f1f5f9}\n.dsh-onboarding .requirement-badge.required{color:#9b655f;background:#fbf2ef}\n.dsh-onboarding .requirement-badge.required>span{font-size:12px;font-weight:650;line-height:1}\n.dsh-onboarding .requirement-badge.optional{color:#7a8c9d;background:#f2f5f8}\n.dsh-onboarding .requirement-badge.auto{color:#5284ac;background:#edf5fc}\n.dsh-onboarding .requirement-badge.conditional{color:#9b7b43;background:#fbf6eb}\n.dsh-onboarding .field-help-button{display:grid;place-items:center;flex:none;border:0;border-radius:50%;width:26px;height:26px;padding:5px;background:transparent;color:#7e9fbb}\n.dsh-onboarding .field-help-button svg{width:16px;height:16px}\n.dsh-onboarding .field input:required:invalid:not(:focus),.dsh-onboarding .field select:required:invalid:not(:focus){border-color:#c6a18d;background:#fffdf9}\n.dsh-onboarding .panel-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}\n.dsh-onboarding .panel-title-line .field-markers{gap:4px}\n.dsh-onboarding .panel-heading>div{min-width:0}\n.dsh-onboarding .panel-title-line .field-help-button{width:25px;height:25px}\n.dsh-onboarding .check-controls{display:flex;align-items:start;gap:10px}\n.dsh-onboarding .check-controls>.check-row{flex:1;min-width:0}\n.dsh-onboarding .check-controls>.field-markers{margin-top:0}\n.dsh-onboarding .help-intro{display:flex;align-items:center;gap:10px;font-size:12px;color:#68849d;padding:12px 14px;background:#f5f9fe;border:1px solid #e2edf7;border-radius:12px}\n.dsh-onboarding .help-facts{margin:19px 0 0}\n.dsh-onboarding .help-facts>div{padding:13px 0;border-bottom:1px solid #edf2f8}\n.dsh-onboarding .help-facts>div:first-child{padding-top:0}\n.dsh-onboarding .help-facts dt{font-size:11px;font-weight:600;color:#5a7893;margin-bottom:4px}\n.dsh-onboarding .help-facts dd{margin:0;font-size:12px;color:#6c8398;line-height:1.9}\n.dsh-onboarding .help-facts code{display:block;background:#f2f7fc;border-radius:7px;padding:7px 10px;font-size:11px;color:#5d7b96}\n.dsh-onboarding .help-facts .help-impact{margin-top:8px;border:0;background:#edf5ff;border-radius:11px;padding:13px}\n.dsh-onboarding .help-preview-note{font-size:10px;color:#8da0b2;margin-top:15px}\n.dsh-onboarding .requirement-rules{display:flex;flex-direction:column;gap:12px}\n.dsh-onboarding .requirement-rules>div{display:flex;align-items:start;gap:12px;padding:12px;background:#f7faff;border-radius:11px}\n.dsh-onboarding .requirement-rules .requirement-badge{flex:none;margin-top:3px}\n.dsh-onboarding .requirement-rules p{margin:0;font-size:12px;line-height:1.8}\n.dsh-onboarding .wizard-footer{display:grid;grid-template-columns:1fr auto;gap:12px 20px}\n.dsh-onboarding .wizard-footer>div:last-child{justify-content:flex-end}\n.dsh-onboarding .wizard-footer>.page-guidance{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:0 0 10px;border-bottom:1px solid #e8eff7;font-size:10px;color:#73899e;line-height:1.8}\n.dsh-onboarding .page-guidance>svg{width:14px;height:14px;color:#819fba}\n.dsh-onboarding .page-guidance.ready>svg{color:#73a18f}\n.dsh-onboarding .page-guidance>p{flex:1;min-width:0}\n.dsh-onboarding .guidance-help{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:3px 0 3px 8px;border:0;background:transparent;color:#7593ac;white-space:nowrap;font-size:10px}\n.dsh-onboarding .guidance-help svg{width:14px;height:14px}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .field-help-button:hover{background:#eaf4ff;color:#3e85c2}\n.dsh-onboarding .guidance-help:hover{color:#397db7}}\n@container (max-width:900px){.dsh-onboarding .panel-title-line{gap:5px}\n.dsh-onboarding .check-controls{flex-wrap:wrap}\n.dsh-onboarding .check-controls>.field-markers{margin-left:auto}}\n@container (max-width:520px){.dsh-onboarding .field-heading{min-height:34px;gap:6px}\n.dsh-onboarding .field-help-button,.dsh-onboarding .panel-title-line .field-help-button{width:44px;height:44px;padding:14px}\n.dsh-onboarding .field-markers{gap:3px}\n.dsh-onboarding .requirement-badge{font-size:9px}\n.dsh-onboarding .field-help-button svg{width:16px;height:16px}\n.dsh-onboarding .field{gap:8px}\n.dsh-onboarding .panel-title-line .field-markers{gap:2px}\n.dsh-onboarding .panel-heading{align-items:center}\n.dsh-onboarding .check-controls>.field-markers{margin-top:0}\n.dsh-onboarding .wizard-footer{gap:8px 12px;padding-top:12px}\n.dsh-onboarding .wizard-footer>.page-guidance{align-items:start;gap:6px;font-size:10px;padding-bottom:8px}\n.dsh-onboarding .page-guidance>svg{margin-top:3px}\n.dsh-onboarding .guidance-help{min-height:44px;min-width:44px;padding:0 0 0 4px;align-self:center}\n.dsh-onboarding .guidance-help span{display:none}\n.dsh-onboarding .guidance-help svg{width:17px;height:17px}\n.dsh-onboarding .help-intro{font-size:11px;gap:8px}\n.dsh-onboarding .help-facts dd{font-size:12px}\n.dsh-onboarding .requirement-rules>div{gap:8px;padding:10px}}\n@container (max-width:370px){.dsh-onboarding .wizard-footer{grid-template-columns:1fr}\n.dsh-onboarding .wizard-footer>div:last-child{justify-self:end}\n.dsh-onboarding .field-heading>label{font-size:10px}\n.dsh-onboarding .field-markers{gap:1px}}\n.dsh-onboarding dialog .icon-button{width:44px;height:44px;min-width:44px;flex:none}\n.dsh-onboarding .install-diff{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#eff7ff;border:1px solid #d6e8fb;border-radius:12px;font:12px/1.7 ui-monospace,monospace}\n.dsh-onboarding .install-plan{min-width:0}\n.dsh-onboarding .install-plan details{overflow-wrap:anywhere}\n.dsh-onboarding .install-plan summary{cursor:pointer;padding:8px 0;font-weight:600}\n.dsh-onboarding .install-plan code{overflow-wrap:anywhere;word-break:break-word}\n.dsh-onboarding .install-plan details[open]{border-color:#9ec9ef}\n.dsh-onboarding .install-changes{max-height:440px;overflow:auto;overscroll-behavior:contain;border:1px solid #d6e8fb;border-radius:14px;padding:8px 14px;margin:14px 0}\n.dsh-onboarding .install-changes>.plan-item{padding:6px 0}\n.dsh-onboarding .install-changes summary{font-size:13px}\n.dsh-onboarding .draft-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}\n.dsh-onboarding .draft-toolbar p{flex:1;min-width:180px}\n.dsh-onboarding .ssh-trust-review,.dsh-onboarding .cloud-observation{margin-top:18px;padding:16px;background:#f3f9ff;border:1px solid #d6e6fa;border-radius:16px}\n.dsh-onboarding .ssh-trust-review code{overflow-wrap:anywhere}\n.dsh-onboarding .wizard-footer{ position: relative; bottom: auto; }\n.dsh-onboarding .cloud-installation{margin-bottom:20px}\n.dsh-onboarding .cloud-status{padding:12px 16px;background:#f3f9ff;border:1px solid #d6e6fa;border-radius:14px;margin-bottom:14px}\n.dsh-onboarding .cloud-plan,.dsh-onboarding .cloud-confirm{padding:16px;background:#f4f9ff;border:1px solid #c4dcf5;border-radius:16px;margin-top:14px}\n.dsh-onboarding .cloud-confirm{background:#fff;border:2px solid #8bbce9}\n.dsh-onboarding .cloud-action{margin-top:16px}\n.dsh-onboarding .cloud-confirm .check-controls{margin:14px 0}\n.dsh-onboarding .cloud-installation code{display:block;overflow-wrap:anywhere;word-break:break-word;font-size:12px}\n.dsh-onboarding .cloud-installation .form-actions{flex-wrap:wrap;gap:16px}\n.dsh-onboarding .cloud-phases{margin:20px 0}\n.dsh-onboarding .cloud-phases .phase-dot{font-variant-numeric:tabular-nums}\n.dsh-onboarding .cloud-installation .button{min-height:44px;white-space:normal}\n.dsh-onboarding .cloud-installation .info-row{gap:12px}\n.dsh-onboarding .cloud-installation .info-row strong{overflow-wrap:anywhere}\n.dsh-onboarding .cloud-installation .fine-print{font-size:12px;line-height:1.7}\n.dsh-onboarding .cloud-installation>.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}\n.dsh-onboarding .ssh-probe-actions{margin-top:20px;padding-top:20px;border-top:1px solid #e1ebf6}\n.dsh-onboarding .ssh-trust-consent{margin-top:20px}\n.dsh-onboarding .cloud-plan-preview{margin-top:20px}\n.dsh-onboarding .connection-panel .connection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}\n.dsh-onboarding .connection-panel .button{min-height:44px;max-width:100%;padding:10px 16px;border:1px solid #c9def2;border-radius:999px;font-size:12px;line-height:1.5;white-space:normal;background:#edf5ff;color:#326c9f;box-shadow:0 1px 2px #37699508;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}\n.dsh-onboarding .connection-panel .button span{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .connection-panel .button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 5px #0671e314}\n.dsh-onboarding .connection-panel .button.secondary{background:#fff;border-color:#d4e3f1;color:#426c91}\n.dsh-onboarding .connection-panel .button:disabled{opacity:1;background:#f3f7fb;border-color:#e2eaf3;color:#8194a6;box-shadow:none}\n.dsh-onboarding .connection-panel .button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .connection-panel .button:focus-visible:active{transform:none}\n.dsh-onboarding .connection-utility{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #e1ebf6}\n.dsh-onboarding .connection-utility>div:first-child{flex:1 1 200px;min-width:0}\n.dsh-onboarding .connection-utility h3,.dsh-onboarding .connection-confirm h3{font-size:13px;font-weight:600;color:#3d5d79;line-height:1.6}\n.dsh-onboarding .connection-utility>div>p{font-size:11px;color:#738ba1;margin-top:4px;line-height:1.8}\n.dsh-onboarding .connection-utility>.connection-result{flex-basis:100%;border:1px solid #dcebf8;border-radius:13px;background:#f5faff;padding:12px 14px;font-size:12px;line-height:1.8;color:#476783;overflow-wrap:anywhere}\n.dsh-onboarding .connection-utility>.connection-result>p{color:inherit;font-size:inherit;margin:0}\n.dsh-onboarding .connection-utility>.connection-result>p+p{margin-top:6px}\n.dsh-onboarding .connection-confirm{display:grid;gap:12px;margin-top:20px;padding:18px;border:1px solid #c4dcf5;border-radius:16px;background:#f5faff;overflow-wrap:anywhere}\n.dsh-onboarding .connection-confirm>p{font-size:12px;line-height:1.8;color:#6c849b}\n.dsh-onboarding .connection-confirm>.connection-actions{margin-top:4px}\n.dsh-onboarding .connection-panel .info-row{gap:14px}\n.dsh-onboarding .connection-panel .info-row>span{flex-shrink:0;max-width:40%}\n.dsh-onboarding .connection-panel .info-row strong{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .connection-error{margin-top:16px;padding:12px 14px;border:1px solid #efdfc7;border-radius:13px;background:#fffaf3;font-size:12px;line-height:1.8;color:#87693f}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .connection-panel .button:not(:disabled):not(:focus-visible):hover{transform:translateY(-1px);border-color:#93bde4;background:#e5f1fe}\n.dsh-onboarding .connection-panel .button.primary:not(:disabled):hover{background:#2689e5;border-color:#2689e5}\n.dsh-onboarding .connection-panel .button:not(:disabled):not(:focus-visible):active{transform:scale(.97)}}\n@container (max-width:520px){.dsh-onboarding .connection-panel .connection-actions{gap:16px;margin-top:20px}\n.dsh-onboarding .connection-confirm{padding:14px}\n.dsh-onboarding .connection-utility{gap:14px}\n.dsh-onboarding .connection-utility>div:first-child{flex-basis:100%}\n.dsh-onboarding .connection-panel .info-row{flex-wrap:wrap;gap:4px 12px}\n.dsh-onboarding .connection-panel .info-row>span{max-width:100%}\n.dsh-onboarding .connection-panel .info-row strong{text-align:left}}\n@media (prefers-reduced-motion:reduce){.dsh-onboarding .connection-panel .button:hover,.dsh-onboarding .connection-panel .button:active{transform:none!important}}\n.dsh-onboarding .button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .button:focus-visible:active{transform:none}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .button.secondary:not(:disabled):hover{background:#f1f7ff;border-color:#93bde4}}\n.dsh-onboarding .modal-body>.field,.dsh-onboarding .modal-body>.check-controls{margin-top:20px}\n.dsh-onboarding .install-plan>.check-controls{margin-top:20px}\n.dsh-onboarding .install-plan>.check-controls+.button{margin-top:16px}\n.dsh-onboarding .button,.dsh-onboarding .icon-button,.dsh-onboarding .field-help-button,.dsh-onboarding .toggle,.dsh-onboarding .toggle span{corner-shape:round}\n.dsh-onboarding .button,.dsh-onboarding .icon-button,.dsh-onboarding .field-help-button,.dsh-onboarding .toggle{appearance:none}\n.dsh-onboarding .button{background-image:none}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .button.text:hover:not(:disabled){background-color:#edf5ff}}\n.dsh-onboarding .form-actions>.button,.dsh-onboarding .connection-actions>.button,.dsh-onboarding .credential-actions>.button{margin:0}\n.dsh-onboarding .form-actions,.dsh-onboarding .connection-actions,.dsh-onboarding .credential-actions{min-width:0}\n.dsh-onboarding .form-actions+.form-actions,.dsh-onboarding .connection-actions+.connection-actions{margin-top:20px}\n.dsh-onboarding .modal-body>.button{margin-top:20px}\n.dsh-onboarding .draft-toolbar{column-gap:16px;row-gap:16px}\n.dsh-onboarding .im-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}\n.dsh-onboarding .im-manager-heading>div{flex:1 1 260px;min-width:0}\n.dsh-onboarding .im-manager-heading h2{font-size:22px;letter-spacing:-.025em;line-height:1.4;color:#263c51}\n.dsh-onboarding .im-manager-heading p{margin-top:8px;font-size:12px;line-height:1.8;color:#667f96}\n@container (max-width:520px){.dsh-onboarding .connection-actions>.button{flex:1 1 100%}\n.dsh-onboarding .wizard-footer>div{flex-wrap:wrap;gap:16px}\n.dsh-onboarding .im-manager-heading h2{font-size:20px}}\n.dsh-onboarding .field-help-button:focus-visible,.dsh-onboarding .icon-button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-2px;box-shadow:none;transition:none}\n.dsh-onboarding .field-help-button:focus-visible:active,.dsh-onboarding .icon-button:focus-visible:active{transform:none}\n@container (max-width:520px){.dsh-onboarding .field-help-button:focus-visible{outline-offset:-6px}}\n.dsh-onboarding .guidance-help{border-radius:999px;corner-shape:round;appearance:none}\n.dsh-onboarding .guidance-help:focus-visible,.dsh-onboarding .toggle:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .guidance-help:focus-visible:active,.dsh-onboarding .toggle:focus-visible:active{transform:none}\n.dsh-onboarding .run-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}\n.dsh-onboarding .connection-utility.connection-probe{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}\n.dsh-onboarding .connection-probe>.connection-confirm{min-width:0;width:100%}\n.dsh-onboarding .dsh-onboarding .connection-model-choice{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}\n.dsh-onboarding .dsh-onboarding .connection-model-choice>.button{justify-self:start}\n.dsh-onboarding .dsh-onboarding .connection-model-choice .connection-actions>p{flex-basis:100%;margin:0}\n.dsh-onboarding .connection-panel .field textarea{width:100%;min-height:96px;resize:vertical;font-family:inherit;font-size:12px;line-height:1.7;color:#43627f;background:#fcfdff;border:1px solid #dce7f2;border-radius:10px;padding:10px 11px}\n.dsh-onboarding .connection-panel .field textarea:focus-visible{outline:2px solid #5fa8ef;outline-offset:-2px;border-color:#68a6df;background:#fff}\n.dsh-onboarding .connection-panel .field textarea:disabled{background:#f5f9fd;color:#7890a6;cursor:not-allowed}\n.dsh-onboarding .file-queue-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}\n.dsh-onboarding .file-queue h3,.dsh-onboarding .file-queue h4{margin:0;overflow-wrap:anywhere}\n.dsh-onboarding .file-queue-list{display:grid;gap:14px;margin-top:16px}\n.dsh-onboarding .file-queue-card{min-width:0;border:1px solid #dbe9f5;border-radius:20px;background:linear-gradient(145deg,#fff,#f5faff);padding:18px}\n.dsh-onboarding .file-queue-card p{overflow-wrap:anywhere}\n.dsh-onboarding .file-queue .connection-actions{margin-top:12px;gap:10px}\n.dsh-onboarding .file-queue .connection-confirm{margin-top:16px}\n.dsh-onboarding .maintenance-status,.dsh-onboarding .maintenance-receipt{margin-block:16px;padding:18px;border:1px solid #d7e8f9;border-radius:18px;background:#f5faff;min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .maintenance-receipt h3{margin-top:0}\n.dsh-onboarding .maintenance-panel .connection-confirm{margin-top:20px}\n.dsh-onboarding .maintenance-panel .plan-item{margin-block:12px}\n.dsh-onboarding .maintenance-panel .plan-item summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px}\n.dsh-onboarding .maintenance-panel code{white-space:pre-wrap;overflow-wrap:anywhere}\n.dsh-onboarding .maintenance-panel{grid-column:1/-1}\n.dsh-onboarding .maintenance-session{margin-top:24px;min-width:0}\n.dsh-onboarding .maintenance-session .maintenance-components{margin-top:16px;padding:8px 16px;background:#f6faff;border:1px solid #dfebf7;border-radius:16px}\n.dsh-onboarding .maintenance-session .connection-confirm,.dsh-onboarding .maintenance-session .maintenance-receipt{margin-top:20px}\n.dsh-onboarding .maintenance-session code{overflow-wrap:anywhere;white-space:pre-wrap}\n.dsh-onboarding .maintenance-session .plan-item summary{min-height:44px;display:flex;align-items:center;cursor:pointer}\n.dsh-onboarding .page-top{height:auto;min-height:53px;flex-wrap:wrap;padding-block:4px}\n.dsh-onboarding .page-top-actions{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-left:auto}\n.dsh-onboarding .page-top-actions .button{min-height:44px;white-space:normal}\n.dsh-onboarding .modal-body>.maintenance-session{margin-top:0}\n.dsh-onboarding .maintenance-panels{display:grid;gap:20px;min-width:0}\n.dsh-onboarding .version-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}\n.dsh-onboarding .version-heading>div{min-width:0}\n.dsh-onboarding .version-heading p{margin:8px 0 16px;line-height:1.75}\n.dsh-onboarding .version-maintenance-body{display:grid;gap:16px;margin-top:20px;min-width:0}\n.dsh-onboarding .version-maintenance-body>.form-actions,.dsh-onboarding .version-maintenance-body>.callout{margin-top:0}\n.dsh-onboarding .version-phases{margin:4px 0}\n.dsh-onboarding .version-phases li{min-width:0;align-items:flex-start}\n.dsh-onboarding .version-phases .phase-copy{flex:1;min-width:0}\n.dsh-onboarding .version-phases h3{font-size:14px;line-height:1.6;margin:0 0 8px}\n.dsh-onboarding .version-phases p{line-height:1.75;margin:8px 0}\n.dsh-onboarding .version-choice{display:flex;flex-direction:column;gap:8px;min-width:0;margin-top:14px}\n.dsh-onboarding .version-choice>span{font-size:12px;font-weight:550;color:#5c7690}\n.dsh-onboarding .version-choice select{width:100%;max-width:100%;min-width:0;min-height:44px;border:1px solid #c9def2;border-radius:12px;background:#fff;color:#43627f;padding:10px 12px;font-size:12px;outline-offset:3px}\n.dsh-onboarding .version-choice select:focus-visible{outline:2px solid #68a6df}\n.dsh-onboarding .version-choice select:disabled{opacity:.65}\n.dsh-onboarding .version-observation{padding:16px;border:1px solid #c4dcf5;border-radius:14px;background:#fff;overflow-wrap:anywhere}\n.dsh-onboarding .version-observation p{margin-top:8px;line-height:1.75}\n.dsh-onboarding .version-observation ul,.dsh-onboarding .version-confirm ul{padding-left:20px;overflow-wrap:anywhere}\n.dsh-onboarding .version-confirm{margin-top:0}\n.dsh-onboarding .version-confirm>p,.dsh-onboarding .version-confirm>h3{margin-bottom:14px;line-height:1.75}\n.dsh-onboarding .version-confirm details{margin:16px 0}\n.dsh-onboarding .version-confirm summary{min-height:44px;display:flex;align-items:center;cursor:pointer}\n.dsh-onboarding .version-confirm .plan-item{padding:8px 0}\n.dsh-onboarding .version-maintenance-body code{overflow-wrap:anywhere;word-break:break-word}\n.dsh-onboarding .self-disable-panel{min-width:0}\n.dsh-onboarding .self-disable-panel .context-note{margin:20px 0}\n.dsh-onboarding .self-disable-guide{padding-left:20px;display:grid;gap:12px;line-height:1.8;color:#496780;font-size:13px}\n.dsh-onboarding .self-disable-panel code{overflow-wrap:anywhere;white-space:pre-wrap}\n.dsh-onboarding .self-disable-panel .button{min-height:44px;text-decoration:none;white-space:normal;text-align:center;max-width:100%}\n.dsh-onboarding .self-disable-panel .plan-item summary{min-height:44px;display:flex;align-items:center;cursor:pointer}\n.dsh-onboarding .self-disable-panel .maintenance-receipt{margin-top:20px}\n.dsh-onboarding .self-lifecycle-panel>.connection-actions{margin-top:0}\n.dsh-onboarding .self-lifecycle-panel>.fine-print{margin:12px 0 20px}\n.dsh-onboarding .self-disable-panel .context-body{display:block}\n.dsh-onboarding .file-scope-observation{margin:16px 0;min-width:0}\n.dsh-onboarding .file-scope-observation summary>span{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .file-scope-observation ul{margin:12px 0;padding-left:20px;display:grid;gap:8px}\n.dsh-onboarding .im-directory-help{margin:0 20px 16px}\n.dsh-onboarding .im-directory-help p+p{margin-top:8px}\n.dsh-onboarding .worker-runtime{margin-top:20px;padding:18px;border:1px solid #dbe9f5;border-radius:20px;background:linear-gradient(145deg,#fff,#f5faff);min-width:0}\n.dsh-onboarding .worker-runtime h3{margin:0 0 8px;font-size:15px}\n.dsh-onboarding .worker-runtime>p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}\n.dsh-onboarding .worker-runtime>.fine-print{margin-bottom:0}\n.dsh-onboarding .window-frame{max-width:1320px;margin:12px auto 0;border-radius:20px}\n.dsh-onboarding main{padding:0 24px}\n.dsh-onboarding .window-header{padding:0 24px;gap:12px}\n.dsh-onboarding .page-top{height:46px}\n.dsh-onboarding .page-position>span{display:none}\n.dsh-onboarding .page-intro{min-height:74px;padding:10px 0;gap:12px}\n.dsh-onboarding .intro-copy{display:flex;align-items:center;gap:8px;max-width:none}\n.dsh-onboarding .page-intro h1{font-size:24px;line-height:1.35;letter-spacing:-.02em}\n.dsh-onboarding .intro-art{flex:0 0 64px;height:64px}\n.dsh-onboarding .intro-art .companion{width:64px;height:64px}\n.dsh-onboarding .art-disc{width:56px;height:56px;top:4px;box-shadow:0 0 0 4px #eef6ff}\n.dsh-onboarding .panel{padding:18px;border-radius:17px}\n.dsh-onboarding .panel-heading{margin-bottom:14px;gap:10px}\n.dsh-onboarding .panel-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}\n.dsh-onboarding .panel-heading h2{font-size:15px}\n.dsh-onboarding .section-help{flex:none;align-self:center}\n.dsh-onboarding .context-help{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;min-height:38px}\n.dsh-onboarding .context-help>.companion{width:36px;height:36px;flex:none}\n.dsh-onboarding .context-help-trigger{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;min-height:38px;border:0;border-radius:999px;background:transparent;color:#537b9e;font-size:12px;max-width:100%;text-align:left}\n.dsh-onboarding .context-help-trigger svg{width:17px;height:17px;flex:none}\n.dsh-onboarding .context-help-trigger:focus-visible{outline:2px solid #5fa8ef;outline-offset:-2px;transition:none}\n.dsh-onboarding .context-body{display:block;padding:0;font-size:13px}\n.dsh-onboarding .context-body>p{margin:12px 0}\n.dsh-onboarding .context-body .summary-foot{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px}\n.dsh-onboarding .draft-toolbar{padding:10px 0;margin-bottom:10px}\n.dsh-onboarding .wizard-footer{margin-top:16px;padding:14px 0;gap:12px}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .context-help-trigger:hover{background:#e8f3ff;color:#286aab}}\n@container (max-width:680px){.dsh-onboarding main{padding:0 14px}\n.dsh-onboarding .window-frame{margin:0;border-radius:0}\n.dsh-onboarding .window-header{padding:10px 14px;gap:8px}\n.dsh-onboarding .page-intro{min-height:68px;padding:8px 0}\n.dsh-onboarding .page-intro h1{font-size:21px}\n.dsh-onboarding .intro-art{flex-basis:52px;height:52px}\n.dsh-onboarding .intro-art .companion{width:52px;height:52px}\n.dsh-onboarding .art-disc{width:46px;height:46px}\n.dsh-onboarding .panel{padding:16px}\n.dsh-onboarding .context-help-trigger{min-height:44px}\n.dsh-onboarding .page-top{height:auto;min-height:46px;gap:8px}\n.dsh-onboarding .page-top-actions{gap:8px}\n.dsh-onboarding .context-help{justify-content:flex-start}\n.dsh-onboarding .wizard-footer{flex-wrap:wrap}\n.dsh-onboarding .wizard-footer>div:last-child{margin-left:auto}}\n.dsh-onboarding .page-top{height:auto;min-height:70px;gap:12px}\n.dsh-onboarding .page-position{align-items:center;gap:12px;min-width:0}\n.dsh-onboarding .page-position h1{font-size:21px;line-height:1.35;font-weight:620;letter-spacing:-.02em}\n.dsh-onboarding .page-top-actions{display:flex;align-items:center;gap:12px}\n.dsh-onboarding .step-mascot .companion{width:44px;height:44px}\n.dsh-onboarding .draft-toolbar{font-size:12px}\n.dsh-onboarding .draft-toolbar .button{min-height:38px;padding:8px 14px}\n@container (max-width:680px){.dsh-onboarding .page-top{flex-wrap:wrap;padding:8px 0;gap:4px}\n.dsh-onboarding .page-position{gap:8px}\n.dsh-onboarding .page-position h1{font-size:18px}\n.dsh-onboarding .page-top-actions{margin-left:auto;gap:8px}\n.dsh-onboarding .step-mascot .companion{width:36px;height:36px}\n.dsh-onboarding .draft-toolbar .button{min-height:44px}}\n.dsh-onboarding .existing-setup .window-header{height:auto;min-height:70px;flex-wrap:wrap;gap:8px}\n.dsh-onboarding .existing-setup .brand{flex-shrink:0}\n.dsh-onboarding .existing-setup .header-actions{flex-wrap:wrap;justify-content:flex-end}\n.dsh-onboarding .existing-setup .header-actions .button{white-space:nowrap}\n.dsh-onboarding{container-type:inline-size;min-width:0;width:100%;height:100%;overflow:auto;--ease-out:cubic-bezier(.23,1,.32,1)}\n.dsh-onboarding .plan-item{overflow-wrap:anywhere}\n.dsh-onboarding .window-header{height:auto;min-height:70px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}\n.dsh-onboarding .wizard-footer>.check-controls{grid-column:1/-1;flex-basis:100%}\n";
97
+ const css=".dtu{color-scheme:light;--ground:#f5f8fc;--surface:#fff;--ink:#192534;--muted:#667383;--blue:#0671e3;--blue-dark:#005ec4;--pale:#eaf3ff;--line:#e7edf4;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--radius:24px;--shadow:0 5px 24px #153f6b06,0 1px 3px #153f6b04}\n.dtu *{box-sizing:border-box}\n.dtu{margin:0;background:var(--ground);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,\"PingFang SC\",\"Microsoft YaHei\",sans-serif;-webkit-font-smoothing:antialiased}\n.dtu button,.dtu input,.dtu select{font:inherit}\n.dtu button{color:inherit;cursor:pointer}\n.dtu button,.dtu a,.dtu select,.dtu input{-webkit-tap-highlight-color:transparent}\n.dtu button{transition:transform 140ms var(--ease-out)}\n.dtu button:active:not(:disabled){transform:scale(.97)}\n.dtu button:disabled{opacity:.48;cursor:not-allowed}\n.dtu button:focus-visible,.dtu a:focus-visible,.dtu input:focus-visible,.dtu select:focus-visible{outline:3px solid #368cee;outline-offset:4px}\n.dtu button svg,.dtu svg{width:19px;height:19px;flex:none;vertical-align:middle}\n.dtu h1,.dtu h2,.dtu h3,.dtu p{margin:0}\n.dtu h1{font-size:42px;font-weight:650;line-height:1.2;letter-spacing:-.045em}\n.dtu h2{font-size:21px;line-height:1.4;font-weight:630;letter-spacing:-.025em}\n.dtu h3{font-size:16px;line-height:1.45;font-weight:610}\n.dtu ::selection{background:#bcdcff;color:#193552}\n.dtu .small{font-size:12px}\n.dtu .muted{color:var(--muted)}\n.dtu [hidden]{display:none!important}\n.dtu .surface{max-width:1500px;width:100%;padding:24px 42px 24px;margin:0 auto;min-width:0}\n.dtu .utility{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;min-height:28px}\n.dtu .breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:#64758b}\n.dtu .breadcrumb svg{width:12px;height:12px;color:#64758b}\n.dtu .utility-actions{display:flex;align-items:center;gap:20px}\n.dtu .preview-label{font-size:11px;color:#53657b}\n.dtu .preview-label span{display:inline-grid;place-items:center;background:#e4ecf6;color:#526e91;width:24px;height:20px;border-radius:6px;margin-left:4px;font-size:10px}\n.dtu .text-button{display:inline-flex;align-items:center;gap:7px;border:0;padding:6px 0;background:transparent;font-size:12px;color:var(--muted)}\n.dtu .text-button svg{width:15px;height:15px}\n.dtu .page-header{display:flex;align-items:center;justify-content:space-between;gap:20px}\n.dtu .eyebrow{display:block;color:#6c7d93;font-size:12px;letter-spacing:.01em;margin-bottom:10px}\n.dtu .title-dot{color:#86b5f3}\n.dtu .page-header p{font-size:16px;color:#64758b;margin-top:12px;letter-spacing:.025em}\n.dtu .header-actions{display:flex;align-items:center;gap:10px;padding-top:17px}\n.dtu .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;min-height:40px;padding:9px 17px;border-radius:999px;font-size:13px;line-height:1.5;background:var(--pale);color:var(--blue-dark);font-weight:500;white-space:nowrap}\n.dtu .button.primary{background:var(--blue);color:white;box-shadow:0 4px 10px #006cdb14}\n.dtu .button.plain{background:transparent;padding-left:0}\n.dtu .button svg{width:16px;height:16px;transition:transform 160ms var(--ease-out)}\n.dtu .icon-button{display:grid;place-items:center;border:0;border-radius:50%;width:32px;height:32px;background:#edf1f5;color:#68788b}\n.dtu .icon-button svg{width:18px;height:18px}\n.dtu .snapshot-line{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#64758b;margin:24px 0 16px}\n.dtu .snapshot-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#6799d4;vertical-align:middle;margin-right:7px}\n.dtu .separator{margin:0 8px;color:#a6b3c4}\n.dtu .host-picker{position:relative;z-index:12}\n.dtu .host-trigger{color:#465a72;background:#ffffffc7;box-shadow:0 1px 4px #18447307}\n.dtu .host-trigger .down{transform:rotate(90deg);display:flex}\n.dtu .host-trigger .down svg{width:12px;height:12px}\n.dtu .host-menu{position:absolute;right:0;top:calc(100% + 10px);width:260px;padding:10px;background:#ffffffeb;-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid #ffffffd9;border-radius:20px;box-shadow:0 16px 50px #1b416e22;transform-origin:90% 0;z-index:25;animation:dtu-popover-in 180ms var(--ease-out)}\n.dtu .host-menu p{font-size:10px;color:#64758b;padding:2px 9px 8px}\n.dtu .host-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 9px;background:none;border:0;text-align:left;border-radius:11px}\n.dtu .host-menu button[aria-checked=true]{background:#e9f3ff}\n.dtu .host-menu strong{font-size:12px;font-weight:550}\n.dtu .host-menu small{font-size:10px;display:block;color:var(--muted);margin-top:2px}\n.dtu .host-menu .menu-check{margin-left:auto;color:var(--blue)}\n.dtu .host-menu [aria-checked=false] .menu-check{visibility:hidden}\n.dtu .host-menu svg{width:17px;height:17px}\n.dtu .host-strip{display:grid;grid-template-columns:1fr 1fr;gap:20px;position:relative}\n.dtu .host-block{position:relative;display:flex;min-height:163px;overflow:hidden;border-radius:var(--radius);padding:23px 27px;background:#fff;border:1px solid #e3ecf8;box-shadow:var(--shadow)}\n.dtu .cloud-host{background:#eaf3ff;border-color:#deebfc}\n.dtu .host-caption{display:flex;align-items:center;gap:7px;font-size:11px;color:#69809b;margin-bottom:7px}\n.dtu .host-caption svg{width:15px;height:15px}\n.dtu .host-block h2{font-size:21px}\n.dtu .host-block p{font-size:12px;color:#647891;margin-top:6px}\n.dtu .host-state{display:block;font-size:11px;color:#5d7693;margin-top:13px}\n.dtu .host-state:before{content:\"\";display:inline-block;width:5px;height:5px;border-radius:50%;background:#6d9aca;margin-right:6px;vertical-align:middle}\n.dtu .host-copy{position:relative;z-index:1;max-width:72%}\n.dtu .connection{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;border:5px solid var(--ground);width:37px;height:37px;border-radius:50%;background:#fff;color:#6b92c0}\n.dtu .connection svg{width:15px;height:15px}\n.dtu .connection span:last-child{position:absolute;width:100px;bottom:-29px;text-align:center;font-size:10px;color:#64758b;background:var(--ground);border-radius:10px;padding:2px 0}\n.dtu .companion{position:relative;width:82px;height:82px;pointer-events:none;flex:none;overflow:hidden;isolation:isolate}\n.dtu .companion:before,.dtu .companion:after{content:\"\";position:absolute;inset:0;background-image:var(--mascot,none);background-size:400% 300%;background-repeat:no-repeat;transition:opacity 170ms var(--ease-out),transform 210ms var(--ease-out);transform-origin:50% 90%;will-change:auto}\n.dtu .companion:before{background-position:var(--pose-x,0%) var(--pose-y,0%);opacity:1}\n.dtu .companion:after{background-position:var(--hover-x,33.333333%) var(--pose-y,0%);opacity:0;transform:translateY(2px)}\n.dtu [data-companion=local]{--pose-x:0%;--hover-x:33.333333%;--pose-y:0%}\n.dtu [data-companion=cloud]{--pose-x:66.666667%;--hover-x:100%;--pose-y:0%}\n.dtu [data-companion=tasks]{--pose-x:0%;--hover-x:33.333333%;--pose-y:50%}\n.dtu [data-companion=model]{--pose-x:66.666667%;--hover-x:100%;--pose-y:50%}\n.dtu [data-companion=files]{--pose-x:0%;--hover-x:33.333333%;--pose-y:100%}\n.dtu [data-companion=repository]{--pose-x:66.666667%;--hover-x:100%;--pose-y:100%}\n.dtu .host-companion{position:absolute;width:133px;height:133px;right:13px;bottom:-1px}\n.dtu .view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 23px}\n.dtu .section-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:5px;background:#e7eef8b3;border:1px solid #e6edf6;border-radius:999px;width:340px;isolation:isolate;flex:none}\n.dtu .section-tabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;padding:9px 10px;font-size:13px;color:#687d97;white-space:nowrap;border-radius:999px}\n.dtu .section-tabs button[aria-selected=true]{color:var(--blue-dark);font-weight:600}\n.dtu .section-tabs svg{width:16px;height:16px}\n.dtu .count{font-size:10px;min-width:17px;background:#dae9fe;border-radius:5px;padding:0 5px}\n.dtu .tab-indicator{position:absolute;left:5px;top:5px;bottom:5px;width:calc(50% - 5px);border-radius:999px;background:#fff;box-shadow:0 2px 6px #2f5c9820;transform:translateX(0);transition:transform 210ms var(--ease-out);z-index:0}\n.dtu .section-tabs[data-view=workspace] .tab-indicator{transform:translateX(100%)}\n.dtu .hover-hint{font-size:10px;color:#64758b}\n.dtu .task-layout{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(370px,1.14fr);gap:22px;align-items:start}\n.dtu .module{background:var(--surface);border:1px solid #e9eef5;border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;position:relative;overflow:hidden}\n.dtu .module-header{display:flex;align-items:center;justify-content:space-between;padding:24px 25px 18px;gap:12px;min-height:111px}\n.dtu .module-header .small{margin-top:5px}\n.dtu .module-header .companion{width:76px;height:76px;margin-top:-4px;margin-bottom:-14px}\n.dtu .module-tools{display:flex;gap:8px;padding:0 24px 18px}\n.dtu .search-box{display:flex;align-items:center;gap:7px;background:#f3f6fa;padding:9px 12px;border-radius:11px;flex:1;min-width:0}\n.dtu .search-box input{border:0;outline:none;background:none;width:100%;min-width:0;font-size:12px;color:var(--ink)}\n.dtu .search-box svg{width:15px;height:15px;color:#8a9bae}\n.dtu .search-box:focus-within{outline:2px solid #80b4f4;outline-offset:2px}\n.dtu .module-tools select{max-width:96px;border:0;border-radius:10px;background:#f3f6fa;padding:8px 4px;font-size:11px;color:#637892}\n.dtu .timeline{position:relative;list-style:none;margin:0;padding:0 22px 26px 35px}\n.dtu .timeline:before{content:\"\";position:absolute;left:26px;top:17px;bottom:45px;width:2px;background:#dce9f9}\n.dtu .timeline-day{position:relative;font-size:10px;font-weight:600;color:#64758b;padding:10px 10px 12px}\n.dtu .timeline-day:before{content:\"\";position:absolute;left:-13px;top:15px;width:9px;height:9px;border:2px solid #9cbbe2;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #fff}\n.dtu .timeline-row{position:relative;padding-left:11px;margin-bottom:4px}\n.dtu .timeline-row:before{content:\"\";position:absolute;left:-11px;top:26px;width:6px;height:6px;border-radius:50%;background:#bdcfe5;box-shadow:0 0 0 4px #fff}\n.dtu .timeline-row:has([aria-pressed=true]):before{background:var(--blue);box-shadow:0 0 0 4px #eaf3ff}\n.dtu .task-card{display:block;text-align:left;width:100%;padding:16px;border-radius:15px;border:1px solid transparent;background:#fff}\n.dtu .task-card[aria-pressed=true]{background:#edf5ff;border-color:#dceafb}\n.dtu .card-top,.dtu .card-foot{display:flex;align-items:center;justify-content:space-between;gap:5px}\n.dtu .card-top time,.dtu .session-head time{font-size:10px;color:#6c84a0;font-variant-numeric:tabular-nums}\n.dtu .badge{font-size:10px;padding:3px 7px;border-radius:6px;font-weight:500;line-height:1.5;white-space:nowrap}\n.dtu .badge.good{background:#e2efff;color:#2a6ab6}\n.dtu .badge.wait{background:#fff3dc;color:#946523}\n.dtu .badge.neutral{background:#eef1f5;color:#7d8793}\n.dtu .task-card h3{font-size:14px;margin-top:9px}\n.dtu .description{font-size:12px;line-height:1.7;color:#64758b;margin-top:5px}\n.dtu .card-foot{font-size:10px;color:#6c839d;margin-top:14px}\n.dtu .card-foot>span{display:flex;align-items:center;gap:5px}\n.dtu .card-foot svg{width:12px;height:12px}\n.dtu .card-chevron{color:var(--blue)}\n.dtu .empty-list{padding:30px;color:var(--muted);font-size:12px}\n.dtu .detail-panel{scroll-margin-top:20px}\n.dtu .detail-head{position:relative;background:#f6faff;padding:25px 27px 23px;overflow:hidden;min-height:154px}\n.dtu .detail-head h2{font-size:24px;line-height:1.4;margin-top:13px;max-width:calc(100% - 80px)}\n.dtu .detail-head p{font-size:12px;color:#64758b;margin-top:10px;max-width:calc(100% - 78px)}\n.dtu .detail-head .companion{position:absolute;right:20px;bottom:-3px;width:99px;height:99px}\n.dtu .meta{display:flex;align-items:center;gap:7px;font-size:10px;color:#64758b;flex-wrap:wrap}\n.dtu .detail-body{padding:24px 27px 26px}\n.dtu .detail-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}\n.dtu .detail-title h3{display:flex;align-items:center;gap:8px;font-size:15px}\n.dtu .detail-title h3 svg{width:18px;height:18px;color:#487fb8}\n.dtu .detail-title>span{font-size:10px}\n.dtu .artifact-stack{display:flex;flex-direction:column;gap:10px}\n.dtu .artifact{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:15px 12px;background:#f5f9fe;border:1px solid #e5effb;border-radius:14px}\n.dtu .file-icon{display:grid;place-items:center;width:30px;height:37px;border-radius:7px;background:#fff;color:#4485cf;box-shadow:0 2px 5px #1c5c9c06}\n.dtu .file-icon svg{width:19px;height:19px}\n.dtu .artifact strong{display:block;font-size:13px;line-height:1.5;word-break:break-word;font-weight:560}\n.dtu .artifact small{display:block;color:#64758b;font-size:11px;margin-top:5px;overflow-wrap:anywhere}\n.dtu .artifact .button{font-size:11px;min-height:32px;padding:7px 12px;background:#fff;border:1px solid #e0eaf8;gap:5px}\n.dtu .artifact .button svg{width:12px;height:12px}\n.dtu .empty-artifact{padding:20px;background:#f6f9fc;border-radius:13px;font-size:12px;color:#8492a4}\n.dtu .empty-artifact strong{display:block;color:#465d78;font-size:14px;margin-bottom:6px}\n.dtu .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}\n.dtu .fact{position:relative;min-width:0;min-height:117px;padding:16px 14px;background:#f8fafd;border-radius:14px;overflow:hidden;margin:0}\n.dtu .fact dt{font-size:11px;color:#64758b;margin-bottom:8px}\n.dtu .fact dd{margin:0;font-size:14px;font-weight:550;line-height:1.55}\n.dtu .fact dd small{display:block;font-size:11px;font-weight:400;color:#64758b;margin-top:6px;line-height:1.7}\n.dtu .fact.with-companion{padding-right:74px}\n.dtu .fact.with-companion .companion{position:absolute;right:0;bottom:0;width:73px;height:73px}\n.dtu .fact.with-companion dd small{min-width:94px}\n.dtu .evidence{padding-top:20px;border-top:1px solid #ebf0f6}\n.dtu .evidence h3{font-size:14px}\n.dtu .evidence p{color:#64758b;font-size:12px;line-height:1.9;margin:9px 0}\n.dtu .evidence .button{font-size:12px;color:var(--blue)}\n.dtu .workspace-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;min-height:210px;border-radius:var(--radius);background:linear-gradient(110deg,#e2efff,#f1f7ff 65%,#e7f2ff);border:1px solid #dceafa;padding:28px 32px;overflow:hidden;margin-bottom:22px}\n.dtu .workspace-banner .banner-copy{position:relative;z-index:1;max-width:71%}\n.dtu .workspace-banner .banner-copy .eyebrow{color:#6484ae;font-size:11px;margin-bottom:7px}\n.dtu .workspace-banner h2{font-size:29px;letter-spacing:-.045em}\n.dtu .workspace-banner p{font-size:12px;line-height:1.8;color:#7187a3;margin:10px 0 17px;max-width:440px}\n.dtu .workspace-banner .companion{width:183px;height:183px;position:absolute;right:30px;bottom:-3px}\n.dtu .workspace-banner .button{background:var(--blue);color:#fff}\n.dtu .workspace-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.85fr);gap:22px;align-items:start}\n.dtu .workspace-aside{display:flex;flex-direction:column;gap:20px}\n.dtu .session-card{border-radius:14px;background:#f7faff;padding:17px 18px;margin-bottom:10px}\n.dtu .session-head{display:flex;justify-content:space-between;align-items:center;gap:10px}\n.dtu .session-card h3{font-size:15px;margin-top:10px}\n.dtu .session-card p{font-size:11px;color:#64758b;margin-top:6px}\n.dtu .session-actions{display:flex;align-items:center;gap:7px;margin-top:13px;flex-wrap:wrap}\n.dtu .session-actions .button{font-size:11px;min-height:32px;padding:7px 12px}\n.dtu .session-actions .button svg{width:14px;height:14px}\n.dtu .side-module{padding:22px}\n.dtu .side-module h3{display:flex;align-items:center;gap:8px;font-size:15px}\n.dtu .side-module h3 svg{color:#5786bf;width:17px;height:17px}\n.dtu .side-module>p{font-size:12px;line-height:1.85;color:#64758b;margin-top:12px}\n.dtu .side-module .text-button{color:var(--blue);margin-top:10px}\n.dtu .side-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:-5px;margin-bottom:6px}\n.dtu .side-heading .companion{width:67px;height:67px;margin-top:-7px;margin-bottom:-7px}\n.dtu .mini-list{list-style:none;padding:0;margin:10px 0 0}\n.dtu .mini-list li{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#64758b;padding:13px 0;border-bottom:1px solid #edf2f8}\n.dtu .mini-list li:last-child{border:0;padding-bottom:0}\n.dtu .mini-list strong{font-size:11px;font-weight:500;color:#3e5775;text-align:right}\n.dtu .page-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:24px;font-size:10px;color:#64758b}\n.dtu .page-footer .text-button{font-size:10px}\n.dtu #alert{margin-bottom:18px;background:#fff5e3;border:1px solid #f1e6cf;border-radius:13px;padding:12px 16px;font-size:12px;color:#91622d}\n.dtu dialog{position:fixed;border:1px solid #fff;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);border-radius:26px;max-width:min(600px,calc(100vw - 32px));width:600px;padding:27px;box-shadow:0 24px 80px #17376230;max-height:90dvh}\n.dtu dialog[open]{animation:dtu-modal-in 220ms var(--ease-out)}\n.dtu dialog::backdrop{background:#36527625;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}\n.dtu .dialog-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}\n.dtu .dialog-header h2{font-size:22px}\n.dtu .dialog-label{font-size:10px;color:#6e8bad;margin-bottom:7px}\n.dtu #dialog-body{font-size:13px;color:#607591;line-height:1.9}\n.dtu #dialog-body h3{font-size:15px;color:#3c5777}\n.dtu #dialog-body ul{padding-left:21px}\n.dtu #dialog-body .document{padding:18px;background:#eef6ff;border-radius:16px;margin:18px 0}\n.dtu #dialog-body .path{overflow-wrap:anywhere;font-size:12px}\n.dtu .document p{margin-top:8px}\n.dtu #toast{position:fixed;z-index:99;bottom:28px;left:50%;transform:translateX(-50%);background:#fffE;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 7px 30px #294d7c23;border:1px solid #fff;border-radius:999px;padding:13px 22px;color:#3f6085;font-size:12px;max-width:90vw;width:max-content;animation:dtu-toast-in 180ms var(--ease-out)}\n.dtu .noscript{padding:25px}\n.dtu .view-enter{animation:dtu-view-in 180ms var(--ease-out)}\n.dtu .refreshing svg{animation:dtu-refresh-turn 500ms var(--ease-out)}\n@keyframes dtu-view-in{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}\n@keyframes dtu-popover-in{from{opacity:0;transform:translateY(-3px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}\n@keyframes dtu-modal-in{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}\n@keyframes dtu-toast-in{from{opacity:0;transform:translate(-50%,7px)}to{opacity:1;transform:translate(-50%,0)}}\n@keyframes dtu-refresh-turn{to{transform:rotate(360deg)}}\n@media (hover:hover) and (pointer:fine){.dtu .text-button:hover{color:var(--blue)}\n.dtu .button.primary:hover,.dtu .workspace-banner .button:hover{background:#137de9}\n.dtu .button:hover svg{transform:translateX(1px)}\n.dtu .task-card:hover:not([aria-pressed=true]){background:#f6faff}\n.dtu .host-menu button:hover{background:#edf5ff}\n.dtu .icon-button:hover{background:#e2ebf6}\n.dtu .mascot-zone:hover>.companion:before,.dtu .mascot-zone:hover>.module-header .companion:before,.dtu .mascot-zone:hover>.side-heading .companion:before{opacity:0;transform:translateY(-2px) rotate(-1deg)}\n.dtu .mascot-zone:hover>.companion:after,.dtu .mascot-zone:hover>.module-header .companion:after,.dtu .mascot-zone:hover>.side-heading .companion:after{opacity:1;transform:translateY(-2px) rotate(-1deg)}}\n.dtu .mascot-zone.greet>.companion:before,.dtu .mascot-zone.greet>.module-header .companion:before,.dtu .mascot-zone.greet>.side-heading .companion:before{opacity:0}\n.dtu .mascot-zone.greet>.companion:after,.dtu .mascot-zone.greet>.module-header .companion:after,.dtu .mascot-zone.greet>.side-heading .companion:after{opacity:1;transform:translateY(-2px)}\n@container (max-width:1250px){.dtu .surface{padding:23px 28px}\n.dtu .host-companion{width:116px;height:116px;right:9px}\n.dtu .host-block{padding:22px;min-height:158px}\n.dtu .task-layout{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr)}\n.dtu .detail-head,.dtu .detail-body{padding:23px}\n.dtu .artifact{gap:7px;padding:13px 10px}\n.dtu .artifact .button{padding:7px 9px}\n.dtu .fact.with-companion{padding-right:64px}\n.dtu .fact.with-companion .companion{width:63px;height:63px}\n.dtu .hover-hint{font-size:10px}\n.dtu .workspace-banner .companion{right:18px}}\n@container (max-width:1000px){.dtu .surface{padding:22px 25px}\n.dtu .utility{margin-bottom:30px}\n.dtu .task-layout{grid-template-columns:minmax(280px,.9fr) minmax(330px,1.1fr);gap:17px}\n.dtu .artifact{grid-template-columns:27px minmax(0,1fr)}\n.dtu .artifact .button{grid-column:2;justify-self:start}\n.dtu .file-icon{width:27px}\n.dtu .detail-grid{gap:8px}\n.dtu .fact{padding:13px;min-height:125px}\n.dtu .fact.with-companion{padding-right:13px}\n.dtu .fact.with-companion .companion{width:55px;height:55px;opacity:.9}\n.dtu .fact.with-companion dd small{padding-right:38px;min-width:0}\n.dtu .workspace-layout{grid-template-columns:minmax(0,1fr) 260px;gap:17px}\n.dtu .workspace-banner .banner-copy{max-width:73%}\n.dtu .workspace-banner h2{font-size:27px}\n.dtu .host-copy{max-width:72%}}\n@container (max-width:740px){.dtu .surface{padding:20px}\n.dtu .page-header{align-items:flex-start}\n.dtu .page-header h1{font-size:34px}\n.dtu .page-header p{font-size:14px}\n.dtu .header-actions{flex-direction:column;align-items:flex-end;padding-top:0;gap:8px}\n.dtu .header-actions .button{font-size:12px;min-height:36px;padding:8px 14px}\n.dtu .eyebrow{font-size:10px}\n.dtu .snapshot-line{font-size:10px;margin-top:23px;gap:5px;flex-wrap:wrap}\n.dtu .host-strip{gap:14px}\n.dtu .host-block{padding:17px;min-height:164px}\n.dtu .host-block h2{font-size:18px}\n.dtu .host-block p{font-size:10px;max-width:125px}\n.dtu .host-copy{max-width:70%}\n.dtu .host-state{font-size:10px;max-width:106px;line-height:1.8}\n.dtu .host-companion{width:93px;height:93px;right:0;bottom:0}\n.dtu .connection{display:none}\n.dtu .host-caption{font-size:10px}\n.dtu .view-toolbar{margin:23px 0 18px}\n.dtu .hover-hint{display:none}\n.dtu .section-tabs{width:330px}\n.dtu .task-layout{grid-template-columns:1fr}\n.dtu .module-header{padding:20px 23px 15px}\n.dtu .task-card{padding:15px 17px}\n.dtu .task-card h3{font-size:15px}\n.dtu .card-top time,.dtu .card-foot{font-size:11px}\n.dtu .description{font-size:12px}\n.dtu .detail-head h2{font-size:25px}\n.dtu .artifact{grid-template-columns:32px minmax(0,1fr) auto}\n.dtu .artifact .button{grid-column:auto}\n.dtu .fact.with-companion{padding-right:85px}\n.dtu .fact.with-companion .companion{width:80px;height:80px;opacity:1}\n.dtu .fact.with-companion dd small{padding:0;min-width:95px}\n.dtu .fact{min-height:123px}\n.dtu .workspace-layout{grid-template-columns:1fr}\n.dtu .workspace-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.dtu .workspace-banner{min-height:205px;padding:24px}\n.dtu .workspace-banner .companion{width:145px;height:145px;right:5px}\n.dtu .workspace-banner .banner-copy{max-width:74%}\n.dtu .workspace-banner h2{font-size:24px}\n.dtu .workspace-banner p{font-size:11px}\n.dtu .page-footer{font-size:10px;align-items:start}\n.dtu .page-footer .text-button{flex:none}\n.dtu .detail-head p{max-width:calc(100% - 72px)}}\n@container (max-width:440px){.dtu .surface{padding:17px 14px}\n.dtu .utility{margin-bottom:26px}\n.dtu .breadcrumb{display:none}\n.dtu .utility-actions{width:100%;justify-content:space-between}\n.dtu .page-header h1{font-size:clamp(28px,8vw,32px)}\n.dtu .page-header p{font-size:12px}\n.dtu .eyebrow{font-size:10px}\n.dtu .page-header{gap:8px}\n.dtu .header-actions .button{font-size:11px;padding:8px 12px;gap:5px}\n.dtu .header-actions svg{width:14px;height:14px}\n.dtu .host-strip{gap:10px}\n.dtu .host-block{padding:14px 13px;min-height:177px;border-radius:19px}\n.dtu .host-block h2{font-size:16px}\n.dtu .host-block p{font-size:10px;max-width:100%}\n.dtu .host-copy{max-width:100%;width:100%}\n.dtu .host-state{margin-top:8px;max-width:95px;font-size:10px}\n.dtu .host-companion{width:82px;height:82px;right:-3px;bottom:-1px}\n.dtu .host-caption{font-size:10px;margin-bottom:5px}\n.dtu .host-caption svg{width:13px;height:13px}\n.dtu .section-tabs{width:100%}\n.dtu .section-tabs button{font-size:12px}\n.dtu .module{border-radius:21px}\n.dtu .module-header{padding:20px 18px 16px}\n.dtu .module-header h2{font-size:20px}\n.dtu .module-header p{font-size:10px}\n.dtu .module-header .companion{width:66px;height:66px}\n.dtu .module-tools{padding:0 18px 16px}\n.dtu .timeline{padding-right:15px;padding-left:29px}\n.dtu .timeline:before{left:20px}\n.dtu .task-card{padding:13px 12px}\n.dtu .task-card h3{font-size:14px}\n.dtu .description{font-size:11px}\n.dtu .card-foot{font-size:10px}\n.dtu .detail-head,.dtu .detail-body{padding:20px}\n.dtu .detail-head h2{font-size:22px}\n.dtu .detail-head .companion{right:12px;width:83px;height:83px}\n.dtu .detail-head p{font-size:11px}\n.dtu .detail-title>span{font-size:10px}\n.dtu .artifact{grid-template-columns:27px minmax(0,1fr);padding:12px}\n.dtu .artifact .button{grid-column:2;justify-self:start}\n.dtu .artifact strong{font-size:12px}\n.dtu .artifact small{font-size:10px}\n.dtu .fact.with-companion{padding-right:13px}\n.dtu .fact.with-companion .companion{width:53px;height:53px}\n.dtu .fact.with-companion dd small{padding-right:32px;min-width:0}\n.dtu .fact{min-height:139px;padding:13px 12px}\n.dtu .fact dd{font-size:12px}\n.dtu .fact dd small{font-size:10px}\n.dtu .workspace-banner{padding:23px 20px;min-height:219px}\n.dtu .workspace-banner h2{font-size:23px}\n.dtu .workspace-banner .companion{width:118px;height:118px;right:0}\n.dtu .workspace-banner p{font-size:11px}\n.dtu .workspace-banner .banner-copy{max-width:83%}\n.dtu .workspace-banner .button{font-size:12px}\n.dtu .workspace-aside{grid-template-columns:1fr}\n.dtu .side-module{padding:21px}\n.dtu .session-card{padding:15px}\n.dtu .session-card h3{font-size:14px}\n.dtu .session-card p{font-size:10px}\n.dtu .page-footer{flex-direction:column;gap:8px}\n.dtu .host-menu{right:-118px;width:258px}\n.dtu .snapshot-line{font-size:10px}\n.dtu .dialog-header h2{font-size:20px}\n.dtu dialog{padding:23px}}\n@container (max-width:360px){.dtu .host-strip{grid-template-columns:1fr}\n.dtu .host-block{min-height:139px;padding:18px}\n.dtu .host-copy{max-width:calc(100% - 94px)}\n.dtu .host-block h2{font-size:18px}\n.dtu .host-block p{font-size:11px}\n.dtu .host-state{max-width:none;font-size:10px}\n.dtu .host-companion{width:96px;height:96px;right:5px}\n.dtu .host-caption{font-size:10px}}\n.dtu.keyboard *,.dtu.keyboard *:before,.dtu.keyboard *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dtu.keyboard .companion:after{opacity:0!important}\n.dtu.keyboard .companion:before{opacity:1!important;transform:none!important}\n@media (prefers-reduced-motion:reduce){.dtu *,.dtu *:before,.dtu *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dtu .companion:after{opacity:0!important;transform:none!important}\n.dtu .companion:before{opacity:1!important;transform:none!important}\n.dtu button:active{transform:none!important}}\n/* Integration adjustments: native DSH owns its navigation and theme. */\n.dtu{height:100%;width:100%;overflow:auto;container-type:inline-size;background:#f5f8fc;color:#192534;--mascot:none;min-width:0;color-scheme:light}\n.dtu .surface{max-width:1500px;width:100%;padding:calc(var(--dsh-frame-top-clearance,0px) + 28px) 36px 24px;margin:0 auto;min-width:0}\n.dtu h1{font-size:36px}.dtu p,.dtu dd,.dtu strong,.dtu h2,.dtu h3{overflow-wrap:anywhere}\n.dtu button{font:inherit}.dtu button.button{font-size:13px}.dtu .host-copy{max-width:calc(100% - 95px)}\n.dtu .host-companion{width:112px;height:112px;right:5px;bottom:4px}.dtu .host-block{min-height:200px;padding:22px}\n.dtu .host-state{max-width:none}.dtu .host-copy p{font-size:11px;line-height:1.7}\n.dtu .warning{padding:12px 16px;color:#86490b;background:#fff3df;border-radius:12px;margin:14px 0;overflow-wrap:anywhere}\n.dtu .pending{padding:12px 16px;background:#eef4fb;border-radius:12px}.dtu summary{cursor:pointer;font-weight:550;list-style:revert;padding:5px 0}\n.dtu details p{margin:8px 0}.dtu .page-footer{margin-top:24px}.dtu .pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 24px 22px}.dtu .pagination .button{min-height:34px;font-size:12px;padding:6px 12px}\n.dtu .task-card .card-top{align-items:flex-start;flex-wrap:wrap;gap:8px}.dtu .card-foot{flex-wrap:wrap;gap:8px}\n.dtu .record{padding:12px 0;border-top:1px solid var(--line)}.dtu .record p{margin:6px 0}\n.dtu .empty-detail{padding:42px 28px;display:grid;justify-items:start;gap:12px}.dtu .empty-detail h2{font-size:20px}\n.dtu .back-button{display:none;margin:16px 20px 4px}.dtu .inner-timeline{padding:12px 0 0 14px;margin-top:16px}.dtu .inner-timeline:before{left:4px;top:36px;bottom:32px}.dtu .session-card .session-actions{flex-wrap:wrap}\n.dtu .evidence{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.dtu .evidence p{margin-top:10px}.dtu pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font:12px/1.7 inherit;background:#f5f8fc;padding:12px;border-radius:10px}\n.dtu .empty-artifact .button{margin-top:10px}.dtu .detail-grid .fact{margin:0;min-width:0}.dtu .fact dd{margin:6px 0 0;overflow-wrap:anywhere}.dtu .fact.with-companion{padding-right:72px}.dtu .fact.with-companion .companion{width:62px;height:62px}\n.dtu .workspace-banner p{max-width:570px}.dtu .about-dialog{padding:28px;border:1px solid #dfebf7;border-radius:24px;color:#192534;background:#ffffffed;max-width:min(560px,calc(100% - 32px));box-shadow:0 25px 80px #153f6b25;animation:dtu-modal-in 200ms var(--ease-out)}.dtu .about-dialog::backdrop{background:#17355933;backdrop-filter:blur(5px)}.dtu .about-dialog>p{margin:16px 0;font-size:13px;line-height:1.8}\n.dtu .task-layout{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr)}\n.dtu.compact .surface{padding:14px}.dtu.compact h1{font-size:23px}.dtu.compact .eyebrow{display:none}.dtu.compact .page-header{flex-wrap:wrap}.dtu.compact .header-actions{padding:0}.dtu.compact .task-layout{display:block}.dtu.compact .host-strip{grid-template-columns:1fr;margin-bottom:18px}.dtu.compact .host-block{min-height:175px}.dtu.compact .task-layout:not(.has-selection) .detail-panel{display:none}.dtu.compact .back-button{display:inline-flex}.dtu.compact .snapshot-line{flex-wrap:wrap}.dtu.compact .detail-grid{grid-template-columns:1fr}.dtu.compact .surface>.page-footer{font-size:10px}\n@container(max-width:900px){.dtu .surface{padding-left:22px;padding-right:22px}.dtu .task-layout{gap:16px;grid-template-columns:minmax(230px,.85fr) minmax(280px,1.15fr)}.dtu .detail-head,.dtu .detail-body{padding:20px}.dtu .fact.with-companion{padding-right:14px;padding-bottom:65px}.dtu .host-block{padding:18px}}\n@container(max-width:680px){.dtu .surface{padding-left:16px;padding-right:16px}.dtu .task-layout{display:block}.dtu .task-layout.has-selection .tasklist{display:none}.dtu .task-layout:not(.has-selection) .detail-panel{display:none}.dtu .back-button{display:inline-flex}.dtu .host-strip{grid-template-columns:1fr}.dtu .host-block{min-height:170px}.dtu .host-copy{max-width:calc(100% - 110px)}.dtu .host-copy p{max-width:none}.dtu .host-companion{width:114px;height:114px}.dtu .workspace-layout{display:block}.dtu .workspace-aside{margin-top:18px}.dtu .view-toolbar{flex-wrap:wrap}.dtu .section-tabs{max-width:100%}.dtu .detail-grid{grid-template-columns:1fr 1fr}.dtu .fact.with-companion{padding-right:65px;padding-bottom:16px}.dtu .page-header{flex-wrap:wrap}.dtu .header-actions{flex-direction:row;align-items:center;flex-wrap:wrap;padding:0}.dtu .host-menu{right:auto;left:0;max-width:calc(100vw - 48px)}.dtu .about-dialog{padding:22px}}\n@container(max-width:360px){.dtu .surface{padding-left:12px;padding-right:12px}.dtu .detail-grid{grid-template-columns:1fr}.dtu .detail-head,.dtu .detail-body{padding:16px}.dtu .session-head{flex-wrap:wrap}.dtu .pagination{padding-left:16px;padding-right:16px}.dtu .pagination .button{font-size:11px;padding:6px 10px}.dtu .module-tools{padding-left:16px;padding-right:16px}}\n@container(min-width:681px){.dtu:not(.compact) .tasklist>.timeline{max-height:610px;overflow:auto;overscroll-behavior:contain}}\n/* Per-row axis remains continuous when the task list itself scrolls. */\n.dtu .timeline:before{display:none}.dtu .timeline-row:before{z-index:1}.dtu .timeline-row:after{content:\"\";position:absolute;left:-9px;top:0;bottom:-4px;width:2px;background:#dce9f9;pointer-events:none}.dtu .timeline-row:first-child:after{top:26px}.dtu .timeline-row:last-child:after{bottom:auto;height:26px}.dtu .timeline-row:only-child:after{display:none}\n@container(max-width:360px){.dtu .host-block{min-height:196px;padding:16px}.dtu .host-copy{max-width:100%}.dtu .host-companion{width:78px;height:78px;right:5px;bottom:4px}.dtu .host-copy>p:nth-last-child(-n+2){max-width:calc(100% - 68px)}.dtu .host-state{max-width:none}}\n\n.artifact-card{border:1px solid #d6e6f3;border-radius:16px;padding:16px;background:#f5faff;margin-block:12px;overflow-wrap:anywhere}.artifact-card h4{display:flex;align-items:center;gap:8px;margin:0}.artifact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.artifact-card p{margin-block:8px}\n\n.dtu .artifact-introduction{font-size:14px;line-height:1.65;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}\n\n/* Persistent planning reads only. Static budget meters are not completion progress. */\n.dtu .planning-heading,.dtu .plan-card-heading,.dtu .budget-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}\n.dtu .planning-heading h3{display:flex;align-items:center;gap:8px}.dtu .plan-card{margin-top:14px;padding:18px;border:1px solid #d7e6f6;border-radius:16px;background:linear-gradient(135deg,#f5faff,#fff)}\n.dtu .plan-card h4{margin:0;font-size:14px;line-height:1.6}.dtu .plan-card p{font-size:12px;line-height:1.7}.dtu .plan-rule{color:#285c91;font-weight:550}\n.dtu .plan-budget{margin:14px 0 10px;padding:12px;border-radius:10px;background:#eaf3fc}.dtu .budget-caption{font-size:12px;font-variant-numeric:tabular-nums}.dtu .plan-budget meter{width:100%;height:8px;display:block;margin-top:8px;accent-color:#438be1}\n.dtu .planning-empty{padding:14px 16px;border:1px dashed #ccdeef;border-radius:12px;background:#f8fbff}.dtu .child-timeline{margin:12px 0 0;padding-left:14px}.dtu .child-card{padding:12px;background:#fff;border:1px solid #e1eaf4;border-radius:12px}.dtu .child-card .input-question{color:#80501b;background:#fff4e4;padding:10px;border-radius:8px;white-space:pre-wrap}\n.dtu .plan-budget meter::-webkit-meter-bar{border:0;border-radius:6px;background:#d9e6f5;box-shadow:none;height:8px}.dtu .plan-budget meter::-webkit-meter-optimum-value{border-radius:6px;background:#438be1}.dtu .plan-budget meter::-moz-meter-bar{border-radius:6px;background:#438be1}\n@container(max-width:360px){.dtu .plan-card{padding:12px}.dtu .child-card{padding:10px}.dtu .plan-card-heading .badge{white-space:normal}.dtu .planning-heading{align-items:flex-start}}\n\n/* Task notification snapshots reuse the accepted blue/white panels and left timeline. */\n.dtu .notification-binding{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 16px;margin:12px 0;border:1px solid #d9e8f7;border-radius:16px;background:#f4f9ff}\n.dtu .notification-binding p{flex-basis:100%;margin:0}\n.dtu .notification-card{border:1px solid #e0eaf4;border-radius:14px;background:#fff;padding:12px 14px;overflow-wrap:anywhere}\n.dtu .notification-reason{color:#40576c;font-size:13px;line-height:1.6}\n.dtu .notification-discovery{margin-top:16px;border-top:1px solid #e0eaf4;padding-top:14px}\n.dtu .notification-discovery summary{font-weight:600;cursor:pointer;color:#185a97;padding:5px 0}\n.dtu .notification-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}\n.dtu .notification-targets{list-style:none;padding:0;display:grid;gap:10px}\n.dtu .notification-targets li{padding:12px 14px;background:#f6faff;border:1px solid #deebf7;border-radius:12px;overflow-wrap:anywhere}\n\n/* A2A is a read-only timeline; no ambient motion or additional display polling. */\n.dtu .a2a-budgets{display:grid;grid-template-columns:1fr 1fr;gap:12px}\n.dtu .a2a-card{background:#fff;border:1px solid #dbe8f7;border-radius:14px;padding:16px;overflow-wrap:anywhere}\n.dtu .a2a-result{margin:12px 0;padding:12px;border-radius:10px;background:#f2f8ff}\n.dtu .a2a-models{border-top:1px solid #e1eaf4;margin-top:14px;padding:12px 0}\n.dtu .a2a-models summary{cursor:pointer;color:#185a97;font-size:12px}\n.dtu .a2a-timeline{margin-top:18px;padding-left:14px}\n@container(max-width:480px){.dtu .a2a-budgets{grid-template-columns:1fr;gap:0}.dtu .a2a-card{padding:12px}}\n\n.dtu .a2a-workspace{margin-bottom:22px}.dtu .a2a-workspace>.inner-timeline{padding:0 22px 18px 28px}\n\n/* Static safety evidence: no auto-refresh, progress animation or new destructive controls. */\n.dtu .development-facts{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px 12px;margin:14px 0;padding:14px;border-radius:12px;background:#edf5fd;font-size:12px;line-height:1.65}.dtu .development-facts dt{color:#4b6d8d}.dtu .development-facts dd{margin:0;overflow-wrap:anywhere}.dtu .development-events{border-top:1px solid #dbe8f5;margin-top:14px;padding-top:12px}.dtu .development-events summary{cursor:pointer;font-size:12px;color:#185a97}.dtu .development-events .inner-timeline{margin-top:14px}.dtu .development-local{border:1px dashed #bcd5ee;border-radius:14px;padding:14px;margin-top:16px;background:#f7fbff}.dtu .development-local h4{margin:0;font-size:13px}.dtu .development-local .record:last-child{border-bottom:0}.dtu .development-card .badge{white-space:normal;text-align:left}\n@container(max-width:360px){.dtu .development-facts{grid-template-columns:1fr;gap:4px}.dtu .development-facts dd{margin-bottom:8px}.dtu .development-events .notification-card{padding:10px}}\n\n/* Delivery snapshots reuse accepted cards; no automatic refresh or decorative motion. */\n.dtu .delivery-section dd,.dtu .delivery-section h4{overflow-wrap:anywhere}\n.dtu .delivery-files summary{cursor:pointer;padding:10px 0}\n.dtu .delivery-files pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;padding:12px;border:1px solid #d6e8fa;border-radius:12px;background:#f5faff;color:#18344f;font-size:12px;line-height:1.55}\n.dtu .delivery-files summary:focus-visible{outline:2px solid #438fe8;outline-offset:3px;border-radius:6px}\n\n/* Own boundary only: never target or restyle the optional IM provider's descendants. */\n.dsh-native-im-shell{display:flex;flex-direction:column;gap:20px;height:100%;min-width:0;padding:24px;box-sizing:border-box;background:#f5f8fc}\n.dsh-native-im-frame{flex:1 1 auto;min-height:0;min-width:0;overflow:auto;padding:20px;border:1px solid #e1ebf6;border-radius:24px;box-sizing:border-box;background:#fff;box-shadow:0 4px 16px #345c7f05}\n\n.dsh-cloud-im-web{flex:1 1 auto;width:100%;min-height:360px;border:1px solid #e1ebf6;border-radius:24px;background:#fff}\n\n/* Compact presentation pass: no change to requests, permissions or expiry gates. */\n.dtu .surface{padding:calc(var(--dsh-frame-top-clearance,0px) + 16px) 24px 16px}\n.dtu .page-header{align-items:center;margin-bottom:12px;gap:16px}\n.dtu .workbench-brand{display:flex;align-items:center;gap:10px;min-width:0}\n.dtu .workbench-brand h1{font-size:25px;line-height:1.3;white-space:nowrap}\n.dtu .brand-companion{width:44px;height:44px;flex:none}\n.dtu .header-actions{gap:10px;padding:0;flex-wrap:wrap;align-items:center}\n.dtu .header-actions .button{min-height:38px;padding:8px 13px}\n.dtu .snapshot-line{margin:8px 0 12px;gap:6px 16px;flex-wrap:wrap;font-size:11px}\n.dtu .host-strip{gap:12px;margin-bottom:16px}\n.dtu .host-block{min-height:126px;padding:14px 16px;border-radius:18px}\n.dtu .host-block h2{font-size:18px;margin:4px 0 6px}\n.dtu .host-copy{max-width:calc(100% - 74px)}\n.dtu .host-copy p{margin:4px 0;font-size:11px;line-height:1.5}\n.dtu .host-companion{width:78px;height:78px;right:8px;bottom:12px}\n.dtu .view-toolbar{margin-bottom:12px}\n.dtu .module-header{padding:14px 18px;min-height:0;gap:12px}\n.dtu .module-header h2{font-size:17px;line-height:1.4}\n.dtu .module-header>.companion{width:44px;height:44px}\n.dtu .heading-with-help{display:flex;align-items:center;gap:6px;min-width:0}\n.dtu .info-help{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#5681a6;corner-shape:round}\n.dtu .info-help svg{width:18px;height:18px}\n.dtu .info-help:focus-visible{outline:2px solid #438fe8;outline-offset:-2px}\n.dtu .help-dialog{width:480px;max-height:80dvh;overflow:auto}\n.dtu .execution-tools{display:flex;align-items:center;gap:12px;flex:none}\n.dtu .execution-tools .companion{width:50px;height:50px}\n.dtu .execution-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 18px 12px;border-bottom:1px solid #e3edf7}\n.dtu .execution-toolbar p{margin:0;font-size:11px}\n.dtu .execution-switch{display:flex;gap:4px;align-items:center;padding:3px;background:#edf4fc;border-radius:12px}\n.dtu .execution-switch button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:7px 12px;min-height:34px;background:transparent;color:#546e87;font-size:12px}\n.dtu .execution-switch button[aria-pressed=true]{background:#fff;color:#246eaf;box-shadow:0 1px 5px #315f8c10}\n.dtu .paged-timeline>.timeline{padding:12px 18px 0 30px;margin:0}\n.dtu .paged-timeline .session-card{padding:10px 14px;border-radius:12px}\n.dtu .paged-timeline .timeline-row{margin-bottom:8px}\n.dtu .paged-timeline .session-head{margin-bottom:4px;gap:8px;flex-wrap:wrap}\n.dtu .paged-timeline .session-card h3{font-size:14px;line-height:1.5;margin:2px 0}\n.dtu .paged-timeline .session-card p{font-size:12px;line-height:1.5;margin:4px 0}\n.dtu .paged-timeline .session-actions{margin-top:8px;gap:8px}\n.dtu .paged-timeline .button{min-height:32px;padding:6px 12px;font-size:12px}\n.dtu .paged-timeline .pagination{padding:10px 18px 14px}\n.dtu .pagination p{margin:0;font-variant-numeric:tabular-nums;font-size:12px;text-align:center}\n.dtu .tasklist .module-tools{padding:0 18px 12px}\n.dtu .tasklist .task-card{padding:14px 16px}\n.dtu .tasklist .timeline{padding-top:6px}\n.dtu .empty-detail{padding:24px;gap:8px}\n.dtu .empty-list{padding:16px 18px;font-size:12px}\n.dtu .page-footer{margin-top:12px}\n.dtu.compact .workbench-brand h1{font-size:20px}\n.dtu.compact .host-block{min-height:126px}\n@media(hover:hover) and (pointer:fine){.dtu .info-help:hover{background:#e7f2ff;color:#226caf}.dtu .execution-switch button:hover{color:#2168a4}}\n@container(max-width:680px){.dtu .surface{padding-left:14px;padding-right:14px}.dtu .page-header{gap:10px}.dtu .header-actions{gap:8px}.dtu .header-actions .button{min-height:44px}.dtu .host-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dtu .host-block{padding:12px;min-height:156px}.dtu .host-copy{max-width:100%}.dtu .host-companion{width:42px;height:42px;right:6px;bottom:4px;opacity:.85}.dtu .host-copy>p:nth-last-child(-n+2){max-width:calc(100% - 30px)}.dtu .host-block h2{font-size:15px}.dtu .execution-module>.module-header{flex-wrap:wrap}.dtu .execution-tools{justify-content:space-between;width:100%}.dtu .paged-timeline .button,.dtu .execution-switch button{min-height:44px}.dtu .info-help{width:44px;height:44px}.dtu .module-header{padding:12px}.dtu .execution-toolbar{padding:0 12px 12px}.dtu .paged-timeline>.timeline{padding-left:26px;padding-right:12px}.dtu .paged-timeline .pagination{padding:10px 12px}.dtu .pagination{gap:4px}.dtu .pagination p{font-size:11px}.dtu .execution-switch{width:100%}.dtu .execution-switch button{flex:1}.dtu .heading-with-help{gap:0}.dtu.compact .host-strip{grid-template-columns:1fr}}\n.dtu .empty-detail>.companion{width:48px;height:48px}\n.dtu .empty-detail h2{font-size:17px}\n@container(min-width:801px){.dtu .paged-timeline .session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px}.dtu .paged-timeline .session-card>.session-head,.dtu .paged-timeline .session-card>h3,.dtu .paged-timeline .session-card>p,.dtu .paged-timeline .session-card>details{grid-column:1}.dtu .paged-timeline .session-actions,.dtu .paged-timeline .session-card>.button{grid-column:2;grid-row:1/span 5;align-self:center;margin:0}.dtu .paged-timeline .session-head{justify-content:flex-start;gap:12px}}\n.dtu .host-caption{display:none}\n.dtu .host-block{min-height:120px}\n.dtu .host-state{margin-top:4px}\n.dtu .view-toolbar{margin-top:12px}\n@container(max-width:680px){.dtu .host-block{min-height:144px}.dtu .view-toolbar{margin-top:10px}}\n\n/* Task focus: outcomes first; internal evidence lives behind an explicit dialog. */\n.dtu .task-layout{grid-template-columns:minmax(240px,.67fr) minmax(360px,1.33fr);align-items:start}\n.dtu .detail-head{padding:18px 22px 14px;min-height:0}\n.dtu .detail-head h2{font-size:22px;max-width:calc(100% - 72px);padding-right:0}\n.dtu .detail-head .companion{width:64px;height:64px;right:18px;top:24px}\n.dtu .detail-body{padding:18px 22px 20px}\n.dtu .empty-artifact{padding:12px 14px;border:1px dashed #cfdeee;border-radius:14px;background:#f8fbff}\n.dtu .empty-artifact p{margin-top:4px;font-size:12px}\n.dtu .artifact-card{padding:14px 16px;margin:10px 0 0;background:#f8fbff;border:1px solid #dae7f5;border-radius:16px}\n.dtu .artifact-card h4{font-size:14px;line-height:1.5}\n.dtu .artifact-card .artifact-introduction{font-size:13px;line-height:1.7;margin:6px 0}\n.dtu .artifact-provenance summary{font-size:11px;color:#5d7894;font-weight:450;padding:2px 0}\n.dtu .artifact-actions{gap:8px;margin-top:10px}\n.dtu .artifact-actions .button{min-height:34px;padding:6px 12px;font-size:12px}\n.dtu .artifact-files>p:last-child{font-size:11px;margin-top:10px;color:#61788d}\n.dtu .task-attention{border-top:1px solid #e2ebf4;padding-top:18px;margin-top:20px}\n.dtu .attention-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}\n.dtu .attention-heading h3{display:flex;align-items:center;gap:7px;font-size:17px}\n.dtu .attention-heading p{font-size:12px;margin-top:4px}\n.dtu .attention-heading .companion{width:52px;height:52px;flex:none}\n.dtu .attention-heading .count{font-size:11px;background:#eaf2ff;color:#2666a6;padding:2px 7px;border-radius:8px}\n.dtu .attention-item{margin-top:12px;padding:14px 0;border-top:1px solid #ebf0f6}\n.dtu .attention-item h4{font-size:14px;margin:0 0 6px;color:#243b54}\n.dtu .attention-description{font-size:13px;color:#536b83;line-height:1.75;white-space:pre-wrap;margin:0 0 10px}\n.dtu .decision-context{display:flex;gap:6px 16px;flex-wrap:wrap;margin-bottom:10px;color:#5b728a}\n.dtu .task-decision-box label{display:block;font-size:12px;color:#38516b;margin-bottom:7px}\n.dtu .task-decision-box textarea{display:block;width:100%;min-height:88px;resize:vertical;max-height:220px;box-sizing:border-box;font:13px/1.7 inherit;font-family:inherit;padding:12px 14px;color:#243b54;background:#f8fbff;border:1px solid #c6daef;border-radius:14px;outline-offset:3px}\n.dtu .task-decision-box textarea:focus-visible{outline:2px solid #4f93e0;background:#fff}\n.dtu .task-decision-box textarea::placeholder{color:#71859b}\n.dtu .decision-hint{font-size:11px;color:#61768b;margin:7px 0 12px;line-height:1.6}\n.dtu .decision-actions{display:flex;flex-wrap:wrap;gap:8px}\n.dtu .decision-actions .button{min-height:36px;padding:7px 13px;font-size:12px}\n.dtu .decision-actions .decision-reject{color:#8d3c46;background:#fcf0f1}\n.dtu .decision-result{margin-top:12px;padding:12px 14px;border:1px solid #ccdfed;border-radius:12px;background:#f1f8ff;color:#2d5476;font-size:13px}\n.dtu .decision-result p{font-size:12px;margin:4px 0 0}\n.dtu .attention-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}\n.dtu .attention-inline-actions p{width:100%;font-size:11px}\n.dtu .attention-clear{padding:14px 0 8px;font-size:12px;color:#4b756d}\n.dtu .detail-more{margin-top:12px;font-size:12px}\n.dtu .task-diagnostics-dialog{width:780px;max-width:calc(100% - 32px);max-height:84dvh;overflow:auto;overscroll-behavior:contain}\n.dtu .task-diagnostics-dialog .detail-grid{margin:20px 0}\n.dtu .task-diagnostics-dialog .fact{min-height:0}\n@media(hover:hover) and (pointer:fine){.dtu .decision-actions .button:hover{transform:translateY(-1px)}.dtu .decision-actions .button:active{transform:scale(.97)}}\n@container(max-width:900px){.dtu .task-layout{grid-template-columns:minmax(210px,.68fr) minmax(310px,1.32fr);gap:14px}.dtu .detail-body{padding:16px 18px}}\n@container(max-width:680px){.dtu .task-layout{display:block}.dtu .detail-head,.dtu .detail-body{padding:16px}.dtu .detail-head h2{font-size:20px}.dtu .task-diagnostics-dialog{padding:18px}.dtu .decision-actions .button{min-height:40px}}\n@media(prefers-reduced-motion:reduce){.dtu .decision-actions .button:hover,.dtu .decision-actions .button:active{transform:none}}\n\n/* Workbench decision review is part of the existing action card, not another dashboard tile. */\n.dtu .decision-review{margin-top:12px;padding:16px;border:1px solid #cbdff2;background:#f5faff;border-radius:16px;min-width:0;outline-offset:3px}\n.dtu .decision-review h5{margin:0 0 8px;font-size:15px;line-height:1.5;color:#23496b}\n.dtu .decision-quote{padding:8px 12px;border-left:3px solid #88b7e3;white-space:pre-wrap;overflow-wrap:anywhere}\n.dtu .decision-proposal{margin:12px 0;font-size:13px;line-height:1.6}\n.dtu .decision-proposal summary{cursor:pointer;padding:6px 0;color:#245b8b}\n.dtu .decision-proposal>div{margin-top:10px;overflow-wrap:anywhere}\n.dtu .decision-proposal p{margin:2px 0;white-space:pre-wrap}\n.dtu .decision-proposal pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:220px;overflow:auto}\n.dtu .decision-query{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:#55718b}\n.dtu .decision-actions{flex-wrap:wrap}\n\n/* Step 02: compact source-backed intervention guidance; no attention animation. */\n.dtu .intervention-owner{font-size:12px;color:#35688f;margin:4px 0 8px}\n.dtu .intervention-next{border-left:2px solid #c2dcf7;padding:2px 0 2px 12px;margin:10px 0}\n.dtu .intervention-next strong{font-size:12px;color:#355a7e}\n.dtu .intervention-next p{margin:4px 0 10px}\n.dtu .intervention-history{border-top:1px solid #e4edf6;margin-top:16px;padding-top:12px;overflow-wrap:anywhere}\n.dtu .intervention-history summary{cursor:pointer;color:#35688f;padding:7px 0}\n.dtu .intervention-event{border-left:2px solid #e1ecf8;margin-left:4px;padding-left:12px;font-size:12px}\n.dtu .decision-identity{padding:12px;margin:12px 0;background:#f1f7ff;border:1px solid #d2e6fb;border-radius:12px;font-size:13px}\n.dtu .decision-identity p{margin:6px 0;color:#526b82}\n\n.dtu .task-query-helper{margin:10px 0 16px;min-width:0}\n.dtu .task-query-helper textarea{display:block;box-sizing:border-box;width:100%;min-height:88px;resize:vertical;max-height:200px;padding:12px 14px;margin:8px 0;font-family:inherit;font-size:13px;line-height:1.7;color:#243b54;background:#f8fbff;border:1px solid #c6daef;border-radius:14px;outline-offset:3px}\n.dtu .task-query-helper textarea:focus-visible{outline:2px solid #4f93e0;background:#fff}\n\n.dtu .task-observation{padding:12px 0;border-block:1px solid #dce7f4;overflow-wrap:anywhere}.dtu .observation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dtu .observation-detail{margin:6px 0;color:#526883}.dtu .task-observation details{font-size:13px;color:#526883}.dtu .task-observation summary{cursor:pointer;width:fit-content;padding:4px 0}.dtu .task-observation summary:focus-visible{outline:2px solid #086ddd;outline-offset:3px}\n\n.dsh-onboarding{--ground:#f5f8fc;--surface:#fff;--ink:#192534;--muted:#667383;--blue:#0671e3;--blue-dark:#005ec4;--pale:#eaf3ff;--line:#e7edf4;--radius:24px;--ease-out:cubic-bezier(.23,1,.32,1);font-family:-apple-system,BlinkMacSystemFont,\"PingFang SC\",\"Microsoft YaHei\",sans-serif}\n.dsh-onboarding *{box-sizing:border-box}\n.dsh-onboarding{margin:0;background:#eef4fa;color:#23374a;font:14px/1.6 -apple-system,BlinkMacSystemFont,\"PingFang SC\",\"Microsoft YaHei\",sans-serif;-webkit-font-smoothing:antialiased}\n.dsh-onboarding button,.dsh-onboarding input,.dsh-onboarding select{font:inherit}\n.dsh-onboarding button{cursor:pointer;color:inherit}\n.dsh-onboarding button,.dsh-onboarding input,.dsh-onboarding select,.dsh-onboarding summary{-webkit-tap-highlight-color:transparent}\n.dsh-onboarding button:disabled{cursor:not-allowed;opacity:.48}\n.dsh-onboarding button{transition:transform 140ms var(--ease-out),background-color 160ms ease}\n.dsh-onboarding button:active:not(:disabled){transform:scale(.97)}\n.dsh-onboarding button:focus-visible,.dsh-onboarding select:focus-visible,.dsh-onboarding input:focus-visible,.dsh-onboarding summary:focus-visible{outline:3px solid #5fa8ef;outline-offset:3px}\n.dsh-onboarding h1,.dsh-onboarding h2,.dsh-onboarding h3,.dsh-onboarding p{margin:0}\n.dsh-onboarding svg{width:19px;height:19px;flex:none;vertical-align:middle}\n.dsh-onboarding h1:focus{outline:none}\n.dsh-onboarding ::selection{background:#c7e3ff}\n.dsh-onboarding a{color:var(--blue)}\n.dsh-onboarding code{font-family:\"SFMono-Regular\",Consolas,monospace;overflow-wrap:anywhere}\n.dsh-onboarding .window-frame{max-width:1140px;margin:22px auto 0;background:#f7faff;border:1px solid #fff;border-radius:25px;box-shadow:0 12px 50px #345d800b;overflow:clip}\n.dsh-onboarding .window-header{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;border-bottom:1px solid #e3edf7;background:#ffffffb0}\n.dsh-onboarding .brand{display:flex;align-items:center;gap:10px}\n.dsh-onboarding .brand-portrait{display:block;width:42px;height:42px;border-radius:14px;overflow:hidden;background:#e9f3ff}\n.dsh-onboarding .brand-portrait .companion{width:43px;height:43px;margin-top:2px}\n.dsh-onboarding .brand>strong{font-size:16px;font-weight:650;letter-spacing:-.02em;line-height:1.5}\n.dsh-onboarding .brand strong span{display:block;font-size:10px;font-weight:450;letter-spacing:.035em;color:#7b8fa5}\n.dsh-onboarding .header-actions{display:flex;align-items:center;gap:21px}\n.dsh-onboarding .mock-label{font-size:11px;color:#69859f;display:flex;gap:7px;align-items:center}\n.dsh-onboarding .mock-label>span{width:5px;height:5px;background:#6eafda;border-radius:50%}\n.dsh-onboarding .demo-options{position:relative}\n.dsh-onboarding .demo-options>summary{display:flex;align-items:center;gap:7px;list-style:none;font-size:11px;color:#71889f;cursor:pointer;padding:8px 0}\n.dsh-onboarding .demo-options>summary svg{width:14px;height:14px}\n.dsh-onboarding .demo-options>summary svg:last-child{width:11px}\n.dsh-onboarding .demo-options summary::-webkit-details-marker{display:none}\n.dsh-onboarding .demo-popover{position:absolute;z-index:20;right:0;top:37px;width:256px;border:1px solid #e3edf6;background:#fffffff8;backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 10px 38px #345d8024;padding:18px;animation:onboarding-popover-in 170ms var(--ease-out);transform-origin:top right}\n.dsh-onboarding .demo-popover>strong{font-size:11px;color:#637d94;font-weight:500}\n.dsh-onboarding .demo-popover label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#7a8ea3;margin-top:15px}\n.dsh-onboarding .demo-popover select{width:100%;min-height:39px;border:1px solid #dbe6f1;border-radius:9px;padding:8px;background:#f5f9fd;color:#466987;font-size:12px}\n.dsh-onboarding .reset-button{display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:#eef5fc;color:#5783ac;border-radius:9px;width:100%;font-size:11px;min-height:37px;margin-top:13px}\n.dsh-onboarding .reset-button svg{width:14px;height:14px}\n.dsh-onboarding main{padding:0 32px;min-width:0}\n.dsh-onboarding .page-top{height:53px;display:flex;align-items:center;justify-content:space-between;gap:18px}\n.dsh-onboarding .page-position{display:flex;align-items:baseline;gap:12px}\n.dsh-onboarding .page-position>strong{font-variant-numeric:tabular-nums;font-size:21px;color:#2776c2;font-weight:620;letter-spacing:-.045em}\n.dsh-onboarding .page-position>strong span{font-size:12px;font-weight:400;color:#8399ad;margin-left:3px;letter-spacing:0}\n.dsh-onboarding .page-position>span{font-size:12px;font-weight:500;color:#6a8096}\n.dsh-onboarding .page-top .button{font-size:11px;color:#7d92a6}\n.dsh-onboarding .page-top .button svg{width:12px;height:12px}\n.dsh-onboarding .progress-track{height:4px;border-radius:6px;overflow:hidden;background:#e1ebf5}\n.dsh-onboarding .progress-track>span{display:block;width:100%;height:100%;background:#5c9fe3;transform-origin:left;transition:transform 220ms var(--ease-out);border-radius:6px}\n.dsh-onboarding .page-progress{height:2px;background:#e3edf7}\n.dsh-onboarding .page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:155px;padding:19px 0 15px}\n.dsh-onboarding .intro-copy{min-width:0;max-width:720px}\n.dsh-onboarding .page-intro h1{font-size:30px;line-height:1.35;font-weight:640;letter-spacing:-.04em;text-wrap:balance;color:#263c51}\n.dsh-onboarding .page-intro p{font-size:12px;line-height:1.9;color:#71879d;margin-top:10px;max-width:650px}\n.dsh-onboarding .intro-art{position:relative;flex:0 0 170px;height:126px;display:flex;justify-content:center;align-items:start}\n.dsh-onboarding .art-disc{position:absolute;top:5px;width:114px;height:114px;border-radius:50%;background:#e6f2ff;box-shadow:0 0 0 9px #eef6ff}\n.dsh-onboarding .intro-art .companion{width:120px;height:120px;position:relative}\n.dsh-onboarding .art-tag{position:absolute;bottom:0;border:1px solid #e2edf8;background:#ffffffeb;backdrop-filter:blur(6px);border-radius:999px;font-size:9px;color:#7291b0;padding:4px 10px;white-space:nowrap;box-shadow:0 3px 8px #34668f08}\n.dsh-onboarding .page-content{animation:onboarding-page-in 190ms var(--ease-out)}\n.dsh-onboarding .page-columns{display:block}\n.dsh-onboarding .stack{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(0,1fr);gap:18px;align-items:start}\n.dsh-onboarding .panel{background:#fff;border:1px solid #e1ebf6;border-radius:20px;padding:23px;min-width:0;box-shadow:0 4px 14px #345c7f04}\n.dsh-onboarding .panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:19px}\n.dsh-onboarding .panel-heading h2{display:flex;align-items:center;gap:8px;font-size:16px;line-height:1.5;font-weight:610;letter-spacing:-.025em;color:#354f67}\n.dsh-onboarding .panel-heading h2 svg{width:18px;height:18px;color:#74a4d3}\n.dsh-onboarding .panel-heading p{font-size:11px;line-height:1.8;color:#7a8fa4;margin-top:6px}\n.dsh-onboarding .badge{display:inline-flex;align-self:start;align-items:center;white-space:nowrap;font-size:10px;line-height:1.7;padding:3px 8px;border-radius:6px;background:#f0f5f9;color:#71879c;font-weight:450}\n.dsh-onboarding .badge.good{background:#eef8f2;color:#45836c}\n.dsh-onboarding .badge.blue{background:#edf5ff;color:#4689c8}\n.dsh-onboarding .badge.amber{background:#fff6e9;color:#a47937}\n.dsh-onboarding .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:3px}\n.dsh-onboarding .stack>.panel:nth-child(2) .form-grid{grid-template-columns:1fr}\n.dsh-onboarding .field{display:flex;min-width:0;flex-direction:column;gap:7px}\n.dsh-onboarding .field>span{font-size:11px;font-weight:550;color:#5c7690}\n.dsh-onboarding .field input,.dsh-onboarding .field select{width:100%;min-height:43px;background:#fcfdff;border:1px solid #dce7f2;border-radius:10px;padding:10px 11px;font-size:12px;color:#43627f;outline-offset:2px}\n.dsh-onboarding .field input[readonly]{background:#f5f9fd;color:#7890a6}\n.dsh-onboarding .field input:focus,.dsh-onboarding .field select:focus{border-color:#68a6df;background:#fff}\n.dsh-onboarding .field small{font-size:10px;line-height:1.8;color:#8499ad}\n.dsh-onboarding .field select{cursor:pointer}\n.dsh-onboarding .form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}\n.dsh-onboarding .button{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;gap:8px;min-width:0;max-width:100%;min-height:44px;border:1px solid #c9def2;border-radius:999px;background:#edf5ff;color:#326c9f;padding:10px 16px;font-size:12px;font-weight:500;line-height:1.5;white-space:normal;box-shadow:0 1px 2px #37699508;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}\n.dsh-onboarding .button>span{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .button svg{width:15px;height:15px}\n.dsh-onboarding .button.primary{background:var(--blue);border-color:var(--blue);color:#fff;padding:10px 20px;min-height:44px;box-shadow:0 2px 5px #0671e314}\n.dsh-onboarding .button.secondary{background:#fff;border-color:#d4e3f1;color:#426c91}\n.dsh-onboarding .button.text{background:transparent;border-color:transparent;box-shadow:none;padding:10px 16px;min-width:72px;min-height:44px;font-size:11px;color:#4380b5}\n.dsh-onboarding .button:disabled{opacity:1;background:#f3f7fb;border-color:#e2eaf3;color:#8194a6;box-shadow:none}\n.dsh-onboarding .button.text:disabled{background:transparent;border-color:transparent}\n.dsh-onboarding .button.text.muted{color:#7c91a6}\n.dsh-onboarding .micro,.dsh-onboarding .fine-print{font-size:10px;color:#7e94a9;line-height:1.8}\n.dsh-onboarding .fine-print{margin-top:16px}\n.dsh-onboarding .error{font-size:11px;color:#ae4a40;margin-top:12px}\n.dsh-onboarding .detected{display:flex;gap:10px;align-items:start;padding:13px;background:#f2f9f6;border:1px solid #e6f1eb;border-radius:12px;margin-top:17px}\n.dsh-onboarding .detected>svg{width:17px;color:#5d9984;margin-top:2px}\n.dsh-onboarding .detected>div{flex:1;min-width:0}\n.dsh-onboarding .detected strong{font-size:12px;font-weight:550;color:#497b67}\n.dsh-onboarding .detected p,.dsh-onboarding .detected code{font-size:10px;color:#779588;line-height:1.8}\n.dsh-onboarding .detected code{display:block}\n.dsh-onboarding .path-line{display:flex;flex-direction:column;gap:4px;margin-top:18px;font-size:10px;color:#879aab}\n.dsh-onboarding .path-line code{color:#65829b}\n.dsh-onboarding .details{grid-column:1/-1;min-width:0;border:1px solid #e2ebf5;background:#f4f8fd;border-radius:13px;padding:13px 18px;color:#6e87a0;font-size:11px}\n.dsh-onboarding .details summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font-weight:500;min-height:20px}\n.dsh-onboarding .details summary::-webkit-details-marker{display:none}\n.dsh-onboarding .details summary>svg{margin-left:auto;width:14px;height:14px}\n.dsh-onboarding .details[open] summary{margin-bottom:13px}\n.dsh-onboarding .details[open] summary>svg{transform:rotate(180deg)}\n.dsh-onboarding .details p{font-size:11px;line-height:1.9;color:#7089a1}\n.dsh-onboarding .companion{position:relative;width:60px;height:60px;pointer-events:none;overflow:hidden;flex:none}\n.dsh-onboarding .companion:before,.dsh-onboarding .companion:after{content:\"\";position:absolute;inset:0;background-image:var(--mascot,none);background-size:400% 300%;background-repeat:no-repeat;transition:opacity 170ms var(--ease-out),transform 210ms var(--ease-out);transform-origin:50% 90%}\n.dsh-onboarding .companion:before{background-position:var(--x,0%) var(--y,0%);opacity:1}\n.dsh-onboarding .companion:after{background-position:var(--hx,33.3333%) var(--y,0%);opacity:0;transform:translateY(2px)}\n.dsh-onboarding .companion[data-pose=cloud]{--x:66.6667%;--hx:100%;--y:0%}\n.dsh-onboarding .companion[data-pose=tasks]{--x:0%;--hx:33.3333%;--y:50%}\n.dsh-onboarding .companion[data-pose=model]{--x:66.6667%;--hx:100%;--y:50%}\n.dsh-onboarding .companion[data-pose=repository]{--x:66.6667%;--hx:100%;--y:100%}\n.dsh-onboarding .context-note{margin-top:17px;border:1px solid #dfebf7;border-radius:15px;background:#eef6ff;overflow:clip}\n.dsh-onboarding .context-note>summary{display:flex;align-items:center;gap:13px;min-height:65px;padding:6px 19px 0 14px;cursor:pointer;list-style:none}\n.dsh-onboarding .context-note>summary::-webkit-details-marker{display:none}\n.dsh-onboarding .context-note>summary>.companion{width:58px;height:58px;align-self:end}\n.dsh-onboarding .context-note>summary>span{flex:1;padding:4px 0 10px}\n.dsh-onboarding .context-note strong{display:block;font-size:12px;font-weight:550;color:#5a7c9b}\n.dsh-onboarding .context-note small{font-size:10px;color:#8a9fb5;display:block;margin-top:3px}\n.dsh-onboarding .context-note>summary>svg{width:14px;height:14px;color:#8aa5bc;margin-bottom:6px}\n.dsh-onboarding .context-note[open]>summary>svg{transform:rotate(180deg)}\n.dsh-onboarding .context-body{padding:16px 22px 20px;border-top:1px solid #dfebf7;display:grid;grid-template-columns:1fr 1fr;gap:8px 26px;align-items:center}\n.dsh-onboarding .context-body>p{font-size:11px;line-height:1.9;color:#718aa3;white-space:pre-line}\n.dsh-onboarding .context-body .summary-foot{grid-column:1/-1;display:flex;align-items:center;gap:8px;border-top:1px solid #dfeaf5;padding-top:12px;margin-top:9px;color:#91a5b9;font-size:10px}\n.dsh-onboarding .summary-foot svg{width:14px;height:14px}\n.dsh-onboarding .context-body>.button{justify-self:start}\n.dsh-onboarding .info-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e6edf5;padding:12px 0;font-size:11px;line-height:1.8;color:#7b91a7}\n.dsh-onboarding .info-row:last-child{border:0}\n.dsh-onboarding .info-row strong{font-size:11px;font-weight:500;color:#536f89;text-align:right;overflow-wrap:anywhere}\n.dsh-onboarding .info-row svg{width:13px;height:13px}\n.dsh-onboarding .callout{display:flex;align-items:start;gap:9px;background:#f3f8fe;border:1px solid #e5eef8;border-radius:12px;padding:13px;margin:16px 0 0;font-size:11px;line-height:1.8;color:#738ca5}\n.dsh-onboarding .callout>svg{width:15px;height:15px;color:#81a4c7;margin-top:2px}\n.dsh-onboarding .callout strong{display:block;font-size:12px;color:#5c7893;font-weight:550;margin-bottom:3px}\n.dsh-onboarding .callout.warn{background:#fffaf1;border-color:#efe3ca;color:#92774a}\n.dsh-onboarding .callout.warn>svg{color:#b49158}\n.dsh-onboarding .callout .button{margin-top:10px}\n.dsh-onboarding .callout+.form-grid{margin-top:20px}\n.dsh-onboarding .inline-success{display:flex;align-items:center;gap:6px;color:#56947c;font-size:11px}\n.dsh-onboarding .inline-success svg{width:14px;height:14px}\n.dsh-onboarding .credential-row{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:16px;padding:16px;border:1px solid #e1ebf6;border-radius:16px;background:#f8fbff}\n.dsh-onboarding .credential-row>.info-row{border:0;padding:0;min-width:0;flex-wrap:wrap;gap:6px 16px}\n.dsh-onboarding .credential-row>.info-row>span{font-size:12px;font-weight:550;color:#4e6c87}\n.dsh-onboarding .credential-row>.info-row>strong{font-size:11px;color:#72899f}\n.dsh-onboarding .credential-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;min-width:0}\n.dsh-onboarding .credential-actions .button{font-size:12px;min-height:44px}\n.dsh-onboarding .credential-row .info-row:last-child{border:0}\n.dsh-onboarding .provider-option{display:flex;align-items:center;gap:12px}\n.dsh-onboarding .provider-option>div{flex:1}\n.dsh-onboarding .provider-option strong{font-size:12px;font-weight:500}\n.dsh-onboarding .provider-option p{font-size:11px;color:#7f95a9;margin-top:3px}\n.dsh-onboarding .provider-monogram{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:#fff6ef;color:#b88757;font-size:10px}\n.dsh-onboarding .toggle{position:relative;flex:none;width:37px;height:23px;border:0;border-radius:30px;padding:3px;background:#dce6f0}\n.dsh-onboarding .toggle span{display:block;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #2645601a;transition:transform 180ms var(--ease-out)}\n.dsh-onboarding .toggle.on{background:#4196e5}\n.dsh-onboarding .toggle.on span{transform:translateX(14px)}\n.dsh-onboarding .expand-content{border-top:1px solid #e8eef5;padding-top:18px;margin-top:18px}\n.dsh-onboarding .channel-selected{display:flex;align-items:center;gap:10px;margin-bottom:20px}\n.dsh-onboarding .channel-selected>div{flex:1}\n.dsh-onboarding .channel-selected strong{font-size:13px}\n.dsh-onboarding .channel-selected p{font-size:11px;color:#7e95ab}\n.dsh-onboarding .channel-logo{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#edf6ff;color:#72a1cb}\n.dsh-onboarding .subtle-list{display:flex;flex-wrap:wrap;gap:10px 14px;margin:17px 0 8px;font-size:10px;color:#7e94a8}\n.dsh-onboarding .subtle-list span{display:flex;align-items:center;gap:5px}\n.dsh-onboarding .subtle-list svg{width:12px;height:12px;color:#7ca593}\n.dsh-onboarding .radio-options{display:flex;flex-direction:column;gap:9px}\n.dsh-onboarding .choice{display:flex;align-items:start;gap:11px;padding:13px;border:1px solid #e4ecf6;border-radius:12px;cursor:pointer}\n.dsh-onboarding .choice.selected{border-color:#b2d2f0;background:#f6faff}\n.dsh-onboarding .choice input{margin:3px 0 0;accent-color:var(--blue)}\n.dsh-onboarding .choice strong{font-size:12px;font-weight:550;color:#56738e}\n.dsh-onboarding .choice small{display:block;font-size:11px;line-height:1.8;color:#7f95a9;margin-top:3px}\n.dsh-onboarding .disabled{opacity:.55;cursor:not-allowed}\n.dsh-onboarding .conversation{margin:6px 0;max-width:330px}\n.dsh-onboarding .bubble{font-size:11px;line-height:1.9;background:#fff;color:#6a86a1;border-radius:12px 12px 12px 3px;padding:10px 12px;margin-bottom:10px}\n.dsh-onboarding .bubble.mine{background:#dcecfb;color:#5c7f9d;border-radius:12px 12px 3px 12px;margin-left:35px}\n.dsh-onboarding .empty-option{text-align:center;padding:24px 12px 30px}\n.dsh-onboarding .empty-option>svg{width:30px;height:30px;color:#96b8d7;margin-bottom:12px}\n.dsh-onboarding .empty-option h3{font-size:14px;font-weight:500;color:#658099}\n.dsh-onboarding .empty-option p{font-size:11px;line-height:1.9;color:#8096ab;margin:8px auto 0;max-width:340px}\n.dsh-onboarding .check-row{display:flex;align-items:start;gap:10px;cursor:pointer}\n.dsh-onboarding .check-row input{accent-color:var(--blue);margin:3px 0 0;width:15px;height:15px;flex:none}\n.dsh-onboarding .check-row strong{display:block;font-size:12px;font-weight:550;color:#58718a}\n.dsh-onboarding .check-row small{display:block;font-size:11px;line-height:1.8;color:#8297ab;margin-top:5px}\n.dsh-onboarding .artifact-example{display:flex;gap:11px;padding:15px;background:#ffffffc9;border-radius:12px;margin:8px 0}\n.dsh-onboarding .artifact-example>svg{width:22px;height:22px;color:#78a4cb;margin-top:2px}\n.dsh-onboarding .artifact-example strong{font-size:12px;font-weight:550;color:#5d7b95}\n.dsh-onboarding .artifact-example p{font-size:11px;color:#91a3b5;margin-top:4px}\n.dsh-onboarding .artifact-example span{display:block;font-size:11px;color:#4c89bd;margin-top:10px}\n.dsh-onboarding .connection-diagram{display:flex;align-items:center;gap:22px;justify-content:center;margin:10px 0}\n.dsh-onboarding .connection-diagram>div{display:flex;align-items:center;flex-direction:column;gap:5px;font-size:11px;color:#6f96b8}\n.dsh-onboarding .connection-diagram svg{width:23px;height:23px}\n.dsh-onboarding .dotted-link{color:#a4bdd3;letter-spacing:4px;margin-bottom:15px}\n.dsh-onboarding .plan-host+.plan-host{margin-top:23px;border-top:1px solid #e4edf5;padding-top:20px}\n.dsh-onboarding .host-label{display:flex;align-items:center;gap:8px;margin-bottom:9px}\n.dsh-onboarding .host-label>svg{width:17px;color:#7ca2c5}\n.dsh-onboarding .host-label>strong{font-size:12px;font-weight:550}\n.dsh-onboarding .host-label .badge{margin-left:auto}\n.dsh-onboarding .plan-item{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 10px;font-size:11px;margin-top:12px}\n.dsh-onboarding .plan-item>span{color:#8094a7}\n.dsh-onboarding .plan-item strong{font-weight:500;color:#617b92;text-align:right}\n.dsh-onboarding .plan-item code{width:100%;font-size:10px;color:#8198ad}\n.dsh-onboarding .green{color:#4f8d77!important}\n.dsh-onboarding .plan-aside{margin-top:18px}\n.dsh-onboarding .plan-aside .summary{border:1px solid #e0ebf6;border-radius:15px;background:#edf5fe;padding:18px 22px;display:grid;grid-template-columns:70px 1fr 1fr;column-gap:20px;align-items:center}\n.dsh-onboarding .compact-mascot{grid-column:1;grid-row:1/4}\n.dsh-onboarding .compact-mascot .companion{width:70px;height:70px}\n.dsh-onboarding .summary>h3{grid-column:2;font-size:13px;font-weight:550;color:#63819c}\n.dsh-onboarding .summary>p{grid-column:2;font-size:11px;color:#8099b0}\n.dsh-onboarding .summary .status-list{display:none}\n.dsh-onboarding .summary>.info-row{grid-column:3;font-size:10px;padding:4px 0;border:0}\n.dsh-onboarding .summary>.info-row:nth-last-child(3){grid-row:1}\n.dsh-onboarding .summary>.info-row:nth-last-child(2){grid-row:2}\n.dsh-onboarding .summary>.info-row:last-child{grid-row:3}\n.dsh-onboarding .summary .info-row strong{font-size:10px}\n.dsh-onboarding .consent{padding:19px 4px 0}\n.dsh-onboarding .run-columns>.stack{display:block}\n.dsh-onboarding .run-panel{padding:23px 28px}\n.dsh-onboarding .run-panel .panel-heading{margin-bottom:15px}\n.dsh-onboarding .run-progress{padding:14px 17px;background:#f5f9fe;border-radius:12px;margin-bottom:25px}\n.dsh-onboarding .run-progress>div:first-child{display:flex;align-items:baseline;gap:8px;margin-bottom:11px}\n.dsh-onboarding .run-progress strong{font-size:20px;font-weight:550;color:#4184c1;letter-spacing:-.04em}\n.dsh-onboarding .run-progress span{font-size:11px;color:#6e8ba4}\n.dsh-onboarding .run-progress small{font-size:10px;color:#8197ac;margin-left:auto}\n.dsh-onboarding .phase-timeline{list-style:none;padding:0;margin:24px 0}\n.dsh-onboarding .phase-timeline li{display:flex;gap:15px;position:relative;padding-bottom:21px;min-height:66px}\n.dsh-onboarding .phase-timeline li:not(:last-child):before{content:\"\";position:absolute;left:12px;top:25px;bottom:0;width:1px;background:#dee9f4}\n.dsh-onboarding .phase-dot{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#edf3f8;color:#8298ac;font-size:10px}\n.dsh-onboarding .phase-dot svg{width:13px;height:13px}\n.dsh-onboarding .phase-timeline .done .phase-dot{background:#edf6f0;color:#58947b}\n.dsh-onboarding .phase-timeline .active .phase-dot{background:#e6f2ff;color:#418dce}\n.dsh-onboarding .phase-copy{flex:1;min-width:0}\n.dsh-onboarding .phase-copy>div{display:flex;justify-content:space-between;align-items:center;gap:12px}\n.dsh-onboarding .phase-copy h3{font-size:13px;font-weight:550;color:#5c7893;margin-bottom:5px}\n.dsh-onboarding .phase-copy small{font-size:11px;color:#7e94a9}\n.dsh-onboarding .phase-copy p{font-size:11px;line-height:1.8;color:#5e758b}\n.dsh-onboarding .phase-timeline .active h3{color:#337dbb}\n.dsh-onboarding .phase-timeline .pending .phase-dot{background:#f1f5f9;color:#8b9caf}\n.dsh-onboarding .phase-timeline li:last-child{padding-bottom:0}\n.dsh-onboarding .capability-list{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}\n.dsh-onboarding .wizard-footer{position:sticky;bottom:0;z-index:4;background:#f7faffed;backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dfeaf5;margin-top:25px;padding:19px 0}\n.dsh-onboarding .wizard-footer>div{display:flex;align-items:center;gap:22px}\n.dsh-onboarding .outside-note{max-width:1140px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#8da2b6;padding:15px 16px 20px}\n.dsh-onboarding .outside-note svg{width:13px;height:13px}\n.dsh-onboarding .overview-list{display:flex;flex-direction:column;gap:12px;margin-top:17px}\n.dsh-onboarding .overview-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:12px;width:100%;min-height:52px;padding:13px 16px;border:1px solid #dbe8f5;border-radius:16px;corner-shape:round;appearance:none;background:#fff;background-image:none;font-size:13px;color:#43627f;text-align:left;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}\n.dsh-onboarding .overview-list .overview-title{min-width:0;overflow-wrap:anywhere;font-weight:550}\n.dsh-onboarding .overview-list>button>svg{width:14px;height:14px;color:#7e9fbb}\n.dsh-onboarding .overview-list .badge{justify-self:start;align-self:center;max-width:100%;font-size:10px}\n.dsh-onboarding .overview-list>button[aria-current=step]{border-color:#9fc7ef;background:#edf5ff}\n.dsh-onboarding .overview-list>button:disabled{opacity:1;color:#8598aa;background:#f7f9fc;border-color:#e5edf5}\n.dsh-onboarding .overview-list>button:disabled .badge{color:#8799aa}\n.dsh-onboarding .overview-list>button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .overview-list>button:focus-visible:active{transform:none}\n@container (max-width:520px){.dsh-onboarding .overview-list>button{grid-template-columns:minmax(0,1fr) 14px;gap:6px 12px;padding:12px 14px}\n.dsh-onboarding .overview-list .badge{grid-column:1;grid-row:2}\n.dsh-onboarding .overview-list>button>svg{grid-column:2;grid-row:1/3}}\n.dsh-onboarding .eyebrow{display:block;font-size:10px;letter-spacing:.08em;color:#89a0b5;margin-bottom:7px}\n.dsh-onboarding dialog{border:1px solid #fff;padding:25px;border-radius:23px;background:#fffffff5;color:var(--ink);box-shadow:0 24px 80px #17376230;max-width:min(600px,calc(100vw - 30px));width:600px;max-height:88dvh}\n.dsh-onboarding dialog::backdrop{background:#2d4d7029;backdrop-filter:blur(5px)}\n.dsh-onboarding dialog[open]{animation:onboarding-dialog-in 210ms var(--ease-out)}\n.dsh-onboarding dialog header{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}\n.dsh-onboarding dialog h2{font-size:21px;font-weight:600;letter-spacing:-.025em}\n.dsh-onboarding .icon-button{display:grid;place-items:center;border:0;background:#f0f5fa;width:32px;height:32px;border-radius:50%;color:#7a90a4;flex:none}\n.dsh-onboarding .icon-button svg{width:16px;height:16px}\n.dsh-onboarding .modal-body{font-size:12px;color:#6b8196;line-height:1.95}\n.dsh-onboarding .modal-body>p{margin-top:12px}\n.dsh-onboarding .modal-body ul{padding-left:20px}\n.dsh-onboarding .modal-body h3{font-size:15px;color:#4c6985}\n.dsh-onboarding .modal-body .button{margin-top:15px}\n.dsh-onboarding dialog footer{margin-top:24px;padding-top:20px;border-top:1px solid #e7edf4;display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-end}\n.dsh-onboarding .code-block,.dsh-onboarding .diff-block{display:block;padding:18px;border:1px solid #e1eaf3;background:#f5f9fe;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/2 \"SFMono-Regular\",Consolas,monospace;color:#71879f;margin:16px 0}\n.dsh-onboarding .diff-block .added{color:#47836a}\n.dsh-onboarding .mock-chat{padding:16px;background:#eef6ff;border-radius:12px;margin-top:15px}\n.dsh-onboarding .mock-chat small{color:#98aac0}\n.dsh-onboarding .toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e0eaf4;border-radius:30px;padding:12px 23px;font-size:12px;box-shadow:0 8px 28px #23496b1a}\n@keyframes onboarding-page-in{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}\n@keyframes onboarding-dialog-in{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}\n@keyframes onboarding-popover-in{from{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:none}}\n@keyframes onboarding-spin{to{transform:rotate(360deg)}}\n.dsh-onboarding .lucide-loader-circle{animation:onboarding-spin 1s linear infinite}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .button.primary:not(:disabled):hover{background:#2689e5}\n.dsh-onboarding .button.soft:hover{background:#dfedfc}\n.dsh-onboarding .button.text:hover{color:#1c70b7}\n.dsh-onboarding .demo-options>summary:hover{color:#3d83bf}\n.dsh-onboarding .reset-button:hover{background:#e2effb}\n.dsh-onboarding .choice:hover:not(.disabled){border-color:#b1cde8}\n.dsh-onboarding .icon-button:hover{background:#e2edf7}\n.dsh-onboarding .overview-list>button:not(:disabled):hover{background:#eaf4ff}\n.dsh-onboarding .context-note>summary:hover{background:#e7f2ff}\n.dsh-onboarding .mascot-zone:hover .companion:before{opacity:0;transform:translateY(-2px) rotate(-1deg)}\n.dsh-onboarding .mascot-zone:hover .companion:after{opacity:1;transform:translateY(-2px) rotate(-1deg)}}\n@container (max-width:1180px){.dsh-onboarding .window-frame{margin:14px 18px 0}}\n@container (max-width:900px){.dsh-onboarding .window-frame{margin:10px 14px 0}\n.dsh-onboarding .window-header{padding:0 24px}\n.dsh-onboarding main{padding:0 24px}\n.dsh-onboarding .page-intro{gap:16px;min-height:149px}\n.dsh-onboarding .page-intro h1{font-size:27px}\n.dsh-onboarding .intro-art{flex-basis:145px}\n.dsh-onboarding .panel{padding:20px}\n.dsh-onboarding .stack{gap:15px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}\n.dsh-onboarding .form-grid{grid-template-columns:1fr}\n.dsh-onboarding .field input,.dsh-onboarding .field select{min-height:42px}\n.dsh-onboarding .art-tag{font-size:8px}\n.dsh-onboarding .page-intro p{font-size:11px}}\n@container (max-width:740px){.dsh-onboarding .stack{grid-template-columns:1fr}\n.dsh-onboarding .form-grid{grid-template-columns:1fr 1fr}\n.dsh-onboarding .stack>.panel:nth-child(2) .form-grid{grid-template-columns:1fr 1fr}\n.dsh-onboarding .page-intro{min-height:140px}\n.dsh-onboarding .intro-art{height:108px;flex-basis:124px}\n.dsh-onboarding .intro-art .companion{width:102px;height:102px}\n.dsh-onboarding .art-disc{width:95px;height:95px;top:3px;box-shadow:0 0 0 7px #eef6ff}\n.dsh-onboarding .art-tag{font-size:8px;bottom:-3px;padding:3px 7px}\n.dsh-onboarding .plan-aside .summary{grid-template-columns:60px 1fr;gap:3px 16px}\n.dsh-onboarding .compact-mascot .companion{width:60px;height:60px}\n.dsh-onboarding .summary>.info-row{display:none}\n.dsh-onboarding .context-body{grid-template-columns:1fr 1fr;gap:10px 17px}\n.dsh-onboarding .context-body>p{font-size:11px}\n.dsh-onboarding .run-panel{padding:20px}}\n@container (max-width:520px){.dsh-onboarding .window-frame{margin:0;border:0;border-radius:0;box-shadow:none;min-height:100dvh}\n.dsh-onboarding .window-header{height:61px;padding:0 17px}\n.dsh-onboarding .brand{gap:8px}\n.dsh-onboarding .brand>strong{font-size:14px}\n.dsh-onboarding .brand strong span{font-size:9px}\n.dsh-onboarding .brand-portrait{width:36px;height:36px;border-radius:11px}\n.dsh-onboarding .brand-portrait .companion{width:37px;height:37px}\n.dsh-onboarding .header-actions{gap:12px}\n.dsh-onboarding .mock-label{font-size:9px;gap:5px}\n.dsh-onboarding .demo-options>summary{font-size:10px;gap:5px;min-height:44px}\n.dsh-onboarding .demo-options>summary svg:first-child{display:none}\n.dsh-onboarding .demo-popover{top:42px;width:240px}\n.dsh-onboarding .demo-popover select,.dsh-onboarding .reset-button{min-height:44px}\n.dsh-onboarding main{padding:0 16px}\n.dsh-onboarding .page-top{height:47px}\n.dsh-onboarding .page-position>strong{font-size:20px}\n.dsh-onboarding .page-position>span{font-size:11px}\n.dsh-onboarding .page-top .button{min-height:40px;font-size:10px}\n.dsh-onboarding .page-intro{min-height:133px;gap:10px;padding:15px 0}\n.dsh-onboarding .intro-copy{flex:1}\n.dsh-onboarding .page-intro h1{font-size:23px;line-height:1.4}\n.dsh-onboarding .page-intro p{font-size:10px;line-height:1.85;margin-top:7px}\n.dsh-onboarding .intro-art{height:95px;flex:0 0 86px}\n.dsh-onboarding .intro-art .companion{width:86px;height:86px}\n.dsh-onboarding .art-disc{width:77px;height:77px;box-shadow:0 0 0 5px #eef6ff;top:4px}\n.dsh-onboarding .art-tag{display:none}\n.dsh-onboarding .panel{border-radius:17px;padding:18px}\n.dsh-onboarding .panel-heading h2{font-size:15px}\n.dsh-onboarding .panel-heading{gap:10px;margin-bottom:16px}\n.dsh-onboarding .panel-heading p{font-size:10px}\n.dsh-onboarding .form-grid,.dsh-onboarding .stack>.panel:nth-child(2) .form-grid{grid-template-columns:1fr;gap:14px}\n.dsh-onboarding .field>span{font-size:11px}\n.dsh-onboarding .field input,.dsh-onboarding .field select{font-size:12px;min-height:44px}\n.dsh-onboarding .field small{font-size:10px}\n.dsh-onboarding .form-actions{gap:16px;margin-top:20px}\n.dsh-onboarding .button{min-height:44px;font-size:11px;padding:10px 14px}\n.dsh-onboarding .button.text{min-height:44px}\n.dsh-onboarding .button.primary{padding:11px 18px}\n.dsh-onboarding .micro{font-size:10px}\n.dsh-onboarding .badge{font-size:9px}\n.dsh-onboarding .toggle{width:44px;height:28px;padding:5px}\n.dsh-onboarding .toggle.on span{transform:translateX(17px)}\n.dsh-onboarding .choice{min-height:58px}\n.dsh-onboarding .choice small{font-size:10px}\n.dsh-onboarding .callout{font-size:10px}\n.dsh-onboarding .credential-row{padding:14px;gap:12px}\n.dsh-onboarding .credential-actions>.button{flex:1 1 130px;font-size:12px}\n.dsh-onboarding .provider-option p{font-size:10px}\n.dsh-onboarding .check-row small{font-size:10px}\n.dsh-onboarding .empty-option{padding:18px 4px 22px}\n.dsh-onboarding .details{padding:13px 16px}\n.dsh-onboarding .details summary{min-height:25px}\n.dsh-onboarding .context-note>summary{gap:9px;padding:6px 12px 0 8px;min-height:61px}\n.dsh-onboarding .context-note>summary>.companion{width:49px;height:49px}\n.dsh-onboarding .context-note strong{font-size:11px}\n.dsh-onboarding .context-note small{font-size:9px}\n.dsh-onboarding .context-body{grid-template-columns:1fr;padding:14px 16px;gap:9px}\n.dsh-onboarding .capability-list{grid-template-columns:1fr;gap:0}\n.dsh-onboarding .context-body .info-row{padding:8px 0}\n.dsh-onboarding .connection-diagram{gap:18px;justify-content:start}\n.dsh-onboarding .context-body .summary-foot{font-size:9px}\n.dsh-onboarding .plan-aside .summary{padding:16px}\n.dsh-onboarding .plan-aside .summary>h3{font-size:12px}\n.dsh-onboarding .summary>p{font-size:10px}\n.dsh-onboarding .plan-item code{font-size:9px}\n.dsh-onboarding .consent{padding-top:17px}\n.dsh-onboarding .consent .check-row strong{font-size:12px}\n.dsh-onboarding .run-panel{padding:18px}\n.dsh-onboarding .run-panel .panel-heading h2{font-size:13px}\n.dsh-onboarding .run-progress{padding:12px}\n.dsh-onboarding .run-progress small{font-size:9px;max-width:90px;line-height:1.7}\n.dsh-onboarding .run-progress strong{font-size:18px}\n.dsh-onboarding .run-progress span{font-size:10px}\n.dsh-onboarding .phase-timeline li{gap:10px;min-height:77px}\n.dsh-onboarding .phase-copy h3{font-size:12px}\n.dsh-onboarding .phase-copy p{font-size:11px;color:#5e758b}\n.dsh-onboarding .phase-copy small{font-size:10px;white-space:nowrap}\n.dsh-onboarding .wizard-footer{padding:15px 0;gap:10px;margin-top:20px}\n.dsh-onboarding .wizard-footer>div{gap:13px}\n.dsh-onboarding .wizard-footer .button.text{font-size:10px}\n.dsh-onboarding .wizard-footer .button.text svg{display:none}\n.dsh-onboarding .wizard-footer .button.primary{font-size:11px;padding:10px 15px}\n.dsh-onboarding .wizard-footer .badge{font-size:9px}\n.dsh-onboarding .outside-note{font-size:9px;padding:14px 12px}\n.dsh-onboarding .outside-note svg{width:12px;height:12px}\n.dsh-onboarding dialog{padding:21px}\n.dsh-onboarding dialog h2{font-size:19px}\n.dsh-onboarding .overview-list>button{min-height:48px}}\n@container (max-width:370px){.dsh-onboarding .header-actions .mock-label{display:none}\n.dsh-onboarding .page-intro h1{font-size:21px}\n.dsh-onboarding .intro-art{flex-basis:72px}\n.dsh-onboarding .intro-art .companion{width:72px;height:72px}\n.dsh-onboarding .art-disc{width:66px;height:66px}\n.dsh-onboarding .wizard-footer{flex-wrap:wrap}\n.dsh-onboarding .wizard-footer>div:last-child{margin-left:auto}}\n.dsh-onboarding.keyboard *,.dsh-onboarding.keyboard *:before,.dsh-onboarding.keyboard *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dsh-onboarding.keyboard .companion:after{opacity:0!important}\n.dsh-onboarding.keyboard .companion:before{opacity:1!important;transform:none!important}\n@media (prefers-reduced-motion:reduce){.dsh-onboarding *,.dsh-onboarding *:before,.dsh-onboarding *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}\n.dsh-onboarding .companion:after{opacity:0!important}\n.dsh-onboarding .companion:before{opacity:1!important;transform:none!important}\n.dsh-onboarding button:active{transform:none!important}}\n.dsh-onboarding .field-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:28px}\n.dsh-onboarding .field-heading>label{font-size:11px;font-weight:550;color:#5c7690;cursor:text;min-width:0;line-height:1.6}\n.dsh-onboarding .field-markers{display:inline-flex;align-items:center;gap:5px;flex:none}\n.dsh-onboarding .requirement-badge{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-size:9px;font-weight:450;line-height:1.6;border-radius:5px;padding:2px 5px;color:#71869b;background:#f1f5f9}\n.dsh-onboarding .requirement-badge.required{color:#9b655f;background:#fbf2ef}\n.dsh-onboarding .requirement-badge.required>span{font-size:12px;font-weight:650;line-height:1}\n.dsh-onboarding .requirement-badge.optional{color:#7a8c9d;background:#f2f5f8}\n.dsh-onboarding .requirement-badge.auto{color:#5284ac;background:#edf5fc}\n.dsh-onboarding .requirement-badge.conditional{color:#9b7b43;background:#fbf6eb}\n.dsh-onboarding .field-help-button{display:grid;place-items:center;flex:none;border:0;border-radius:50%;width:26px;height:26px;padding:5px;background:transparent;color:#7e9fbb}\n.dsh-onboarding .field-help-button svg{width:16px;height:16px}\n.dsh-onboarding .field input:required:invalid:not(:focus),.dsh-onboarding .field select:required:invalid:not(:focus){border-color:#c6a18d;background:#fffdf9}\n.dsh-onboarding .panel-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}\n.dsh-onboarding .panel-title-line .field-markers{gap:4px}\n.dsh-onboarding .panel-heading>div{min-width:0}\n.dsh-onboarding .panel-title-line .field-help-button{width:25px;height:25px}\n.dsh-onboarding .check-controls{display:flex;align-items:start;gap:10px}\n.dsh-onboarding .check-controls>.check-row{flex:1;min-width:0}\n.dsh-onboarding .check-controls>.field-markers{margin-top:0}\n.dsh-onboarding .help-intro{display:flex;align-items:center;gap:10px;font-size:12px;color:#68849d;padding:12px 14px;background:#f5f9fe;border:1px solid #e2edf7;border-radius:12px}\n.dsh-onboarding .help-facts{margin:19px 0 0}\n.dsh-onboarding .help-facts>div{padding:13px 0;border-bottom:1px solid #edf2f8}\n.dsh-onboarding .help-facts>div:first-child{padding-top:0}\n.dsh-onboarding .help-facts dt{font-size:11px;font-weight:600;color:#5a7893;margin-bottom:4px}\n.dsh-onboarding .help-facts dd{margin:0;font-size:12px;color:#6c8398;line-height:1.9}\n.dsh-onboarding .help-facts code{display:block;background:#f2f7fc;border-radius:7px;padding:7px 10px;font-size:11px;color:#5d7b96}\n.dsh-onboarding .help-facts .help-impact{margin-top:8px;border:0;background:#edf5ff;border-radius:11px;padding:13px}\n.dsh-onboarding .help-preview-note{font-size:10px;color:#8da0b2;margin-top:15px}\n.dsh-onboarding .requirement-rules{display:flex;flex-direction:column;gap:12px}\n.dsh-onboarding .requirement-rules>div{display:flex;align-items:start;gap:12px;padding:12px;background:#f7faff;border-radius:11px}\n.dsh-onboarding .requirement-rules .requirement-badge{flex:none;margin-top:3px}\n.dsh-onboarding .requirement-rules p{margin:0;font-size:12px;line-height:1.8}\n.dsh-onboarding .wizard-footer{display:grid;grid-template-columns:1fr auto;gap:12px 20px}\n.dsh-onboarding .wizard-footer>div:last-child{justify-content:flex-end}\n.dsh-onboarding .wizard-footer>.page-guidance{grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:0 0 10px;border-bottom:1px solid #e8eff7;font-size:10px;color:#73899e;line-height:1.8}\n.dsh-onboarding .page-guidance>svg{width:14px;height:14px;color:#819fba}\n.dsh-onboarding .page-guidance.ready>svg{color:#73a18f}\n.dsh-onboarding .page-guidance>p{flex:1;min-width:0}\n.dsh-onboarding .guidance-help{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:3px 0 3px 8px;border:0;background:transparent;color:#7593ac;white-space:nowrap;font-size:10px}\n.dsh-onboarding .guidance-help svg{width:14px;height:14px}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .field-help-button:hover{background:#eaf4ff;color:#3e85c2}\n.dsh-onboarding .guidance-help:hover{color:#397db7}}\n@container (max-width:900px){.dsh-onboarding .panel-title-line{gap:5px}\n.dsh-onboarding .check-controls{flex-wrap:wrap}\n.dsh-onboarding .check-controls>.field-markers{margin-left:auto}}\n@container (max-width:520px){.dsh-onboarding .field-heading{min-height:34px;gap:6px}\n.dsh-onboarding .field-help-button,.dsh-onboarding .panel-title-line .field-help-button{width:44px;height:44px;padding:14px}\n.dsh-onboarding .field-markers{gap:3px}\n.dsh-onboarding .requirement-badge{font-size:9px}\n.dsh-onboarding .field-help-button svg{width:16px;height:16px}\n.dsh-onboarding .field{gap:8px}\n.dsh-onboarding .panel-title-line .field-markers{gap:2px}\n.dsh-onboarding .panel-heading{align-items:center}\n.dsh-onboarding .check-controls>.field-markers{margin-top:0}\n.dsh-onboarding .wizard-footer{gap:8px 12px;padding-top:12px}\n.dsh-onboarding .wizard-footer>.page-guidance{align-items:start;gap:6px;font-size:10px;padding-bottom:8px}\n.dsh-onboarding .page-guidance>svg{margin-top:3px}\n.dsh-onboarding .guidance-help{min-height:44px;min-width:44px;padding:0 0 0 4px;align-self:center}\n.dsh-onboarding .guidance-help span{display:none}\n.dsh-onboarding .guidance-help svg{width:17px;height:17px}\n.dsh-onboarding .help-intro{font-size:11px;gap:8px}\n.dsh-onboarding .help-facts dd{font-size:12px}\n.dsh-onboarding .requirement-rules>div{gap:8px;padding:10px}}\n@container (max-width:370px){.dsh-onboarding .wizard-footer{grid-template-columns:1fr}\n.dsh-onboarding .wizard-footer>div:last-child{justify-self:end}\n.dsh-onboarding .field-heading>label{font-size:10px}\n.dsh-onboarding .field-markers{gap:1px}}\n.dsh-onboarding dialog .icon-button{width:44px;height:44px;min-width:44px;flex:none}\n.dsh-onboarding .install-diff{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#eff7ff;border:1px solid #d6e8fb;border-radius:12px;font:12px/1.7 ui-monospace,monospace}\n.dsh-onboarding .install-plan{min-width:0}\n.dsh-onboarding .install-plan details{overflow-wrap:anywhere}\n.dsh-onboarding .install-plan summary{cursor:pointer;padding:8px 0;font-weight:600}\n.dsh-onboarding .install-plan code{overflow-wrap:anywhere;word-break:break-word}\n.dsh-onboarding .install-plan details[open]{border-color:#9ec9ef}\n.dsh-onboarding .install-changes{max-height:440px;overflow:auto;overscroll-behavior:contain;border:1px solid #d6e8fb;border-radius:14px;padding:8px 14px;margin:14px 0}\n.dsh-onboarding .install-changes>.plan-item{padding:6px 0}\n.dsh-onboarding .install-changes summary{font-size:13px}\n.dsh-onboarding .draft-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}\n.dsh-onboarding .draft-toolbar p{flex:1;min-width:180px}\n.dsh-onboarding .ssh-trust-review,.dsh-onboarding .cloud-observation{margin-top:18px;padding:16px;background:#f3f9ff;border:1px solid #d6e6fa;border-radius:16px}\n.dsh-onboarding .ssh-trust-review code{overflow-wrap:anywhere}\n.dsh-onboarding .wizard-footer{ position: relative; bottom: auto; }\n.dsh-onboarding .cloud-installation{margin-bottom:20px}\n.dsh-onboarding .cloud-status{padding:12px 16px;background:#f3f9ff;border:1px solid #d6e6fa;border-radius:14px;margin-bottom:14px}\n.dsh-onboarding .cloud-plan,.dsh-onboarding .cloud-confirm{padding:16px;background:#f4f9ff;border:1px solid #c4dcf5;border-radius:16px;margin-top:14px}\n.dsh-onboarding .cloud-confirm{background:#fff;border:2px solid #8bbce9}\n.dsh-onboarding .cloud-action{margin-top:16px}\n.dsh-onboarding .cloud-confirm .check-controls{margin:14px 0}\n.dsh-onboarding .cloud-installation code{display:block;overflow-wrap:anywhere;word-break:break-word;font-size:12px}\n.dsh-onboarding .cloud-installation .form-actions{flex-wrap:wrap;gap:16px}\n.dsh-onboarding .cloud-phases{margin:20px 0}\n.dsh-onboarding .cloud-phases .phase-dot{font-variant-numeric:tabular-nums}\n.dsh-onboarding .cloud-installation .button{min-height:44px;white-space:normal}\n.dsh-onboarding .cloud-installation .info-row{gap:12px}\n.dsh-onboarding .cloud-installation .info-row strong{overflow-wrap:anywhere}\n.dsh-onboarding .cloud-installation .fine-print{font-size:12px;line-height:1.7}\n.dsh-onboarding .cloud-installation>.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}\n.dsh-onboarding .ssh-probe-actions{margin-top:20px;padding-top:20px;border-top:1px solid #e1ebf6}\n.dsh-onboarding .ssh-trust-consent{margin-top:20px}\n.dsh-onboarding .cloud-plan-preview{margin-top:20px}\n.dsh-onboarding .connection-panel .connection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}\n.dsh-onboarding .connection-panel .button{min-height:44px;max-width:100%;padding:10px 16px;border:1px solid #c9def2;border-radius:999px;font-size:12px;line-height:1.5;white-space:normal;background:#edf5ff;color:#326c9f;box-shadow:0 1px 2px #37699508;transition:transform 140ms var(--ease-out),background-color 160ms ease,border-color 160ms ease}\n.dsh-onboarding .connection-panel .button span{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .connection-panel .button.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 5px #0671e314}\n.dsh-onboarding .connection-panel .button.secondary{background:#fff;border-color:#d4e3f1;color:#426c91}\n.dsh-onboarding .connection-panel .button:disabled{opacity:1;background:#f3f7fb;border-color:#e2eaf3;color:#8194a6;box-shadow:none}\n.dsh-onboarding .connection-panel .button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .connection-panel .button:focus-visible:active{transform:none}\n.dsh-onboarding .connection-utility{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #e1ebf6}\n.dsh-onboarding .connection-utility>div:first-child{flex:1 1 200px;min-width:0}\n.dsh-onboarding .connection-utility h3,.dsh-onboarding .connection-confirm h3{font-size:13px;font-weight:600;color:#3d5d79;line-height:1.6}\n.dsh-onboarding .connection-utility>div>p{font-size:11px;color:#738ba1;margin-top:4px;line-height:1.8}\n.dsh-onboarding .connection-utility>.connection-result{flex-basis:100%;border:1px solid #dcebf8;border-radius:13px;background:#f5faff;padding:12px 14px;font-size:12px;line-height:1.8;color:#476783;overflow-wrap:anywhere}\n.dsh-onboarding .connection-utility>.connection-result>p{color:inherit;font-size:inherit;margin:0}\n.dsh-onboarding .connection-utility>.connection-result>p+p{margin-top:6px}\n.dsh-onboarding .connection-confirm{display:grid;gap:12px;margin-top:20px;padding:18px;border:1px solid #c4dcf5;border-radius:16px;background:#f5faff;overflow-wrap:anywhere}\n.dsh-onboarding .connection-confirm>p{font-size:12px;line-height:1.8;color:#6c849b}\n.dsh-onboarding .connection-confirm>.connection-actions{margin-top:4px}\n.dsh-onboarding .connection-panel .info-row{gap:14px}\n.dsh-onboarding .connection-panel .info-row>span{flex-shrink:0;max-width:40%}\n.dsh-onboarding .connection-panel .info-row strong{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .connection-error{margin-top:16px;padding:12px 14px;border:1px solid #efdfc7;border-radius:13px;background:#fffaf3;font-size:12px;line-height:1.8;color:#87693f}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .connection-panel .button:not(:disabled):not(:focus-visible):hover{transform:translateY(-1px);border-color:#93bde4;background:#e5f1fe}\n.dsh-onboarding .connection-panel .button.primary:not(:disabled):hover{background:#2689e5;border-color:#2689e5}\n.dsh-onboarding .connection-panel .button:not(:disabled):not(:focus-visible):active{transform:scale(.97)}}\n@container (max-width:520px){.dsh-onboarding .connection-panel .connection-actions{gap:16px;margin-top:20px}\n.dsh-onboarding .connection-confirm{padding:14px}\n.dsh-onboarding .connection-utility{gap:14px}\n.dsh-onboarding .connection-utility>div:first-child{flex-basis:100%}\n.dsh-onboarding .connection-panel .info-row{flex-wrap:wrap;gap:4px 12px}\n.dsh-onboarding .connection-panel .info-row>span{max-width:100%}\n.dsh-onboarding .connection-panel .info-row strong{text-align:left}}\n@media (prefers-reduced-motion:reduce){.dsh-onboarding .connection-panel .button:hover,.dsh-onboarding .connection-panel .button:active{transform:none!important}}\n.dsh-onboarding .button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .button:focus-visible:active{transform:none}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .button.secondary:not(:disabled):hover{background:#f1f7ff;border-color:#93bde4}}\n.dsh-onboarding .modal-body>.field,.dsh-onboarding .modal-body>.check-controls{margin-top:20px}\n.dsh-onboarding .install-plan>.check-controls{margin-top:20px}\n.dsh-onboarding .install-plan>.check-controls+.button{margin-top:16px}\n.dsh-onboarding .button,.dsh-onboarding .icon-button,.dsh-onboarding .field-help-button,.dsh-onboarding .toggle,.dsh-onboarding .toggle span{corner-shape:round}\n.dsh-onboarding .button,.dsh-onboarding .icon-button,.dsh-onboarding .field-help-button,.dsh-onboarding .toggle{appearance:none}\n.dsh-onboarding .button{background-image:none}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .button.text:hover:not(:disabled){background-color:#edf5ff}}\n.dsh-onboarding .form-actions>.button,.dsh-onboarding .connection-actions>.button,.dsh-onboarding .credential-actions>.button{margin:0}\n.dsh-onboarding .form-actions,.dsh-onboarding .connection-actions,.dsh-onboarding .credential-actions{min-width:0}\n.dsh-onboarding .form-actions+.form-actions,.dsh-onboarding .connection-actions+.connection-actions{margin-top:20px}\n.dsh-onboarding .modal-body>.button{margin-top:20px}\n.dsh-onboarding .draft-toolbar{column-gap:16px;row-gap:16px}\n.dsh-onboarding .im-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}\n.dsh-onboarding .im-manager-heading>div{flex:1 1 260px;min-width:0}\n.dsh-onboarding .im-manager-heading h2{font-size:22px;letter-spacing:-.025em;line-height:1.4;color:#263c51}\n.dsh-onboarding .im-manager-heading p{margin-top:8px;font-size:12px;line-height:1.8;color:#667f96}\n@container (max-width:520px){.dsh-onboarding .connection-actions>.button{flex:1 1 100%}\n.dsh-onboarding .wizard-footer>div{flex-wrap:wrap;gap:16px}\n.dsh-onboarding .im-manager-heading h2{font-size:20px}}\n.dsh-onboarding .field-help-button:focus-visible,.dsh-onboarding .icon-button:focus-visible{outline:2px solid #5fa8ef;outline-offset:-2px;box-shadow:none;transition:none}\n.dsh-onboarding .field-help-button:focus-visible:active,.dsh-onboarding .icon-button:focus-visible:active{transform:none}\n@container (max-width:520px){.dsh-onboarding .field-help-button:focus-visible{outline-offset:-6px}}\n.dsh-onboarding .guidance-help{border-radius:999px;corner-shape:round;appearance:none}\n.dsh-onboarding .guidance-help:focus-visible,.dsh-onboarding .toggle:focus-visible{outline:2px solid #5fa8ef;outline-offset:-3px;box-shadow:none;transition:none}\n.dsh-onboarding .guidance-help:focus-visible:active,.dsh-onboarding .toggle:focus-visible:active{transform:none}\n.dsh-onboarding .run-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}\n.dsh-onboarding .connection-utility.connection-probe{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}\n.dsh-onboarding .connection-probe>.connection-confirm{min-width:0;width:100%}\n.dsh-onboarding .dsh-onboarding .connection-model-choice{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}\n.dsh-onboarding .dsh-onboarding .connection-model-choice>.button{justify-self:start}\n.dsh-onboarding .dsh-onboarding .connection-model-choice .connection-actions>p{flex-basis:100%;margin:0}\n.dsh-onboarding .connection-panel .field textarea{width:100%;min-height:96px;resize:vertical;font-family:inherit;font-size:12px;line-height:1.7;color:#43627f;background:#fcfdff;border:1px solid #dce7f2;border-radius:10px;padding:10px 11px}\n.dsh-onboarding .connection-panel .field textarea:focus-visible{outline:2px solid #5fa8ef;outline-offset:-2px;border-color:#68a6df;background:#fff}\n.dsh-onboarding .connection-panel .field textarea:disabled{background:#f5f9fd;color:#7890a6;cursor:not-allowed}\n.dsh-onboarding .file-queue-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}\n.dsh-onboarding .file-queue h3,.dsh-onboarding .file-queue h4{margin:0;overflow-wrap:anywhere}\n.dsh-onboarding .file-queue-list{display:grid;gap:14px;margin-top:16px}\n.dsh-onboarding .file-queue-card{min-width:0;border:1px solid #dbe9f5;border-radius:20px;background:linear-gradient(145deg,#fff,#f5faff);padding:18px}\n.dsh-onboarding .file-queue-card p{overflow-wrap:anywhere}\n.dsh-onboarding .file-queue .connection-actions{margin-top:12px;gap:10px}\n.dsh-onboarding .file-queue .connection-confirm{margin-top:16px}\n.dsh-onboarding .maintenance-status,.dsh-onboarding .maintenance-receipt{margin-block:16px;padding:18px;border:1px solid #d7e8f9;border-radius:18px;background:#f5faff;min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .maintenance-receipt h3{margin-top:0}\n.dsh-onboarding .maintenance-panel .connection-confirm{margin-top:20px}\n.dsh-onboarding .maintenance-panel .plan-item{margin-block:12px}\n.dsh-onboarding .maintenance-panel .plan-item summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px}\n.dsh-onboarding .maintenance-panel code{white-space:pre-wrap;overflow-wrap:anywhere}\n.dsh-onboarding .maintenance-panel{grid-column:1/-1}\n.dsh-onboarding .maintenance-session{margin-top:24px;min-width:0}\n.dsh-onboarding .maintenance-session .maintenance-components{margin-top:16px;padding:8px 16px;background:#f6faff;border:1px solid #dfebf7;border-radius:16px}\n.dsh-onboarding .maintenance-session .connection-confirm,.dsh-onboarding .maintenance-session .maintenance-receipt{margin-top:20px}\n.dsh-onboarding .maintenance-session code{overflow-wrap:anywhere;white-space:pre-wrap}\n.dsh-onboarding .maintenance-session .plan-item summary{min-height:44px;display:flex;align-items:center;cursor:pointer}\n.dsh-onboarding .page-top{height:auto;min-height:53px;flex-wrap:wrap;padding-block:4px}\n.dsh-onboarding .page-top-actions{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-left:auto}\n.dsh-onboarding .page-top-actions .button{min-height:44px;white-space:normal}\n.dsh-onboarding .modal-body>.maintenance-session{margin-top:0}\n.dsh-onboarding .maintenance-panels{display:grid;gap:20px;min-width:0}\n.dsh-onboarding .version-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}\n.dsh-onboarding .version-heading>div{min-width:0}\n.dsh-onboarding .version-heading p{margin:8px 0 16px;line-height:1.75}\n.dsh-onboarding .version-maintenance-body{display:grid;gap:16px;margin-top:20px;min-width:0}\n.dsh-onboarding .version-maintenance-body>.form-actions,.dsh-onboarding .version-maintenance-body>.callout{margin-top:0}\n.dsh-onboarding .version-phases{margin:4px 0}\n.dsh-onboarding .version-phases li{min-width:0;align-items:flex-start}\n.dsh-onboarding .version-phases .phase-copy{flex:1;min-width:0}\n.dsh-onboarding .version-phases h3{font-size:14px;line-height:1.6;margin:0 0 8px}\n.dsh-onboarding .version-phases p{line-height:1.75;margin:8px 0}\n.dsh-onboarding .version-choice{display:flex;flex-direction:column;gap:8px;min-width:0;margin-top:14px}\n.dsh-onboarding .version-choice>span{font-size:12px;font-weight:550;color:#5c7690}\n.dsh-onboarding .version-choice select{width:100%;max-width:100%;min-width:0;min-height:44px;border:1px solid #c9def2;border-radius:12px;background:#fff;color:#43627f;padding:10px 12px;font-size:12px;outline-offset:3px}\n.dsh-onboarding .version-choice select:focus-visible{outline:2px solid #68a6df}\n.dsh-onboarding .version-choice select:disabled{opacity:.65}\n.dsh-onboarding .version-observation{padding:16px;border:1px solid #c4dcf5;border-radius:14px;background:#fff;overflow-wrap:anywhere}\n.dsh-onboarding .version-observation p{margin-top:8px;line-height:1.75}\n.dsh-onboarding .version-observation ul,.dsh-onboarding .version-confirm ul{padding-left:20px;overflow-wrap:anywhere}\n.dsh-onboarding .version-confirm{margin-top:0}\n.dsh-onboarding .version-confirm>p,.dsh-onboarding .version-confirm>h3{margin-bottom:14px;line-height:1.75}\n.dsh-onboarding .version-confirm details{margin:16px 0}\n.dsh-onboarding .version-confirm summary{min-height:44px;display:flex;align-items:center;cursor:pointer}\n.dsh-onboarding .version-confirm .plan-item{padding:8px 0}\n.dsh-onboarding .version-maintenance-body code{overflow-wrap:anywhere;word-break:break-word}\n.dsh-onboarding .self-disable-panel{min-width:0}\n.dsh-onboarding .self-disable-panel .context-note{margin:20px 0}\n.dsh-onboarding .self-disable-guide{padding-left:20px;display:grid;gap:12px;line-height:1.8;color:#496780;font-size:13px}\n.dsh-onboarding .self-disable-panel code{overflow-wrap:anywhere;white-space:pre-wrap}\n.dsh-onboarding .self-disable-panel .button{min-height:44px;text-decoration:none;white-space:normal;text-align:center;max-width:100%}\n.dsh-onboarding .self-disable-panel .plan-item summary{min-height:44px;display:flex;align-items:center;cursor:pointer}\n.dsh-onboarding .self-disable-panel .maintenance-receipt{margin-top:20px}\n.dsh-onboarding .self-lifecycle-panel>.connection-actions{margin-top:0}\n.dsh-onboarding .self-lifecycle-panel>.fine-print{margin:12px 0 20px}\n.dsh-onboarding .self-disable-panel .context-body{display:block}\n.dsh-onboarding .file-scope-observation{margin:16px 0;min-width:0}\n.dsh-onboarding .file-scope-observation summary>span{min-width:0;overflow-wrap:anywhere}\n.dsh-onboarding .file-scope-observation ul{margin:12px 0;padding-left:20px;display:grid;gap:8px}\n.dsh-onboarding .im-directory-help{margin:0 20px 16px}\n.dsh-onboarding .im-directory-help p+p{margin-top:8px}\n.dsh-onboarding .worker-runtime{margin-top:20px;padding:18px;border:1px solid #dbe9f5;border-radius:20px;background:linear-gradient(145deg,#fff,#f5faff);min-width:0}\n.dsh-onboarding .worker-runtime h3{margin:0 0 8px;font-size:15px}\n.dsh-onboarding .worker-runtime>p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}\n.dsh-onboarding .worker-runtime>.fine-print{margin-bottom:0}\n.dsh-onboarding .window-frame{max-width:1320px;margin:12px auto 0;border-radius:20px}\n.dsh-onboarding main{padding:0 24px}\n.dsh-onboarding .window-header{padding:0 24px;gap:12px}\n.dsh-onboarding .page-top{height:46px}\n.dsh-onboarding .page-position>span{display:none}\n.dsh-onboarding .page-intro{min-height:74px;padding:10px 0;gap:12px}\n.dsh-onboarding .intro-copy{display:flex;align-items:center;gap:8px;max-width:none}\n.dsh-onboarding .page-intro h1{font-size:24px;line-height:1.35;letter-spacing:-.02em}\n.dsh-onboarding .intro-art{flex:0 0 64px;height:64px}\n.dsh-onboarding .intro-art .companion{width:64px;height:64px}\n.dsh-onboarding .art-disc{width:56px;height:56px;top:4px;box-shadow:0 0 0 4px #eef6ff}\n.dsh-onboarding .panel{padding:18px;border-radius:17px}\n.dsh-onboarding .panel-heading{margin-bottom:14px;gap:10px}\n.dsh-onboarding .panel-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}\n.dsh-onboarding .panel-heading h2{font-size:15px}\n.dsh-onboarding .section-help{flex:none;align-self:center}\n.dsh-onboarding .context-help{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:8px;min-height:38px}\n.dsh-onboarding .context-help>.companion{width:36px;height:36px;flex:none}\n.dsh-onboarding .context-help-trigger{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;min-height:38px;border:0;border-radius:999px;background:transparent;color:#537b9e;font-size:12px;max-width:100%;text-align:left}\n.dsh-onboarding .context-help-trigger svg{width:17px;height:17px;flex:none}\n.dsh-onboarding .context-help-trigger:focus-visible{outline:2px solid #5fa8ef;outline-offset:-2px;transition:none}\n.dsh-onboarding .context-body{display:block;padding:0;font-size:13px}\n.dsh-onboarding .context-body>p{margin:12px 0}\n.dsh-onboarding .context-body .summary-foot{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px}\n.dsh-onboarding .draft-toolbar{padding:10px 0;margin-bottom:10px}\n.dsh-onboarding .wizard-footer{margin-top:16px;padding:14px 0;gap:12px}\n@media (hover:hover) and (pointer:fine){.dsh-onboarding .context-help-trigger:hover{background:#e8f3ff;color:#286aab}}\n@container (max-width:680px){.dsh-onboarding main{padding:0 14px}\n.dsh-onboarding .window-frame{margin:0;border-radius:0}\n.dsh-onboarding .window-header{padding:10px 14px;gap:8px}\n.dsh-onboarding .page-intro{min-height:68px;padding:8px 0}\n.dsh-onboarding .page-intro h1{font-size:21px}\n.dsh-onboarding .intro-art{flex-basis:52px;height:52px}\n.dsh-onboarding .intro-art .companion{width:52px;height:52px}\n.dsh-onboarding .art-disc{width:46px;height:46px}\n.dsh-onboarding .panel{padding:16px}\n.dsh-onboarding .context-help-trigger{min-height:44px}\n.dsh-onboarding .page-top{height:auto;min-height:46px;gap:8px}\n.dsh-onboarding .page-top-actions{gap:8px}\n.dsh-onboarding .context-help{justify-content:flex-start}\n.dsh-onboarding .wizard-footer{flex-wrap:wrap}\n.dsh-onboarding .wizard-footer>div:last-child{margin-left:auto}}\n.dsh-onboarding .page-top{height:auto;min-height:70px;gap:12px}\n.dsh-onboarding .page-position{align-items:center;gap:12px;min-width:0}\n.dsh-onboarding .page-position h1{font-size:21px;line-height:1.35;font-weight:620;letter-spacing:-.02em}\n.dsh-onboarding .page-top-actions{display:flex;align-items:center;gap:12px}\n.dsh-onboarding .step-mascot .companion{width:44px;height:44px}\n.dsh-onboarding .draft-toolbar{font-size:12px}\n.dsh-onboarding .draft-toolbar .button{min-height:38px;padding:8px 14px}\n@container (max-width:680px){.dsh-onboarding .page-top{flex-wrap:wrap;padding:8px 0;gap:4px}\n.dsh-onboarding .page-position{gap:8px}\n.dsh-onboarding .page-position h1{font-size:18px}\n.dsh-onboarding .page-top-actions{margin-left:auto;gap:8px}\n.dsh-onboarding .step-mascot .companion{width:36px;height:36px}\n.dsh-onboarding .draft-toolbar .button{min-height:44px}}\n.dsh-onboarding .existing-setup .window-header{height:auto;min-height:70px;flex-wrap:wrap;gap:8px}\n.dsh-onboarding .existing-setup .brand{flex-shrink:0}\n.dsh-onboarding .existing-setup .header-actions{flex-wrap:wrap;justify-content:flex-end}\n.dsh-onboarding .existing-setup .header-actions .button{white-space:nowrap}\n.dsh-onboarding{container-type:inline-size;min-width:0;width:100%;height:100%;overflow:auto;--ease-out:cubic-bezier(.23,1,.32,1)}\n.dsh-onboarding .plan-item{overflow-wrap:anywhere}\n.dsh-onboarding .window-header{height:auto;min-height:70px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}\n.dsh-onboarding .wizard-footer>.check-controls{grid-column:1/-1;flex-basis:100%}\n\n/* Approved blue-white paper vocabulary. Everything is scoped to the plugin. */\n.v2-workbench{--ink:#192d47;--muted:#66788f;--accent:#096de2;--line:#e0e8f2;--ease:cubic-bezier(.23,1,.32,1);font:14px/1.55 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);background:#f3f7fc;container-type:inline-size;width:100%;height:100%;min-height:0;box-sizing:border-box;overflow:hidden;isolation:isolate;--v2-shell-top:0px;padding:calc(var(--v2-shell-top) + var(--v2-widget-top,0px)) var(--v2-widget-right,0px) var(--v2-widget-bottom,0px) var(--v2-widget-left,0px)}\n.v2-workbench *{box-sizing:border-box}.v2-workbench h1,.v2-workbench h2,.v2-workbench p{margin:0}.v2-workbench h1{font-size:30px;letter-spacing:-.045em;font-weight:650;line-height:1.25}.v2-workbench h2{font-size:18px;font-weight:600;margin:12px 0}.v2-workbench button,.v2-workbench input,.v2-workbench textarea{font:inherit;color:inherit}.v2-workbench button{cursor:pointer;transition:background 130ms ease,transform 140ms var(--ease)}.v2-workbench button:active:not(:disabled){transform:scale(.98)}.v2-workbench button:disabled{cursor:not-allowed;opacity:.45}.v2-workbench button:focus-visible,.v2-workbench input:focus-visible,.v2-workbench textarea:focus-visible{outline:2px solid #1676e4;outline-offset:3px}.v2-workbench svg{width:18px;height:18px;flex-shrink:0}.v2-workbench .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:10px;background:white;min-height:40px;padding:9px 14px;white-space:normal;font-weight:550}.v2-workbench .button.primary{color:white;border-color:var(--accent);background:var(--accent)}.v2-workbench .button.soft{background:#edf4fe;color:var(--accent)}.v2-workbench .button.text{border-color:transparent;background:transparent;color:#53708f}.v2-workbench .button:hover:not(:disabled){filter:brightness(.97)}\n.v2-layout{display:grid;grid-template-columns:164px minmax(0,1fr);height:100%}.v2-nav{padding:28px 14px 16px;border-right:1px solid var(--line);background:#f7faff;display:flex;flex-direction:column;gap:30px}.v2-brand{font-size:26px;font-weight:650;letter-spacing:-.06em;padding:0 12px}.v2-brand span{color:var(--accent);margin-left:3px}.v2-nav nav{display:flex;flex-direction:column;gap:6px}.v2-nav nav>button{border:0;display:flex;align-items:center;justify-content:space-between;text-align:left;background:transparent;padding:12px 16px;border-radius:10px;color:var(--muted);min-height:44px}.v2-nav nav>button[aria-current=page]{background:#e6effd;color:var(--accent);font-weight:600}.v2-nav nav>button span{font-size:11px}.v2-layout>main{min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:8px 24px 24px;max-width:none;margin:0;width:100%}.v2-statusbar{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:11px;min-height:44px}.v2-statusbar .button{font-size:12px;min-height:32px;padding:4px 8px;background:transparent;border-color:transparent}\n.v2-deck{min-height:0;flex:1;display:flex;flex-direction:column;isolation:isolate}.v2-toolbar{display:flex;align-items:center;gap:8px;min-height:58px;z-index:20}.v2-toolbar>nav{display:flex;align-items:flex-end;overflow:auto;gap:8px;flex:1;padding:8px 4px 0;scrollbar-width:thin;min-width:0}.v2-tab{display:flex;align-items:center;gap:8px;white-space:nowrap;max-width:220px;flex:none;border:1px solid #d8e3f1;border-bottom:0;border-radius:10px 10px 0 0;background:#eaf1fb;color:#617b9c;padding:12px 16px;transform:rotate(var(--angle));transform-origin:bottom left;min-height:44px;text-overflow:ellipsis;overflow:hidden}.v2-tab span{font-size:10px;opacity:.7}.v2-tab[aria-current=page]{background:white;color:var(--accent);font-weight:600;border-top:3px solid var(--accent)}.v2-toolbar>.button{white-space:nowrap;font-size:12px;flex:none}.v2-sheets{position:relative;flex:1;min-height:0}.v2-paper{position:absolute;inset:0;background:white;border:1px solid #d8e3f1;border-radius:0 14px 14px 14px;box-shadow:0 8px 30px #294f8310;overflow:hidden;transform:translateX(110%);transition:transform 280ms var(--ease),opacity 240ms var(--ease);transform-origin:8% 4%}.v2-paper.entered.current{transform:translateX(0);opacity:1}.v2-paper.entered.ancestor{transform:translate(-8px,-2px) rotate(var(--angle));opacity:.62;pointer-events:none}.v2-paper.exiting{transform:translateX(112%)!important;opacity:0}.v2-scroll{height:100%;overflow:auto;overscroll-behavior:contain;padding:26px 28px 34px;scrollbar-gutter:stable}.v2-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.v2-head p{font-size:12px;color:var(--muted);margin-top:8px}.v2-head h1:focus{outline:none}.v2-head>.v2-status{padding-top:8px}.v2-section-title{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.v2-section-title h2{margin:0}.v2-hosts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v2-host{position:relative;text-align:left;display:flex;align-items:center;min-height:164px;padding:22px 20px;border:1px solid #dce8f9;background:#f3f8ff;border-radius:14px;overflow:hidden}.v2-host.cloud{background:#f8fafe}.v2-host-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;max-width:calc(100% - 105px)}.v2-host-copy>small{color:#6a85a6;font-size:11px}.v2-host-copy>strong{font-size:21px;font-weight:620;letter-spacing:-.03em}.v2-host-copy>span{font-size:11px;color:#547aa8;display:flex;align-items:center;gap:8px}.v2-mascot{display:block;width:126px;height:126px;background-image:var(--v2-mascot);background-size:400% 300%;background-position:0 0;background-repeat:no-repeat}.v2-mascot.cloud{background-position:66.666667% 0}.v2-host>.v2-mascot{position:absolute;right:3px;bottom:0}.v2-host-hero{display:flex;align-items:center;gap:22px;padding:0 8px 20px;border-bottom:1px solid var(--line)}.v2-host-hero .v2-mascot{flex:none}.v2-host-hero p{color:var(--muted);margin-bottom:14px}\n.v2-list{width:100%;margin-top:8px}.v2-columns,.v2-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 20px;column-gap:20px;align-items:center}.v2-columns{font-size:11px;color:var(--muted);padding:12px 10px 10px;border-bottom:1px solid var(--line)}.v2-columns>span:nth-child(2){text-align:right}.v2-row{width:100%;padding:20px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.v2-row:hover{background:#f8fbff}.v2-row strong{display:block;font-size:15px;font-weight:570}.v2-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px;max-width:75ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-row>svg{color:#8fa6c1}.v2-status{font-size:12px;text-align:right;color:#476f9e}.v2-status.wait{color:#976520}.v2-search{display:flex;gap:10px;margin-bottom:16px;max-width:520px}.v2-search label{flex:1}.v2-workbench input,.v2-workbench textarea{width:100%;border:1px solid #ccd9e9;border-radius:10px;padding:10px 12px;background:#fff}.v2-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:20px;color:var(--muted);font-size:12px}.v2-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:20px}.v2-menu>button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:0;background:transparent;border-bottom:1px solid var(--line);padding:17px 3px;min-height:54px}.v2-menu>button:hover{color:var(--accent);background:#f8fbff}.v2-menu>button svg{color:#7a94b4}.v2-progress{background:#f7faff;border:1px solid var(--line);border-radius:12px;padding:20px}.v2-progress>small{color:var(--muted);font-size:11px}.v2-progress p{margin-top:8px}.v2-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.v2-field label{display:block;font-weight:600;margin-bottom:12px}.v2-field textarea{min-height:200px;resize:vertical;line-height:1.8}.v2-help-link{border:0;background:none;color:var(--accent);padding:12px 0;font-size:12px}.v2-plan,.v2-input{padding:16px 0;border-bottom:1px solid var(--line)}.v2-plan dl{display:grid;gap:8px}.v2-plan dl>div{display:flex;gap:20px;justify-content:space-between}.v2-plan dt,.v2-muted{color:var(--muted);font-size:12px}.v2-plan dd{margin:0;text-align:right;overflow-wrap:anywhere}.v2-prose,.v2-input p{white-space:pre-wrap;overflow-wrap:anywhere}.v2-workbench pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f6f8fc;padding:14px;border-radius:8px}.v2-workbench details{margin:14px 0}.v2-workbench summary{cursor:pointer;padding:8px 0;color:#526e91;font-size:12px}.v2-error{font-size:12px;background:#fff5e5;color:#785117;padding:10px;margin:4px 0!important;border-radius:8px}.v2-empty{padding:40px 12px;color:var(--muted);text-align:center}.v2-empty h2{font-size:18px}.v2-demo{background:#e5effc;color:#426a9b;font-size:11px;padding:6px 18px}.v2-demo+.v2-layout{height:calc(100% - 29px)}.v2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}\n.v2-config.dsh-onboarding{overflow:visible;height:auto;font-size:13px}.v2-config .panel{padding:20px;margin-bottom:16px;box-shadow:none;border:1px solid var(--line);border-radius:12px}.v2-config .panel-heading{margin-bottom:16px}.v2-config .connection-actions,.v2-config .form-actions{display:flex;flex-wrap:wrap;gap:8px}.v2-config .info-row{padding:10px 0}.v2-config .callout{font-size:12px;margin:12px 0}.v2-config .field{margin:16px 0}.v2-config .field-heading{gap:8px;flex-wrap:wrap}.v2-config .fine-print{font-size:11px;color:var(--muted)}.v2-workbench .artifact-card,.v2-workbench .task-observation{padding:18px 0;border-bottom:1px solid var(--line)}.v2-workbench .artifact-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.v2-workbench .artifact-introduction{font-size:13px;margin:10px 0}.v2-workbench .artifact-provenance{font-size:12px}.v2-workbench .artifact-card h4{display:flex;align-items:center;gap:8px;font-size:16px;margin:0}.v2-workbench .observation-heading{display:flex;justify-content:space-between;gap:10px}.v2-workbench .small{font-size:12px}.v2-workbench .muted{color:var(--muted)}\n.v2-guide{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border:0!important;padding:0!important;background:transparent!important;margin:0!important;overflow:hidden!important;color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}.v2-guide::backdrop{background:#14335666}.v2-highlight{position:fixed;border:2px solid #5397e8;border-radius:9px;box-shadow:0 0 0 4px #d7eaff77;pointer-events:none}.v2-guide-card{position:fixed;min-height:202px;background:white;border:1px solid #d4e1f2;box-shadow:0 12px 35px #14335633;border-radius:14px;padding:18px}.v2-guide-card header{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#607894}.v2-guide-card header button{border:0;background:none;color:#496b94;min-height:32px;padding:4px 10px}.v2-guide-card h2{font-size:18px;margin:8px 0}.v2-guide-card p{font-size:13px;line-height:1.6;color:#607089}.v2-guide-card footer{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.v2-guide-arrow{position:absolute;background:white;border:1px solid #d4e1f2;border-radius:50%;display:grid;place-items:center;width:28px;height:28px;color:#096de2}.v2-guide-arrow.above{top:-16px;transform:rotate(90deg)}.v2-guide-arrow.below{bottom:-16px}.v2-guide-arrow svg{width:18px;height:18px}\n@container(max-width:850px){.v2-layout{grid-template-columns:120px minmax(0,1fr)}.v2-nav{padding:22px 8px}.v2-brand{font-size:23px}.v2-layout>main{padding:8px 14px 16px}.v2-scroll{padding:22px 20px}.v2-host{padding:16px 12px;min-height:160px}.v2-host-copy{max-width:100%}.v2-host-copy>strong{font-size:18px}.v2-host-copy>span{max-width:140px}.v2-host>.v2-mascot{width:78px;height:78px;opacity:.9}.v2-columns,.v2-row{grid-template-columns:minmax(0,1fr) 88px 16px;gap:10px}.v2-head h1{font-size:26px}}\n@container(max-width:580px){.v2-layout{display:flex;flex-direction:column}.v2-nav{flex-direction:row;align-items:center;padding:6px 10px;border-right:0;border-bottom:1px solid var(--line);gap:10px;flex:none}.v2-brand{font-size:18px;padding:0;white-space:nowrap}.v2-nav nav{flex-direction:row;overflow:auto;gap:2px;flex:1}.v2-nav nav>button{white-space:nowrap;padding:10px;font-size:12px;gap:5px;min-height:44px}.v2-layout>main{flex:1;padding:4px 10px 10px}.v2-statusbar{font-size:10px}.v2-statusbar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-scroll{padding:20px 16px 30px}.v2-head{flex-wrap:wrap;gap:12px;margin-bottom:20px}.v2-head h1{font-size:25px}.v2-toolbar{gap:2px;min-height:54px}.v2-toolbar>.button{padding:8px 6px;min-height:44px;font-size:11px}.v2-tab{padding:10px;max-width:160px;gap:5px;font-size:12px}.v2-hosts{grid-template-columns:1fr}.v2-host{min-height:122px;padding:16px}.v2-host-copy{max-width:calc(100% - 85px)}.v2-host>.v2-mascot{width:98px;height:98px}.v2-host-copy>strong{font-size:20px}.v2-host-copy>span{max-width:none}.v2-menu{grid-template-columns:1fr;margin-top:16px}.v2-row{padding:18px 2px}.v2-row strong{font-size:14px}.v2-row small{font-size:11px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.v2-columns,.v2-row{grid-template-columns:minmax(0,1fr) 76px 12px;gap:7px}.v2-status{font-size:11px}.v2-workbench .button{min-height:44px}.v2-columns{padding-left:2px;padding-right:2px}.v2-pagination{gap:8px;flex-wrap:wrap;font-size:11px}.v2-host-hero{gap:12px}.v2-host-hero>.v2-mascot{width:76px;height:76px}.v2-host-hero p{font-size:12px}.v2-config .panel{padding:14px}.v2-plan dl>div{flex-wrap:wrap}.v2-guide-card footer .button{font-size:12px;padding:8px 12px}.v2-field textarea{font-size:16px}.v2-guide-card header button,.v2-help-link,.v2-config .field-help-button{min-width:44px;min-height:44px}.v2-workbench summary{min-height:44px}}\n.v2-workbench.keyboard *{animation:none!important;transition:none!important}.v2-workbench.keyboard .v2-paper.current{transform:none}\n@media(prefers-reduced-motion:reduce){.v2-workbench *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.v2-workbench .v2-paper.current{transform:none}}\n\n.v2-setup .dsh-onboarding{height:auto;overflow:visible}.v2-setup .window-frame{border:0;box-shadow:none}.v2-setup .window-header{padding:12px;flex-wrap:wrap}.v2-setup .dsh-onboarding main{padding:16px 0;width:100%;max-width:100%}.v2-setup .outside-note{display:none}\n\n.v2-paper.ancestor:not(.exiting) .v2-scroll{visibility:hidden}\n.v2-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.v2-source-item{padding:12px 0;border-top:1px solid var(--v2-line,#dce7f3)}.v2-source-item h3{font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}.v2-source-item .info-row strong{overflow-wrap:anywhere;min-width:0}.v2-source-decision{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:start;padding:12px 0;border-top:1px solid #e6edf4}.v2-source-decision p{margin:5px 0}.v2-source-decision small{overflow-wrap:anywhere}.v2-source-decision .v2-status{white-space:normal}.v2-source-actions .button{white-space:normal}\n@media(max-width:480px){.v2-source-item .info-row{align-items:flex-start;gap:8px}.v2-source-item .info-row strong{max-width:65%}.v2-source-actions .button{flex:1 1 110px}.v2-source-decision{grid-template-columns:minmax(0,1fr) 78px}.v2-source-item .v2-section-title{align-items:flex-start;flex-wrap:wrap}}\n\n.v2-source-columns{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;color:#607a98;font-size:12px;padding:10px 0}.v2-source-decision>.v2-status{justify-self:start}@media(max-width:480px){.v2-source-columns{grid-template-columns:minmax(0,1fr) 78px}}\n\n/* DSH exposes its native chrome clearance; only our global panel consumes it. */\nhtml[data-platform=darwin] :is([data-sidebar-collapsed],[data-sidebar-drawer]) [data-global-panel] .v2-workbench{--v2-shell-top:var(--dsh-frame-top-clearance,48px)}\n\n/* Cloud native entry stays beside the task projection, wrapping on narrow panels. */\n.v2-host-hero>div{min-width:0}.v2-host-actions{display:flex;flex-wrap:wrap;gap:10px}.v2-host-actions .button{max-width:100%}\n";
98
98
  const labels={delivery_review:'交付结果待核对',delivery_draining:'交付操作待排空',delivery_active:'交付已持权 · 不证明完成',delivery_queued:'交付等待领取/资源',delivery_state_unavailable:'交付账本暂不可读',development_handed_off:'受管写入已交接',development_stopped:'写入请求已停止',development_unknown:'写入状态未知',development_evidence_missing:'写入证据缺失 · 待核对',development_runtime_unavailable:'执行端未启用 · 占用待核对',development_approval_review:'审批失效或待核对',development_testing:'测试操作未关闭',development_tested:'测试已通过 · 尚未交接',development_held:'已持有写入权 · 不是运行证明',development_queued:'等待显式领取写入权',development_review:'受管写入待核对',development_version_review:'开发协议版本待核对',development_draining:'写入执行端等待排空',development_resource_review:'冲突资源持权端待核对',development_resource_draining:'等待冲突资源测试排空',development_resource_busy:'等待相同仓库写入权',development_fifo:'等待前序写入请求',a2a_running:'双端协作执行中',a2a_draining:'协作停止中 · 等待排空',a2a_drain_unknown:'协作排空未知 · 待核对',a2a_completed:'双端协作已完成',a2a_revoked:'协作授权已撤销',a2a_invalidated:'协作授权已失效',a2a_needs_review:'双端协作待核对',a2a_expired:'协作期限已到 · 不自动重试',a2a_paused:'双端协作已暂停',a2a_waiting_input:'协作等待补充授权',a2a_unknown:'协作状态未知',a2a_queued:'等待指定对端领取',a2a_authorized:'协作已授权 · 尚未开始',waiting_time:'等待计划时间',waiting_event:'等待明确事件',waiting_dependency:'等待前置任务',same_task_busy:'等待同任务排空',workflow_preparing:'子任务待入队',workflow_finishing:'子任务全部结束 · 待汇总确认',workflow_completed:'子任务图已完成',workflow_cancelled:'子任务图已取消',workflow_paused:'子任务图已暂停',workflow_needs_review:'子任务图待核对',workflow_control_pending:'等待控制交接',shared_budget_exhausted:'共享预算已用尽',deadline_reached:'期限已到 · 等待核对',child_paused:'子任务被单独暂停',schedule_closed:'触发计划已结束',schedule_cancelled:'触发计划已取消',schedule_paused:'触发计划已暂停',schedule_needs_review:'触发计划待核对',schedule_finishing:'触发次数用尽 · 待结束确认',planning_unknown:'计划状态未知',lineage_unavailable:'任务关联待核对',prepared:'尚未入队',failed:'失败待核对',interrupted:'重启中断',registered:'已登记 · 尚无批次',running:'执行中',completed:'本批次已结束',cancelled:'批次已停止',paused:'批次已暂停',needs_review:'等待人工核对',waiting_input:'等待用户补充',waiting_approval:'等待方案审批',waiting_capability:'等待执行能力',queued:'已排队',waiting:'等待下一批次',draining:'暂停/停止中 · 等待排空',task_blocked:'任务被阻塞',task_busy:'任务工作区忙碌',development_disabled:'开发能力未开放',scheduled_time:'等待计划时间',worker_busy:'等待 worker 释放',awaiting_scheduler:'等待调度器受理',held:'已暂缓',changes_requested:'待修订重审',clarification_required:'待澄清',confirmation_review:'语义核验待核对',pending:'待确认',approved:'批准已记账 · 仍受门禁约束',expired:'审批已过期',superseded:'已被新方案替代',revoked:'已撤销',rejected:'已拒绝',delivery_changed:'交付预览证据变化或缺失',repository_changed:'仓库关联已变化',stale_revision:'任务版本已变化',identity_revoked:'身份凭据已失效',sent:'平台已确认发送',sending:'正在投递',verifying:'投递结果核对中',not_queued:'未排队投递',not_required:'无需投递',verified:'已验证连接',stale:'历史观测 · 已过期',unknown:'尚未观测',unavailable:'无法连接',incompatible:'协议/能力不兼容',unauthenticated:'认证未通过',operation_rejected:'操作被拒绝'};
99
99
  const label=x=>labels[x]??x??'未知';
100
100
  const model=p=>p?.model?`${p.provider??'未记录厂商'} / ${p.model}${p.reasoningEffort?' · '+p.reasoningEffort:''}`:'未指定(不会自动推定默认模型)';
@@ -232,12 +232,13 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
232
232
  }
233
233
 
234
234
  // Preview adapters only simulate. The live adapter prepares an intent, then requires
235
- // verified existing identity in a later step; the legacy step 01 adapter only reports readiness.
235
+ // an exact task decision. Only legacy tasks additionally require the existing IM identity.
236
236
  function TaskDecisionBox({item, entry, fresh, adapter, onRecorded}) {
237
237
  const draftKey=JSON.stringify([item.task_id,entry.id,item.spec_revision]);
238
238
  const [draft,setDraft]=React.useState(adapter?.drafts?.get(draftKey)||''),[busy,setBusy]=React.useState(false),[result,setResult]=React.useState(null),[error,setError]=React.useState('');
239
239
  const generation=React.useRef(0),alive=React.useRef(true),locked=React.useRef(false),review=React.useRef();
240
240
  const inputId=React.useId(),hintId=React.useId();
241
+ const nativeAuthority=entry.approval?.authorization_mode==='task-native';
241
242
  const identity={task_id:item.task_id,request_id:entry.id,expected_revision:item.spec_revision};
242
243
  function saveDraft(value){setDraft(value);adapter?.drafts?.set(draftKey,value);}
243
244
  React.useEffect(()=>{setDraft(adapter?.drafts?.get(draftKey)||'');},[draftKey]);
@@ -259,7 +260,7 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
259
260
  h('div',{className:'decision-context'},text('当前方案 · 第 '+item.spec_revision+' 版','small'),text('有效至 '+time(entry.approval.expires),'small')),
260
261
  h('label',{htmlFor:inputId},adapter?.readinessOnly?'你的意见(尚未提交)':'你的决定或意见'),
261
262
  h('textarea',{id:inputId,'aria-describedby':hintId,value:draft,maxLength:2000,rows:3,disabled:busy||!!pending,placeholder:'例如:就按这个方案执行;或可以,但请把报告改成两段。',onChange:e=>{saveDraft(e.target.value);setResult(null);setError('');}}),
262
- h('p',{id:hintId,className:'decision-hint'},!fresh&&!adapter?.serverValidated?(adapter?.readinessOnly?'历史快照:仍可查询最新处理方式;不会提交决定,已写意见仍保留。':'历史快照:刷新核对后才能提交,未提交意见仍保留。'):!available?'审批接线尚未启用:这里不会提交决定。':adapter.preview?'交互演示:只改变本页模拟数据,不产生真实批准。':adapter.readinessOnly?'工作台直接处理正在接线;可以先写下意见并查看当前处理方式,不会提交决定。':'核对意见与方案后保存;首次通过既有 IM 确认此窗口身份,10分钟内无需反复跳转。'),
263
+ h('p',{id:hintId,className:'decision-hint'},!fresh&&!adapter?.serverValidated?(adapter?.readinessOnly?'历史快照:仍可查询最新处理方式;不会提交决定,已写意见仍保留。':'历史快照:刷新核对后才能提交,未提交意见仍保留。'):!available?'审批接线尚未启用:这里不会提交决定。':adapter.preview?'交互演示:只改变本页模拟数据,不产生真实批准。':adapter.readinessOnly?'工作台直接处理正在接线;可以先写下意见并查看当前处理方式,不会提交决定。':nativeAuthority?'核对本任务的意见与方案后保存;无需 IM 身份确认。':'核对意见与方案后保存;首次通过既有 IM 确认此窗口身份,10分钟内无需反复跳转。'),
263
264
  draft.trim()&&!pending&&!adapter?.readinessOnly?text('已填写文字时,以完整文字为准;快捷按钮不会覆盖你的意见。','decision-hint'):null,
264
265
  !pending&&!adapter?.readinessOnly?h('div',{className:'decision-actions'},button(busy?'正在核验…':adapter?.confirm?'核对我的意见':'提交意见',()=>submit(null),!enabled||!draft.trim(),'primary','message'),button('同意原方案',()=>submit('approve'),!enabled,'','shield'),button('暂缓',()=>submit('hold'),!enabled),button('拒绝',()=>submit('reject'),!enabled,'decision-reject')):null,
265
266
  adapter?.readinessOnly?button(busy?'正在检查…':'查看当前处理方式',()=>perform(()=>adapter.readiness(identity)),!available||busy,'primary','help'):null,
@@ -271,8 +272,8 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
271
272
  ...[['summary','方案'],['changes','拟变更'],['validation','验证'],['risks','风险'],['rollback','回滚']].map(([k,v])=>h('div',{key:k},h('strong',null,v),text(result.proposal?.[k]??'未提供'))),
272
273
  h('div',null,h('strong',null,'授权范围'),text((result.proposal?.scopes??[]).map(x=>({develop:'开发',commit:'提交',push:'推送',publish:'发布',deploy:'部署'}[x]??x)).join('、'))),
273
274
  h('div',null,h('strong',null,'任务模型'),text([result.proposal?.model_policy?.provider,result.proposal?.model_policy?.model,result.proposal?.model_policy?.reasoningEffort].filter(Boolean).join(' / '))),
274
- h('details',null,h('summary',null,'查看仓库、限额与交付绑定'),h('pre',null,JSON.stringify({repository:result.proposal?.repository,development:result.proposal?.development,delivery:result.proposal?.delivery},null,2)))),
275
- adapter?.identity?h('section',{className:'decision-identity','aria-label':'工作台身份'},
275
+ h('details',null,h('summary',null,'查看仓库、限额与交付绑定'),h('pre',null,JSON.stringify({execution:result.proposal?.execution,repository:result.proposal?.repository,development:result.proposal?.development,delivery:result.proposal?.delivery},null,2)))),
276
+ adapter?.identity&&!nativeAuthority&&result.identity?.required!==false?h('section',{className:'decision-identity','aria-label':'工作台身份'},
276
277
  h('strong',null,result.identity?.verified?'本窗口身份已核验':'先确认这个工作台窗口的身份'),
277
278
  text(result.identity?.verified?'10分钟内可逐项处理方案;这不是任何任务的批准。':result.identity?.host_role==='local'?'使用已绑定的本地机器人私聊;身份确认、方案和账本回执在同一对话,不依赖 DSH 会话。':'复用现有云端审批私聊;尚未配置本地统一入口,不新增账号。'),
278
279
  result.identity?.confirmation_code?text('窗口校验:'+result.identity.confirmation_code):null,
@@ -281,7 +282,7 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
281
282
  !result.identity?.verified?button(['sending','sent','needs_review'].includes(result.identity?.state)?'已发起身份确认':'通过已绑定 IM 确认身份',()=>perform(async()=>({...result,identity:await adapter.identity('send')})),busy||['sending','sent','needs_review'].includes(result.identity?.state),'','shield'):null,
282
283
  button('我已回复,核对身份',()=>perform(async()=>({...result,identity:await adapter.identity('check')})),busy),
283
284
  result.identity?.verified?button('结束本窗口身份使用',()=>perform(async()=>({...result,identity:await adapter.identity('close')})),busy):null)):null,
284
- h('div',{className:'decision-actions'},button('保存这次决定',()=>perform(()=>adapter.confirm(identity,result)),!enabled||result.uncertain||!!adapter?.identity&&!result.identity?.verified,'primary','shield'),button('返回修改',()=>{adapter.discard(identity);setResult(null);setError('');},busy||result.uncertain))):null,
285
+ h('div',{className:'decision-actions'},button('保存这次决定',()=>perform(()=>adapter.confirm(identity,result)),!enabled||result.uncertain||!!adapter?.identity&&!nativeAuthority&&result.identity?.required!==false&&!result.identity?.verified,'primary','shield'),button('返回修改',()=>{adapter.discard(identity);setResult(null);setError('');},busy||result.uncertain))):null,
285
286
  pending&&adapter?.status?h('div',{className:'decision-query'},button('查询本次处理结果',()=>perform(()=>adapter.status(identity)),busy,'','refresh'),text(result?.uncertain?'结果尚未确认,只查询原操作,不重复提交。':'离开此任务再返回时,可查询本次处理结果。')):null,
286
287
  result&&!reviewing&&(!onRecorded||!result.recorded)?h('div',{className:'decision-result',role:'status'},h('strong',null,(adapter?.preview?'模拟结果 · ':'')+(labels[result.state]??'尚待核对')),text(result.message??'决定与执行分开;不会因此自动启动任务。'),result.next_action?h('div',null,h('strong',null,result.next_action.label),text(result.next_action.message)):null,pending&&!result.recorded&&!result.uncertain&&result.operation_state!=='processing'?button('返回修改意见',()=>{adapter.discard(identity);setResult(null);setError('');},busy):null):null,
287
288
  error?h('p',{className:'warning',role:'alert'},error):null);
@@ -312,6 +313,120 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
312
313
  text('最后读取:'+time(r.last_seen)),...(r.handling??[]).map(o=>h('div',{key:o.id,className:'intervention-event'},text(time(o.created)+' · '+({continue:'确认新建议',answer:'确认补充信息',end:'结束批次',hold:'稍后处理',maintenance:'维护请求'}[o.action]??'处理意见')),text(o.text||'未另填意见'),text(o.state==='recorded'?({queued:'新批次已排队',running:'新批次正在执行',completed:'新批次已完成',draining:'结束已请求,仍待排空',ended:'本批次已结束',notice_closed:'通知跟进已关闭,未重发',held:'意见已保留,稍后处理',maintenance_requested:'维护请求已登记,尚未修复'}[o.progress]??'处理已记账;不是整个任务完成'):o.state==='ready'?'建议尚未确认':o.state==='superseded'?'已被新建议替代,不能执行':'原操作仍待核对'))),...(r.events??[]).map(e=>h('div',{key:e.version,className:'intervention-event'},text(time(e.created)+' · '+({observed:'登记事项',source_updated:'来源内容更新',source_state_changed:'来源状态更新',source_not_observed:'本次未读取到原记录'}[e.event]??'观测记录')),e.user_opinion?h('div',null,h('strong',null,'已记账的意见'),text(e.user_opinion)):null,e.result?text(e.result.text):null)),r.events_total>(r.events??[]).length?text('显示最近 20 条;更早记录保留。'):null)));
313
314
  }
314
315
 
316
+ function TaskObservation({observation:o}) {
317
+ if(!o)return null;
318
+ const labels={running:'处理中',ready:'成果就绪',waiting:'等待',blocked:'受阻',suspected:'需核对',checking:'核对中',unknown:'尚未核实'};
319
+ return h('section',{className:'task-observation','aria-label':'等待与受阻'},
320
+ h('div',{className:'observation-heading'},h('strong',null,o.title),h('span',{className:'pill',title:'只读核对已有记录,不暂停、重试或增加任务权限。'},labels[o.kind]??'尚未核实')),
321
+ o.detail?text(o.detail,'observation-detail'):null,
322
+ h('details',null,h('summary',null,'查看依据'),text(o.last_checked_at?'最后核对:'+time(o.last_checked_at):'尚未取得核对记录。'),o.evidence?.report_summary?text(o.evidence.report_summary):null,o.evidence?.error?text('记录中的错误:'+o.evidence.error):null,o.evidence?.activity_observed_at?text('最近原生活动:'+time(o.evidence.activity_observed_at)+';活动不等于实质进展。'):null,
323
+ o.diagnosis?h('div',null,h('strong',null,'辅助判断(非执行结论)'),text(o.diagnosis.summary),text(o.diagnosis.missing_evidence),text(o.diagnosis.suggestion)):o.diagnostic_state==='unavailable'?text('辅助判断未取得结果,仍以现有记录为准。'):null));
324
+ }
325
+
326
+ function TaskDevelopment({evidence:e}){
327
+ if(!e)return null;const states={passed:'通过',failed:'失败',stale:'改动后待重验',not_run:'未运行',running:'运行中',unknown:'未核实',changed_during_check:'检查中发生改动'},delivery={not_checked:'尚未核验交付',workspace_ready:'成果就绪 · 未对外交付',commit_verified:'执行端提交已核验',remote_commit_verified:'远端提交已核验',pr_verified:'PR 已核验'};
328
+ return h('section',{className:'task-observation','aria-label':'研发与交付'},h('div',{className:'observation-heading'},h('strong',null,'研发与交付'),h('span',{className:'pill'},e.historical?'历史记录':delivery[e.delivery?.state]??'尚未核验')),
329
+ e.delivery?.state==='pr_verified'&&/^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/pull\/\d+$/.test(e.delivery.url??'')?h('a',{className:'button plain',href:e.delivery.url,target:'_blank',rel:'noopener noreferrer',referrerPolicy:'no-referrer'},'查看 PR'):null,
330
+ text('记录于 '+time(e.at)+' · 非实时检查;不代表用户验收、合并或发布。','small'),
331
+ h('details',null,h('summary',null,'差异与验证'),e.preexisting_changes?text('开始前已有改动,未将其全部归为本次成果。'):null,
332
+ ...(e.checks??[]).map(c=>text(c.name+' · '+(states[c.state]??'未核实'))),e.no_checks_reason?text('未安排检查的原因:'+e.no_checks_reason):null,
333
+ ...(e.changes??[]).map(c=>text(({added:'新增',modified:'修改',deleted:'删除'}[c.kind]??'变更')+' · '+c.path)),e.truncated?text('差异仅显示摘要,不能视为完整审查。'):null,
334
+ e.git_diff_stat?h('pre',null,e.git_diff_stat):null,e.git_diff?h('details',null,h('summary',null,'查看 Git 差异摘录'),text('相对开始时提交,可能包含已有改动;截断时需在原生工具继续核对。'),h('pre',null,e.git_diff)):null,e.review?text('执行者自检(非独立审计):'+e.review.summary):null));
335
+ }
336
+
337
+ let v2View;function getV2View(){if(v2View)return v2View;
338
+ var DSHWorkbenchV2=(()=>{var Tr=Object.create;var Ga=Object.defineProperty;var Fr=Object.getOwnPropertyDescriptor;var Ur=Object.getOwnPropertyNames;var Hr=Object.getPrototypeOf,qr=Object.prototype.hasOwnProperty;var Gr=(e,o)=>()=>(o||e((o={exports:{}}).exports,o),o.exports),Vr=(e,o)=>{for(var l in o)Ga(e,l,{get:o[l],enumerable:!0})},ao=(e,o,l,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let f of Ur(o))!qr.call(e,f)&&f!==l&&Ga(e,f,{get:()=>o[f],enumerable:!(u=Fr(o,f))||u.enumerable});return e};var Le=(e,o,l)=>(l=e!=null?Tr(Hr(e)):{},ao(o||!e||!e.__esModule?Ga(l,"default",{value:e,enumerable:!0}):l,e)),Wr=e=>ao(Ga({},"__esModule",{value:!0}),e);var me=Gr((ss,to)=>{to.exports=React});var rs={};Vr(rs,{Workbench:()=>os});var L=Le(me());var A=Le(me());var Wa=Le(me());var oo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Va=(...e)=>e.filter((o,l,u)=>!!o&&o.trim()!==""&&u.indexOf(o)===l).join(" ").trim();var oa=Le(me());var ro={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var lo=(0,oa.forwardRef)(({color:e="currentColor",size:o=24,strokeWidth:l=2,absoluteStrokeWidth:u,className:f="",children:i,iconNode:a,...p},I)=>(0,oa.createElement)("svg",{ref:I,...ro,width:o,height:o,stroke:e,strokeWidth:u?Number(l)*24/Number(o):l,className:Va("lucide",f),...p},[...a.map(([m,r])=>(0,oa.createElement)(m,r)),...Array.isArray(i)?i:[i]]));var G=(e,o)=>{let l=(0,Wa.forwardRef)(({className:u,...f},i)=>(0,Wa.createElement)(lo,{ref:i,iconNode:o,className:Va(`lucide-${oo(e)}`,u),...f}));return l.displayName=`${e}`,l};var ra=G("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);var la=G("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var sa=G("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);var ua=G("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);var na=G("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var ia=G("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var qe=G("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var Ge=G("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var da=G("Cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);var fa=G("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var ca=G("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);var pa=G("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var ma=G("FolderGit2",[["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["path",{d:"M18 19c-2.8 0-5-2.2-5-5v8",key:"pkpw2h"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);var Ia=G("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var Qe=G("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var La=G("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var ha=G("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var Ve=G("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var ga=G("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);var Ca=G("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);var va=G("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var xa=G("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]);var _a=G("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]);var Sa=G("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var ka=G("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var ba=G("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var Aa=G("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]);var ya=G("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var Na=G("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);var We=G("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var wa=G("Unplug",[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]]);var Oa=G("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var so={required:"\u5FC5\u586B",optional:"\u9009\u586B",auto:"\u81EA\u52A8\u68C0\u6D4B",conditional:"\u542F\u7528\u540E\u5FC5\u586B"},R=(e,o,l,u,f)=>({kind:e,what:o,where:l,impact:u,example:f}),za={\u590D\u7528\u4E91\u7AEF\u4EFB\u52A1\u6A21\u578B:R("required","\u586B\u5199\u4E91\u7AEF\u9A8C\u6536\u6240\u7528\u7684\u6A21\u578B\u540D\u79F0\u6216\u7B80\u79F0\uFF1B\u6709\u91CD\u540D\u65F6\u518D\u7528\u666E\u901A\u6587\u5B57\u8865\u5145\u63A5\u5165\u540D\u79F0\u3002","\u4EE5\u5F53\u524D\u4E91\u7AEF\u5B9E\u9645\u914D\u7F6E\u6E05\u5355\u4E3A\u51C6\uFF0C\u4E0D\u8F93\u5165 API Key \u6216 provider \u7F16\u53F7\u3002","\u672A\u552F\u4E00\u89E3\u6790\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u6216\u8BBE\u4E3A worker \u7684\u56FA\u5B9A\u9ED8\u8BA4\u6A21\u578B\u3002","ds flash"),"\u6211\u786E\u8BA4\u590D\u7528\u4E0A\u8FF0\u914D\u7F6E\uFF0C\u4EC5\u4FDD\u5B58\u786E\u8BA4\u8BB0\u5F55":R("required","\u786E\u8BA4\u4FDD\u7559\u9884\u89C8\u4E2D\u7684\u65E2\u6709\u53CC\u7AEF\u3001\u6A21\u578B\u3001\u901A\u77E5\u548C\u53EF\u9009\u4ED3\u5E93\u8BBE\u7F6E\u3002","\u5148\u9884\u89C8\u5E76\u6838\u5BF9\u5F53\u524D\u7AEF\u70B9\u4E0E\u9009\u9879\u540E\u52FE\u9009\u3002","\u4E0D\u52FE\u9009\u4E0D\u4FDD\u5B58\uFF1B\u786E\u8BA4\u4E0D\u63A5\u7BA1 Host\u3001\u4E0D\u65B0\u589E\u5B89\u88C5\u5F52\u5C5E\u3001\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165\u3002"),\u9ED8\u8BA4\u673A\u5668\u4EBA\u6240\u5728\u7AEF:R("conditional","\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u673A\u5668\u4EBA\u4F5C\u4E3A\u65E5\u5E38\u6536\u53D1\u5165\u53E3\u3002","\u5148\u5728\u8BE5\u7AEF\u539F\u751F IM \u7BA1\u7406\u4E2D\u914D\u7F6E\u673A\u5668\u4EBA\uFF0C\u518D\u8BFB\u53D6\u6E05\u5355\u3002","\u672C\u9875\u53EF\u8DF3\u8FC7\uFF1B\u53EA\u6709\u786E\u8BA4\u9ED8\u8BA4\u8BBE\u7F6E\u540E\u65B0\u5B9A\u65F6\u4EFB\u52A1\u624D\u7EE7\u627F\u3002\u9009\u62E9\u672C\u5730\u65F6\uFF0CMac \u79BB\u7EBF\u4F1A\u5EF6\u8FDF\u901A\u77E5\uFF1B\u9009\u62E9\u4E91\u7AEF\u5219\u4E0D\u4F9D\u8D56 Mac\u3002"),\u673A\u5668\u4EBA\u4E0E\u8FD4\u56DE\u5BF9\u8BDD:R("conditional","\u9009\u62E9\u9ED8\u8BA4\u63A5\u6536\u4EFB\u52A1\u7ED3\u679C\u7684\u673A\u5668\u4EBA\u53CA\u5DF2\u4FDD\u5B58\u5BF9\u8BDD\uFF0C\u4E0D\u586B\u5185\u90E8 ID\u3002","\u4ECE\u5F53\u524D\u6240\u9009\u7AEF\u7684 IM \u516C\u5F00\u63A5\u53E3\u8BFB\u53D6\uFF1B\u9996\u6B21\u53EF\u5148\u79C1\u804A\u673A\u5668\u4EBA\u5E76\u4FDD\u5B58\u8BE5\u901A\u77E5\u76EE\u6807\u3002","\u672A\u7ED1\u5B9A\u65F6\u4E0D\u4F1A\u731C\u6D4B\u6536\u4EF6\u4EBA\uFF0C\u4E0D\u4F1A\u5411\u5176\u4ED6\u4EBA\u6216\u7FA4\u53D1\u9001\uFF1B\u591A\u4E2A\u5019\u9009\u65F6\u5FC5\u987B\u9009\u62E9\u3002"),"\u6211\u786E\u8BA4\u6B64\u9ED8\u8BA4\u6536\u53D1\u8BBE\u7F6E\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03":R("required","\u786E\u8BA4\u9884\u89C8\u4E2D\u7684\u53D1\u9001\u7AEF\u3001\u673A\u5668\u4EBA\u548C\u8FD4\u56DE\u5BF9\u8BDD\u3002","\u6838\u5BF9\u9884\u89C8\u540E\u52FE\u9009\uFF0C\u518D\u786E\u8BA4\u4FDD\u5B58\u3002","\u4E0D\u52FE\u9009\u4E0D\u4FDD\u5B58\uFF1B\u66F4\u6362\uFF0F\u505C\u7528\u53EA\u7EC8\u6B62\u7EE7\u627F\u9ED8\u8BA4\u503C\u7684\u5F85\u53D1\u901A\u77E5\uFF0C\u4E0D\u4FEE\u6539\u663E\u5F0F\u4EFB\u52A1\u901A\u77E5\uFF0C\u4E0D\u80FD\u64A4\u56DE\u5DF2\u7ECF\u53D1\u9001\u7684\u6D88\u606F\u3002"),"\u6211\u786E\u8BA4\u91CD\u542F\uFF0C\u5E76\u7406\u89E3\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u6062\u590D":R("required","\u786E\u8BA4\u542F\u52A8\u8FD9\u4E2A\u5DF2\u505C\u6B62\u7684\u72EC\u7ACB Host\uFF0C\u5E76\u77E5\u6653\u5DF2\u6709\u5DE5\u4F5C\u6216\u673A\u5668\u4EBA\u8FDE\u63A5\u53EF\u80FD\u6062\u590D\u3002","\u6838\u5BF9\u5F53\u524D\u5B89\u88C5\u76EE\u5F55\u3001\u914D\u7F6E\u53D8\u5316\u548C\u65B0\u91CD\u542F\u8BA1\u5212\u540E\u52FE\u9009\u3002","\u4E0D\u52FE\u9009\u4E0D\u91CD\u542F\uFF1B\u4E0D\u662F\u96F6\u6A21\u578B\u4FDD\u8BC1\uFF0C\u4E0D\u91CD\u6279\u4EFB\u52A1\u6216\u5F00\u653E\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u3002"),\u672C\u6B21\u7EF4\u62A4\u7684\u673A\u5668\u4EBA:R("conditional","\u9009\u62E9\u5F53\u524D Host \u4E2D\u9700\u8981\u7EF4\u62A4\u7684\u98DE\u4E66\u673A\u5668\u4EBA\uFF0C\u4E0D\u586B\u5199\u5185\u90E8\u7F16\u53F7\u3002","\u70B9\u51FB\u624B\u52A8\u6838\u5BF9\u540E\uFF0C\u4ECE\u672C\u7AEF\u5B9E\u65F6\u8FDE\u63A5\u6E05\u5355\u6309\u540D\u79F0\u9009\u62E9\u3002","\u9884\u89C8\u65AD\u5F00\u6216\u6062\u590D\u524D\u5FC5\u9009\uFF1B\u53EA\u8BFB\u6838\u5BF9\u4E0D\u5FC5\u9009\uFF0C\u4E0D\u4F1A\u56E0\u6B64\u81EA\u52A8\u64CD\u4F5C\u3002"),"\u6211\u786E\u8BA4\u672C\u6B21\u65AD\u5F00\u673A\u5668\u4EBA\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM":R("required","\u6388\u6743\u672C\u6B21\u6709\u635F\u65AD\u5F00\uFF0C\u53EF\u80FD\u4E2D\u6B62\u53D1\u9001\u3001\u5A92\u4F53\u548C\u5F85\u51B3\u4EA4\u4E92\u3002","\u6838\u5BF9\u6240\u9009\u673A\u5668\u4EBA\u4E0E\u5F85\u786E\u8BA4\u8BA1\u5212\uFF0C\u4E0D\u6CBF\u7528\u65E7\u6279\u51C6\u3002","\u4E0D\u52FE\u9009\u4E0D\u6267\u884C\uFF1B\u914D\u7F6E\u4FDD\u7559\uFF0C\u6062\u590D\u53E6\u786E\u8BA4\uFF0CHost \u91CD\u542F\u4ECD\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\u3002"),"\u6211\u786E\u8BA4\u672C\u6B21\u6062\u590D\u673A\u5668\u4EBA\u8FDE\u63A5\uFF0C\u7406\u89E3\u53EF\u80FD\u4E2D\u6B62\u5728\u9014 IM":R("required","\u4EC5\u6062\u590D\u672C\u63D2\u4EF6\u4E4B\u524D\u65AD\u5F00\u7684\u673A\u5668\u4EBA\u8FDE\u63A5\uFF0C\u4E0D\u91CD\u53D1\u65E7\u6D88\u606F\u3002","\u6838\u5BF9\u5F53\u524D Host\u3001\u673A\u5668\u4EBA\u548C\u72EC\u7ACB\u6062\u590D\u8BA1\u5212\u3002","\u4E0D\u52FE\u9009\u4E0D\u6062\u590D\uFF1B\u4E0D\u662F\u6574\u673A\u6062\u590D\u3001\u53D1\u9001\u6210\u529F\u6216\u4EFB\u52A1\u6267\u884C\u6388\u6743\u3002"),"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":R("required","\u53EA\u628A\u5F53\u524D\u8FDE\u63A5\u89C2\u5BDF\u5199\u5165\u7EF4\u62A4\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u673A\u5668\u4EBA\u3002","\u5148\u624B\u52A8\u67E5\u8BE2\u672A\u77E5\u8BF7\u6C42\uFF0C\u518D\u9884\u89C8\u8865\u8BB0\u8BA1\u5212\u3002","\u4E0D\u52FE\u9009\u4E0D\u8865\u8BB0\uFF1B\u5F53\u524D\u79BB\u7EBF\u4E0D\u8BC1\u660E\u539F\u53D1\u9001\u6210\u529F\uFF0C\u4E5F\u4E0D\u6388\u6743\u5347\u7EA7\u6216\u505C\u673A\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5E94\u7528\u4E0A\u8FF0\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u8BA1\u5212":R("required","\u6838\u5BF9\u5B9E\u9645\u8DEF\u5F84\u3001\u53D8\u66F4\u4E0E\u4FDD\u7559\u9879\u540E\uFF0C\u6388\u6743\u8FD9\u4E00\u6B21\u672C\u7AEF\u7EF4\u62A4\u3002","\u4EE5\u5F53\u524D Host \u65B0\u751F\u6210\u7684\u8BA1\u5212\u4E3A\u51C6\uFF0C\u4E0D\u4F7F\u7528\u5386\u53F2\u622A\u56FE\u6216\u53E6\u4E00\u7AEF\u56DE\u6267\u3002","\u672A\u52FE\u9009\u4E0D\u80FD\u5E94\u7528\uFF1B\u4E0D\u5378\u8F7D\u63D2\u4EF6\u672C\u4F53\uFF0C\u4E0D\u6388\u6743\u4E91\u7AEF\u6216\u4EFB\u52A1\u5199\u5165\u3002"),\u6211\u786E\u8BA4\u4EC5\u6309\u4E0A\u8FF0\u8BA1\u5212\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1:R("required","\u540C\u610F\u8865\u9F50\u5DF2\u63D0\u4EA4\u4E8B\u52A1\u7684\u6536\u5C3E\uFF0C\u6216\u56DE\u6EDA\u672A\u5B8C\u6210\u53D8\u66F4\uFF1B\u4EE5\u8BA1\u5212\u6807\u9898\u4E3A\u51C6\u3002","\u5148\u624B\u52A8\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u518D\u9884\u89C8\u6062\u590D\uFF0C\u4E0D\u586B\u5199\u5185\u90E8\u7F16\u53F7\u3002","\u672A\u52FE\u9009\u4E0D\u6062\u590D\uFF1B\u5E76\u53D1\u4FEE\u6539\u548C\u672A\u77E5\u6587\u4EF6\u4FDD\u7559\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u3002"),"\u6211\u786E\u8BA4\u53EA\u5904\u7406\u6B64\u6587\u4EF6\uFF0C\u4FDD\u6301\u505C\u7528\u4E14\u4E0D\u91CD\u7F6E\u6B21\u6570":R("required","\u6838\u5BF9\u6240\u9009\u6587\u4EF6\u3001\u65B9\u5411\u548C\u5927\u5C0F\uFF0C\u7136\u540E\u5355\u72EC\u786E\u8BA4\u4FDD\u7559\u6216\u6062\u590D\u3002","\u4EE5\u6B64\u9875\u539F\u961F\u5217\u9884\u89C8\u4E3A\u51C6\uFF0C\u4E0D\u8F93\u5165\u5185\u90E8\u7F16\u53F7\u3002","\u4E0D\u52FE\u9009\u4E0D\u4F1A\u63D0\u4EA4\u51B3\u5B9A\uFF1B\u6062\u590D\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u65B0 ID\u3001\u4E0D\u91CD\u7F6E\u9884\u7B97\u3002"),"\u6211\u786E\u8BA4\u53EA\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u51B3\u5B9A\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743":R("required","\u4EC5\u5173\u95ED\u539F\u672A\u77E5\u51B3\u5B9A\u7684\u8FDF\u5230\u8BF7\u6C42\uFF0C\u4E0D\u64A4\u9500\u5DF2\u8BB0\u8D26\u7684\u51B3\u5B9A\u3002","\u5148\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u82E5\u5DF2\u5B8C\u6210\uFF0C\u663E\u793A\u539F\u7ED3\u679C\u3002","\u4E0D\u52FE\u9009\u4E0D\u5173\u95ED\uFF1B\u5173\u95ED\u4E0D\u505C\u6B62\u5F15\u64CE\u3001\u4E0D\u6539\u76EE\u5F55\u6388\u6743\u3001\u4E0D\u5220\u9664\u6587\u4EF6\u3002"),"\u6211\u786E\u8BA4\u8FC1\u79FB\u8303\u56F4\u3001\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55":R("required","\u53EA\u628A\u5DF2\u505C\u7528\u7684\u6587\u4EF6\u80FD\u529B\u8FC1\u79FB\u5230\u9884\u89C8\u7684\u65B0\u8303\u56F4\u3002","\u6838\u5BF9\u65B0\u65E7\u76EE\u5F55\u3001\u4E0A\u9650\u548C\u53D7\u5F71\u54CD\u8BB0\u5F55\u6570\u91CF\u540E\u52FE\u9009\u3002","\u672A\u52FE\u9009\u4E0D\u8FC1\u79FB\u3002\u5B8C\u6210\u540E\u4ECD\u505C\u7528\uFF1B\u65E7\u961F\u5217\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF0C\u6587\u4EF6\u4E0D\u5220\u9664\u3002"),"\u6211\u786E\u8BA4\u53EA\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4E0D\u542F\u7528\u6216\u91CD\u53D1":R("required","\u4EC5\u6838\u5BF9\u5E76\u7EED\u5B8C\u540C\u4E00\u5DF2\u786E\u8BA4\u7684\u8FC1\u79FB\u4E8B\u52A1\u3002","\u5148\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF0C\u6838\u5BF9\u5F53\u524D\u8303\u56F4\u548C\u539F\u8FC1\u79FB\u72B6\u6001\u3002","\u4E0D\u52FE\u9009\u4E0D\u7EE7\u7EED\u3002\u76EE\u5F55\u6216\u8D26\u672C\u4E0D\u5339\u914D\u4ECD\u505C\u6B62\uFF0C\u4E0D\u8986\u76D6\u3001\u4E0D\u91CD\u53D1\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":{kind:"required",what:"\u786E\u8BA4\u53EA\u5173\u95ED\u539F\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u6301\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6\u3002",where:"\u6838\u5BF9\u4E91\u7AEF\u73AF\u5883\u548C\u539F\u56DE\u6267\u540E\u52FE\u9009\u3002",impact:"\u4E0D\u52FE\u9009\u4E0D\u4F1A\u5EFA\u7ACB\u7248\u672C\u5C4F\u969C\uFF1B\u5173\u95ED\u4E0D\u7B49\u4E8E\u505C\u7528\uFF0C\u4E5F\u4E0D\u6388\u6743\u91CD\u53D1\u3002"},\u6587\u4EF6\u53D1\u9001\u76EE\u5F55:R("optional","\u5F53\u524D Host \u53EF\u53D1\u9001\u7684\u4E13\u7528\u76EE\u5F55\uFF0C\u6BCF\u884C\u4E00\u4E2A\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u4E0D\u662F\u6587\u4EF6\u5185\u5BB9\u6216 IM \u9644\u4EF6\u8DEF\u5F84\u3002","\u53EF\u7559\u7A7A\u4F7F\u7528\u672C\u9879\u76EE\u53D1\u4EF6\u76EE\u5F55\uFF1B\u81EA\u9009\u76EE\u5F55\u9700\u5148\u5B58\u5728\uFF0C\u4E0D\u542B\u4E3B\u76EE\u5F55\u6216\u53D7\u4FDD\u62A4\u914D\u7F6E\u3002","\u7559\u7A7A\u4E0D\u6388\u6743\u5176\u4ED6\u76EE\u5F55\u3002\u542F\u7528\u524D\u5C55\u793A\u5B9E\u9645\u8303\u56F4\uFF0C\u5DF2\u6709\u8303\u56F4\u8C03\u6574\u9700\u4E13\u95E8\u8FC1\u79FB\uFF0C\u4E0D\u80FD\u76F4\u63A5\u8986\u5199\u3002"),\u5355\u6587\u4EF6\u4E0A\u9650:R("required","\u81EA\u6709 Host \u6587\u4EF6\u76F4\u4F20\u7684\u5355\u6587\u4EF6\u5927\u5C0F\u4E0A\u9650\u3002","\u65B0\u5EFA\u9ED8\u8BA432 MiB\uFF0C\u53EF\u663E\u5F0F\u8C03\u6574\uFF0C\u5F53\u524D\u76F4\u4F20\u5B9E\u73B0\u6700\u5927512 MiB\uFF1B\u5B9E\u9645\u91C7\u7528\u53CC\u7AEF\u8F83\u5C0F\u4E0A\u9650\uFF0CIM\u9650\u5236\u53E6\u7B97\u3002","\u8D85\u9650\u62D2\u7EDD\uFF0C\u4E0D\u81EA\u52A8\u538B\u7F29\u3001\u62C6\u5206\u6216\u6539\u7528\u5176\u4ED6\u901A\u9053\u3002IM \u81EA\u8EAB\u5E73\u53F0\u9650\u5236\u4ECD\u72EC\u7ACB\u751F\u6548\u3002"),"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u4E0D\u6388\u6743\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165":R("required","\u53EA\u542F\u7528\u6216\u505C\u7528\u9884\u89C8\u4E2D\u7684\u5F53\u524D Host \u6587\u4EF6\u76F4\u4F20\u3002","\u6838\u5BF9\u76EE\u5F55\u3001\u5B9E\u9645\u7AEF\u548C\u5355\u6587\u4EF6\u4E0A\u9650\u3002","\u672A\u786E\u8BA4\u4E0D\u5E94\u7528\u3002\u505C\u7528\u4FDD\u7559\u6587\u4EF6\u548C\u961F\u5217\uFF0C\u63A5\u6536\u4E0D\u7B49\u4E8E\u9605\u8BFB\u3001\u6267\u884C\u3001\u5BA1\u6279\u6216 Git \u5199\u5165\u3002"),\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E:R("optional","\u6A21\u578B\u5728\u591A\u4E2A\u63A5\u5165\u4E2D\u91CD\u540D\u65F6\uFF0C\u7528\u6613\u61C2\u7684\u63A5\u5165\u540D\u79F0\u8865\u5145\u9009\u62E9\uFF0C\u4E0D\u586B provider \u7F16\u53F7\u6216 Key\u3002","\u4F7F\u7528\u4E0B\u65B9\u5019\u9009\u5C55\u793A\u7684\u540D\u79F0\uFF0C\u4E5F\u53EF\u70B9\u51FB\u5019\u9009\u5C06\u5B83\u586B\u5165\u3002","\u552F\u4E00\u5339\u914D\u65F6\u53EF\u8DF3\u8FC7\uFF1B\u6709\u6B67\u4E49\u65F6\u4E0D\u8C03\u7528\u6A21\u578B\u3002\u8865\u5145\u540E\u4ECD\u9700\u91CD\u65B0\u6838\u5BF9\uFF0C\u672A\u552F\u4E00\u5339\u914D\u5219\u7EE7\u7EED\u6F84\u6E05\u3002","\u8BF7\u7528 DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09"),\u767B\u8BB0\u8BBF\u95EE\u8EAB\u4EFD:R("required","\u767B\u8BB0\u6B64\u4ED3\u5E93\u7684\u8BFB\u53D6\u8EAB\u4EFD\uFF1A\u533F\u540D\uFF0C\u6216\u4EC5\u7528\u76EE\u6807\u7AEF\u672C\u9879\u76EE\u7684 Gitee \u4EE4\u724C\u3002","\u79C1\u6709\u4ED3\u5E93\u5148\u5728\u76EE\u6807\u7AEF\u4FDD\u5B58\uFF0F\u4EA4\u63A5\u72EC\u7ACB\u4EE4\u724C\u3002","\u5FC5\u987B\u660E\u786E\u9009\u62E9\uFF1B\u5931\u8D25\u4E0D\u6362\u51ED\u636E\u3001\u4E0D\u4F7F\u7528\u65E5\u5E38\u4EE4\u724C\uFF0C\u4E5F\u4E0D\u8BC1\u660E Git SSH \u53EF\u7528\u3002"),"\u6211\u786E\u8BA4\u4EC5\u53D8\u66F4\u672C\u9879\u76EE\u4ED3\u5E93\u767B\u8BB0\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216 Git \u5199\u5165":R("required","\u53EA\u6279\u51C6\u9884\u89C8\u4E2D\u7684\u767B\u8BB0\u3001\u505C\u7528\u6216\u672A\u77E5\u64CD\u4F5C\u5173\u95ED\u3002","\u6838\u5BF9\u5B9E\u9645 Host\u3001\u5730\u5740\u3001\u522B\u540D\u548C\u8BBF\u95EE\u65B9\u5F0F\u3002","\u672A\u786E\u8BA4\u4E0D\u80FD\u5E94\u7528\uFF1B\u767B\u8BB0\u4E0D\u521B\u5EFA\u4EFB\u52A1\u3001\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002"),\u6838\u9A8C\u5206\u652F:R("optional","\u672C\u6B21\u53EA\u8BFB\u67E5\u8BE2\u7684\u5206\u652F\u540D\u79F0\u3002","Gitee \u4EFB\u52A1\u4ED3\u5E93\u5DF2\u6709\u5206\u652F\uFF1B\u4E0D\u5728\u6B64\u521B\u5EFA\u3002","\u7559\u7A7A\u67E5\u8BE2\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u3002\u6B64\u9009\u62E9\u4E0D\u7ED1\u5B9A\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u4FDD\u5B58\u4E3A\u6240\u6709\u4EFB\u52A1\u7684\u9ED8\u8BA4\u5206\u652F\u3002","main"),\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD:R("required","\u9009\u62E9\u533F\u540D\u8BFB\u53D6\uFF0C\u6216\u4EC5\u4F7F\u7528\u5B9E\u9645\u67E5\u8BE2\u7AEF\u672C\u9879\u76EE\u4FDD\u5B58\u7684 Gitee \u4EE4\u724C\u3002","\u516C\u5F00\u4ED3\u5E93\u901A\u5E38\u53EF\u533F\u540D\uFF1B\u79C1\u6709\u4ED3\u5E93\u9700\u5728\u672C\u7AEF\u4FDD\u5B58\u4EE4\u724C\uFF0C\u4E91\u7AEF\u5219\u5728\u7B2C 6 \u9875\u5355\u72EC\u4EA4\u63A5\u3002","\u533F\u540D\u5931\u8D25\u4E0D\u4F1A\u81EA\u52A8\u501F\u7528\u4EFB\u4F55\u51ED\u636E\uFF1B\u672C\u7AEF\u8BFB\u53D6\u6210\u529F\u4E0D\u80FD\u66FF\u4EE3\u4E91\u7AEF\u6743\u9650\u3002"),"Gitee \u8BBF\u95EE\u4EE4\u724C":R("optional","\u7528\u4E8E Gitee \u5B98\u65B9 API \u7684\u72EC\u7ACB\u4E2A\u4EBA\u8BBF\u95EE\u4EE4\u724C\uFF0C\u4E0D\u662F SSH \u79C1\u94A5\u3002","\u7531\u7528\u6237\u5728 Gitee \u8D26\u53F7\u4E2D\u6309\u9700\u7533\u8BF7\uFF1B\u4E0D\u8981\u53D1\u5230\u804A\u5929\u6216\u5199\u5165\u666E\u901A\u8868\u5355\u3002","\u516C\u5F00\u4ED3\u5E93\u53EF\u8DF3\u8FC7\uFF1B\u672A\u4FDD\u5B58\u6216\u672A\u4EA4\u63A5\u65F6\uFF0C\u76EE\u6807\u7AEF\u4E0D\u80FD\u7528\u53D7\u7BA1\u4EE4\u724C\u6838\u9A8C\u79C1\u6709\u4ED3\u5E93\u3002\u4FDD\u5B58\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u6743\u9650\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165":R("required","\u6838\u5BF9\u76EE\u6807\u76EE\u5F55\u540E\u786E\u8BA4\u53EA\u4FDD\u5B58\u8BE5\u72EC\u7ACB Gitee \u4EE4\u724C\u3002","\u4EE5\u672C\u6B21\u4EA4\u63A5\u8BA1\u5212\u663E\u793A\u7684\u4E91\u7AEF\u8EAB\u4EFD\u548C\u8DEF\u5F84\u4E3A\u51C6\u3002","\u672A\u52FE\u9009\u4E0D\u53D1\u9001\uFF1B\u540E\u7EED\u4ED3\u5E93\u8BBF\u95EE\u3001\u4EFB\u52A1\u7ED1\u5B9A\u548C\u6BCF\u7C7B\u5199\u5165\u4ECD\u987B\u5206\u522B\u6838\u9A8C\u3002"),"\u4E3A\u4E91\u7AEF\u5B89\u88C5\u53EF\u9009 IM \u63D2\u4EF6":R("optional","\u9009\u62E9\u662F\u5426\u5728\u672C\u6B21\u72EC\u7ACB\u4E91\u7AEF Host \u5B89\u88C5\u5B98\u65B9 IM 5.0.3\u3002","\u9700\u8981\u4ECE IM \u8054\u7CFB\u4E91\u7AEF\u65F6\u52FE\u9009\uFF1B\u5B89\u88C5\u8BA1\u5212\u4F1A\u5217\u51FA\u56FA\u5B9A\u7248\u672C\u3002","\u4E0D\u9009\u4E0D\u4E0B\u8F7D\u6216\u52A0\u8F7D IM\uFF0C\u4ECD\u53EF\u7528 Desktop \u4E0E\u6A21\u578B\u3002\u52FE\u9009\u4E0D\u4F20\u9001\u51ED\u636E\u3001\u4E0D\u7ED1\u5B9A\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\uFF1B\u65E2\u6709\u5B9E\u4F8B\u4E0D\u80FD\u501F\u6B64\u9009\u9879\u6539\u88C5\u3002"),"SSH \u8BA4\u8BC1\u65B9\u5F0F":R("required","\u4F7F\u7528\u5F53\u524D\u7535\u8111\u5DF2\u6709\u79C1\u94A5\u6587\u4EF6\uFF0C\u6216\u5DF2\u914D\u7F6E\u7684 SSH \u4EE3\u7406\u3002","ECS \u5BC6\u94A5\u767B\u5F55\u914D\u7F6E\u6216\u7CFB\u7EDF SSH \u4EE3\u7406\u3002","\u4E0D\u4F7F\u7528\u5BC6\u7801\uFF0C\u4E0D\u590D\u5236\u79C1\u94A5\uFF1B\u4EE3\u7406\u4E0D\u53EF\u7528\u65F6\u4E0D\u4F1A\u81EA\u52A8\u6362\u7528\u5176\u4ED6\u8EAB\u4EFD\u3002"),"SSH \u79C1\u94A5\u6587\u4EF6\u8DEF\u5F84":R("conditional","\u5F53\u524D Host \u4E0A\u5DF2\u6709\u79C1\u94A5\u7684\u7EDD\u5BF9\u8DEF\u5F84\u6216 ~/ \u5F00\u5934\u7684\u8DEF\u5F84\uFF0C\u4E0D\u662F\u79C1\u94A5\u5185\u5BB9\u3002","\u4F60\u7533\u8BF7 ECS \u767B\u5F55\u5BC6\u94A5\u540E\u4FDD\u5B58\u5728\u672C\u673A\u7684\u4F4D\u7F6E\u3002","\u9009\u62E9\u79C1\u94A5\u6587\u4EF6\u65F6\u5FC5\u586B\uFF1B\u5FC5\u987B\u5B58\u5728\u4E14\u6743\u9650\u5B89\u5168\u3002\u4E0D\u4F1A\u4E0A\u4F20\u79C1\u94A5\u3002"),\u6211\u5DF2\u901A\u8FC7\u53EF\u4FE1\u6E20\u9053\u6838\u5BF9\u8FD9\u4E9B\u4E3B\u673A\u516C\u94A5:R("required","\u786E\u8BA4\u7F51\u7EDC\u626B\u63CF\u5F97\u5230\u7684\u516C\u94A5\u6307\u7EB9\u4E0E\u53EF\u4FE1\u4FE1\u606F\u4E00\u81F4\u3002","\u901A\u8FC7 ECS \u63A7\u5236\u53F0\u6267\u884C ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub\uFF0C\u6216\u5411\u7BA1\u7406\u5458\u6838\u5BF9\u3002","\u672A\u7ECF\u6838\u5BF9\u4E0D\u80FD\u4FE1\u4EFB\u6216\u8FDE\u63A5\uFF1B\u516C\u94A5\u53D8\u5316\u65F6\u505C\u6B62\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u3002"),"API Key":R("conditional","\u6A21\u578B\u670D\u52A1\u5546\u9881\u53D1\u7684 API Key\u3002\u53EA\u5728\u6B64\u72EC\u7ACB\u5BC6\u7801\u6846\u586B\u5199\u3002","DeepSeek \u5B98\u65B9\u6216\u5DF2\u5F00\u901A\u7684\u6A21\u578B\u5957\u9910\u63A7\u5236\u53F0\u3002","\u52FE\u9009\u786E\u8BA4\u5E76\u4FDD\u5B58\u540E\u4EC5\u8FDB\u5165\u5F53\u524D Host \u5B98\u65B9\u51ED\u636E\u670D\u52A1\uFF1B\u4E0D\u81EA\u52A8\u8FDE\u63A5\u6A21\u578B\u6216\u4F20\u9001\u81F3 ECS\u3002"),\u6211\u786E\u8BA4\u4FDD\u5B58\u6216\u79FB\u9664\u8FD9\u4E2A\u72EC\u7ACB\u51ED\u636E:R("required","\u4EC5\u6388\u6743\u4FEE\u6539\u672C\u9879\u76EE\u9009\u5B9A\u69FD\u4F4D\u7684\u51ED\u636E\u3002","\u6838\u5BF9\u69FD\u4F4D\u540D\u79F0\u540E\u52FE\u9009\u3002","\u4E0D\u4F1A\u8986\u76D6\u5176\u4ED6\u7528\u6237\u8BB0\u5F55\uFF0C\u4E5F\u4E0D\u662F\u8C03\u7528\u6A21\u578B\u3001\u5F00\u53D1\u6216\u521D\u59CB\u5316\u6388\u6743\u3002"),\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807:R("optional","\u9009\u62E9\u672C\u7AEF\u5168\u5C40\u89C4\u5219\u7684\u8FFD\u52A0\u4F4D\u7F6E\uFF0C\u4E0D\u662F\u9879\u76EE\u89C4\u5219\u3002","\u5B98\u65B9 Host \u7684\u8FDB\u7A0B\u6839\uFF1B\u4E0B\u62C9\u9009\u9879\u7531\u63D2\u4EF6\u63D0\u4F9B\uFF0C\u4E0D\u63A5\u53D7\u4EFB\u610F\u8DEF\u5F84\u3002","\u4EC5\u4E00\u4EFD\u5DF2\u6709\u6587\u4EF6\u65F6\u81EA\u52A8\u9009\u7528\uFF0C\u4E24\u4EFD\u90FD\u6709\u65F6\u5FC5\u987B\u660E\u786E\uFF1B\u6CA1\u6709\u5219\u9ED8\u8BA4\u521B\u5EFA DSH \u5168\u5C40\u6587\u4EF6\u3002"),"\u6211\u786E\u8BA4\u4EC5\u5728\u5F53\u524D\u9694\u79BB Host \u5E94\u7528\u8FD9\u4EFD\u89C4\u5219\u4E0E Skill \u8BA1\u5212":R("required","\u6388\u6743\u9884\u89C8\u4E2D\u8FD9\u6279\u5168\u5C40\u89C4\u5219\u4E0E Skill \u6587\u4EF6\u53D8\u66F4\u3002","\u6838\u5BF9\u6587\u4EF6\u3001\u589E\u91CF\u548C\u51B2\u7A81\u540E\u52FE\u9009\uFF0C\u518D\u70B9\u51FB\u5E94\u7528\u3002","\u672A\u786E\u8BA4\u4E0D\u80FD\u5B89\u88C5\uFF1B\u4E0D\u6388\u6743 ECS\u3001\u6A21\u578B\u8C03\u7528\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u53D1\u5E03\u3002"),"\u6211\u5DF2\u9605\u8BFB\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u67E5\u770B\u4E0B\u4E00\u9875\uFF08\u4E0D\u6388\u6743\u6267\u884C\uFF09":R("required","\u786E\u8BA4\u5DF2\u9605\u8BFB\u672C\u671F\u4FDD\u62A4\u7B56\u7565\uFF0C\u4EC5\u524D\u5F80\u672A\u6267\u884C\u9636\u6BB5\u8BF4\u660E\u3002","\u67E5\u770B\u5F53\u524D\u5019\u9009\u8DEF\u5F84\u3001\u89C4\u5219\u4E0E Skill \u51B2\u7A81\u63D0\u793A\u540E\u52FE\u9009\u3002","\u672A\u52FE\u9009\u4E0D\u80FD\u8FDB\u5165\u4E0B\u4E00\u9875\uFF1B\u5373\u4F7F\u52FE\u9009\u4E5F\u4E0D\u4F1A\u6388\u6743\u521D\u59CB\u5316\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002"),"ECS \u5730\u5740":R("required","\u4E91\u7AEF ECS \u7684 IP \u6216\u4E3B\u673A\u540D\uFF0C\u4E0D\u662F Web \u767B\u5F55\u5730\u5740\u3002","ECS \u5B9E\u4F8B\u8FDE\u63A5\u4FE1\u606F\u6216\u7BA1\u7406\u5458\u3002","\u4E3A\u7A7A\u6216\u683C\u5F0F\u9519\u8BEF\u4E0D\u80FD\u7EE7\u7EED\u3002\u672C\u671F\u53EA\u6821\u9A8C\u683C\u5F0F\uFF0C\u4E0D\u53D1\u8D77 SSH\u3002","192.0.2.24\uFF08\u6587\u6863\u793A\u4F8B\uFF09"),"SSH \u767B\u5F55\u7528\u6237":R("required","SSH \u767B\u5F55\u8D26\u53F7\uFF0C\u4E0D\u662F\u673A\u5668\u4EBA\u6635\u79F0\uFF1B\u4E0D\u7B49\u4E8E DSH \u670D\u52A1\u8D26\u53F7\u3002","\u670D\u52A1\u5668\u7BA1\u7406\u5458\u3002","\u4E3A\u7A7A\u4E0D\u80FD\u7EE7\u7EED\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u4E3A root\u3002","dsh-user"),"SSH \u7AEF\u53E3":R("required","SSH \u670D\u52A1\u7AEF\u53E3\uFF0C1\u201365535\u3002","\u7BA1\u7406\u5458\u63D0\u4F9B\uFF1B\u9ED8\u8BA4 22\u3002","\u7F3A\u5C11\u6216\u683C\u5F0F\u9519\u8BEF\u4E0D\u80FD\u7EE7\u7EED\u3002"),"SSH \u51ED\u636E\u5F15\u7528":R("required","\u8BA1\u5212\u4F7F\u7528\u7684\u51ED\u636E\u5F15\u7528\u540D\u79F0\uFF0C\u4E0D\u662F\u5BC6\u7801\u6216\u79C1\u94A5\u5185\u5BB9\u3002","\u4F60\u8BA1\u5212\u4F7F\u7528\u7684\u51ED\u636E\u8BB0\u5F55\u540D\u79F0\uFF1B\u540E\u7EED\u5B89\u5168\u914D\u7F6E\u9636\u6BB5\u518D\u7ED1\u5B9A\u3002","\u7F3A\u5C11\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u540D\u79F0\u5B58\u5728\u4E0D\u4EE3\u8868\u51ED\u636E\u53EF\u7528\uFF0C\u4E0D\u590D\u5236 Git \u79C1\u94A5\u3002","ecs-login"),"DeepSeek \u51ED\u636E\u5F15\u7528":R("required","DeepSeek \u5B98\u65B9 API Key \u7684\u5F15\u7528\u540D\uFF0C\u4E0D\u8F93\u5165 Key \u539F\u6587\u3002","\u4F8B\u5982\u8BA1\u5212\u914D\u7F6E\u7684\u73AF\u5883\u53D8\u91CF\u540D\uFF1B\u666E\u901A\u8868\u5355\u4E0D\u8BFB\u53D6\u5176\u503C\uFF1B\u4E5F\u53EF\u4F7F\u7528\u4E0A\u65B9\u72EC\u7ACB\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u7F3A\u5C11\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u7F51\u7EDC\u548C\u51ED\u636E\u6709\u6548\u6027\u4ECD\u5F85\u540E\u7EED\u9A8C\u6536\u3002","DEEPSEEK_API_KEY"),\u4E91\u7AEF\u72EC\u7ACB\u51ED\u636E\u5F15\u7528:R("conditional","\u4E91\u7AEF\u4F7F\u7528\u7684\u72EC\u7ACB DeepSeek \u51ED\u636E\u540D\u79F0\u3002","\u4E91\u7AEF\u670D\u52A1\u7BA1\u7406\u5458\u63D0\u4F9B\u7684\u5F15\u7528\u540D\u3002","\u9009\u62E9\u72EC\u7ACB\u51ED\u636E\u65F6\u5FC5\u586B\uFF1B\u5171\u4EAB\u610F\u5411\u4E5F\u4E0D\u6388\u6743\u672C\u671F\u4F20\u8F93\u51ED\u636E\u3002","CLOUD_DEEPSEEK_API_KEY"),\u51ED\u636E\u7528\u9014:R("required","\u9009\u62E9\u4E24\u7AEF\u4F7F\u7528\u540C\u4E00\u51ED\u636E\u8FD8\u662F\u5206\u522B\u914D\u7F6E\u3002","\u6309\u4F60\u7684\u7528\u9014\u3001\u8BA1\u8D39\u548C\u7BA1\u7406\u8981\u6C42\u9009\u62E9\u3002","\u5FC5\u987B\u660E\u786E\u8303\u56F4\uFF1B\u5171\u4EAB\u4EC5\u4E3A\u610F\u5411\uFF0C\u4E0D\u81EA\u52A8\u5411 ECS \u4F20\u9001\u5BC6\u94A5\u3002"),\u521D\u59CB\u4EFB\u52A1\u6A21\u578B:R("required","\u6A21\u578B\u540D\u79F0\u6216\u81EA\u7136\u8BED\u8A00\u7B80\u79F0\uFF0C\u4E0D\u8981\u6C42 provider \u7F16\u53F7\u3002","\u6309\u76EE\u6807\u7AEF\u8BA1\u5212\u914D\u7F6E\u9009\u62E9\uFF0C\u5982\u201Cds flash\u201D\u3002","\u4E3A\u7A7A\u4E0D\u80FD\u7EE7\u7EED\uFF1B\u6B64\u5904\u53EA\u68C0\u67E5\u586B\u5199\uFF0C\u4E0D\u58F0\u79F0\u5DF2\u89E3\u6790\u4E3A\u53EF\u7528\u6A21\u578B\uFF0C\u4E0D\u6539\u53D8\u9ED8\u8BA4\u6A21\u578B\u3002","ds flash"),\u63A5\u5165\u5957\u9910:R("conditional","\u53EF\u9009\u6A21\u578B\u5957\u9910\u4E0E\u533A\u57DF\u3002","\u5DF2\u5F00\u901A\u7684\u6A21\u578B\u5957\u9910\u63A7\u5236\u53F0\u3002","\u542F\u7528\u540E\u5FC5\u9009\uFF1B\u4E0D\u81EA\u52A8\u5207\u6362\u4E3A\u6309\u91CF\u4ED8\u8D39\u3002"),"Token Plan \u51ED\u636E\u5F15\u7528":R("optional","\u672C\u7AEF\u6A21\u578B\u5957\u9910 Key \u7684\u5F15\u7528\uFF0C\u4E0D\u662F RAM AccessKey \u6216 SSH \u79C1\u94A5\u3002","\u4E0A\u65B9\u201C\u672C\u7AEF\u963F\u91CC\u4E91 Token Plan\u201D\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u542F\u7528\u5957\u9910\u540E\u672C\u7AEF\u3001\u4E91\u7AEF\u81F3\u5C11\u586B\u4E00\u7AEF\uFF1B\u53EA\u914D\u7F6E\u4E91\u7AEF\u65F6\u672C\u9879\u53EF\u7559\u7A7A\uFF0C\u4E0D\u5F71\u54CD DeepSeek\u3002","TOKEN_PLAN_API_KEY"),"\u4E91\u7AEF Token Plan \u51ED\u636E\u5F15\u7528":R("optional","\u4E91\u7AEF\u6A21\u578B\u5957\u9910\u4E13\u7528 Key \u7684\u5F15\u7528\uFF0C\u4E0D\u662F Key \u539F\u6587\u3002","\u4F7F\u7528\u4E0A\u65B9\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\u72EC\u7ACB\u51ED\u636E\u69FD\u4F4D\u7684\u5F15\u7528\u3002","\u7559\u7A7A\u53EF\u8DF3\u8FC7\u4E91\u7AEF\u53EF\u9009\u6A21\u578B\u670D\u52A1\uFF0C\u4E0D\u5F71\u54CD\u672C\u7AEF\u6216 DeepSeek\uFF1B\u586B\u5199\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u4EA4\u63A5\uFF0C\u9700\u5728\u7B2C 6 \u9875\u72EC\u7ACB\u786E\u8BA4\u3002","dsh-managed:token-plan-cloud"),"Gitee \u4ED3\u5E93\u5730\u5740":R("conditional","\u7528\u6237\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93\u4E3B\u9875\uFF0C\u4E0D\u662F\u4EA7\u54C1\u6E90\u7801\u4ED3\u5E93\u3002","\u4ED3\u5E93\u7684 HTTPS \u4E3B\u9875\u5730\u5740\uFF0C\u4E0D\u542B\u4EE4\u724C\u3002","\u542F\u7528\u540E\u5FC5\u586B\uFF1B\u672C\u671F\u53EA\u6821\u9A8C\u683C\u5F0F\uFF0C\u4E0D\u8BBF\u95EE\u6216\u63D0\u4EA4\u3002\u53EF\u5173\u95ED\u5173\u8054\u540E\u7EE7\u7EED\u3002","https://gitee.com/team/deliverables"),\u4ED3\u5E93\u522B\u540D:R("optional","\u81EA\u7136\u8BED\u8A00\u91CC\u65B9\u4FBF\u79F0\u547C\u4ED3\u5E93\u7684\u540D\u5B57\u3002","\u81EA\u7531\u586B\u5199\u3002","\u7559\u7A7A\u4F7F\u7528\u4ED3\u5E93\u540D\u79F0\uFF0C\u4E0D\u5F71\u54CD\u6210\u679C\u4ECB\u7ECD\u4E0E\u4F1A\u8BDD\u5165\u53E3\u3002","\u6211\u7684\u6210\u679C\u5E93"),"\u4E3A\u4E91\u7AEF\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u73AF\u5883":R("optional","\u540E\u7EED\u51C6\u5907\u5DE5\u5177\u7684\u610F\u5411\uFF0C\u4E0D\u662F\u7ACB\u5373\u5B89\u88C5\u3002","\u8BA1\u5212\u5F00\u5C55\u5F00\u53D1\u7C7B\u4EFB\u52A1\u65F6\u9009\u3002","\u4E0D\u9009\u4E0D\u5F71\u54CD\u975E\u4ED3\u5E93\u4EFB\u52A1\uFF1B\u9009\u4E2D\u4E5F\u4E0D\u6388\u6743\u5F00\u53D1\u3001commit \u6216 push\u3002")},uo={chat:{label:"\u804A\u5929\u5165\u53E3",...R("optional","\u9009\u62E9\u662F\u5426\u9700\u8981 IM\u3002","\u540E\u7EED\u901A\u8FC7\u5B98\u65B9\u63D2\u4EF6\u914D\u7F6E\u3002","\u8DF3\u8FC7\u4E0D\u5F71\u54CD Desktop\uFF1B\u4E0D\u63A5\u7BA1\u65E7\u673A\u5668\u4EBA\u3002")},approval:{label:"\u5BA1\u6279\u4E0E\u64CD\u4F5C\u6388\u6743",...R("optional","\u540E\u7EED\u914D\u7F6E\u53EF\u4FE1\u804A\u5929\u6216\u8DE8\u5E73\u53F0\u7F51\u9875\u786E\u8BA4\u3002","\u9700\u8981\u72EC\u7ACB\u6838\u9A8C\u672C\u4EBA\u8EAB\u4EFD\u4E0E\u65B9\u6848\u3002","\u8DF3\u8FC7\u4E0D\u5F00\u653E\u53D7\u7BA1\u5F00\u53D1\uFF1B\u672C\u9875\u6CA1\u6709\u6279\u51C6\u4EFB\u4F55\u4EFB\u52A1\u3002")},models:{label:"\u5176\u4ED6\u6A21\u578B\u670D\u52A1",...R("optional","\u5728 DeepSeek \u57FA\u7840\u4E0A\u589E\u52A0\u670D\u52A1\u3002","\u5F00\u542F\u540E\u586B\u5199\u5957\u9910\u548C\u51ED\u636E\u5F15\u7528\u3002","\u4E0D\u542F\u7528\u4E0D\u5F71\u54CD DeepSeek\uFF1B\u542F\u7528\u540E\u7F3A\u9879\u4E0D\u80FD\u7EE7\u7EED\u3002")},repository:{label:"\u4EFB\u52A1\u6210\u679C\u4ED3\u5E93",...R("optional","\u4EFB\u52A1\u6309\u9700\u4F7F\u7528 Gitee B \u4ED3\u5E93\u3002","\u586B\u5199\u81EA\u5DF1\u7684\u4ED3\u5E93\u5730\u5740\u3002","\u65E0\u4ED3\u5E93\u4ECD\u6709\u6210\u679C\u4ECB\u7ECD\u4E0E\u6267\u884C\u4F1A\u8BDD\u3002")},development:{label:"\u5F00\u53D1\u80FD\u529B\u51C6\u5907",...R("optional","\u672A\u6765\u51C6\u5907 Git \u4E0E\u6D4B\u8BD5\u5DE5\u5177\u3002","\u6709\u9700\u8981\u518D\u9009\u62E9\u3002","\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u4FDD\u6301\u9010\u4EFB\u52A1\u72EC\u7ACB\u5BA1\u6279\u3002")}};var Ka=(0,A.createContext)(null);function no({onHelp:e,children:o}){return A.default.createElement(Ka.Provider,{value:e},o)}var zr={arrow:ra,check:sa,cloud:da,monitor:va,key:La,shield:ya,chat:Ca,git:ma,down:ua,info:Qe,link:ha,spinner:Ve,success:qe,warning:We,file:pa,folder:Ia,external:la,close:Oa,pause:xa,play:_a,reset:ka,settings:Aa,lock:ga,back:na,save:ba,terminal:Na,plus:Sa,download:ca,offline:wa,copy:fa,chevron:ia,help:Ge};function _e({name:e,...o}){let l=zr[e]||Qe;return A.default.createElement(l,{"aria-hidden":"true",strokeWidth:1.7,...o})}function Re({pose:e="welcome",className:o=""}){return A.default.createElement("div",{"aria-hidden":"true",className:"companion "+o,"data-pose":e})}function ke({children:e,tone:o=""}){return A.default.createElement("span",{className:"badge "+o},e)}function v({children:e,icon:o,end:l,kind:u="",...f}){return A.default.createElement("button",{type:"button",className:"button "+u,...f},o&&A.default.createElement(_e,{name:o}),A.default.createElement("span",null,e),l&&A.default.createElement(_e,{name:l}))}function Ra({kind:e}){return A.default.createElement("span",{className:"requirement-badge "+e},e==="required"&&A.default.createElement("span",{"aria-hidden":"true"},"*"),so[e])}function dt({label:e,meta:o=za[e]}){let l=(0,A.useContext)(Ka);return o?A.default.createElement("button",{type:"button",className:"field-help-button","aria-label":e+"\u586B\u5199\u8BF4\u660E","aria-haspopup":"dialog",title:"\u4E86\u89E3"+e,onClick:()=>l?.(e+" \xB7 \u586B\u5199\u8BF4\u660E",A.default.createElement(A.default.Fragment,null,A.default.createElement("div",{className:"help-intro"},A.default.createElement(Ra,{kind:o.kind}),A.default.createElement("span",null,o.kind==="required"?"\u7F3A\u5C11\u6B64\u9879\uFF0C\u65E0\u6CD5\u7EE7\u7EED":o.kind==="conditional"?"\u529F\u80FD\u53EF\u9009\uFF1B\u542F\u7528\u540E\u9700\u8981\u8865\u9F50":o.kind==="auto"?"\u7CFB\u7EDF\u8BC6\u522B\uFF0C\u65E0\u9700\u624B\u5DE5\u586B\u5199":"\u53EF\u8DF3\u8FC7\uFF0C\u6216\u4FDD\u7559\u9ED8\u8BA4\u503C")),A.default.createElement("dl",{className:"help-facts"},A.default.createElement("div",null,A.default.createElement("dt",null,"\u586B\u5199\u4EC0\u4E48"),A.default.createElement("dd",null,o.what)),A.default.createElement("div",null,A.default.createElement("dt",null,"\u4ECE\u54EA\u91CC\u83B7\u53D6"),A.default.createElement("dd",null,o.where)),o.example&&A.default.createElement("div",null,A.default.createElement("dt",null,"\u586B\u5199\u793A\u4F8B"),A.default.createElement("dd",null,A.default.createElement("code",null,o.example))),A.default.createElement("div",{className:"help-impact"},A.default.createElement("dt",null,"\u4E0D\u586B\u4F1A\u600E\u6837"),A.default.createElement("dd",null,o.impact))),A.default.createElement("p",{className:"help-preview-note"},"\u666E\u901A\u8868\u5355\u53EA\u586B\u5F15\u7528\uFF1BKey \u53EA\u5728\u72EC\u7ACB\u5BC6\u7801\u6846\u586B\u5199\u5E76\u786E\u8BA4\u4FDD\u5B58\u3002\u89C4\u5219\u4E0E Skill \u5B89\u88C5\u4ECD\u9700\u7B2C 5 \u9875\u72EC\u7ACB\u786E\u8BA4\u3002")))},A.default.createElement(_e,{name:"help"})):null}function Kr({title:e,children:o}){let l=(0,A.useContext)(Ka);return A.default.createElement("button",{type:"button",className:"field-help-button section-help","aria-label":e+"\u8BF4\u660E","aria-haspopup":"dialog",onClick:()=>l?.(e,o)},A.default.createElement(_e,{name:"help"}))}function j({title:e,sub:o,icon:l,children:u,className:f="",extra:i}){let a=Object.values(uo).find(p=>p.label===e);return A.default.createElement("section",{className:"panel "+f},e&&A.default.createElement("header",{className:"panel-heading"},A.default.createElement("div",null,A.default.createElement("div",{className:"panel-title-line"},A.default.createElement("h2",null,l&&A.default.createElement(_e,{name:l})," ",e),a&&A.default.createElement("div",{className:"field-markers"},A.default.createElement(Ra,{kind:a.kind}),A.default.createElement(dt,{label:e,meta:{...a,what:o?A.default.createElement(A.default.Fragment,null,a.what,A.default.createElement("p",null,o)):a.what}})),o&&!a&&A.default.createElement(Kr,{title:e||"\u672C\u8282"},o))),i),u)}function Se({label:e,hint:o,children:l,...u}){let f=(0,A.useId)(),i=za[e],a=i?.kind==="required"||i?.kind==="conditional",p=l||A.default.createElement("input",{...u});return A.default.createElement("div",{className:"field","data-requirement":i?.kind},A.default.createElement("div",{className:"field-heading"},A.default.createElement("label",{htmlFor:f},e),i&&A.default.createElement("div",{className:"field-markers"},A.default.createElement(Ra,{kind:i.kind}),A.default.createElement(dt,{label:e,meta:i}))),A.default.cloneElement(p,{id:f,required:a,"aria-required":a||void 0,"aria-describedby":o?f+"-hint":void 0}),o&&A.default.createElement("small",{id:f+"-hint"},o))}function J({checked:e,onChange:o,title:l,sub:u,disabled:f=!1}){let i=za[l];return A.default.createElement("div",{className:"check-controls"},A.default.createElement("label",{className:"check-row "+(f?"disabled":"")},A.default.createElement("input",{type:"checkbox",checked:e,disabled:f,required:i?.kind==="required",onChange:a=>o(a.target.checked)}),A.default.createElement("span",null,A.default.createElement("strong",null,l),u&&A.default.createElement("small",null,u))),i&&A.default.createElement("div",{className:"field-markers"},A.default.createElement(Ra,{kind:i.kind}),A.default.createElement(dt,{label:l,meta:{...i,what:u?A.default.createElement(A.default.Fragment,null,i.what,A.default.createElement("p",null,u)):i.what}})))}function b({children:e,tone:o="",title:l}){return A.default.createElement("div",{className:"callout "+o},A.default.createElement(_e,{name:o==="warn"?"warning":"info"}),A.default.createElement("div",null,l&&A.default.createElement("strong",null,l),e))}function ze({pose:e="welcome",title:o,children:l}){let u=(0,A.useContext)(Ka);return A.default.createElement("div",{className:"context-help mascot-zone"},A.default.createElement(Re,{pose:e}),A.default.createElement("button",{type:"button",className:"context-help-trigger","aria-haspopup":"dialog",onClick:()=>u?.(o,A.default.createElement("div",{className:"context-body"},l,A.default.createElement("div",{className:"summary-foot"},A.default.createElement(_e,{name:"shield"}),A.default.createElement("span",null,"\u672A\u6279\u51C6\u4E0D\u6267\u884C \xB7 \u4EE5\u5B9E\u9645\u56DE\u6267\u4E3A\u51C6"))))},A.default.createElement(_e,{name:"help"}),A.default.createElement("span",null,o)))}function _({label:e,value:o,status:l}){return A.default.createElement("div",{className:"info-row"},A.default.createElement("span",null,e),A.default.createElement("strong",null,l&&A.default.createElement(_e,{name:l})," ",o))}function Xa({modal:e,onClose:o}){let l=(0,A.useRef)(),u=!!e;return(0,A.useEffect)(()=>{if(u)return l.current.showModal(),()=>l.current?.close()},[u]),A.default.createElement("dialog",{ref:l,onCancel:f=>{f.preventDefault(),o()},onClick:f=>{f.target===f.currentTarget&&o()}},A.default.createElement("header",null,A.default.createElement("div",null,A.default.createElement("span",{className:"eyebrow"},e?.eyebrow??"\u914D\u7F6E\u5BFC\u89C8 \xB7 \u5B57\u6BB5\u8BF4\u660E"),A.default.createElement("h2",null,e?.title)),A.default.createElement("button",{type:"button",className:"icon-button","aria-label":"\u5173\u95ED\u5F39\u7A97",onClick:o},A.default.createElement(_e,{name:"close"}))),A.default.createElement("div",{className:"modal-body"},e?.body),A.default.createElement("footer",null,A.default.createElement(v,{kind:"primary",onClick:o},e?.closeLabel??"\u77E5\u9053\u4E86")))}var oe=Le(me());function io({trail:e,back:o,render:l,guide:u,keyboard:f}){let i=(0,oe.useRef)({}),a=(0,oe.useRef)(),[p,I]=(0,oe.useState)(null),m=e.map(d=>d.key).join("|"),r=p?.trailKey===m,c=r?p.index:e.length-1,t=()=>f||matchMedia("(prefers-reduced-motion: reduce)").matches;(0,oe.useEffect)(()=>{i.current[e[c].key]?.querySelector("h1")?.focus({preventScroll:!0});let n=a.current,x=()=>{let h=n?.querySelector("[aria-current=page]");if(n&&h){let C=n.getBoundingClientRect(),S=h.getBoundingClientRect();S.right>C.right?n.scrollLeft+=S.right-C.right+4:S.left<C.left&&(n.scrollLeft+=S.left-C.left-4)}};x();let g=new ResizeObserver(x);return n&&g.observe(n),()=>g.disconnect()},[e[c].key]),(0,oe.useEffect)(()=>{if(p===null)return;if(!r){I(null);return}let d=setTimeout(()=>{o(p.index),I(null)},t()?0:260);return()=>clearTimeout(d)},[p,m]);let s=d=>{!r&&d>=0&&d<c&&I({index:d,trailKey:m})};return oe.default.createElement("div",{className:"v2-deck","data-depth":c+1,"data-returning":r?"true":"false",onKeyDown:d=>{d.key==="Escape"&&!d.target.closest("dialog")&&c>0&&(d.preventDefault(),s(c-1))}},oe.default.createElement("div",{className:"v2-toolbar"},c>0&&oe.default.createElement(v,{kind:"text","aria-label":"\u4E0A\u4E00\u5C42",onClick:()=>s(c-1),icon:"back"},"\u8FD4\u56DE"),oe.default.createElement("nav",{ref:a,"aria-label":"\u9875\u9762\u5C42\u7EA7","data-guide":"tabs"},e.map((d,n)=>oe.default.createElement("button",{key:d.key,type:"button",className:"v2-tab","aria-label":`${n+1} \u5C42 ${d.label}${n===c?"\uFF0C\u5F53\u524D\u9875":""}`,"aria-current":n===c?"page":void 0,disabled:r||n>c,style:{"--angle":n===c?"0deg":n%2?"3deg":"-3deg"},onClick:()=>s(n)},oe.default.createElement("span",null,String(n+1).padStart(2,"0")),d.label))),oe.default.createElement(v,{kind:"text",icon:"help",onClick:u,disabled:r},"\u64CD\u4F5C\u6307\u5F15")),oe.default.createElement("div",{className:"v2-sheets"},e.map((d,n)=>oe.default.createElement(Rr,{key:d.key,returning:r,active:n===c,exiting:n>c,index:n,keyboard:f,setRef:x=>i.current[d.key]=x},l(d,n===c)))))}function Rr({active:e,exiting:o,index:l,children:u,setRef:f,keyboard:i,returning:a}){let[p,I]=(0,oe.useState)(!1);return(0,oe.useEffect)(()=>{let m,r=requestAnimationFrame(()=>{m=requestAnimationFrame(()=>I(!0))});return()=>{cancelAnimationFrame(r),cancelAnimationFrame(m)}},[]),oe.default.createElement("article",{ref:f,"data-current":e?"true":"false",className:`v2-paper ${p?"entered":""} ${e?"current":"ancestor"} ${o?"exiting":""}`,inert:!e||a,"aria-hidden":!e,style:{"--angle":l%2?"4deg":"-4deg",zIndex:l+1}},oe.default.createElement("div",{className:"v2-scroll"},u))}function fo({root:e,onClose:o}){let[l,u]=(0,oe.useState)(0),[f,i]=(0,oe.useState)(null),[a,p]=(0,oe.useState)(220),I=(0,oe.useRef)(),m=(0,oe.useRef)(),r=(0,oe.useRef)(document.activeElement),c=(0,oe.useRef)(null);if(!c.current){let C=[...e.current?.querySelector("[data-current=true]")?.querySelectorAll("[data-guide]")??[]].filter(D=>D.getBoundingClientRect().width>0).slice(0,4),S=e.current?.querySelector("[data-guide=tabs]");S&&C.push(S),c.current=C.map(D=>({guide:D.dataset.guide,title:D.dataset.guideTitle??"\u4FBF\u7B7E\u8FD4\u56DE",text:D.dataset.guideText??"\u70B9\u51FB\u4EFB\u610F\u4E0A\u5C42\u4FBF\u7B7E\u76F4\u63A5\u8FD4\u56DE\uFF1B\u5F53\u524D\u7EB8\u9875\u6807\u660E\u4F60\u7684\u4F4D\u7F6E\u3002"}))}let t=c.current[l],s=()=>{let C=[...(t?.guide==="tabs"?e.current:e.current?.querySelector("[data-current=true]"))?.querySelectorAll("[data-guide]")??[]].find(S=>S.dataset.guide===t?.guide);return C&&C.getBoundingClientRect().height>220&&C.querySelector("button,label,h2,input")||C};(0,oe.useEffect)(()=>{I.current.showModal();let h=new ResizeObserver(()=>p(m.current?.getBoundingClientRect().height??220));return m.current&&h.observe(m.current),()=>{h.disconnect(),I.current?.close(),r.current?.isConnected&&r.current.focus()}},[]),(0,oe.useEffect)(()=>{let h=s();if(!h)return;let C=h.closest(".v2-scroll");if(C){let te=h.getBoundingClientRect(),U=C.getBoundingClientRect();C.scrollTop+=te.top-U.top-Math.max(24,(U.height-te.height)/2-80)}e.current&&(e.current.scrollTop=0);let S=()=>{let te=s();if(!te?.isConnected)return;let U=te.getBoundingClientRect(),ie=Math.min(innerWidth-8,Math.max(8,U.x-5)),se=Math.min(innerHeight-8,Math.max(8,U.y-5)),we={x:ie,y:se,w:Math.max(0,Math.min(U.right+5,innerWidth-8)-ie),h:Math.max(0,Math.min(U.bottom+5,innerHeight-8)-se)};i(Oe=>Oe&&Object.keys(we).every(De=>Math.abs(Oe[De]-we[De])<.25)?Oe:we)};S();let D,N=performance.now()+360,T=()=>{S(),performance.now()<N&&(D=requestAnimationFrame(T))};D=requestAnimationFrame(T);let O=new ResizeObserver(S);O.observe(h),e.current&&O.observe(e.current);let w=e.current,Q=new MutationObserver(S);return w&&Q.observe(w,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["class","style","data-current"]}),w?.addEventListener("transitionend",S,!0),window.addEventListener("resize",S),window.addEventListener("scroll",S,!0),()=>{cancelAnimationFrame(D),O.disconnect(),Q.disconnect(),w?.removeEventListener("transitionend",S,!0),window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0)}},[l]);let d=Math.min(340,innerWidth-24),n=f&&f.y+f.h+a+20>innerHeight,x=f?n?Math.max(12,f.y-a-18):Math.min(innerHeight-a-12,f.y+f.h+18):80,g=f?Math.max(12,Math.min(f.x,innerWidth-d-12)):12;return oe.default.createElement("dialog",{ref:I,className:"v2-guide","aria-label":"\u64CD\u4F5C\u6307\u5F15",onCancel:h=>{h.preventDefault(),o()}},f&&oe.default.createElement("div",{className:"v2-highlight",style:{left:f.x,top:f.y,width:f.w,height:f.h}}),oe.default.createElement("section",{ref:m,className:"v2-guide-card",style:{left:g,top:x,width:d}},oe.default.createElement("span",{className:"v2-guide-arrow "+(n?"below":"above"),style:{left:Math.max(20,Math.min(d-32,(f?.x??g)+Math.min((f?.w??60)/2,80)-g))}},oe.default.createElement(_e,{name:n?"down":"back"})),oe.default.createElement("header",null,oe.default.createElement("span",null,"\u64CD\u4F5C\u6307\u5F15 \xB7 ",l+1,"/",c.current.length),oe.default.createElement("button",{onClick:o},"\u9000\u51FA")),oe.default.createElement("h2",null,t?.title??"\u672C\u9875\u64CD\u4F5C"),oe.default.createElement("p",null,t?.text??"\u5F53\u524D\u9875\u9762\u5C1A\u672A\u52A0\u8F7D\u53EF\u64CD\u4F5C\u5185\u5BB9\uFF0C\u8BF7\u5173\u95ED\u540E\u91CD\u65B0\u6838\u5BF9\u3002"),oe.default.createElement("footer",null,oe.default.createElement(v,{disabled:!l,onClick:()=>u(l-1)},"\u4E0A\u4E00\u6B65"),oe.default.createElement(v,{kind:"primary",onClick:()=>l+1>=c.current.length?o():u(l+1)},l+1>=c.current.length?"\u6211\u77E5\u9053\u4E86":"\u4E0B\u4E00\u6B65"))))}function Xr(e,o,l=0){let u={top:0,right:0,bottom:0,left:0};if(!o||o.width<=0||o.height<=0)return u;let f=Math.max(e.left,o.left-8),i=Math.max(e.top+l,o.top-8),a=Math.min(e.right,o.right+8),p=Math.min(e.bottom,o.bottom+8);if(a<=f||p<=i)return u;let I=e.width,m=Math.max(0,e.height-l),r=[{inset:{...u,right:e.right-f},w:f-e.left,h:m},{inset:{...u,left:a-e.left},w:e.right-a,h:m},{inset:{...u,bottom:e.bottom-i},w:I,h:i-e.top-l},{inset:{...u,top:p-e.top-l},w:I,h:e.bottom-p}],c=r.filter(d=>d.w>=Math.min(320,I)&&d.h>=Math.min(240,m)),t=I<=580?c.filter(d=>d.inset.left===0&&d.inset.right===0):[];return(t.length?t:c.length?c:r).sort((d,n)=>n.w*n.h-d.w*d.h)[0].inset}function co(e){if(!e)return()=>{};let o=e.ownerDocument,l=o.defaultView,u=null,f=0,i=!1,a=["top","right","bottom","left"].map(n=>"--v2-widget-"+n),p=n=>n&&l.getComputedStyle(n).display!=="none"&&l.getComputedStyle(n).visibility!=="hidden",I=()=>{if(f=0,i)return;let n=u?.querySelector(".dshwv-img"),x=p(u)&&p(n)?n.getBoundingClientRect():null,g=Xr(e.getBoundingClientRect(),x,parseFloat(l.getComputedStyle(e).getPropertyValue("--v2-shell-top"))||0);for(let[h,C]of Object.entries(g)){let S="--v2-widget-"+h,D=Math.ceil(C)+"px";e.style.getPropertyValue(S)!==D&&e.style.setProperty(S,D)}},m=()=>{!i&&!f&&(f=l.requestAnimationFrame(I))},r=new l.ResizeObserver(m),c=new l.MutationObserver(m),t=()=>{let n=o.querySelector(".dshwv-root");n!==u&&(c.disconnect(),u&&r.unobserve(u),u=n,u&&(r.observe(u),c.observe(u,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","class","hidden"]}))),m()},s=new l.MutationObserver(t);s.observe(o.body,{childList:!0});let d=new l.MutationObserver(m);for(let n=e.parentElement;n;n=n.parentElement)d.observe(n,{attributes:!0,attributeFilter:["data-platform","data-fullscreen","data-sidebar-collapsed","data-sidebar-drawer","style"]});return r.observe(e),l.addEventListener("resize",m),o.addEventListener("transitionend",m,!0),o.addEventListener("pointerup",m,!0),t(),()=>{i=!0,l.cancelAnimationFrame(f),r.disconnect(),c.disconnect(),s.disconnect(),d.disconnect(),l.removeEventListener("resize",m),o.removeEventListener("transitionend",m,!0),o.removeEventListener("pointerup",m,!0);for(let n of a)e.style.removeProperty(n)}}var B=Le(me());var q=Le(me());var po={off:"\u4EC5\u54CD\u5E94\u4EA4\u529E",observe:"\u89C2\u5BDF\u5019\u9009",auto:"\u81EA\u52A8\u5904\u7406"},$r={pending:"\u5F85\u5224\u65AD",unavailable:"\u6682\u65E0\u6CD5\u5224\u65AD",ignored:"\u672A\u63A5\u65B0\u5355",observed:"\u4EC5\u89C2\u5BDF",owned:"\u5DF2\u5F52\u5165\u539F\u4EFB\u52A1",accepted:"\u5DF2\u53D7\u7406"},$a=(e,o,l)=>({"data-guide":e,"data-guide-title":o,"data-guide-text":l});function mo({kind:e,request:o,draft:l}){let[u,f]=(0,q.useState)(null),[i,a]=(0,q.useState)(""),[p,I]=(0,q.useState)(!1),[m,r]=(0,q.useState)(0),[c,t]=(0,q.useState)(0);(0,q.useEffect)(()=>{let n=!0;return I(!0),a(""),o("source-status",{after:m,limit:20}).then(x=>{n&&f({...x,readAt:Date.now()})}).catch(()=>{n&&a("\u672A\u80FD\u8BFB\u53D6\u4E91\u7AEF\u72B6\u6001\u3002\u5DF2\u6709\u5185\u5BB9\u4EC5\u4E3A\u5386\u53F2\u5FEB\u7167\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u6216\u5207\u6362\u5230\u672C\u5730\u3002")}).finally(()=>{n&&I(!1)}),()=>{n=!1}},[o,m,c]);let s=(n,x)=>l(n,`${x}
339
+ \u8BF7\u5148\u56DE\u8BFB\u5F53\u524D\u914D\u7F6E\u4E0E\u539F\u56DE\u6267\uFF0C\u6838\u5BF9\u7248\u672C\u540E\u5904\u7406\uFF1B\u6B64\u5904\u4EC5\u4E3A\u6307\u793A\u8349\u7A3F\uFF0C\u672A\u6267\u884C\u3002`),d=()=>s("\u51C6\u5907\u4E3B\u52A8\u5DE5\u4F5C\u7B56\u7565","\u8BF7\u6838\u5BF9\u73B0\u6709\u6765\u6E90\u540E\u6574\u7406\u4E3B\u52A8\u5DE5\u4F5C\u8BA1\u5212\uFF1A\u6765\u6E90\u4E0E\u8303\u56F4\u3001\u660E\u786E\u76EE\u6807\u3001\u6587\u6848\u6216\u5C40\u90E8\u89C6\u89C9\u4FEE\u6B63\u89C4\u5219\u3001\u5DE5\u4F5C\u76EE\u5F55\u3001\u4EA4\u4ED8\u65B9\u5F0F\u3001\u672C\u671F\u81EA\u52A8\u65B0\u5EFA\u4EFB\u52A1\u603B\u6570\uFF08\u7531\u6211\u6307\u5B9A\uFF0C\u4E0D\u4EE3\u586B\uFF09\u3001\u53EF\u9009\u4E1A\u52A1\u671F\u9650\u3002\u5148\u7ED9\u6211\u786E\u8BA4\uFF0C\u4E0D\u542F\u52A8\u771F\u5B9E\u6765\u6E90\u3001\u4E0D\u8C03\u7528\u6267\u884C\u6A21\u578B\u3001\u4E0D\u53D1\u9001\u6D88\u606F\u3002\u5DF2\u6709\u4EFB\u52A1\u4FDD\u7559\u8FD8\u662F\u64A4\u9500\u4F9D\u8D56\uFF0C\u4FEE\u6539\u524D\u53E6\u884C\u8BF4\u660E\u3002");return q.default.createElement(q.default.Fragment,null,q.default.createElement("div",{className:"v2-section-title"},q.default.createElement("p",{className:"v2-muted"},u?`${i?"\u5386\u53F2":"\u6700\u8FD1"}\u5FEB\u7167 \xB7 ${new Date(u.readAt).toLocaleTimeString("zh-CN")}`:"\u7B49\u5F85\u4E91\u7AEF\u72B6\u6001"),q.default.createElement(v,{icon:"reset",disabled:p,onClick:()=>t(n=>n+1)},"\u5237\u65B0\u72B6\u6001")),i&&q.default.createElement("p",{role:"alert"},i),p&&!u&&q.default.createElement("p",{role:"status"},"\u8BFB\u53D6\u4E2D\u2026"),u&&q.default.createElement(q.default.Fragment,null,q.default.createElement(j,{title:"\u5904\u7406\u6A21\u5F0F",sub:"\u6765\u6E90\u5F00\u5173\u63A7\u5236\u63A5\u6536\uFF1B\u6A21\u5F0F\u53EA\u51B3\u5B9A\u65B0\u4E3B\u52A8\u4E8B\u9879\u3002\u5173\u95ED\u81EA\u52A8\u63A5\u5355\u4E0D\u4F1A\u6682\u505C\u6709\u6548\u5B58\u91CF\u4EFB\u52A1\u3002\u64A4\u9500\u7B56\u7565\u6388\u6743\u662F\u53E6\u4E00\u4E2A\u52A8\u4F5C\u3002"},q.default.createElement("div",{...$a("source-mode","\u5148\u533A\u5206\u6A21\u5F0F\u4E0E\u64A4\u9500","\u8FD9\u91CC\u663E\u793A\u4E91\u7AEF\u5B9E\u9645\u6A21\u5F0F\u3002\u6309\u94AE\u53EA\u51C6\u5907\u5BF9\u8BDD\u8349\u7A3F\uFF1B\u5173\u95ED\u81EA\u52A8\u63A5\u5355\u4E0D\u7B49\u4E8E\u6682\u505C\u5DF2\u6709\u4EFB\u52A1\u3002")},q.default.createElement(_,{label:"\u5F53\u524D\u6A21\u5F0F",value:po[u.mode.mode]??"\u672A\u77E5"}),q.default.createElement("div",{className:"v2-source-actions"},Object.entries(po).map(([n,x])=>q.default.createElement(v,{key:n,disabled:p||!!i||u.mode.mode===n,onClick:()=>n==="auto"?d():s("\u8C03\u6574\u5904\u7406\u6A21\u5F0F",`\u8BF7\u5C06\u4E91\u7AEF\u4E3B\u52A8\u5DE5\u4F5C\u6A21\u5F0F\u8C03\u6574\u4E3A ${n}\uFF08${x}\uFF09\uFF0C\u5F53\u524D\u7248\u672C ${u.mode.version}\uFF1B\u6709\u6548\u5B58\u91CF\u4EFB\u52A1\u7EE7\u7EED\uFF0C\u4E0D\u64A4\u9500\u7B56\u7565\u6388\u6743\uFF0C\u4E0D\u8865\u8DD1\u65E7\u5019\u9009\u3002`)},"\u51C6\u5907",x))))),e==="sources"&&q.default.createElement(j,{title:"\u5DF2\u914D\u7F6E\u6765\u6E90",sub:"\u8FD9\u662F\u914D\u7F6E\u4E0E\u63A5\u6536\u72B6\u6001\uFF0C\u4E0D\u662F\u5E73\u53F0\u5DF2\u8FDE\u901A\u8BC1\u660E\u3002\u771F\u5B9E\u6765\u6E90\u63A5\u5165\u9700\u8981\u53E6\u884C\u786E\u8BA4\uFF1B\u4E0D\u4F1A\u65B0\u589E IM \u6D88\u8D39\u8005\u3002"},q.default.createElement("div",{...$a("source-bindings","\u6838\u5BF9\u6765\u6E90\u4E0E\u63A5\u6536","\u6765\u6E90\u505C\u7528\u53EA\u5F71\u54CD\u8FD9\u4E00\u6765\u6E90\uFF0C\u4E0D\u5173\u95ED\u673A\u5668\u4EBA\uFF0C\u4E5F\u4E0D\u64A4\u9500\u72EC\u7ACB\u4EFB\u52A1\u6743\u9650\u3002\u771F\u5B9E\u63A5\u5165\u672A\u7ECF\u9A8C\u8BC1\u65F6\u4F1A\u660E\u786E\u663E\u793A\u3002")},!u.sources.length&&q.default.createElement("p",{className:"v2-muted"},"\u5C1A\u672A\u914D\u7F6E\u6765\u6E90"),u.sources.map(n=>q.default.createElement("article",{className:"v2-source-item",key:n.id},q.default.createElement("div",{className:"v2-section-title"},q.default.createElement("h3",null,n.id),q.default.createElement("span",{className:"v2-status"},n.enabled?"\u5141\u8BB8\u63A5\u6536":"\u5DF2\u505C\u7528")),q.default.createElement(_,{label:"\u771F\u5B9E\u63A5\u5165",value:"\u672A\u63A5\u5165\u9A8C\u8BC1"}),q.default.createElement(_,{label:"\u8303\u56F4",value:n.scopes.join("\u3001")}),q.default.createElement(_,{label:"\u5DF2\u5B58\u4E8B\u5B9E",value:n.records??"\u672A\u77E5"}),n.lastError&&q.default.createElement("p",{role:"status"},"\u63A5\u6536\u5F02\u5E38\uFF1A",n.lastError),q.default.createElement(v,{disabled:p||!!i,onClick:()=>s(n.enabled?"\u505C\u7528\u6765\u6E90":"\u542F\u7528\u6765\u6E90",`\u8BF7${n.enabled?"\u505C\u7528":"\u542F\u7528"}\u6765\u6E90 ${n.id}\uFF0C\u5F53\u524D\u914D\u7F6E\u7248\u672C ${n.revision}\u3002\u53EA\u5F71\u54CD\u8BE5\u6765\u6E90\uFF0C${n.enabled?"\u5DF2\u6709\u8D44\u6599\u4E0E\u72EC\u7ACB\u4EFB\u52A1\u4FDD\u7559":"\u4ECE\u65B0\u5207\u70B9\u5F00\u59CB\uFF0C\u4E0D\u8865\u8DD1\u65E7\u79EF\u538B\u6216\u6062\u590D\u5DF2\u505C\u6B62\u4EFB\u52A1"}\u3002`)},"\u51C6\u5907",n.enabled?"\u505C\u7528":"\u542F\u7528"))))),e==="policy"&&q.default.createElement(j,{title:"\u4E3B\u52A8\u5DE5\u4F5C\u7B56\u7565",sub:"\u603B\u6570\u53EA\u8BA1\u7B97\u672C\u671F\u81EA\u52A8\u65B0\u5EFA\u4EFB\u52A1\uFF1B\u8DDF\u8FDB\u3001\u6A21\u578B\u8C03\u7528\u4E0D\u8BA1\u5165\u3002\u91CD\u542F\u3001\u4FEE\u6539\u914D\u7F6E\u548C\u4EFB\u52A1\u5931\u8D25\u4E0D\u6E05\u96F6\uFF0C\u6362\u671F\u9700\u660E\u786E\u786E\u8BA4\u3002",extra:q.default.createElement(v,{onClick:d},"\u51C6\u5907\u7B56\u7565")},q.default.createElement("div",{...$a("source-policy","\u64A4\u9500\u4E0E\u505C\u65B0\u5355\u4E0D\u540C","\u70B9\u51FB\u8FD9\u91CC\u53EA\u51C6\u5907\u64A4\u9500\u8349\u7A3F\uFF0C\u9700\u5230\u539F\u751F\u5BF9\u8BDD\u63D0\u4EA4\u3002\u64A4\u9500\u5F71\u54CD\u5DF2\u6709\u4F9D\u8D56\u4EFB\u52A1\uFF1B\u53EA\u60F3\u505C\u63A5\u65B0\u5355\uFF0C\u8BF7\u6539\u5904\u7406\u6A21\u5F0F\u3002\u539F\u751F\u5728\u9014\u52A8\u4F5C\u53EF\u80FD\u4ECD\u5728\u6536\u62E2\u3002")},!u.policies.length&&q.default.createElement("p",{className:"v2-muted"},"\u5C1A\u672A\u786E\u8BA4\u4E3B\u52A8\u5DE5\u4F5C\u7B56\u7565"),u.policies.map(n=>q.default.createElement("article",{className:"v2-source-item",key:n.id},q.default.createElement("div",{className:"v2-section-title"},q.default.createElement("h3",null,n.goal),q.default.createElement("span",{className:"v2-status"},n.revoked?"\u5DF2\u64A4\u9500":n.end_at&&n.end_at<=Date.now()?"\u4E1A\u52A1\u671F\u9650\u5DF2\u5230":n.used>=n.max_tasks?"\u672C\u671F\u65B0\u5355\u5DF2\u6EE1":"\u6709\u6548")),q.default.createElement(_,{label:"\u672C\u671F\u81EA\u52A8\u65B0\u4EFB\u52A1",value:`${n.used} / ${n.max_tasks}`}),q.default.createElement(_,{label:"\u6765\u6E90 / \u8303\u56F4",value:`${n.source_id} / ${n.scope}`}),q.default.createElement(_,{label:"\u672C\u671F",value:n.period_id}),q.default.createElement(_,{label:"\u4EA4\u4ED8",value:n.delivery}),q.default.createElement(_,{label:"\u4E1A\u52A1\u671F\u9650",value:n.end_at?new Date(n.end_at).toLocaleString("zh-CN"):"\u672A\u6307\u5B9A"}),q.default.createElement(v,{disabled:p||!!i||n.revoked,onClick:()=>s("\u64A4\u9500\u7B56\u7565\u6388\u6743",`\u8BF7\u64A4\u9500\u4E3B\u52A8\u7B56\u7565 ${n.id}\uFF08\u7248\u672C ${n.revision}\uFF09\u53CA\u4F9D\u8D56\u6388\u6743\uFF0C\u4E0D\u53EA\u662F\u5173\u95ED\u65B0\u63A5\u5355\u3002\u62A5\u544A\u53D7\u5F71\u54CD\u4EFB\u52A1\u3001\u6536\u62E2\u4E2D\u548C\u672A\u77E5\u72B6\u6001\uFF1B\u4FDD\u7559\u6210\u679C\u4E0E\u539F\u56DE\u6267\uFF0C\u4E0D\u4FDD\u8BC1\u64A4\u56DE\u5DF2\u7ECF\u53D1\u751F\u7684\u5916\u90E8\u52A8\u4F5C\u3002`)},"\u51C6\u5907\u64A4\u9500\u6388\u6743"))),u.effect.items.length>0&&q.default.createElement("p",{role:"status"},"\u64A4\u9500\u72B6\u6001\uFF1A",u.effect.status==="effective"?"\u4F9D\u8D56\u4EFB\u52A1\u5DF2\u56F4\u680F":"\u4ECD\u5728\u6536\u62E2\u6216\u7B49\u5F85\u6267\u884C\u7AEF\u786E\u8BA4","\uFF1B\u5DF2\u53D1\u751F\u7684\u5916\u90E8\u52A8\u4F5C\u4E0D\u4F1A\u81EA\u52A8\u64A4\u56DE\u3002"))),q.default.createElement(j,{title:"\u6700\u8FD1\u5224\u65AD",sub:"\u539F\u59CB\u6765\u6E90\u4E8B\u5B9E\u4FDD\u7559\u3002\u65E0\u6CD5\u5224\u65AD\u4E0D\u7B49\u4E8E\u6CA1\u6709\u9700\u6C42\uFF1B\u4EC5\u89C2\u5BDF\u4E0D\u4F1A\u521B\u5EFA\u4EFB\u52A1\u6216\u53D1\u9001\u901A\u77E5\u3002"},q.default.createElement("div",{...$a("source-decisions","\u67E5\u770B\u5904\u7406\u7ED3\u679C","\u8FD9\u91CC\u533A\u5206\u89C2\u5BDF\u3001\u5F52\u5165\u539F\u4EFB\u52A1\u3001\u53D7\u7406\u548C\u65E0\u6CD5\u5224\u65AD\u3002\u6765\u6E90\u4E8B\u5B9E\u4E0D\u662F\u672C\u4EBA\u6307\u793A\uFF0C\u4E0D\u4F1A\u56E0\u6B64\u53D6\u5F97\u4EBA\u5DE5\u8DDF\u8FDB\u540D\u989D\u3002")},q.default.createElement("div",{className:"v2-source-columns"},q.default.createElement("span",null,"\u6765\u6E90 / \u5224\u65AD"),q.default.createElement("span",null,"\u5F53\u524D\u72B6\u6001")),u.decisions.map(n=>q.default.createElement("article",{className:"v2-source-decision",key:n.id},q.default.createElement("div",null,q.default.createElement("strong",null,n.source_id),q.default.createElement("p",{className:"v2-muted"},n.result?.assessment?.reason??{"existing-task-input":"\u5DF2\u4EA4\u7ED9\u539F\u4EFB\u52A1\u5904\u7406","new-task-total-reached":"\u672C\u671F\u81EA\u52A8\u65B0\u4EFB\u52A1\u5DF2\u8FBE\u603B\u6570","proactive-off":"\u5F53\u524D\u4EC5\u54CD\u5E94\u4EA4\u529E","no-policy":"\u5C1A\u65E0\u9002\u7528\u7B56\u7565","cutover-no-backlog-replay":"\u65E7\u5019\u9009\u672A\u8865\u8DD1","thread-owner-paused-or-stopped":"\u539F\u4EFB\u52A1\u5DF2\u6682\u505C\u6216\u505C\u6B62"}[n.result?.reason]??n.result?.reason??"\u5C1A\u65E0\u7ED3\u8BBA"),n.result?.task_id&&q.default.createElement("small",null,"\u4EFB\u52A1 ",n.result.task_id)),q.default.createElement("span",{className:"v2-status"},$r[n.status]??n.status))),!u.decisions.length&&q.default.createElement("p",{className:"v2-muted"},"\u672C\u9875\u6682\u65E0\u5224\u65AD\u8BB0\u5F55"),q.default.createElement("div",{className:"v2-pagination"},q.default.createElement(v,{disabled:p||m===0,onClick:()=>r(n=>Math.max(0,n-20))},"\u4E0A\u4E00\u9875"),q.default.createElement(v,{disabled:p||u.next_cursor==null,onClick:()=>r(u.next_cursor)},"\u4E0B\u4E00\u9875"))))))}var le=Le(me());var Qr={running:"\u6B63\u5728\u9A8C\u8BC1 \xB7 \u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2",succeeded:"\u672C\u6B21\u8BF7\u6C42\u6210\u529F",failed:"\u672C\u6B21\u8BF7\u6C42\u5931\u8D25",unknown:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1"},Yr={ONBOARDING_CLOUD_MODEL_CLARIFICATION_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u964D\u7EA7\u9A8C\u8BC1\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_CLARIFICATION_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u964D\u7EA7\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_BINDING_REQUIRED:"\u8BF7\u5148\u5355\u72EC\u542F\u7528\u6B64\u7AEF\u7684\u6A21\u578B\u63A5\u5165\uFF0C\u518D\u9884\u89C8\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_MODEL_SELECTION_REQUIRED:"\u6A21\u578B\u540D\u79F0\u8FD8\u4E0D\u80FD\u552F\u4E00\u5339\u914D\u3002\u8BF7\u5148\u7528\u4E0A\u65B9\u201C\u6A21\u578B\u540D\u79F0\u6838\u5BF9\u201D\u67E5\u770B\u5019\u9009\uFF0C\u518D\u586B\u5199\u201C\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E\u201D\uFF1B\u65E0\u9700\u8F93\u5165 provider \u7F16\u53F7\u3002",ONBOARDING_MODEL_PROBE_OWN_ROUTE_REQUIRED:"\u6240\u586B\u6A21\u578B\u5C5E\u4E8E\u5176\u4ED6\u63A5\u5165\uFF0C\u4E0D\u4F1A\u501F\u7528\u5B83\u7684 Key\u3002\u8BF7\u4F7F\u7528\u672C\u9762\u677F\u63A5\u5165\u7684\u6A21\u578B\uFF0C\u6216\u5230\u5BF9\u5E94\u670D\u52A1\u9762\u677F\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_BUSY:"\u4E0A\u4E00\u6B21\u9A8C\u8BC1\u5C1A\u672A\u7ED3\u675F\u3002\u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2\uFF0C\u4E0D\u4F1A\u65B0\u589E\u8BF7\u6C42\u3002",ONBOARDING_MODEL_PROBE_UNKNOWN_ACK_REQUIRED:"\u4E0A\u4E00\u6B21\u7ED3\u679C\u672A\u77E5\uFF0C\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u518D\u660E\u786E\u786E\u8BA4\u662F\u5426\u53D1\u8D77\u4E00\u6B21\u65B0\u7684\u9A8C\u8BC1\u3002",ONBOARDING_MODEL_PROBE_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u5931\u6548\u6216 Host \u5DF2\u91CD\u542F\u3002\u8BF7\u5148\u67E5\u8BE2\u56DE\u6267\uFF0C\u518D\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_MODEL_PROBE_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u6D88\u8D39\u3001\u8FC7\u671F\u6216\u672C\u7AEF\u5DF2\u91CD\u542F\u3002\u8BF7\u5148\u67E5\u8BE2\u4E91\u7AEF\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002",ONBOARDING_CLOUD_MODEL_PROBE_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u5F02\u6B65\u6A21\u578B\u9A8C\u8BC1\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_PROBE_UNSUPPORTED:"\u76EE\u6807 Host \u672A\u58F0\u660E\u5F02\u6B65\u6A21\u578B\u9A8C\u8BC1\u80FD\u529B\uFF1B\u4E0D\u964D\u7EA7\u8C03\u7528\u3001\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_MODEL_PROBE_UNAVAILABLE:"\u5F53\u524D Host \u7684\u6A21\u578B\u8BF7\u6C42\u80FD\u529B\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u4F9D\u8D56\u3002"};function Io({request:e,query:o,clarification:l="",cloud:u=!1,service:f="deepseek"}){let i=u?"\u4E91\u7AEF":"\u672C\u7AEF",a=f==="token-plan",p=(u?"cloud_":"")+(a?"token_":"")+"model_probe_",I=JSON.stringify([o,l,u,f]),m=(0,le.useRef)(I);m.current=I;let[r,c]=(0,le.useState)(null),[t,s]=(0,le.useState)(null),[d,n]=(0,le.useState)(!1),[x,g]=(0,le.useState)(!1),[h,C]=(0,le.useState)(!1),[S,D]=(0,le.useState)(!1),[N,T]=(0,le.useState)("");(0,le.useEffect)(()=>{s(null),n(!1)},[o,l,u,f]);async function O(te){C(!0),T("");try{if(te==="status"&&(D(!0),s(null),n(!1),c(await e(p+"status",{})),D(!1),g(!1)),te==="preview"){s(null),n(!1);let U=await e(p+"preview",{query:o,...l.trim()?{clarification:l.trim()}:{},acknowledgeUnknown:r?.receipt?.state==="unknown"&&x?r.receipt.id:null});m.current===I&&s(U)}if(te==="start"){if(!t||!d)return;let U=t;s(null),n(!1),c(null),D(!0),g(!1),c(await e(p+"start",{id:U.id,fingerprint:U.fingerprint,confirm:!0})),D(!1)}}catch(U){s(null),n(!1),T(Yr[U.message]??"\u64CD\u4F5C\u672A\u80FD\u6838\u9A8C\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2\u56DE\u6267\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u5207\u6362\u6A21\u578B\u6216\u501F\u7528\u5176\u4ED6\u51ED\u636E\u3002")}finally{C(!1)}}let w=r?.receipt,Q=w?.state==="unknown";return le.default.createElement("section",{className:"connection-utility connection-probe","aria-label":i+"\u5355\u6B21\u6A21\u578B\u8BF7\u6C42\u9A8C\u8BC1"},le.default.createElement("div",null,le.default.createElement("h3",null,"\u5355\u6B21\u6A21\u578B\u8BF7\u6C42\u9A8C\u8BC1"),le.default.createElement("p",null,"\u4FDD\u5B58\u4E0E\u542F\u7528\u4E0D\u7B49\u4E8E\u8FDE\u901A\u3002\u56DE\u6267\u662F\u624B\u52A8\u67E5\u8BE2\u65F6\u7684\u5FEB\u7167\u3002\u6B64\u5904\u72EC\u7ACB\u786E\u8BA4\uFF0C\u53EA\u9A8C\u8BC1",i,"\u5F53\u524D\u63A5\u5165\uFF1B\u53EF\u80FD\u4EA7\u751F API \u8D39\u7528\u3002")),le.default.createElement(_,{label:"\u51C6\u5907\u9A8C\u8BC1\u7684\u6A21\u578B",value:o?.trim()||"\u8BF7\u5148\u586B\u5199\u4E0A\u65B9\u6A21\u578B\u540D\u79F0\uFF0C\u4F8B\u5982 ds flash"}),l.trim()&&le.default.createElement(_,{label:"\u63A5\u5165\u8865\u5145\u8BF4\u660E",value:l.trim()}),le.default.createElement(_,{label:"\u8BF7\u6C42\u56DE\u6267",value:S?"\u53D1\u9001\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":w?Qr[w.state]:r?"\u5C1A\u65E0\u8BF7\u6C42\u8BB0\u5F55":"\u5C1A\u672A\u67E5\u8BE2"}),w&&le.default.createElement(le.default.Fragment,null,le.default.createElement(_,{label:"\u4E0A\u6B21\u5B9E\u9645\u6A21\u578B",value:w.selection.model_name+" \xB7 "+w.selection.provider_name}),le.default.createElement(_,{label:"\u56DE\u6267\u65F6\u95F4",value:new Date(w.completedAt??w.startedAt).toLocaleString()}),w.state==="succeeded"&&!w.verifiedForCurrentBinding&&le.default.createElement(b,{tone:"warn"},"\u6B64\u6210\u529F\u5C5E\u4E8E\u65E7\u914D\u7F6E\uFF1B\u51ED\u636E\u6216\u63A5\u5165\u5DF2\u53D8\u5316\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u65AD\u5F53\u524D\u6A21\u578B\u53EF\u7528\u3002"),w.error&&le.default.createElement("p",null,"\u539F\u56E0\u5206\u7C7B\uFF1A",w.error,"\u3002\u4E0D\u4F1A\u5C55\u793A\u4E0A\u6E38\u9519\u8BEF\u6B63\u6587\u6216\u51ED\u636E\u3002")),Q&&le.default.createElement(J,{title:"\u6211\u7406\u89E3\u4E0A\u6B21\u7ED3\u679C\u672A\u77E5\uFF0C\u65B0\u9A8C\u8BC1\u53EF\u80FD\u4EA7\u751F\u989D\u5916\u8D39\u7528",checked:x,onChange:g,disabled:h}),le.default.createElement("div",{className:"connection-actions",role:"group","aria-label":i+"\u6A21\u578B\u9A8C\u8BC1\u64CD\u4F5C"},le.default.createElement(v,{kind:"soft",icon:"play",disabled:h||S||w?.state==="running"||Q&&!x||!o?.trim(),onClick:()=>O("preview")},"\u9884\u89C8\u4E00\u6B21",i,"\u9A8C\u8BC1"),le.default.createElement(v,{kind:"secondary",icon:"reset",disabled:h,onClick:()=>O("status")},"\u624B\u52A8\u67E5\u8BE2",i,"\u8BF7\u6C42\u56DE\u6267")),t&&le.default.createElement("section",{className:"connection-confirm","aria-label":i+"\u6A21\u578B\u9A8C\u8BC1\u786E\u8BA4"},le.default.createElement("h3",null,"\u786E\u8BA4\u4E00\u6B21",i,"\u8BF7\u6C42"),le.default.createElement(_,{label:"\u5B9E\u9645 Host",value:t.target.name+" \xB7 "+t.target.platform}),t.remoteTarget&&le.default.createElement(_,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:t.remoteTarget.root}),le.default.createElement(_,{label:"\u5B9E\u9645\u6A21\u578B",value:t.selection.model_name+" \xB7 "+t.selection.provider_name}),le.default.createElement(_,{label:"\u8BF7\u6C42\u8303\u56F4",value:"1 \u6B21 \xB7 High \xB7 \u6700\u591A 1024 \u8F93\u51FA token \xB7 60 \u79D2"}),le.default.createElement(b,null,"\u56FA\u5B9A\u8FDE\u901A\u63D0\u793A\uFF0C\u65E0\u5DE5\u5177\u3001\u4E0D\u542F\u52A8\u4EFB\u52A1\u3001\u4E0D\u4FEE\u6539\u9ED8\u8BA4\u6A21\u578B\u3002\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002\u5173\u95ED\u9875\u9762\u4E0D\u4F1A\u53D6\u6D88\u5DF2\u7ECF\u786E\u8BA4\u7684\u8BF7\u6C42\uFF1B\u91CD\u65B0\u8FDB\u5165\u540E\u624B\u52A8\u67E5\u8BE2\u3002"),le.default.createElement(J,{title:"\u6211\u540C\u610F\u4EC5\u5411"+i+"\u4E0A\u8FF0\u6A21\u578B\u53D1\u8D77\u8FD9\u4E00\u6B21\u9A8C\u8BC1\u8BF7\u6C42\uFF08\u53EF\u80FD\u4EA7\u751F\u8D39\u7528\uFF09",checked:d,onChange:n,disabled:h}),le.default.createElement("div",{className:"connection-actions"},le.default.createElement(v,{kind:"primary",icon:"check",disabled:h||!d,onClick:()=>O("start")},"\u786E\u8BA4\u5F00\u59CB\u4E00\u6B21",i,"\u9A8C\u8BC1"),le.default.createElement(v,{kind:"secondary",disabled:h,onClick:()=>{s(null),n(!1)}},"\u53D6\u6D88\u9A8C\u8BC1\u9884\u89C8"))),N&&le.default.createElement("p",{className:"connection-error",role:"alert"},N))}var Y=Le(me());var Jr={not_configured:"\u672A\u63A5\u5165",configured_unverified:"\u5DF2\u63A5\u5165 \xB7 \u8BF7\u6C42\u7ED3\u679C\u89C1\u4E0B\u65B9\u56DE\u6267",disabled:"\u5DF2\u505C\u7528",credential_changed:"\u51ED\u636E\u5DF2\u53D8\u5316 \xB7 \u8BF7\u91CD\u65B0\u9884\u89C8\u786E\u8BA4",registration_pending:"\u6CE8\u518C\u5F85\u6838\u5BF9",needs_review:"\u9700\u8981\u6838\u5BF9",unavailable:"\u5F53\u524D Host \u80FD\u529B\u4E0D\u53EF\u7528",not_checked:"\u5C1A\u672A\u6838\u5BF9\u4E91\u7AEF \xB7 \u4E0D\u81EA\u52A8\u8FDE\u63A5"},Zr={ONBOARDING_CLOUD_MODEL_CLARIFICATION_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_CLARIFICATION_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u540D\u79F0\u8865\u5145\u8BF4\u660E\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4E0D\u5FFD\u7565\u9009\u62E9\u6216\u6539\u7528\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_TOKEN_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF Host \u5C1A\u4E0D\u652F\u6301 Token Plan \u51ED\u636E\u5408\u540C\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_UNAVAILABLE:"\u76EE\u6807\u4E91\u7AEF\u6A21\u578B\u63A5\u5165\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5207\u6362\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_FENCE_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u6B64\u670D\u52A1\u7684\u7248\u672C\u5C4F\u969C\uFF0C\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_TOKEN_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301 Token Plan \u4EA4\u63A5\u4E0E\u63A5\u5165\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5B8C\u5168\u5C31\u7EEA\u6216\u4ECD\u5728\u5B89\u88C5\uFF0F\u91CD\u542F\u6536\u5C3E\u3002\u8BF7\u7B49\u5F85\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED:"\u4E91\u7AEF\u5B9E\u4F8B\u8EAB\u4EFD\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u6838\u5BF9\u539F\u76EE\u6807\uFF0C\u4E0D\u4F7F\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_HANDOFF_IDENTITY_REVIEW:"\u4E91\u7AEF\u8EAB\u4EFD\u6216\u80FD\u529B\u5C1A\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u8F6C\u4EA4\u5176\u4ED6\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_RUNTIME_SOURCE_CHANGED:"\u4E91\u7AEF\u53D7\u7BA1\u7A0B\u5E8F\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u505C\u6B62\u64CD\u4F5C\uFF1B\u4E0D\u81EA\u52A8\u66FF\u6362\u6216\u4FEE\u590D\u3002",ONBOARDING_CLOUD_HANDOFF_AUTH_FAILED:"\u4E91\u7AEF\u539F\u751F\u8BBF\u95EE\u51ED\u636E\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u8BF7\u6838\u5BF9\u5F53\u524D\u8FD0\u884C\u65F6\uFF1B\u4E0D\u5C1D\u8BD5\u65E5\u5E38\u51ED\u636E\u6216\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_CLOUD_OPERATION_BUSY:"\u53E6\u4E00\u9879\u4E91\u7AEF\u64CD\u4F5C\u6B63\u5728\u5904\u7406\uFF0C\u8BF7\u7B49\u5F85\u5B83\u7ED3\u675F\u540E\u518D\u624B\u52A8\u6838\u5BF9\uFF1B\u672C\u6B21\u4E0D\u4F1A\u6392\u961F\u6267\u884C\u6216\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_CLOUD_MODEL_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u6A21\u578B\u63A5\u7EBF\uFF0C\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u63A7\u5236\u5668\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_MODEL_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u63A7\u5236\u7AEF\u5DF2\u91CD\u542F\uFF0C\u8BF7\u5148\u6838\u5BF9\u4E91\u7AEF\u5F53\u524D\u72B6\u6001\uFF0C\u518D\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_MODEL_IDENTITY_REVIEW:"\u76EE\u6807\u8EAB\u4EFD\u53D1\u751F\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u91CD\u65B0\u6838\u5BF9\u5B9E\u4F8B\uFF0C\u4E0D\u5C06\u65E7\u786E\u8BA4\u7528\u4E8E\u65B0\u76EE\u6807\u3002",ONBOARDING_MODEL_CREDENTIAL_REQUIRED:"\u8BF7\u5148\u4FDD\u5B58\u201C\u672C\u7AEF DeepSeek\u201D\u51ED\u636E\u3002\u9884\u5907\u4E91\u7AEF\u7684 Key \u4E0D\u4F1A\u81EA\u52A8\u7528\u4E8E\u672C\u7AEF\u3002",ONBOARDING_MODEL_CREDENTIAL_CHANGED:"\u51ED\u636E\u521A\u521A\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF1B\u672C\u6B21\u6CA1\u6709\u542F\u7528\u65E7\u8BA1\u5212\u3002",ONBOARDING_MODEL_ROUTE_CONFLICT:"\u540C\u540D\u8DEF\u7531\u5DF2\u5B58\u5728\uFF0C\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u8BF7\u5148\u6838\u5BF9\u3002",ONBOARDING_MODEL_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u3002"};function ft({request:e,query:o,cloud:l=!1,service:u="deepseek"}){let f=u==="token-plan",i=l?"\u4E91\u7AEF":"\u672C\u7AEF",a=f?" Token Plan":"\u6A21\u578B",p=i+a+"\u63A5\u5165",I=f?"\u963F\u91CC\u4E91 Token Plan\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09":"DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09",m=(U,ie)=>e((l?"cloud_":"")+(f?"token_":"")+U,ie),[r,c]=(0,Y.useState)(null),[t,s]=(0,Y.useState)(null),[d,n]=(0,Y.useState)(!1),[x,g]=(0,Y.useState)(!1),[h,C]=(0,Y.useState)(""),[S,D]=(0,Y.useState)(null),[N,T]=(0,Y.useState)(""),O=JSON.stringify([o,l,u,N]),w=(0,Y.useRef)(O);w.current=O,(0,Y.useEffect)(()=>{T(""),D(null)},[o,l,u]);function Q(U){T(U),D(null)}(0,Y.useEffect)(()=>{if(l){c({state:"not_checked"});return}let U=!0;return e(f?"token_model_status":"model_status",{}).then(ie=>{U&&c(ie)}).catch(()=>{U&&C("\u5C1A\u672A\u6838\u5BF9\u6A21\u578B\u63A5\u5165\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u3002")}),()=>{U=!1}},[e,l,f]);async function te(U,ie){g(!0),C("");try{if(U==="status"&&(s(null),n(!1),D(null),c(await m("model_status",{}))),U==="preview"&&(s(null),n(!1),s(await m("model_preview",{enabled:ie}))),U==="apply"){if(!t||!d)return;let se=t;s(null),n(!1),D(null),c(await m("model_apply",{id:se.id,fingerprint:se.fingerprint,confirm:!0}))}if(U==="resolve"){let se=await m("model_resolve",{query:o,...N.trim()?{clarification:N.trim()}:{}});w.current===O&&D(se)}}catch(se){s(null),n(!1),C(f&&l&&se.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5728\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5\u533A\u4FDD\u5B58\u4E13\u7528 Key\uFF0C\u518D\u5355\u72EC\u9884\u89C8\u4E91\u7AEF\u63A5\u5165\uFF1B\u4E0D\u4F1A\u501F\u7528\u672C\u7AEF\u6216 DeepSeek Key\u3002":f&&se.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5148\u5728\u672C\u7AEF\u5B89\u5168\u4FDD\u5B58 Key \u533A\u4FDD\u5B58\u963F\u91CC\u4E91 Token Plan \u4E13\u7528\u51ED\u636E\uFF1B\u4E0D\u4F1A\u501F\u7528 DeepSeek Key\u3002":se.message==="ONBOARDING_MODEL_ADAPTER_UNAVAILABLE"?"\u5F53\u524D Host \u7F3A\u5C11\u517C\u5BB9\u7684\u5B98\u65B9\u591A\u6A21\u578B\u9002\u914D\u4F9D\u8D56\u6216\u76EE\u5F55\u4E0D\u7B26\uFF0C\u8BF7\u6838\u5BF9\u5B98\u65B9\u7248\u672C\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u3001\u5207\u6362\u7AEF\u70B9\u6216\u56DE\u9000\u5176\u4ED6\u670D\u52A1\u3002":l&&se.message==="ONBOARDING_MODEL_CREDENTIAL_REQUIRED"?"\u8BF7\u5148\u5728\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5\u533A\uFF08\u6216\u4E91\u7AEF\u539F\u751F\u5BFC\u89C8\uFF09\u4FDD\u5B58\u4E91\u7AEF\u4E13\u7528 Key\uFF0C\u518D\u9884\u89C8\u4E91\u7AEF\u63A5\u5165\u3002":Zr[se.message]??"\u7ED3\u679C\u9700\u6838\u5BF9\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u72B6\u6001\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3001\u5207\u6362\u6A21\u578B\u6216\u56DE\u9000\u81F3\u5176\u4ED6 Key\u3002")}finally{g(!1)}}return Y.default.createElement(j,{className:"connection-panel",title:p,icon:"link",sub:l?"\u4EC5\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u72EC\u7ACB\u9884\u89C8\u786E\u8BA4\uFF0C\u4E0D\u8BFB\u53D6\u6216\u8F6C\u53D1\u672C\u5730 Key\u3002":"\u53EA\u4F7F\u7528\u672C\u9879\u76EE\u4FDD\u5B58\u7684\u672C\u7AEF\u4E13\u7528 Key\uFF1B\u4E0D\u4FEE\u6539\u539F\u751F\u6A21\u578B\u6216\u9ED8\u8BA4\u9009\u62E9\u3002"},Y.default.createElement(_,{label:"\u5F53\u524D\u72B6\u6001",value:r?Jr[r.state]??"\u9700\u8981\u6838\u5BF9":"\u5C1A\u672A\u8BFB\u53D6"}),Y.default.createElement(_,{label:l?"\u5B9E\u9645\u64CD\u4F5C\u7684\u4E91\u7AEF Host":"\u5F53\u524D\u8BBF\u95EE\u7684 Host",value:r?.target?`${r.target.name} \xB7 ${r.target.platform}`:"\u5C1A\u672A\u6838\u5BF9"}),l&&r?.remoteTarget&&Y.default.createElement(_,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:r.remoteTarget.root}),l&&r?.checkedAt&&Y.default.createElement(_,{label:"\u6700\u8FD1\u624B\u52A8\u6838\u9A8C",value:new Date(r.checkedAt).toLocaleString()+" \xB7 \u975E\u81EA\u52A8\u5237\u65B0"}),Y.default.createElement(_,{label:"\u670D\u52A1\u5546",value:f?"\u963F\u91CC\u4E91 Token Plan \xB7 \u4E2D\u56FD\u5185\u5730":"DeepSeek \u5B98\u65B9 \xB7 \u72EC\u7ACB\u63A5\u5165"}),Y.default.createElement(b,null,l?"\u6B64\u5904\u901A\u8FC7\u5DF2\u6838\u9A8C SSH \u8C03\u6574\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u81EA\u6709\u6A21\u578B\u63A5\u5165\uFF0C\u4E91\u7AEF\u8D26\u672C\u662F\u72B6\u6001\u4F9D\u636E\u3002\u8FDB\u5165\u9875\u9762\u4E0D\u8FDE\u63A5\u4E91\u7AEF\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u3002":"","\u4FDD\u5B58 Key \u4E0D\u7B49\u4E8E\u6A21\u578B\u53EF\u7528\u3002\u542F\u7528\u540E\u4F1A\u589E\u52A0\u201C",I,"\u201D\u8DEF\u7531\uFF0C\u51ED\u636E\u7528\u4E8E",l?"\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF":"\u5F53\u524D\u8BBF\u95EE\u7684 Host","\uFF0C\u4E0D\u53D1\u8D77\u63A8\u7406\u6216\u81EA\u52A8\u8F6C\u53D1\u5230\u53E6\u4E00\u7AEF\uFF1B\u5B9E\u9645\u8BF7\u6C42\u9A8C\u8BC1\u4ECD\u9700\u5355\u72EC\u8FDB\u884C\u3002"),Y.default.createElement("div",{className:"connection-actions",role:"group","aria-label":p+"\u64CD\u4F5C"},Y.default.createElement(v,{kind:"primary",icon:"link",disabled:x,onClick:()=>te("preview",!0)},"\u9884\u89C8",f?i+" Token Plan":i,"\u63A5\u5165"),Y.default.createElement(v,{kind:"secondary",icon:"pause",disabled:x||!r?.bindingRevision,onClick:()=>te("preview",!1)},f?"\u9884\u89C8\u505C\u7528 Token Plan":"\u9884\u89C8\u505C\u7528\u63A5\u5165"),Y.default.createElement(v,{kind:"secondary",icon:"reset",disabled:x,onClick:()=>te("status")},"\u624B\u52A8\u5237\u65B0",f?"Token Plan":l?"\u4E91\u7AEF\u6A21\u578B":"\u6A21\u578B","\u72B6\u6001")),t&&Y.default.createElement("section",{className:"connection-confirm","aria-label":p+"\u786E\u8BA4"},Y.default.createElement("h3",null,(t.enabled?"\u542F\u7528":"\u505C\u7528")+p),Y.default.createElement("p",null,"\u4EC5",l?"\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF":"\u5F53\u524D Host","\uFF1B\u4E0D\u4FEE\u6539\u539F\u751F\u8DEF\u7531\u3001\u9ED8\u8BA4\u6A21\u578B\u548C\u7528\u6237\u51ED\u636E\u3002\u505C\u7528\u4E5F\u4E0D\u4F1A\u5220\u9664 Key\u3002"),Y.default.createElement(_,{label:"\u5E94\u7528\u4F4D\u7F6E",value:`${t.target?.name??"\u5F53\u524D Host"} \xB7 ${t.target?.platform??"\u5E73\u53F0\u672A\u6838\u5BF9"}`}),l&&t.remoteTarget&&Y.default.createElement(_,{label:"\u4E91\u7AEF\u4E13\u7528\u76EE\u5F55",value:t.remoteTarget.root}),Y.default.createElement(_,{label:"\u76EE\u6807\u7AEF\u70B9",value:t.endpoint}),Y.default.createElement(J,{title:"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u672C\u9879\u76EE\u7684"+p+"\uFF0C\u4E0D\u6388\u6743\u6A21\u578B\u8BF7\u6C42\u6216\u4EFB\u52A1",checked:d,onChange:n}),Y.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u6A21\u578B\u63A5\u5165"},Y.default.createElement(v,{kind:"primary",icon:"check",disabled:x||!d,onClick:()=>te("apply")},"\u786E\u8BA4",t.enabled?"\u542F\u7528":"\u505C\u7528",p),Y.default.createElement(v,{kind:"secondary",disabled:x,onClick:()=>{s(null),n(!1)}},"\u53D6\u6D88"))),Y.default.createElement("section",{className:"connection-utility connection-model-choice","aria-label":"\u6A21\u578B\u540D\u79F0\u6838\u5BF9"},Y.default.createElement("div",null,Y.default.createElement("h3",null,"\u6A21\u578B\u540D\u79F0\u6838\u5BF9"),Y.default.createElement("p",null,"\u6309",i,"\u5B8C\u6574\u76EE\u5F55\u5339\u914D\uFF1B\u5148\u7528\u6A21\u578B\u7B80\u79F0\uFF0C\u6709\u91CD\u540D\u518D\u8865\u5145\u63A5\u5165\u540D\u79F0\u3002\u65E0\u9700\u586B\u5199\u6280\u672F\u7F16\u53F7\u3002")),Y.default.createElement(v,{kind:"soft",icon:"settings",disabled:x||!o?.trim(),onClick:()=>te("resolve")},f?"\u6838\u5BF9\u6240\u586B\u6A21\u578B\u540D\u79F0":"\u89E3\u6790\u6240\u586B\u6A21\u578B\u540D\u79F0"),(S?.status==="ambiguous"||N)&&Y.default.createElement(Se,{label:"\u6A21\u578B\u63A5\u5165\u8865\u5145\u8BF4\u660E",hint:"\u4EC5\u91CD\u540D\u65F6\u9700\u8981\uFF1B\u586B\u5199\u5019\u9009\u5C55\u793A\u7684\u63A5\u5165\u540D\u79F0\uFF0C\u4F8B\u5982\u201C\u8BF7\u7528 DeepSeek\uFF08\u53CC\u7AEF\u914D\u7F6E\uFF09\u201D\u3002\u4E0D\u586B\u5199 Key\u3002",value:N,maxLength:200,onChange:U=>Q(U.target.value)}),S?.status==="ambiguous"&&Y.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u7528\u6613\u61C2\u7684\u63A5\u5165\u540D\u79F0\u8865\u5145\u9009\u62E9"},[...new Set(S.candidates?.map(U=>U.provider_name)??[])].map(U=>Y.default.createElement(v,{key:U,kind:"secondary",disabled:x,onClick:()=>Q("\u8BF7\u7528 "+U)},"\u9009\u62E9 ",U)),Y.default.createElement("p",null,"\u9009\u62E9\u4EC5\u8865\u5145\u6587\u5B57\uFF0C\u8BF7\u518D\u6838\u5BF9\u540D\u79F0\uFF1B\u540C\u540D\u63A5\u5165\u4ECD\u4F1A\u8981\u6C42\u6F84\u6E05\uFF0C\u4E0D\u81EA\u52A8\u8BF7\u6C42\u6A21\u578B\u3002")),S&&Y.default.createElement("div",{className:"connection-result",role:"status"},Y.default.createElement("p",null,S.status==="resolved"?`${l?"\u4E91\u7AEF":"\u5F53\u524D Host"}\u552F\u4E00\u5339\u914D\uFF1A${S.selection.model_name} \xB7 ${S.selection.provider_name}\uFF0C\u601D\u8003 High\u3002\u672A\u8BBE\u4E3A\u9ED8\u8BA4\u6A21\u578B\u3001\u672A\u8C03\u7528\u3002`:S.instruction),S.status!=="resolved"&&S.candidates?.map(U=>Y.default.createElement("p",{key:U.provider+"/"+U.model},U.model_name," \xB7 ",U.provider_name)))),Y.default.createElement(Io,{request:e,query:o,clarification:N,cloud:l,service:u}),h&&Y.default.createElement("p",{className:"connection-error",role:"alert"},h))}var Ie=Le(me());var ct={"deepseek-local":"\u672C\u7AEF DeepSeek","deepseek-cloud":"\u9884\u5907\u4E91\u7AEF DeepSeek","token-plan":"\u672C\u7AEF\u963F\u91CC\u4E91 Token Plan","token-plan-cloud":"\u9884\u5907\u4E91\u7AEF Token Plan",gitee:"\u672C\u7AEF Gitee","gitee-cloud":"\u9884\u5907\u4E91\u7AEF Gitee"};function Lo({request:e,onReference:o,category:l="model"}){let u=l==="repository",[f,i]=(0,Ie.useState)([]),[a,p]=(0,Ie.useState)(!1),[I,m]=(0,Ie.useState)(""),[r,c]=(0,Ie.useState)(null),[t,s]=(0,Ie.useState)(""),[d,n]=(0,Ie.useState)(!1),[x,g]=(0,Ie.useState)("");(0,Ie.useEffect)(()=>{let N=!0;return e("secret_status",{}).then(T=>{N&&i(T.slots)}).catch(()=>{N&&m("\u51ED\u636E\u72B6\u6001\u672A\u8BFB\u53D6\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\u540E\u518D\u64CD\u4F5C\u3002")}),()=>{N=!1}},[]);async function h(){p(!0),m("");try{i((await e("secret_status",{})).slots)}catch{m("\u72B6\u6001\u6838\u5BF9\u5931\u8D25\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u4FDD\u5B58\u3002")}finally{p(!1)}}let C=()=>{a||(c(null),s(""),n(!1))};async function S(N){if(a||!d||!r||!N&&!t)return;p(!0),m(""),g("");let T={slot:r.slot,expectedRevision:r.revision,operation:crypto.randomUUID(),confirm:!0,...N?{}:{secret:t}};s("");try{let O=await e(N?"secret_remove":"secret_put",T);i(w=>w.map(Q=>Q.slot===O.slot?O:Q)),g(N?"\u5DF2\u79FB\u9664\u672C\u9879\u76EE\u4FDD\u5B58\u7684\u51ED\u636E\uFF1B\u5176\u4ED6\u7528\u6237\u51ED\u636E\u4E0D\u53D8\u3002":"\u5DF2\u5B58\u5165\u5F53\u524D Host \u5B98\u65B9\u51ED\u636E\u5B58\u50A8\uFF1B\u672C\u6B21\u4FDD\u5B58\u4E0D\u9A8C\u8BC1\u6709\u6548\u6027\u3001\u4E0D\u6267\u884C\u4E91\u7AEF\u4EA4\u63A5\uFF1B\u4EA4\u63A5\u72B6\u6001\u8BF7\u770B\u7B2C 6 \u9875\u3002"),c(null),n(!1)}catch{m("\u64CD\u4F5C\u7ED3\u679C\u9700\u6838\u5BF9\uFF0C\u53EF\u80FD\u5DF2\u4FDD\u5B58\u3002\u8BF7\u5148\u5173\u95ED\u7A97\u53E3\u5E76\u624B\u52A8\u6838\u5BF9\u72B6\u6001\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u590D\u4FDD\u5B58\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{T.secret=void 0,p(!1)}}let D=r?{title:ct[r.slot]+"\u51ED\u636E",body:Ie.default.createElement(Ie.default.Fragment,null,Ie.default.createElement("p",null,u?"\u53EA\u4FDD\u5B58\u672C\u9879\u76EE Gitee API \u4EE4\u724C\uFF0C\u4E0D\u6536\u53D6\u6216\u590D\u5236 SSH \u79C1\u94A5\uFF1B\u4E0D\u6388\u6743\u4ED3\u5E93\u5199\u5165\u3002":"\u8FD9\u91CC\u53EA\u7BA1\u7406\u672C\u9879\u76EE\u72EC\u7ACB\u8BB0\u5F55\uFF0C\u4E0D\u8986\u76D6 DEEPSEEK_API_KEY \u7B49\u5DF2\u6709\u7528\u6237\u5F15\u7528\u3002","\u201C\u9884\u5907\u4E91\u7AEF\u201D\u69FD\u4F4D\u6682\u5B58\u4E8E\u5F53\u524D Host\uFF1B\u4FDD\u5B58\u4E0D\u4F1A\u81EA\u52A8\u4F20\u9001\u5230 ECS\uFF0C\u5B9E\u9645\u4EA4\u63A5\u4EE5\u7B2C 6 \u9875\u8D26\u672C\u4E3A\u51C6\u3002"),Ie.default.createElement(Se,{label:u?"Gitee \u8BBF\u95EE\u4EE4\u724C":"API Key",type:"password",value:t,autoComplete:"new-password",spellCheck:!1,onChange:N=>s(N.target.value)}),Ie.default.createElement(J,{title:"\u6211\u786E\u8BA4\u4FDD\u5B58\u6216\u79FB\u9664\u8FD9\u4E2A\u72EC\u7ACB\u51ED\u636E",checked:d,onChange:n}),I&&Ie.default.createElement("p",{role:"alert"},I),Ie.default.createElement("div",{className:"form-actions"},Ie.default.createElement(v,{disabled:a||!d||!t||!!I,onClick:()=>S(!1)},"\u4FDD\u5B58\u51ED\u636E"),r.configured&&Ie.default.createElement(v,{disabled:a||!d||!!I,onClick:()=>S(!0)},"\u79FB\u9664\u51ED\u636E"),Ie.default.createElement(v,{kind:"text",disabled:a,onClick:C},"\u5173\u95ED")))}:null;return Ie.default.createElement(j,{title:u?"\u53EF\u9009 Gitee \u51ED\u636E":"\u5B89\u5168\u4FDD\u5B58 Key",icon:"key",sub:u?"\u516C\u5F00\u4ED3\u5E93\u53EF\u4E0D\u586B\uFF1B\u79C1\u6709\u4ED3\u5E93\u4F7F\u7528\u72EC\u7ACB\u53D7\u7BA1\u4EE4\u724C\uFF0C\u4E0D\u80FD\u636E\u6B64\u83B7\u5F97\u4E1A\u52A1\u5199\u5165\u6388\u6743\u3002":"\u624B\u52A8\u4FDD\u5B58\u5230\u5B98\u65B9 Host \u51ED\u636E\u670D\u52A1\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u3002"},Ie.default.createElement(b,null,"\u5B98\u65B9\u9ED8\u8BA4\u5B58\u50A8\u4E3A\u4EC5\u5C5E\u4E3B\u53EF\u8BFB\u7684\u672C\u673A\u6587\u4EF6\uFF0C\u4E0D\u662F\u63D2\u4EF6\u52A0\u5BC6\u6216 OS \u8EAB\u4EFD\u9694\u79BB\u3002\u4E0D\u8981\u628A Key \u5199\u5165\u666E\u901A\u8868\u5355\u3001\u804A\u5929\u3001\u89C4\u5219\u6216 Skill\u3002"),f.filter(N=>u?N.slot.startsWith("gitee"):!N.slot.startsWith("gitee")).map(N=>Ie.default.createElement("div",{className:"credential-row",key:N.slot},Ie.default.createElement(_,{label:ct[N.slot],value:N.configured?"\u5DF2\u4FDD\u5B58 \xB7 \u4E0D\u4EE3\u8868\u8FDE\u901A":"\u672A\u914D\u7F6E"}),Ie.default.createElement("div",{className:"credential-actions",role:"group","aria-label":ct[N.slot]+"\u51ED\u636E\u64CD\u4F5C"},Ie.default.createElement(v,{kind:"soft",icon:"key",disabled:a||!!I||!N.writable,onClick:()=>{c(N),n(!1),s("")}},"\u7BA1\u7406\u51ED\u636E"),o&&Ie.default.createElement(v,{kind:"secondary",icon:"link",disabled:a||!N.configured||!!I,onClick:()=>o(N.slot,N.reference)},"\u4F7F\u7528\u6B64\u5F15\u7528")))),Ie.default.createElement("div",{className:"form-actions"},Ie.default.createElement(v,{kind:"secondary",icon:"reset",disabled:a,onClick:h},"\u624B\u52A8\u6838\u5BF9\u51ED\u636E\u72B6\u6001")),x&&Ie.default.createElement("p",{role:"status"},x),I&&!r&&Ie.default.createElement("p",{role:"alert"},I),Ie.default.createElement(Xa,{modal:D,onClose:C}))}var ge=Le(me());var jr=Object.freeze({available:!1,generation:0}),el={subscribe:()=>()=>{},getSnapshot:()=>jr,render:()=>null},al={missing_dependency:"\u672A\u53D1\u73B0\u53EF\u9009 IM \u670D\u52A1",unsupported_contract:"IM \u516C\u5F00\u63A5\u53E3\u7248\u672C\u5C1A\u4E0D\u517C\u5BB9",provider_changed:"IM \u670D\u52A1\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9",needs_review:"\u672A\u80FD\u6838\u5BF9 IM \u6E05\u5355",no_bots:"\u672C\u7AEF\u5C1A\u65E0\u5DF2\u767B\u8BB0\u673A\u5668\u4EBA",listed:"\u5DF2\u8BFB\u53D6\u672C\u7AEF\u673A\u5668\u4EBA\u6E05\u5355"},tl={feishu:"\u98DE\u4E66",weixin:"\u5FAE\u4FE1",dingtalk:"\u9489\u9489",wecom:"\u4F01\u4E1A\u5FAE\u4FE1","wecom-app":"\u4F01\u4E1A\u5FAE\u4FE1\u5E94\u7528",qq:"QQ",slack:"Slack",telegram:"Telegram",discord:"Discord",whatsapp:"WhatsApp",imessage:"iMessage",email:"\u90AE\u4EF6",matrix:"Matrix"},ho={ONBOARDING_CLOUD_WEB_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u5B89\u5168 Web \u5165\u53E3\u5951\u7EA6\uFF1B\u4FDD\u7559\u65E7\u5B9E\u4F8B\uFF0C\u8BF7\u901A\u8FC7\u5176\u539F\u5165\u53E3\u914D\u7F6E\u3002",ONBOARDING_CLOUD_WEB_LOCAL_BROWSER_REQUIRED:"\u8BF7\u4ECE\u8FDE\u63A5\u672C\u673A Host \u7684 Desktop\uFF0F\u672C\u673A\u6D4F\u89C8\u5668\u6253\u5F00\uFF1B\u8FDC\u7A0B\u7F51\u9875\u4E0D\u80FD\u628A\u4E91\u7AEF\u56DE\u73AF\u7AEF\u53E3\u5F53\u4F5C\u672C\u673A\u5730\u5740\u3002",ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW:"\u4E91\u7AEF\u5165\u53E3\u6821\u9A8C\u672A\u901A\u8FC7\uFF1B\u6CA1\u6709\u6253\u5F00\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u5728\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58 SSH \u8FDE\u63A5\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u5C1A\u65E0\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u8BF7\u5148\u5B8C\u6210\u7B2C 5\u30016 \u9875\u7684\u72EC\u7ACB\u5B89\u88C5\u3002",ONBOARDING_CLOUD_IM_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u6CA1\u6709 IM \u6838\u5BF9\u5951\u7EA6\uFF1B\u4E0D\u80FD\u7528\u65B0\u7248\u63A7\u5236\u5668\u8986\u76D6\u65E7\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_IM_UNSUPPORTED:"\u76EE\u6807 Host \u5C1A\u4E0D\u652F\u6301\u6B64 IM \u6838\u5BF9\u5951\u7EA6\uFF0C\u672A\u8BFB\u53D6\u672C\u7AEF\u4F5C\u4E3A\u66FF\u4EE3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u53D7\u7BA1\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\u6216\u5DF2\u79BB\u7EBF\uFF1B\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u8FD0\u884C\u65F6\u3002"};function Co({request:e,imClient:o=el,onManage:l,onManageCloud:u,cloudWebEntry:f=!1,cloud:i=!1}){let a=(0,ge.useSyncExternalStore)(o.subscribe,o.getSnapshot,o.getSnapshot),[p,I]=(0,ge.useState)(null),[m,r]=(0,ge.useState)(!1),[c,t]=(0,ge.useState)(""),s=ge.default.useRef(!0);(0,ge.useEffect)(()=>(s.current=!0,()=>{s.current=!1}),[]);async function d(){r(!0),t("");try{let x=await e(i?"cloud_im_inventory":"im_inventory",{});s.current&&I(x)}catch(x){s.current&&(t(ho[x?.message]??"\u672A\u80FD\u6838\u5BF9\u6E05\u5355\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA\uFF0C\u4E5F\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"),I(null))}finally{s.current&&r(!1)}}async function n(){let x;r(!0),t("");try{if(!["127.0.0.1","localhost","[::1]"].includes(location.hostname))throw Error("ONBOARDING_CLOUD_WEB_LOCAL_BROWSER_REQUIRED");let g=await e("cloud_web_open",{});if(typeof g.entryId!="string"||!/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(g.entryId))throw Error("ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW");x=g.entryId;let h=new URL(g.url);if(g.contract!==1||g.target?.role!=="cloud"||h.protocol!=="http:"||h.hostname!=="127.0.0.1"||!h.port||h.pathname!=="/"||h.username||h.password||[...h.searchParams.keys()].join()!=="workbench_ticket"||!/^[A-Za-z0-9_-]{43}$/.test(h.searchParams.get("workbench_ticket"))||h.hash!=="#dsh-setup-im")throw Error("ONBOARDING_CLOUD_WEB_RESPONSE_REVIEW");if(s.current)u(g);else{let C=x;x=null,await e("cloud_web_close",{entryId:C})}}catch(g){if(x)try{await e("cloud_web_close",{entryId:x})}catch{s.current&&t("\u5165\u53E3\u672A\u6253\u5F00\u4E14\u5173\u95ED\u672A\u786E\u8BA4\uFF1B\u8BF7\u6838\u5BF9\u5F53\u524D Host\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002");return}s.current&&t(ho[g?.message]??"\u4E91\u7AEF\u539F\u751F\u914D\u7F6E\u672A\u6253\u5F00\uFF1B\u8BF7\u6838\u5BF9\u5F53\u524D\u5B9E\u4F8B\u4E0E\u8FDE\u63A5\u3002\u4E0D\u81EA\u52A8\u91CD\u8BD5\uFF0C\u4E0D\u5207\u5230\u672C\u7AEF\u914D\u7F6E\u3002")}finally{s.current&&r(!1)}}return ge.default.createElement(j,{className:"connection-panel",title:i?"\u4E91\u7AEF IM \u63A5\u5165":"\u672C\u7AEF IM \u63A5\u5165",icon:"chat",sub:i?"\u53EA\u67E5\u8BE2\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF1B\u4E0D\u4F1A\u7528\u672C\u7AEF\u6E05\u5355\u66FF\u4EE3\u3002":"\u53EF\u9009\u4F9D\u8D56\uFF1B\u4E0D\u5F71\u54CD DeepSeek \u6216\u539F\u751F\u4F1A\u8BDD\u3002"},ge.default.createElement(_,{label:"\u6700\u8FD1\u6E05\u5355",value:c?"\u6838\u5BF9\u5931\u8D25\uFF0C\u4E0D\u6CBF\u7528\u65E7\u7ED3\u8BBA":p?(al[p.state]??"\u5F85\u6838\u5BF9").replace("\u672C\u7AEF",i?"\u4E91\u7AEF":"\u672C\u7AEF"):"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),ge.default.createElement(_,{label:"\u5B9E\u9645\u64CD\u4F5C\u7684 Host",value:p?`${p.target.name} \xB7 ${p.target.platform}`:i?"\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\uFF0C\u5C1A\u672A\u6838\u5BF9\u8EAB\u4EFD":"\u5F53\u524D\u8BBF\u95EE\u7684 Host\uFF0C\u5C1A\u672A\u6838\u5BF9\u8EAB\u4EFD"}),p?.observedAt&&ge.default.createElement(_,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(p.observedAt).toLocaleString()+" \xB7 \u5386\u53F2\u89C2\u5BDF\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0"}),p?.channels?.map(x=>ge.default.createElement(_,{key:x.channel,label:tl[x.channel]??x.channel,value:`${x.count} \u4E2A\u5DF2\u767B\u8BB0 \xB7 \u5728\u7EBF\u4E0E\u8EAB\u4EFD\u53E6\u884C\u6838\u9A8C`})),p?.remoteTarget&&ge.default.createElement(_,{label:"\u53D7\u7BA1\u4E91\u7AEF\u76EE\u5F55",value:p.remoteTarget.root}),c&&ge.default.createElement(b,{tone:"warn"},c),ge.default.createElement(b,null,"\u624B\u52A8\u6838\u5BF9\u53EA\u8BFB\u6E05\u5355\uFF0C\u4E0D\u53D1\u9001\u6D88\u606F\u3001\u4E0D\u63A5\u7BA1\u6D88\u8D39\u8005\u3002\u767B\u8BB0\u4E0D\u7B49\u4E8E\u5728\u7EBF\u3001\u672C\u4EBA\u8EAB\u4EFD\u6216\u53CC\u7AEF\u8DEF\u7531\u901A\u8FC7\u3002\u4E91\u7AEF\u539F\u751F\u914D\u7F6E\u53EA\u64CD\u4F5C\u76EE\u6807 Host\uFF1B\u4E0D\u80FD\u7531\u672C\u7AEF\u7ED3\u679C\u63A8\u65AD\u4E91\u7AEF\u5DF2\u5B8C\u6210\u3002"),ge.default.createElement("div",{className:"connection-actions",role:"group","aria-label":i?"\u4E91\u7AEF IM \u5BFC\u89C8\u64CD\u4F5C":"\u672C\u7AEF IM \u5BFC\u89C8\u64CD\u4F5C"},ge.default.createElement(v,{kind:"secondary",icon:"reset",disabled:m,onClick:d},m?"\u6B63\u5728\u6838\u5BF9\u6E05\u5355":i?"\u624B\u52A8\u6838\u5BF9\u4E91\u7AEF IM":"\u624B\u52A8\u6838\u5BF9\u672C\u7AEF IM"),i&&f&&ge.default.createElement(v,{kind:"primary",icon:"chat",disabled:m||!u,onClick:n},"\u6253\u5F00\u4E91\u7AEF\u539F\u751F IM \u914D\u7F6E"),!i&&ge.default.createElement(v,{kind:"primary",icon:"chat",disabled:!a.available||!l||m,onClick:l},"\u6253\u5F00\u672C\u7AEF\u539F\u751F IM \u7BA1\u7406")),!i&&!a.available&&ge.default.createElement("p",{className:"fine-print"},"\u539F\u751F\u9762\u677F\u670D\u52A1\u4E0D\u53EF\u7528\uFF1B\u53EF\u5728 DSH \u539F\u8BBE\u7F6E\u5165\u53E3\u68C0\u67E5\u5B98\u65B9 IM \u4F9D\u8D56\u3002\u5BFC\u89C8\u4E0D\u4F1A\u81EA\u52A8\u5B89\u88C5\u6216\u4FEE\u6539\u5B83\u3002"),i?ge.default.createElement("p",{className:"fine-print"},"\u6E05\u70B9\u548C\u6253\u5F00\u914D\u7F6E\u90FD\u4E0D\u4F1A\u5B89\u88C5\u4F9D\u8D56\u6216\u7ED1\u5B9A\u673A\u5668\u4EBA\u3002\u539F\u751F Web \u4E0D\u662F\u53EA\u8BFB\u6C99\u7BB1\uFF1B\u51ED\u636E\u3001\u7ED1\u5B9A\u53CA\u8FDE\u63A5\u5728\u4E91\u7AEF\u539F\u751F\u754C\u9762\u5355\u72EC\u64CD\u4F5C\u3002"):ge.default.createElement("p",{className:"fine-print"},"\u7BA1\u7406\u9875\u7531 IM \u63D2\u4EF6\u63D0\u4F9B\uFF0C\u4FDD\u7559\u539F\u8BBE\u7F6E\u5165\u53E3\u3002\u7ED1\u5B9A\u3001\u8FDE\u63A5\u6216\u5220\u9664\u9700\u5728\u539F\u751F\u9875\u660E\u786E\u64CD\u4F5C\uFF1B\u6253\u5F00\u9875\u9762\u672C\u8EAB\u4E0D\u6388\u6743\u4EFB\u4F55\u673A\u5668\u4EBA\u53D8\u66F4\u3002"))}var go=class extends ge.default.Component{constructor(o){super(o),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?ge.default.createElement("p",{role:"alert"},"\u539F\u751F IM \u9762\u677F\u6682\u4E0D\u53EF\u7528\u3002\u8BF7\u8FD4\u56DE\u5BFC\u89C8\u6216\u4F7F\u7528\u539F\u8BBE\u7F6E\u5165\u53E3\uFF1B\u672A\u81EA\u52A8\u91CD\u8BD5\u3002"):this.props.children}};var ee=Le(me());var pt=e=>e==="cloud"?"\u4E91\u7AEF\u673A\u5668\u4EBA":"\u672C\u5730\u673A\u5668\u4EBA",ol={active:"\u5DF2\u540C\u6B65\u4E91\u7AEF",pending_pair_or_sync:"\u5DF2\u4FDD\u5B58\uFF0C\u7B49\u5F85\u53CC\u7AEF\u914D\u5BF9\uFF0F\u540C\u6B65",pending_or_review:"\u540C\u6B65\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9",not_configured:"\u5C1A\u672A\u8BBE\u7F6E\uFF0C\u53EF\u8DF3\u8FC7"};function vo({request:e}){let[o,l]=(0,ee.useState)("local"),[u,f]=(0,ee.useState)(null),[i,a]=(0,ee.useState)(""),[p,I]=(0,ee.useState)(null),[m,r]=(0,ee.useState)(null),[c,t]=(0,ee.useState)(!1),[s,d]=(0,ee.useState)(!1),[n,x]=(0,ee.useState)(""),[g,h]=(0,ee.useState)(null),C=(0,ee.useRef)(!1),S=(0,ee.useRef)(!0);(0,ee.useEffect)(()=>(S.current=!0,()=>{S.current=!1}),[]);let D=u?.find(T=>T.candidate_id===i&&T.eligible);async function N(T){if(!C.current){C.current=!0,d(!0),x("");try{if(T==="discover"){r(null),t(!1),f(null),a("");let O=await e("notification_defaults_discover",{host:o});if(!S.current)return;let w=O.items??[];f(w);let Q=w.filter(te=>te.eligible);Q.length===1&&a(Q[0].candidate_id),O.state==="unavailable"&&x("\u6B64\u7AEF\u6682\u4E0D\u5177\u5907\u7ECF\u8FC7\u6838\u9A8C\u7684 IM \u901A\u77E5\u80FD\u529B\u3002\u8BF7\u5148\u914D\u7F6E\u5BF9\u5E94\u673A\u5668\u4EBA\uFF0C\u4E0D\u4F1A\u6539\u7528\u53E6\u4E00\u7AEF\u3002")}else if(T==="status"||T==="sync"){let O=await e("notification_defaults_"+T,{});if(!S.current)return;I(O),g&&(O.operation===g.id||O.revision>=g.revision)&&h(null)}else if(T==="enable"||T==="disable"){if(g||T==="enable"&&!D)return;r(null),t(!1);let O=await e("notification_defaults_preview",T==="enable"?{enabled:!0,host:o,candidate_id:D.candidate_id,label:D.label}:{enabled:!1});S.current&&r(O)}else if(T==="apply"){if(!m||!c||g||m.expiresAt<=Date.now())return;let O=m;r(null),t(!1),h({id:O.id,revision:O.revision});let w=await e("notification_defaults_apply",{id:O.id,fingerprint:O.fingerprint,confirm:!0});if(!S.current)return;I(w),w.operation===O.id&&h(null)}}catch(O){S.current&&x(/^ONBOARDING_CLOUD_/.test(O?.message??"")?"\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\u6216\u4E0D\u652F\u6301\u6B64\u5951\u7EA6\u3002\u53EF\u5148\u5B8C\u6210\u7B2C 5\u30016 \u9875\uFF0C\u518D\u8FD4\u56DE\u6B64\u5904\uFF1B\u4E0D\u4F1A\u4ECE\u672C\u7AEF\u8BFB\u53D6\u66FF\u4EE3\u3002":"\u672C\u6B21\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u82E5\u5DF2\u4FDD\u5B58\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF0C\u4E5F\u4E0D\u66F4\u6362\u673A\u5668\u4EBA\u6216\u6536\u4EF6\u4F4D\u7F6E\u3002")}finally{C.current=!1,S.current&&d(!1)}}}return ee.default.createElement(j,{title:"\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3",icon:"chat",className:"connection-panel",sub:"\u53EF\u9009\u3002\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u673A\u5668\u4EBA\u4F5C\u4E3A\u65E5\u5E38\u4EA4\u529E\u5165\u53E3\uFF0C\u5E76\u5C06\u4E91\u7AEF\u65B0\u5B9A\u65F6\u4EFB\u52A1\u7684\u7ED3\u679C\u53D1\u56DE\u5176\u7ED1\u5B9A\u5BF9\u8BDD\u3002\u4E0D\u4F1A\u5173\u95ED\u53E6\u4E00\u7AEF\u539F\u751F IM\u3002\u53EA\u53D1\u5B8C\u6210\uFF0F\u5931\u8D25\u6458\u8981\uFF0C\u4E0D\u81EA\u52A8\u4E0A\u4F20\u5168\u90E8\u9644\u4EF6\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u6743\u9650\u3002"},ee.default.createElement(Se,{label:"\u9ED8\u8BA4\u673A\u5668\u4EBA\u6240\u5728\u7AEF"},ee.default.createElement("select",{value:o,disabled:s||!!g,onChange:T=>{l(T.target.value),f(null),a(""),r(null),t(!1)}},ee.default.createElement("option",{value:"local"},"\u672C\u5730\u673A\u5668\u4EBA"),ee.default.createElement("option",{value:"cloud"},"\u4E91\u7AEF\u673A\u5668\u4EBA"))),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(v,{kind:"secondary",icon:"reset",disabled:s||!!g,onClick:()=>N("discover")},"\u8BFB\u53D6",pt(o),"\u4E0E\u5BF9\u8BDD"),ee.default.createElement(v,{kind:"secondary",disabled:s,onClick:()=>N("status")},"\u6838\u5BF9\u5DF2\u4FDD\u5B58\u8BBE\u7F6E")),u&&ee.default.createElement(Se,{label:"\u673A\u5668\u4EBA\u4E0E\u8FD4\u56DE\u5BF9\u8BDD",hint:"\u53EA\u5217\u51FA\u8BE5\u7AEF IM \u516C\u5F00\u63A5\u53E3\u5DF2\u4FDD\u5B58\u7684\u76EE\u6807\u3002\u9996\u6B21\u4F7F\u7528\u8BF7\u5148\u4E0E\u673A\u5668\u4EBA\u79C1\u804A\uFF0C\u5E76\u5728\u539F\u751F IM \u7BA1\u7406\u4E2D\u4FDD\u5B58\u901A\u77E5\u76EE\u6807\uFF0C\u518D\u91CD\u65B0\u8BFB\u53D6\u3002"},ee.default.createElement("select",{value:i,disabled:s||!!g,onChange:T=>{a(T.target.value),r(null),t(!1)}},ee.default.createElement("option",{value:""},u.length?"\u8BF7\u9009\u62E9\u5DF2\u6838\u9A8C\u7684\u5BF9\u8BDD":"\u5C1A\u65E0\u5DF2\u4FDD\u5B58\u5BF9\u8BDD"),u.map((T,O)=>ee.default.createElement("option",{key:T.candidate_id??O,value:T.candidate_id??"",disabled:!T.eligible},T.account," \xB7 ",T.label," \xB7 ",T.kind==="group"?"\u7FA4\u804A":"\u79C1\u804A",T.eligible?"":"\uFF08\u4E0D\u53EF\u7528\uFF09")))),ee.default.createElement(_,{label:"\u5F53\u524D\u9ED8\u8BA4",value:p?.enabled?`${pt(p.target.host)} \xB7 ${p.target.label}`:p?"\u672A\u542F\u7528\u9ED8\u8BA4\u901A\u77E5":"\u5C1A\u672A\u6838\u5BF9"}),p&&ee.default.createElement(_,{label:"\u4E91\u7AEF\u8BB0\u8D26",value:ol[p.publication.state]??"\u5F85\u6838\u5BF9"}),ee.default.createElement("p",{className:"fine-print"},"\u672C\u5730\u5165\u53E3\uFF1AMac \u79BB\u7EBF\u65F6\u901A\u77E5\u6392\u961F\uFF1B\u4E91\u7AEF\u5165\u53E3\uFF1A\u4E0D\u4F9D\u8D56 Mac \u5728\u7EBF\u3002\u9009\u62E9\u53EA\u6709\u786E\u8BA4\u4FDD\u5B58\u540E\u624D\u751F\u6548\u3002"),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(v,{kind:"primary",disabled:s||!!g||!D,onClick:()=>N("enable")},"\u9884\u89C8\u9ED8\u8BA4\u5165\u53E3"),ee.default.createElement(v,{kind:"secondary",disabled:s||!!g||!p?.enabled,onClick:()=>N("disable")},"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),p?.revision>0&&ee.default.createElement(v,{kind:"secondary",disabled:s||!!g,onClick:()=>N("sync")},"\u624B\u52A8\u6838\u5BF9\u4E91\u7AEF\u540C\u6B65")),m&&ee.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u9ED8\u8BA4\u6536\u53D1\u5165\u53E3"},ee.default.createElement("h3",null,m.enabled?"\u542F\u7528\u9ED8\u8BA4\u5165\u53E3":"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),m.target&&ee.default.createElement(_,{label:"\u7ED3\u679C\u8FD4\u56DE",value:`${pt(m.target.host)} \xB7 ${m.target.label}`}),ee.default.createElement("p",null,"\u4EC5\u65B0\u5EFA\u7684\u4E91\u7AEF\u5B9A\u65F6\u4EFB\u52A1\u7EE7\u627F\u3002\u66F4\u6539\u5C06\u505C\u6B62\u65E7\u9ED8\u8BA4\u7ED1\u5B9A\u7684\u5F85\u53D1\u901A\u77E5\uFF0C\u4F46\u4E0D\u4FEE\u6539\u4EFB\u52A1\u660E\u786E\u6307\u5B9A\u7684\u901A\u77E5\uFF1B\u5DF2\u53D1\u9001\u7684\u6D88\u606F\u65E0\u6CD5\u64A4\u56DE\uFF0C\u4E0D\u8865\u53D1\u5386\u53F2\u4EFB\u52A1\u3002"),ee.default.createElement(J,{checked:c,disabled:s,onChange:t,title:"\u6211\u786E\u8BA4\u6B64\u9ED8\u8BA4\u6536\u53D1\u8BBE\u7F6E\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03"}),ee.default.createElement("div",{className:"connection-actions"},ee.default.createElement(v,{kind:"primary",disabled:s||!c||m.expiresAt<=Date.now(),onClick:()=>N("apply")},"\u786E\u8BA4\u4FDD\u5B58\u9ED8\u8BA4\u8BBE\u7F6E"),ee.default.createElement(v,{kind:"secondary",disabled:s,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))),g&&ee.default.createElement(b,{tone:"warn"},"\u4FDD\u5B58\u56DE\u6267\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u539F\u8BBE\u7F6E\uFF0C\u4E0D\u8981\u91CD\u590D\u786E\u8BA4\u6216\u5C06\u5931\u8D25\u5F53\u4F5C\u672A\u4FDD\u5B58\u3002"),n&&ee.default.createElement("p",{role:"alert",className:"connection-error"},n))}var ce=Le(me());var rl={ONBOARDING_REPOSITORY_DEFAULT_BRANCH_REQUIRED:"\u4ED3\u5E93\u53EF\u8BFB\u53D6\uFF0C\u4F46\u672A\u8BBE\u7F6E\u9ED8\u8BA4\u5206\u652F\uFF1B\u8BF7\u586B\u5199\u5DF2\u6709\u5206\u652F\u540E\u91CD\u65B0\u6838\u9A8C\u3002\u7A7A\u4ED3\u5E93\u987B\u53E6\u884C\u521D\u59CB\u5316\uFF0C\u672C\u5BFC\u89C8\u4E0D\u4F1A\u521B\u5EFA\u63D0\u4EA4\u3002",ONBOARDING_REPOSITORY_ARGUMENTS:"\u8BF7\u586B\u5199\u6709\u6548\u7684 Gitee \u4ED3\u5E93\u5730\u5740\u548C\u5206\u652F\uFF1B\u5730\u5740\u4E2D\u4E0D\u80FD\u5305\u542B\u51ED\u636E\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_REQUIRED:"\u5F53\u524D\u76EE\u6807\u6CA1\u6709\u4FDD\u5B58\u672C\u9879\u76EE\u7684 Gitee \u4EE4\u724C\uFF1B\u516C\u5F00\u4ED3\u5E93\u53EF\u9009\u62E9\u533F\u540D\u6838\u9A8C\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_INVALID:"Gitee \u4EE4\u724C\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u901A\u8FC7\u72EC\u7ACB\u51ED\u636E\u7A97\u53E3\u6838\u5BF9\uFF0C\u4E0D\u8981\u586B\u5165\u5730\u5740\u6216\u804A\u5929\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_CHANGED:"\u6838\u9A8C\u671F\u95F4\u51ED\u636E\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u7ED3\u679C\u4E0D\u91C7\u7528\uFF1B\u8BF7\u624B\u52A8\u91CD\u65B0\u6838\u9A8C\u3002",ONBOARDING_REPOSITORY_NOT_FOUND_OR_PRIVATE:"\u4ED3\u5E93\uFF0F\u5206\u652F\u4E0D\u5B58\u5728\uFF0C\u6216\u5F53\u524D\u8EAB\u4EFD\u65E0\u6743\u67E5\u770B\uFF1B\u4E0D\u80FD\u4EC5\u51ED\u6B64\u7ED3\u679C\u5224\u65AD\u4ED3\u5E93\u5DF2\u5220\u9664\u3002",ONBOARDING_REPOSITORY_ACCESS_DENIED:"\u5F53\u524D\u8EAB\u4EFD\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF1B\u4E0D\u4F1A\u5207\u6362\u5176\u4ED6\u51ED\u636E\u91CD\u8BD5\u3002",ONBOARDING_REPOSITORY_RATE_LIMIT:"Gitee \u6682\u65F6\u9650\u6D41\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u9A8C\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_REPOSITORY_PROVIDER_UNAVAILABLE:"Gitee \u53EA\u8BFB\u63A5\u53E3\u6682\u4E0D\u53EF\u8FBE\uFF1B\u672C\u6B21\u6CA1\u6709\u786E\u8BA4\u8BFB\u53D6\u6743\u9650\u3002",ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u4ED3\u5E93\u6838\u9A8C\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u7528\u65B0\u63A7\u5236\u5668\u8986\u76D6\u65E7\u5F52\u6863\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u672C\u5BFC\u89C8\u7684\u4E91\u7AEF Host \u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u6838\u5BF9\u7B2C 6 \u9875\uFF1B\u4E0D\u56DE\u9000\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u8BF7\u5148\u5B8C\u6210\u672C\u5BFC\u89C8\u7684\u4E91\u7AEF\u72EC\u7ACB\u521D\u59CB\u5316\uFF1B\u672C\u7AEF\u6210\u529F\u4E0D\u80FD\u4EE3\u66FF\u4E91\u7AEF\u9A8C\u8BC1\u3002"};function xo({request:e,url:o,cloud:l=!1}){let[u,f]=(0,ce.useState)(""),[i,a]=(0,ce.useState)("anonymous"),[p,I]=(0,ce.useState)(!1),[m,r]=(0,ce.useState)(null),[c,t]=(0,ce.useState)(""),s=(0,ce.useRef)(null),d=(0,ce.useRef)(!0),n=(0,ce.useRef)(!1),x=JSON.stringify([o,u,i,l]);s.current=x,(0,ce.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]),(0,ce.useEffect)(()=>{r(null),t("")},[x]);async function g(){if(n.current)return;n.current=!0,I(!0),r(null),t("");let C=x;try{let S=await e(l?"cloud_repository_inspect":"repository_inspect",{url:o,branch:u,authentication:i});d.current&&s.current===C&&r({key:C,value:S})}catch(S){d.current&&s.current===C&&t(rl[S.message]??"\u6838\u9A8C\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u68C0\u67E5\u76EE\u6807\u548C\u8FDE\u63A5\u3002\u4E0D\u91C7\u7528\u65E7\u7ED3\u679C\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{n.current=!1,d.current&&I(!1)}}let h=m?.key===x?m.value:null;return ce.default.createElement(j,{className:"connection-panel",title:l?"\u4E91\u7AEF\u4ED3\u5E93\u53EA\u8BFB\u6838\u9A8C":"\u672C\u7AEF\u4ED3\u5E93\u53EA\u8BFB\u6838\u9A8C",icon:"git",sub:"\u624B\u52A8\u67E5\u8BE2 Gitee \u5143\u6570\u636E\uFF1B\u4E0D\u514B\u9686\u3001\u4E0D\u5199\u6587\u4EF6\u3001\u4E0D\u63D0\u4EA4\u6216\u63A8\u9001\u3002"},ce.default.createElement(_,{label:"\u67E5\u8BE2\u76EE\u6807",value:l?"\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF Host \xB7 \u4EC5\u4F7F\u7528\u4E91\u7AEF\u51ED\u636E":"\u5F53\u524D Host \xB7 \u4E0D\u501F\u7528\u4E91\u7AEF\u6216\u65E5\u5E38\u51ED\u636E"}),ce.default.createElement("div",{className:"form-grid"},ce.default.createElement(Se,{label:"\u6838\u9A8C\u5206\u652F",value:u,onChange:C=>f(C.target.value),placeholder:"\u7559\u7A7A\u4F7F\u7528\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F"}),ce.default.createElement(Se,{label:"\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD"},ce.default.createElement("select",{value:i,onChange:C=>a(C.target.value)},ce.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),ce.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C")))),ce.default.createElement("div",{className:"connection-actions",role:"group","aria-label":l?"\u4E91\u7AEF\u4ED3\u5E93\u6838\u9A8C\u64CD\u4F5C":"\u672C\u7AEF\u4ED3\u5E93\u6838\u9A8C\u64CD\u4F5C"},ce.default.createElement(v,{kind:"primary",icon:p?"spinner":"git",disabled:p||!o,onClick:g},p?"\u6B63\u5728\u53EA\u8BFB\u6838\u9A8C\u2026":l?"\u624B\u52A8\u6838\u9A8C\u4E91\u7AEF\u4ED3\u5E93\u8BBF\u95EE":"\u624B\u52A8\u6838\u9A8C\u672C\u7AEF\u4ED3\u5E93\u8BBF\u95EE")),h&&ce.default.createElement("div",{role:"status"},ce.default.createElement(_,{label:"\u8BFB\u53D6\u6743\u9650",value:"\u672C\u6B21\u5143\u6570\u636E\u8BFB\u53D6\u901A\u8FC7 \xB7 \u4E0D\u4EE3\u8868\u5199\u6743\u9650"}),ce.default.createElement(_,{label:"\u5B9E\u9645 Host",value:h.target.name+" / "+h.target.platform}),ce.default.createElement(_,{label:"\u4ED3\u5E93",value:h.repository.url}),ce.default.createElement(_,{label:"\u5206\u652F",value:h.repository.branch}),ce.default.createElement("div",{className:"path-line"},ce.default.createElement("span",null,"\u89C2\u5BDF\u5230\u7684\u63D0\u4EA4"),ce.default.createElement("code",null,h.repository.base_sha)),ce.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",new Date(l?h.checkedAt:h.observedAt).toLocaleString(),"\u3002\u4EC5\u4E3A\u672C\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u81EA\u52A8\u5237\u65B0\uFF1B\u5B9E\u9645\u4EFB\u52A1\u6267\u884C\u524D\u4ECD\u987B\u91CD\u65B0\u6838\u9A8C\u3002")),c&&ce.default.createElement("p",{role:"alert"},c),ce.default.createElement(b,null,"\u8FD9\u4E0D\u662F\u4EFB\u52A1\u7ED1\u5B9A\u6216\u5F00\u53D1\u6388\u6743\u3002\u8349\u7A3F\u522B\u540D\u9700\u53E6\u884C\u786E\u8BA4\u767B\u8BB0\uFF1B\u4E3A\u4EFB\u52A1\u5173\u8054\u4ED3\u5E93\u3001\u5F00\u53D1\u3001commit\u3001push \u5FC5\u987B\u5206\u522B\u8D70\u5B9E\u9645\u4EFB\u52A1\u6D41\u7A0B\u548C\u5BA1\u6279\u3002Gitee \u4E0D\u662F\u53CC\u7AEF\u901A\u4FE1\u5E73\u53F0\u3002"))}var X=Le(me());var ll={ONBOARDING_REPOSITORY_ALIAS_CONFLICT:"\u8FD9\u4E2A\u522B\u540D\u5DF2\u7ECF\u767B\u8BB0\u7ED9\u5176\u4ED6\u4ED3\u5E93\uFF0C\u8BF7\u6539\u540D\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_REPOSITORY_REGISTRY_ARGUMENTS:"\u8BF7\u6838\u5BF9\u4ED3\u5E93\u5730\u5740\u548C\u522B\u540D\uFF1B\u4E0D\u8981\u586B\u5199\u4EE4\u724C\u3002",ONBOARDING_REPOSITORY_CREDENTIAL_REQUIRED:"\u76EE\u6807\u7AEF\u6CA1\u6709\u672C\u9879\u76EE Gitee \u4EE4\u724C\u3002\u8BF7\u5148\u4FDD\u5B58\uFF0F\u4EA4\u63A5\uFF0C\u6216\u660E\u786E\u9009\u62E9\u533F\u540D\u8BBF\u95EE\u516C\u5F00\u4ED3\u5E93\u3002",ONBOARDING_REPOSITORY_RECOVERY_REQUIRED:"\u4E0A\u6B21\u4E91\u7AEF\u767B\u8BB0\u5C1A\u5F85\u6838\u5BF9\uFF0C\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002\u8BF7\u5148\u5237\u65B0\u539F\u56DE\u6267\uFF0C\u5FC5\u8981\u65F6\u9884\u89C8\u5173\u95ED\u672A\u77E5\u64CD\u4F5C\u3002",ONBOARDING_REPOSITORY_PLAN_EXPIRED:"\u786E\u8BA4\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u88AB\u6D88\u8017\u3002\u82E5\u66FE\u70B9\u51FB\u786E\u8BA4\uFF0C\u8BF7\u5148\u5237\u65B0\u56DE\u6267\uFF0C\u4E0D\u8981\u76F4\u63A5\u91CD\u590D\u767B\u8BB0\u3002",ONBOARDING_REPOSITORY_REGISTRY_CONFLICT:"\u767B\u8BB0\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u6CA1\u6709\u8986\u76D6\u65B0\u7248\u672C\u3002\u8BF7\u5237\u65B0\u540E\u91CD\u65B0\u5BA1\u9605\u3002",ONBOARDING_REPOSITORY_ALREADY_APPLIED:"\u539F\u64CD\u4F5C\u5DF2\u767B\u8BB0\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u67E5\u770B\u56DE\u6267\uFF0C\u65E0\u9700\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u767B\u8BB0\u5408\u540C\uFF1B\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_REPOSITORY_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u767B\u8BB0\u4E0E\u6062\u590D\u5408\u540C\uFF0C\u4E0D\u56DE\u9000\u5230\u65E7\u63A5\u53E3\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u53D7\u7BA1\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u6838\u5BF9\u7B2C 6 \u9875\uFF1B\u4E0D\u4F1A\u6539\u767B\u8BB0\u5230\u672C\u7AEF\u3002"},sl=e=>e?.replace(/^git@gitee\.com:/,"https://gitee.com/").replace(/\.git\/?$/,"").replace(/\/$/,"").toLowerCase(),ul={not_started:"\u5C1A\u65E0\u672C\u8F6E\u4E91\u7AEF\u767B\u8BB0\u64CD\u4F5C",sending:"\u5DF2\u8BB0\u53D1\u9001\u610F\u56FE \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u6B63\u5728\u6838\u5BF9\u5173\u95ED\u7ED3\u679C",applied:"\u539F\u767B\u8BB0\u56DE\u6267\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"};function _o({request:e,url:o,alias:l,cloud:u=!1}){let[f,i]=(0,X.useState)("anonymous"),[a,p]=(0,X.useState)(null),[I,m]=(0,X.useState)(null),[r,c]=(0,X.useState)(!1),[t,s]=(0,X.useState)(!1),[d,n]=(0,X.useState)(""),[x,g]=(0,X.useState)(!1),h=(0,X.useRef)(!0),C=(0,X.useRef)(!1),S=(0,X.useRef)(""),D=JSON.stringify([o,l,f,u]);S.current=D;let N=u?"cloud_repository_registry_":"repository_registry_",T=u?"\u4E91\u7AEF":"\u672C\u7AEF",O=l?.trim()||o?.replace(/\/$/,"").split("/").pop()?.replace(/\.git$/,"")||"";(0,X.useEffect)(()=>(h.current=!0,e(N+"status",u?{refresh:!1}:{}).then(se=>{h.current&&p(se)}).catch(()=>{h.current&&n("\u672C\u7AEF\u767B\u8BB0\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u6838\u5BF9\u3002")}),()=>{h.current=!1}),[u]),(0,X.useEffect)(()=>{m(null),c(!1)},[D]);let w=u?a?.registry:a,Q=u?a?.operation:null,te=w?.entries?.find(se=>se.url.toLowerCase()===sl(o)),U=u?Q&&["sending","needs_review","recovering"].includes(Q.state):x;async function ie(se,we){if(C.current)return;C.current=!0,s(!0),n("");let Oe=D,De=I;(se==="apply"||se==="recoveryApply")&&(m(null),c(!1),g(!0));try{let ye;se==="status"?(m(null),c(!1),ye=u?{refresh:!0}:{}):se==="preview"?ye=we?{url:o,alias:O,authentication:f,enabled:!0}:{url:te.url,alias:te.alias,authentication:te.authentication,enabled:!1}:se==="recoveryPreview"?ye={}:ye={id:De.id,fingerprint:De.fingerprint,confirm:!0};let de=await e(N+se,ye);if(!h.current)return;se==="preview"||se==="recoveryPreview"?S.current===Oe&&(m({...de,recovery:se==="recoveryPreview"}),c(!1)):(p(de),g(!1))}catch(ye){h.current&&(n(ll[ye.message]??"\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u539F\u8BB0\u5F55\uFF0C\u4E0D\u4F9D\u636E\u9519\u8BEF\u63A8\u65AD\u672A\u5199\u5165\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"),se==="status"&&p(de=>u&&de?{...de,registry:null,freshness:"check_failed"}:null))}finally{C.current=!1,h.current&&s(!1)}}return X.default.createElement(j,{className:"connection-panel",title:T+"\u4ED3\u5E93\u767B\u8BB0",icon:"git",sub:"\u628A\u8349\u7A3F\u53D8\u6210\u660E\u786E\u767B\u8BB0\uFF1B\u4E0D\u662F\u4EFB\u52A1\u7ED1\u5B9A\uFF0C\u4E5F\u4E0D\u5F00\u653E\u5F00\u53D1\u6216 Git \u5199\u5165\u3002"},X.default.createElement(_,{label:"\u767B\u8BB0\u4F4D\u7F6E",value:u?"\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684\u4E91\u7AEF Host \xB7 \u4E0D\u6539\u672C\u7AEF":"\u5F53\u524D Host \xB7 \u4E0D\u81EA\u52A8\u540C\u6B65\u4E91\u7AEF"}),X.default.createElement(_,{label:"\u62DF\u7528\u522B\u540D",value:O||"\u586B\u5199\u5730\u5740\u540E\u9ED8\u8BA4\u4F7F\u7528\u4ED3\u5E93\u540D\u79F0\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u522B\u540D"}),X.default.createElement(Se,{label:"\u767B\u8BB0\u8BBF\u95EE\u8EAB\u4EFD"},X.default.createElement("select",{value:f,disabled:t,onChange:se=>i(se.target.value)},X.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),X.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C"))),X.default.createElement("div",{className:"connection-actions",role:"group","aria-label":T+"\u4ED3\u5E93\u767B\u8BB0\u64CD\u4F5C"},X.default.createElement(v,{kind:"primary",icon:t?"spinner":"git",disabled:t||!o||!O||!!U,onClick:()=>ie("preview",!0)},"\u9884\u89C8",T,"\u4ED3\u5E93\u767B\u8BB0"),X.default.createElement(v,{kind:"secondary",icon:"pause",disabled:t||!te?.enabled||!!U,onClick:()=>ie("preview",!1)},"\u9884\u89C8\u505C\u7528",T,"\u767B\u8BB0"),X.default.createElement(v,{kind:"secondary",icon:"reset",disabled:t,onClick:()=>ie("status")},"\u624B\u52A8\u5237\u65B0",T,"\u767B\u8BB0")),Q&&X.default.createElement("div",{className:"connection-result",role:"status"},X.default.createElement(_,{label:"\u539F\u64CD\u4F5C",value:ul[Q.state]??"\u5F85\u6838\u5BF9"}),X.default.createElement("p",{className:"fine-print"},a.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u67E5\u8BE2\u76EE\u6807\u7AEF\uFF1B\u4EC5\u4EE3\u8868\u672C\u6B21\u89C2\u5BDF\u3002":a.freshness==="check_failed"?"\u672C\u6B21\u67E5\u8BE2\u5931\u8D25\uFF0C\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u5728\u7EBF\u3002":"\u672C\u7AEF\u5386\u53F2\u8BB0\u5F55\uFF0C\u5C1A\u672A\u67E5\u8BE2\u4E91\u7AEF\u3002")),w&&X.default.createElement("div",{className:"connection-result",role:"status"},X.default.createElement(_,{label:"\u5F53\u524D\u5730\u5740\u7684\u767B\u8BB0",value:te?te.enabled?"\u5DF2\u767B\u8BB0 \xB7 "+te.alias:"\u5DF2\u505C\u7528\uFF0C\u4FDD\u7559\u8BB0\u5F55":"\u672A\u767B\u8BB0"}),X.default.createElement(_,{label:"\u4EFB\u52A1\u8FD0\u884C\u65F6",value:w.runtimeConfigured?"\u76EE\u6807\u914D\u7F6E\u5DF2\u63A5\u5165\uFF1B\u4EFB\u52A1\u4ECD\u987B\u53E6\u884C\u5173\u8054\u548C\u5BA1\u6279":"\u5C1A\u672A\u542F\u7528\u6B64\u767B\u8BB0\u7684\u4E91\u7AEF\u4EFB\u52A1\u8FD0\u884C\u65F6\uFF1B\u4FDD\u5B58\u4E0D\u4EE3\u8868\u53EF\u6267\u884C"}),X.default.createElement("p",{className:"fine-print"},"\u767B\u8BB0\u4FEE\u8BA2 ",w.revision,"\uFF1B\u4E0D\u662F\u4ED3\u5E93\u5185\u5BB9\u6216\u6743\u9650\u7684\u6301\u7EED\u76D1\u63A7\u3002")),u&&U&&X.default.createElement("div",{className:"connection-utility"},X.default.createElement("p",null,"\u5148\u5237\u65B0\u539F\u56DE\u6267\u3002\u4ECD\u672A\u786E\u8BA4\u65F6\uFF0C\u53EF\u5355\u72EC\u5173\u95ED\u539F\u64CD\u4F5C\u5E76\u963B\u65AD\u8FDF\u5230\u8BF7\u6C42\uFF1B\u4E0D\u5220\u9664\u4ED3\u5E93\u767B\u8BB0\u6216\u51ED\u636E\u3002"),X.default.createElement(v,{kind:"soft",icon:"shield",disabled:t,onClick:()=>ie("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u767B\u8BB0")),I&&X.default.createElement("section",{className:"connection-confirm","aria-label":T+"\u4ED3\u5E93\u767B\u8BB0\u786E\u8BA4"},X.default.createElement("h3",null,I.recovery?"\u5173\u95ED\u672A\u77E5\u767B\u8BB0\uFF0C\u4E0D\u91CD\u53D1":I.entry.enabled?"\u786E\u8BA4\u767B\u8BB0\u8BA1\u5212":"\u786E\u8BA4\u505C\u7528\u8BA1\u5212"),!I.recovery&&X.default.createElement(X.default.Fragment,null,X.default.createElement(_,{label:"\u4ED3\u5E93",value:I.entry.url}),X.default.createElement(_,{label:"\u522B\u540D",value:I.entry.alias}),X.default.createElement(_,{label:"\u8BBF\u95EE\u65B9\u5F0F",value:I.entry.authentication==="anonymous"?"\u533F\u540D\uFF0C\u4E0D\u4F7F\u7528\u4EFB\u4F55\u5DF2\u5B58\u4EE4\u724C":"\u4EC5\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C"}),X.default.createElement(_,{label:"\u5B9E\u9645 Host",value:I.target.name+" / "+I.target.platform})),X.default.createElement(b,null,I.recovery?"\u4EC5\u63A8\u8FDB\u767B\u8BB0\u7248\u672C\u5C4F\u969C\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7684\u7248\u672C\uFF1B\u4FDD\u7559\u5F53\u524D\u6240\u6709\u6761\u76EE\uFF0C\u4E0D\u91CD\u53D1\u539F\u767B\u8BB0\u3002\u82E5\u539F\u8BF7\u6C42\u5DF2\u6210\u529F\uFF0C\u4F1A\u663E\u793A\u539F\u767B\u8BB0\u751F\u6548\uFF0C\u800C\u4E0D\u662F\u5047\u62A5\u64A4\u9500\u3002":"\u4EC5\u4FDD\u5B58\u6216\u505C\u7528\u8FD9\u4E2A\u5730\u5740\u7684\u767B\u8BB0\u3002\u539F\u4EFB\u52A1\u5173\u8054\u4E0D\u53D8\uFF1B\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u4ECD\u987B\u72EC\u7ACB\u5BA1\u6279\u3002"),X.default.createElement(J,{title:"\u6211\u786E\u8BA4\u4EC5\u53D8\u66F4\u672C\u9879\u76EE\u4ED3\u5E93\u767B\u8BB0\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216 Git \u5199\u5165",checked:r,onChange:c}),X.default.createElement("div",{className:"connection-actions",role:"group","aria-label":T+"\u4ED3\u5E93\u767B\u8BB0\u6700\u7EC8\u786E\u8BA4"},X.default.createElement(v,{kind:"primary",icon:"check",disabled:t||!r,onClick:()=>ie(I.recovery?"recoveryApply":"apply")},I.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u767B\u8BB0":I.entry.enabled?"\u786E\u8BA4"+T+"\u4ED3\u5E93\u767B\u8BB0":"\u786E\u8BA4\u505C\u7528"+T+"\u767B\u8BB0"),X.default.createElement(v,{kind:"secondary",disabled:t,onClick:()=>{m(null),c(!1)}},"\u53D6\u6D88"))),d&&X.default.createElement("p",{className:"connection-error",role:"alert"},d),X.default.createElement(b,null,"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u767B\u8BB0\u72EC\u7ACB\uFF1BGitee \u4ECD\u4E0D\u662F\u901A\u4FE1\u901A\u9053\u6216\u4EFB\u52A1\u9501\u3002\u9875\u9762\u4E0D\u81EA\u52A8\u5237\u65B0\uFF0C\u4E0D\u8BBF\u95EE Gitee \u7F51\u9875\u3002"))}var K=Le(me());var nl={outgoing:"\u53D1\u4EF6",incoming:"\u6536\u4EF6",broker:"\u4E91\u7AEF\u4E2D\u7EE7"},Qa={cloud:"\u4E91\u7AEF",local:"\u672C\u5730"},So={PEER_FILE_SCOPE_CHANGED:"\u53D1\u9001\u8303\u56F4\u5DF2\u8C03\u6574\uFF0C\u539F\u8BB0\u5F55\u5DF2\u6302\u8D77",PEER_FILE_UNAVAILABLE:"\u4F20\u8F93\u5931\u8D25\uFF0C\u9700\u8981\u4EBA\u5DE5\u6838\u5BF9",PEER_FILE_PEER_REVIEW_REQUIRED:"\u5BF9\u7AEF\u5C1A\u672A\u786E\u8BA4\u6062\u590D",ONBOARDING_FILES_QUEUE_HISTORY_MISSING:"\u7F3A\u5C11\u53EF\u4FE1\u7684\u539F\u9636\u6BB5\u8BB0\u5F55\uFF0C\u6682\u53EA\u80FD\u4FDD\u7559",ONBOARDING_FILES_QUEUE_RETRY_BUDGET:"\u91CD\u8BD5\u9884\u7B97\u5DF2\u8017\u5C3D\uFF0C\u4E0D\u80FD\u901A\u8FC7\u6062\u590D\u91CD\u7F6E",ONBOARDING_FILES_QUEUE_METADATA_REVIEW:"\u539F\u8BB0\u5F55\u4FE1\u606F\u9700\u8981\u6838\u5BF9"},il={ONBOARDING_FILES_QUEUE_DISABLE_REQUIRED:"\u8BF7\u5148\u505C\u7528\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u518D\u9010\u9879\u590D\u6838\u3002",ONBOARDING_FILES_QUEUE_HISTORY_MISSING:"\u7F3A\u5C11\u53EF\u4FE1\u9636\u6BB5\u8BC1\u660E\uFF0C\u4E0D\u80FD\u731C\u6D4B\u6062\u590D\uFF1B\u53EF\u4EE5\u7EE7\u7EED\u4FDD\u7559\u3002",ONBOARDING_FILES_QUEUE_SIZE_LIMIT:"\u6587\u4EF6\u8D85\u8FC7\u5F53\u524D\u4E0A\u9650\uFF0C\u5C1A\u672A\u6062\u590D\u3002",ONBOARDING_FILES_QUEUE_RETRY_BUDGET:"\u9884\u7B97\u5DF2\u8017\u5C3D\uFF0C\u4E0D\u4F1A\u91CD\u7F6E\u6B21\u6570\u3002",ONBOARDING_FILES_QUEUE_DESTINATION_EXISTS:"\u6536\u4EF6\u4F4D\u7F6E\u5DF2\u6709\u6587\u4EF6\uFF0C\u672A\u8986\u76D6\u6216\u8BA4\u9886\u3002",ONBOARDING_FILES_QUEUE_BYTES_CHANGED:"\u5DF2\u4FDD\u5B58\u5B57\u8282\u53D1\u751F\u53D8\u5316\uFF0C\u4FDD\u6301\u6302\u8D77\u3002",ONBOARDING_FILES_QUEUE_CHANGED:"\u961F\u5217\u6216\u5FEB\u7167\u4E0E\u9884\u89C8\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u624B\u52A8\u91CD\u65B0\u67E5\u8BE2\u3002",ONBOARDING_FILES_QUEUE_NOT_HELD:"\u6B64\u8BB0\u5F55\u5DF2\u4E0D\u662F\u6302\u8D77\u72B6\u6001\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_FILES_RECOVERY_REQUIRED:"\u539F\u51B3\u5B9A\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u80FD\u7528\u65B0\u51B3\u5B9A\u8986\u76D6\u672A\u77E5\u7ED3\u679C\u3002",ONBOARDING_CLOUD_FILES_QUEUE_UNSUPPORTED:"\u539F\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u961F\u5217\u590D\u6838\uFF0C\u672A\u66FF\u6362\u63A7\u5236\u5668\u6216\u964D\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_QUEUE_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u5F53\u524D\u961F\u5217\u590D\u6838\u5408\u540C\uFF0C\u672A\u6267\u884C\u3002",ONBOARDING_FILES_QUEUE_CLOSED:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED\uFF0C\u8FDF\u5230\u786E\u8BA4\u4E0D\u4F1A\u6267\u884C\u3002",ONBOARDING_FILES_ALREADY_APPLIED:"\u539F\u51B3\u5B9A\u5DF2\u8BB0\u8D26\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5F53\u4F5C\u53D6\u6D88\u3002"},mt=e=>({operation:{state:e.receipt?"applied":e.closed?"closed":"needs_review"},receipt:e.receipt,freshness:"remote_checked"});function ko({request:e,cloud:o=!1}){let[l,u]=(0,K.useState)(null),[f,i]=(0,K.useState)(null),[a,p]=(0,K.useState)(null),[I,m]=(0,K.useState)(!1),[r,c]=(0,K.useState)(!1),[t,s]=(0,K.useState)(""),[d,n]=(0,K.useState)(null),x=(0,K.useRef)(!1),g=o?"cloud_file_transfer_":"file_transfer_",h=o?"\u4E91\u7AEF":"\u672C\u7AEF",C=f?.operation?.state,S=!!d&&!f||["sending","closing","needs_review"].includes(C),D=w=>"dsh-own-file-queue-review:"+w;function N(w){let Q={id:w.id,fingerprint:w.fingerprint,name:w.review.name};try{sessionStorage.setItem(D(l.runtimeId),JSON.stringify(Q))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}return n(Q),Q}function T(w){try{let Q=sessionStorage.getItem(D(w.runtimeId));if(!Q)return;let te=JSON.parse(Q);if(typeof te.id!="string"||!/^[a-f0-9-]{36}$/.test(te.id)||typeof te.fingerprint!="string"||!/^[a-f0-9]{64}$/.test(te.fingerprint))throw Error();te.id!==d?.id&&(n(te),i(null))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}}async function O(w,Q){if(x.current)return;x.current=!0,c(!0),s("");let te=!1;try{if(w==="list"){p(null),m(!1);let U=await e(g+"queueList",{}),ie=o?U.queue:U;u(ie),o?i(await e(g+"queueReviewStatus",{refresh:!1})):T(ie)}if((w==="resume"||w==="retain")&&(p(null),m(!1),p(await e(g+"queueReviewPreview",{item:Q.item,decision:w}))),w==="apply"){if(!a||!I)return;let U=a;p(null),m(!1),o||N(U),i({operation:{state:"sending"},receipt:null,freshness:"cached"}),te=!0;let ie=await e(g+"queueReviewApply",{id:U.id,fingerprint:U.fingerprint,confirm:!0});i(o?ie:mt({receipt:ie,closed:!1})),u(null)}if(w==="status"){let U=await e(g+"queueReviewStatus",o?{refresh:!0}:{operation:d.id,fingerprint:d.fingerprint});i(o?U:mt(U)),p(null),m(!1)}if(w==="closePreview"&&(m(!1),p(o?await e(g+"queueReviewClosePreview",{}):{kind:"queue_review_close",name:d.name,reference:d})),w==="close"){if(!a||!I)return;let U=a;p(null),m(!1),i(se=>({...se,operation:{...se?.operation,state:"closing"}}));let ie=await e(g+"queueReviewClose",o?{id:U.id,fingerprint:U.fingerprint,confirm:!0}:{operation:U.reference.id,fingerprint:U.reference.fingerprint,confirm:!0});i(o?ie:mt(ie))}}catch(U){p(null),m(!1),w==="list"&&u(null),(["status","close"].includes(w)||w==="apply"&&te)&&i(ie=>({...ie,operation:{...ie?.operation,state:"needs_review"},freshness:"check_failed"})),s(il[U.message]??(U.message==="UI_REQUEST_INDEX_UNAVAILABLE"?"\u65E0\u6CD5\u4FDD\u5B58\u6216\u8BFB\u53D6\u672C\u7AEF\u8BF7\u6C42\u7D22\u5F15\uFF0C\u5C1A\u672A\u53D1\u51FA\u65B0\u7684\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u6D4F\u89C8\u5668\u5B58\u50A8\u6743\u9650\u3002":"\u6838\u9A8C\u672A\u5B8C\u6210\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u539F\u51B3\u5B9A\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u3001\u5220\u9664\u6216\u542F\u7528\u3002"))}finally{x.current=!1,c(!1)}}return K.default.createElement("section",{className:"connection-utility file-queue","aria-label":h+"\u6302\u8D77\u6587\u4EF6\u590D\u6838"},K.default.createElement("div",{className:"file-queue-heading"},K.default.createElement("div",null,K.default.createElement("h3",null,"\u6302\u8D77\u6587\u4EF6\uFF0C\u9010\u9879\u51B3\u5B9A"),K.default.createElement("p",null,"\u6309\u6587\u4EF6\u540D\u6838\u5BF9\u3002\u4FDD\u7559\u4E0D\u5220\u9664\uFF0C\u6062\u590D\u4E0D\u7B49\u4E8E\u9001\u8FBE\u3002")),K.default.createElement(ke,null,"\u624B\u52A8\u67E5\u8BE2")),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(v,{kind:"secondary",icon:"file",disabled:r,onClick:()=>O("list")},"\u67E5\u770B",h,"\u6302\u8D77\u6587\u4EF6"),K.default.createElement(v,{kind:"secondary",icon:"reset",disabled:r||!o&&!d,onClick:()=>O("status")},"\u6838\u5BF9",h,"\u539F\u51B3\u5B9A\u56DE\u6267")),l&&K.default.createElement(K.default.Fragment,null,K.default.createElement("p",{className:"fine-print"},l.enabled?"\u5F53\u524D\u6587\u4EF6\u76F4\u4F20\u5DF2\u542F\u7528\uFF0C\u8BF7\u5148\u5728\u4E0A\u65B9\u72EC\u7ACB\u505C\u7528\uFF1B\u6B64\u5904\u6682\u4E0D\u80FD\u786E\u8BA4\u6062\u590D\u3002":"\u6B64\u7AEF\u5DF2\u505C\u7528\u3002\u9010\u9879\u786E\u8BA4\u540E\u4ECD\u4FDD\u6301\u505C\u7528\uFF1B\u53E6\u884C\u542F\u7528\u624D\u4F1A\u4F20\u8F93\u3002"),K.default.createElement("div",{className:"file-queue-list"},l.items.map(w=>K.default.createElement("article",{className:"file-queue-card",key:JSON.stringify(w.item),"aria-label":w.name??"\u4FE1\u606F\u5F85\u6838\u5BF9\u7684\u6587\u4EF6"},K.default.createElement("div",{className:"file-queue-heading"},K.default.createElement("h4",null,w.name??"\u6587\u4EF6\u4FE1\u606F\u5F85\u6838\u5BF9"),K.default.createElement(ke,null,nl[w.item.queue])),K.default.createElement("p",null,w.from?Qa[w.from]+" \u2192 "+Qa[w.to]:"\u65B9\u5411\u5F85\u6838\u5BF9"," \xB7 ",w.size===null?"\u5927\u5C0F\u5F85\u6838\u5BF9":w.size+" \u5B57\u8282"),K.default.createElement("p",null,So[w.reason]??"\u8BB0\u5F55\u4ECD\u5904\u4E8E\u5F85\u6838\u5BF9\u72B6\u6001",w.retained?" \xB7 \u5DF2\u9009\u62E9\u7EE7\u7EED\u4FDD\u7559":""),K.default.createElement("p",{className:"fine-print"},w.recoveryCheck==="requires_byte_validation"?"\u6062\u590D\u9884\u89C8\u8FD8\u4F1A\u68C0\u67E5\u5DF2\u4FDD\u5B58\u5B57\u8282\u3001\u5F53\u524D\u4E0A\u9650\u53CA\u76EE\u6807\u51B2\u7A81\u3002":So[w.recoveryCheck]??"\u9700\u4FDD\u7559\u5E76\u4EBA\u5DE5\u6838\u5BF9\u3002",w.attempts!==null?" \u5DF2\u7528\u91CD\u8BD5 "+w.attempts+" \u6B21\uFF0C\u4E0D\u4F1A\u91CD\u7F6E\u3002":""),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(v,{kind:"secondary",icon:"pause",disabled:r||S||l.enabled,onClick:()=>O("retain",w)},"\u9884\u89C8\u7EE7\u7EED\u4FDD\u7559"),K.default.createElement(v,{kind:"primary",icon:"play",disabled:r||S||l.enabled||w.recoveryCheck!=="requires_byte_validation",onClick:()=>O("resume",w)},"\u9884\u89C8\u6062\u590D\u6B64\u6587\u4EF6")))),!l.items.length&&K.default.createElement(b,null,"\u5F53\u524D\u6CA1\u6709\u6302\u8D77\u8BB0\u5F55\u3002\u8FD9\u4E0D\u4EE3\u8868\u6240\u6709\u4F20\u8F93\u5DF2\u7ECF\u9001\u8FBE\uFF1B\u6210\u679C\u548C\u6536\u4EF6\u72B6\u6001\u9700\u5206\u522B\u6838\u9A8C\u3002"))),f&&K.default.createElement("div",{className:"connection-result",role:"status"},K.default.createElement(_,{label:"\u539F\u51B3\u5B9A",value:{not_started:"\u5C1A\u65E0\u672C\u7AEF\u53D1\u8D77\u7684\u4E91\u7AEF\u51B3\u5B9A",sending:"\u5DF2\u53D1\u8D77 \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1",closing:"\u5173\u95ED\u8BF7\u6C42\u5F85\u6838\u5BF9",closed:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED \xB7 \u672A\u56E0\u6B64\u6539\u53D8\u961F\u5217",applied:"\u51B3\u5B9A\u5DF2\u8BB0\u8D26 \xB7 \u4E0D\u662F\u9001\u8FBE\u56DE\u6267"}[C]??"\u9700\u6838\u5BF9"}),f.receipt&&K.default.createElement(_,{label:"\u51B3\u5B9A\u5F53\u65F6\u7684\u7ED3\u679C",value:f.receipt.decision==="retain"?"\u7EE7\u7EED\u4FDD\u7559\uFF0C\u6587\u4EF6\u4E0E\u961F\u5217\u4E0D\u5220\u9664":"\u6062\u590D\u539F\u961F\u5217\uFF0C\u4ECD\u9700\u53E6\u884C\u542F\u7528\u5E76\u6838\u9A8C\u9001\u8FBE"}),K.default.createElement("p",{className:"fine-print"},f.freshness==="remote_checked"?"\u5DF2\u67E5\u8BE2\u76EE\u6807\u7AEF\u56DE\u6267\u3002\u56DE\u6267\u4E0D\u662F\u5F53\u524D\u4F20\u8F93\u8FDB\u5EA6\u3002":"\u5C1A\u672A\u53D6\u5F97\u76EE\u6807\u7AEF\u65B0\u9C9C\u56DE\u6267\uFF1B\u7F13\u5B58\u4E0D\u80FD\u8BC1\u660E\u5F53\u524D\u72B6\u6001\u3002")),S&&K.default.createElement("div",{className:"connection-actions"},K.default.createElement(v,{kind:"secondary",icon:"shield",disabled:r,onClick:()=>O("closePreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5",h,"\u51B3\u5B9A")),a&&K.default.createElement("section",{className:"connection-confirm","aria-label":h+"\u5355\u6587\u4EF6\u51B3\u5B9A\u786E\u8BA4"},K.default.createElement("h3",null,a.kind==="queue_review_close"?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4E0D\u64A4\u9500\u5DF2\u5B8C\u6210\u51B3\u5B9A":a.review.decision==="resume"?"\u53EA\u6062\u590D\u8FD9\u4E00\u4E2A\u6587\u4EF6\u7684\u539F\u961F\u5217":"\u7EE7\u7EED\u4FDD\u7559\u8FD9\u4E00\u4E2A\u6587\u4EF6"),K.default.createElement(_,{label:"\u6587\u4EF6",value:a.review?.name??a.name??"\u4FE1\u606F\u5F85\u6838\u5BF9"}),(a.remoteTarget??a.target)&&K.default.createElement(_,{label:"\u7ED1\u5B9A\u4E91\u7AEF\u73AF\u5883",value:(a.remoteTarget??a.target).root}),a.review&&K.default.createElement(K.default.Fragment,null,K.default.createElement(_,{label:"\u65B9\u5411",value:a.review.from?Qa[a.review.from]+" \u2192 "+Qa[a.review.to]:"\u5F85\u6838\u5BF9"}),K.default.createElement(_,{label:"\u5927\u5C0F",value:a.review.size===null?"\u5F85\u6838\u5BF9":a.review.size+" \u5B57\u8282"}),K.default.createElement(b,null,a.review.decision==="resume"?"\u53EA\u5904\u7406\u539F\u5FEB\u7167\u548C\u539F\u6587\u4EF6 ID\uFF0C\u4E0D\u91CD\u65B0\u8BFB\u53D6\u65E7\u6765\u6E90\uFF0C\u4E0D\u91CD\u7F6E\u6B21\u6570\uFF1B\u4ECD\u4FDD\u6301\u505C\u7528\uFF0C\u5BF9\u7AEF\u987B\u72EC\u7ACB\u786E\u8BA4\u3002":"\u53EA\u8BB0\u5F55\u4FDD\u7559\u51B3\u5B9A\uFF0C\u4E0D\u5220\u9664\u6587\u4EF6\u3001\u5FEB\u7167\u6216\u961F\u5217\uFF0C\u4E5F\u4E0D\u6267\u884C\u6587\u4EF6\u3002")),a.kind==="queue_review_close"&&K.default.createElement(b,null,"\u53EA\u963B\u65AD\u8FD9\u4E2A\u672A\u77E5\u8BF7\u6C42\u7684\u8FDF\u5230\u5E94\u7528\u3002\u82E5\u539F\u51B3\u5B9A\u5DF2\u5B8C\u6210\uFF0C\u4F1A\u663E\u793A\u771F\u5B9E\u56DE\u6267\uFF0C\u4E0D\u5047\u62A5\u53D6\u6D88\uFF1B\u4E0D\u6539\u53D8\u73B0\u6709\u542F\u7528\u72B6\u6001\u3002"),K.default.createElement(J,{title:a.kind==="queue_review_close"?"\u6211\u786E\u8BA4\u53EA\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u51B3\u5B9A\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743":"\u6211\u786E\u8BA4\u53EA\u5904\u7406\u6B64\u6587\u4EF6\uFF0C\u4FDD\u6301\u505C\u7528\u4E14\u4E0D\u91CD\u7F6E\u6B21\u6570",checked:I,disabled:r,onChange:m}),K.default.createElement("div",{className:"connection-actions"},K.default.createElement(v,{kind:"primary",icon:"check",disabled:r||!I,onClick:()=>O(a.kind==="queue_review_close"?"close":"apply")},a.kind==="queue_review_close"?"\u786E\u8BA4\u5173\u95ED\u539F\u8BF7\u6C42":a.review.decision==="resume"?"\u786E\u8BA4\u6062\u590D\u539F\u961F\u5217":"\u786E\u8BA4\u7EE7\u7EED\u4FDD\u7559"),K.default.createElement(v,{kind:"secondary",disabled:r,onClick:()=>{p(null),m(!1)}},"\u53D6\u6D88"))),t&&K.default.createElement("p",{className:"connection-error",role:"alert"},t))}function bo(e,{uncertain:o=!1,cloud:l=!1,freshness:u}={}){if(!e?.available||!Array.isArray(e.sendRoots))return null;let f=typeof e.scopeHash=="string"&&e.scopeHash.length>0;return{roots:[...e.sendRoots],title:f?"\u4E0A\u6B21\u6838\u5BF9\u7684\u5DF2\u767B\u8BB0\u8303\u56F4":"\u9ED8\u8BA4\u5019\u9009\u8303\u56F4 \xB7 \u5C1A\u672A\u6388\u6743",note:o||l&&u!=="remote_checked"?"\u5F53\u524D\u7ED3\u679C\u672A\u6838\u5BF9\uFF1B\u4E0B\u5217\u5386\u53F2\u76EE\u5F55\u4E0D\u80FD\u8BC1\u660E\u73B0\u5728\u53EF\u53D1\u9001\u3002":f?"\u4EC5\u8868\u793A\u672C\u6B21\u67E5\u8BE2\u7684\u76EE\u5F55\u8BB0\u5F55\uFF1B\u5B9E\u9645\u53EF\u53D1\u9001\u6027\u4ECD\u7531\u542F\u7528\u72B6\u6001\u3001\u6587\u4EF6\u548C\u76EE\u6807\u7AEF\u6821\u9A8C\u51B3\u5B9A\u3002":"\u8FD9\u4E9B\u9ED8\u8BA4\u8DEF\u5F84\u5C1A\u672A\u83B7\u5F97\u53D1\u9001\u6388\u6743\u3002"}}var P=Le(me());var dl={ONBOARDING_CLOUD_FILES_MIGRATION_UNSUPPORTED:"\u4E91\u7AEF\u539F\u5F52\u6863\u4E0D\u652F\u6301\u8303\u56F4\u8FC1\u79FB\uFF0C\u8BF7\u4FDD\u7559\u5F53\u524D\u914D\u7F6E\uFF1B\u4E0D\u66FF\u6362\u63A7\u5236\u5668\u7ED5\u8FC7\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_MIGRATION_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u8303\u56F4\u8FC1\u79FB\uFF0C\u672A\u964D\u7EA7\u6267\u884C\u3002",ONBOARDING_FILES_MIGRATION_DISABLE_REQUIRED:"\u8BF7\u5148\u72EC\u7ACB\u505C\u7528\u6587\u4EF6\u76F4\u4F20\u5E76\u6838\u5BF9\u72B6\u6001\uFF0C\u518D\u8C03\u6574\u8303\u56F4\u3002",ONBOARDING_FILES_MIGRATION_NO_CHANGE:"\u8303\u56F4\u548C\u4E0A\u9650\u6CA1\u6709\u53D8\u5316\uFF0C\u65E0\u9700\u8FC1\u79FB\u3002",ONBOARDING_FILES_MIGRATION_PENDING:"\u5DF2\u8BB0\u5F55\u539F\u8FC1\u79FB\uFF0C\u5C1A\u9700\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u542F\u7528\u6216\u91CD\u53D1\u3002",ONBOARDING_FILES_MIGRATION_CHANGED:"\u961F\u5217\u6216\u6388\u6743\u5DF2\u53D8\u5316\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u4E0D\u8986\u76D6\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_FILES_UNSUPPORTED:"\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301\u6587\u4EF6\u914D\u7F6E\u5408\u540C\uFF0C\u8BF7\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u76F4\u63A5\u66FF\u6362\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_FILES_UNSUPPORTED:"\u76EE\u6807 Host \u4E0D\u652F\u6301\u5F53\u524D\u6587\u4EF6\u914D\u7F6E\u7248\u672C\uFF0C\u672A\u964D\u7EA7\u6267\u884C\u3002",ONBOARDING_FILES_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u4ECD\u5F85\u6838\u5BF9\uFF0C\u8BF7\u5148\u624B\u52A8\u8BFB\u53D6\u56DE\u6267\uFF0C\u4E0D\u80FD\u7528\u65B0\u8BF7\u6C42\u8986\u76D6\u3002",ONBOARDING_FILES_ALREADY_APPLIED:"\u539F\u8BF7\u6C42\u5DF2\u7ECF\u8BB0\u8D26\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u5B9E\u9645\u72B6\u6001\uFF0C\u4E0D\u5FC5\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_FILES_RUNTIME_REQUIRED:"\u8BF7\u5148\u542F\u7528\u5F53\u524D\u4E91\u7AEF\u7684\u53D7\u7BA1\u4EFB\u52A1\u53D7\u7406\uFF0C\u6216\u5728\u672C\u7AEF\u5B8C\u6210\u4E0E\u4E91\u7AEF\u7684\u914D\u5BF9\uFF1B\u4E0D\u4F1A\u63A5\u7BA1\u65E7\u8FD0\u884C\u65F6\u3002",ONBOARDING_FILES_SOURCE_DENIED:"\u53D1\u9001\u8303\u56F4\u8FC7\u5927\u6216\u5C5E\u4E8E\u53D7\u4FDD\u62A4\u76EE\u5F55\u3002\u8BF7\u9009\u62E9\u4E13\u7528\u666E\u901A\u76EE\u5F55\uFF1B\u4E0D\u8981\u9009\u62E9\u4E3B\u76EE\u5F55\u6216 DSH \u914D\u7F6E\u533A\uFF08\u5305\u62EC\u5176\u4E2D\u7684 IM \u6682\u5B58\u76EE\u5F55\uFF09\u3002",ONBOARDING_FILES_SOURCE_REVIEW:"\u53D1\u9001\u76EE\u5F55\u4E0D\u5B58\u5728\u3001\u4E0D\u662F\u89C4\u8303\u7EDD\u5BF9\u8DEF\u5F84\u6216\u65E0\u6CD5\u6838\u9A8C\uFF0C\u8BF7\u68C0\u67E5\u540E\u518D\u9884\u89C8\u3002",ONBOARDING_FILES_SOURCE_OVERLAP:"\u53D1\u9001\u76EE\u5F55\u91CD\u590D\u6216\u4E92\u76F8\u5305\u542B\uFF0C\u8BF7\u4FDD\u7559\u660E\u786E\u3001\u4E0D\u91CD\u53E0\u7684\u8303\u56F4\u3002",ONBOARDING_FILES_SOURCE_CHANGED:"\u76EE\u5F55\u8EAB\u4EFD\u53D1\u751F\u53D8\u5316\uFF0C\u539F\u9884\u89C8\u5931\u6548\uFF1B\u6CA1\u6709\u6269\u5927\u6388\u6743\u3002",ONBOARDING_FILES_SCOPE_CHANGE_REQUIRES_MIGRATION:"\u5DF2\u6709\u8303\u56F4\u4E0D\u80FD\u4ECE\u542F\u7528\u5165\u53E3\u6539\u5199\uFF1B\u8BF7\u5148\u505C\u7528\uFF0C\u518D\u4F7F\u7528\u72EC\u7ACB\u7684\u8C03\u6574\u8303\u56F4\u5165\u53E3\u3002",ONBOARDING_FILES_PLAN_EXPIRED:"\u9884\u89C8\u8FC7\u671F\u6216\u5DF2\u6D88\u8D39\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002",ONBOARDING_FILES_CONFLICT:"\u6388\u6743\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u8986\u76D6\u53E6\u4E00\u9879\u786E\u8BA4\u3002",ONBOARDING_FILES_PATH_REVIEW:"\u4E13\u7528\u76EE\u5F55\u5F52\u5C5E\u6216\u6743\u9650\u9700\u8981\u6838\u5BF9\uFF0C\u539F\u6587\u4EF6\u4E0D\u4F1A\u88AB\u8986\u76D6\u6216\u8BA4\u9886\u3002",ONBOARDING_FILES_LEDGER_REVIEW:"\u6388\u6743\u8BB0\u5F55\u9700\u8981\u6838\u5BF9\uFF0C\u672A\u63A5\u7BA1\u6216\u8986\u76D6\u5DF2\u6709\u8BB0\u5F55\u3002"},fl={active:"\u5DF2\u542F\u7528 \xB7 \u5355\u72EC\u6587\u4EF6\u4ECD\u9700\u660E\u786E\u4EA4\u529E",disabled:"\u5DF2\u505C\u7528 \xB7 \u6587\u4EF6\u4E0E\u961F\u5217\u4FDD\u7559",not_configured:"\u5C1A\u672A\u6388\u6743\u6587\u4EF6\u76F4\u4F20",runtime_required:"\u8BF7\u5148\u5EFA\u7ACB\u53D7\u7BA1\u8FD0\u884C\u65F6",needs_review:"\u9700\u8981\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u4FEE\u590D",activation_pending:"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u5C1A\u672A\u5B9E\u9645\u542F\u7528"};function Ao({request:e,cloud:o=!1,migration:l=!1,queueReview:u=!1}){let[f,i]=(0,P.useState)(!1),[a,p]=(0,P.useState)(null),[I,m]=(0,P.useState)(""),[r,c]=(0,P.useState)(33554432),[t,s]=(0,P.useState)(null),[d,n]=(0,P.useState)(!1),[x,g]=(0,P.useState)(!1),[h,C]=(0,P.useState)(!1),[S,D]=(0,P.useState)(""),N=o?a?.files:a,T=o?a?.operation:null,O=h||o&&["sending","needs_review","recovering"].includes(T?.state),w=o?"cloud_file_transfer_":"file_transfer_",Q=o?"\u4E91\u7AEF":"\u672C\u7AEF",te=!!N&&!N.enabled&&N.state==="needs_review"&&(N.error==="ONBOARDING_FILES_MIGRATION_PENDING"||o&&T?.scopeMigration),U=x||!!O||te,ie=bo(N,{uncertain:h,cloud:o,freshness:a?.freshness}),se=(0,P.useRef)(!1);function we(de){i(!1),p(de);let Pe=o?de.files:de;Pe?.available&&(m(Pe.scopeHash?Pe.sendRoots.join(`
340
+ `):""),c(Pe.maxBytes)),C(!1)}let Oe=JSON.stringify([I,r,o]),De=(0,P.useRef)(Oe);De.current=Oe,(0,P.useEffect)(()=>{s(null),n(!1)},[I,r,o]);async function ye(de,Pe){if(!se.current){se.current=!0,g(!0),D("");try{if(de==="status"&&(s(null),n(!1),C(!0),we(await e(w+"status",o?{refresh:!0}:{}))),["preview","recoveryPreview","migrationPreview"].includes(de)){s(null),n(!1);let Be=await e(w+de,de==="preview"?{enabled:Pe,sendRoots:I.split(`
341
+ `).map(Me=>Me.trim()).filter(Boolean),maxBytes:r}:de==="migrationPreview"?{sendRoots:I.split(`
342
+ `).map(Me=>Me.trim()).filter(Boolean),maxBytes:r}:{});De.current===Oe&&s({...Be,recovery:de==="recoveryPreview"})}if(["apply","recoveryApply","migrationRecover"].includes(de)){if(!t||!d)return;let Be=t;s(null),n(!1),C(!0),we(await e(w+de,de==="migrationRecover"?{operation:Be.operation,confirm:!0}:{id:Be.id,fingerprint:Be.fingerprint,confirm:!0}))}}catch(Be){s(null),n(!1),de==="status"&&p(Me=>o&&Me?{...Me,files:null,freshness:"check_failed"}:null),D(dl[Be.message]??"\u64CD\u4F5C\u7ED3\u679C\u9700\u8981\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u539F\u6388\u6743\u56DE\u6267\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3001\u4E0D\u5F00\u653E\u5176\u4ED6\u76EE\u5F55\u3002")}finally{se.current=!1,g(!1)}}}return P.default.createElement(j,{title:o?"\u4E91\u7AEF\u6587\u4EF6\u76F4\u4F20":"\u672C\u7AEF\u6587\u4EF6\u76F4\u4F20",icon:"file",sub:o?"\u4EC5\u8C03\u6574\u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684 ECS\uFF1B\u4E0D\u4F1A\u6539\u53D8\u672C\u7AEF\u6587\u4EF6\u6388\u6743\u3002":"\u672C\u7AEF\u4E0E\u4E91\u7AEF\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u6539 IM \u539F\u751F\u6536\u53D1\uFF0C\u4E5F\u4E0D\u9ED8\u8BA4\u5F00\u653E IM \u6682\u5B58\u76EE\u5F55\u3002",className:"connection-panel"},P.default.createElement(_,{label:"\u5F53\u524D\u72B6\u6001",value:h?"\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":N?fl[N.state]??"\u9700\u8981\u6838\u5BF9":"\u5C1A\u672A\u67E5\u8BE2\u76EE\u6807\u7AEF \xB7 \u4E0D\u81EA\u52A8\u8FDE\u63A5"}),N?.available&&P.default.createElement(P.default.Fragment,null,P.default.createElement(_,{label:"\u5B9E\u9645\u7AEF",value:N.role==="cloud"?"\u4E91\u7AEF DSH":"\u672C\u5730 DSH"}),P.default.createElement(_,{label:"\u4E13\u7528\u6536\u4EF6\u76EE\u5F55",value:N.receiveRoot}),P.default.createElement(_,{label:"\u4FDD\u7559\u8BB0\u5F55\uFF08\u53D1\u4EF6\uFF0F\u6536\u4EF6\uFF0F\u4E2D\u7EE7\uFF09",value:`${N.counts.outgoing} / ${N.counts.incoming} / ${N.counts.broker}`})),ie&&P.default.createElement("details",{className:"details file-scope-observation"},P.default.createElement("summary",null,P.default.createElement("span",null,ie.title," \xB7 ",ie.roots.length," \u4E2A\u76EE\u5F55"),P.default.createElement(_e,{name:"down"})),P.default.createElement("p",null,ie.note),P.default.createElement("ul",null,ie.roots.map(de=>P.default.createElement("li",{key:de},P.default.createElement("code",null,de)))),P.default.createElement("p",null,"IM \u63A5\u6536\u76EE\u5F55\u4E0D\u4F1A\u81EA\u52A8\u52A0\u5165\uFF1B\u666E\u901A\u5DE5\u4F5C\u533A\u5185\u7684\u4E13\u7528\u76EE\u5F55\u987B\u5355\u72EC\u786E\u8BA4\u3002\u4EE5\u8FD9\u4EFD\u5B9E\u9645\u76EE\u5F55\u6E05\u5355\u4E3A\u51C6\uFF0C\u4E0D\u6309\u76EE\u5F55\u540D\u79F0\u63A8\u65AD\u6388\u6743\u3002")),P.default.createElement(Se,{label:"\u6587\u4EF6\u53D1\u9001\u76EE\u5F55",hint:f?"\u4EE5\u4E0B\u4E3A\u62DF\u8C03\u6574\u8303\u56F4\uFF0C\u5C1A\u672A\u751F\u6548\u3002\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u6240\u9009\u7AEF\u4E13\u7528\u7EDD\u5BF9\u8DEF\u5F84\uFF1B\u4E0A\u6B21\u6838\u5BF9\u7684\u5DF2\u767B\u8BB0\u8303\u56F4\u89C1\u4E0A\u65B9\u3002":"\u6BCF\u884C\u4E00\u4E2A\u6240\u9009\u7AEF\u7684\u4E13\u7528\u7EDD\u5BF9\u8DEF\u5F84\u3002\u4E91\u7AEF\u8BF7\u586B ECS \u8DEF\u5F84\uFF0C\u4E0D\u662F Mac \u8DEF\u5F84\uFF1B\u7559\u7A7A\u53EA\u4F7F\u7528\u8BE5\u7AEF\u81EA\u6709\u53D1\u4EF6\u533A\u3002"},P.default.createElement("textarea",{rows:3,value:I,disabled:!!U||!!N?.scopeHash&&!f,onChange:de=>m(de.target.value),maxLength:32768,placeholder:"\u7559\u7A7A\u4F7F\u7528\u672C\u9879\u76EE\u4E13\u7528\u53D1\u4EF6\u76EE\u5F55"})),P.default.createElement(Se,{label:"\u5355\u6587\u4EF6\u4E0A\u9650"},P.default.createElement("select",{value:r,disabled:!!U||!!N?.scopeHash&&!f,onChange:de=>c(Number(de.target.value))},P.default.createElement("option",{value:536870912},"512 MiB"),P.default.createElement("option",{value:134217728},"128 MiB"),P.default.createElement("option",{value:33554432},"32 MiB"),P.default.createElement("option",{value:8388608},"8 MiB"),P.default.createElement("option",{value:2097152},"2 MiB\uFF08\u5DF2\u6709\u914D\u7F6E\uFF09"),P.default.createElement("option",{value:1048576},"1 MiB"),P.default.createElement("option",{value:524288},"512 KiB"))),P.default.createElement(b,null,"\u9ED8\u8BA4\u5173\u95ED\u3002\u542F\u7528\u53EA\u6388\u4E88\u4E0A\u8FF0\u76EE\u5F55\u5230\u5BF9\u7AEF\u4E13\u7528\u6536\u4EF6\u533A\u7684\u6587\u4EF6\u4F20\u9001\u80FD\u529B\uFF1B\u6BCF\u4E2A\u6587\u4EF6\u4ECD\u9700\u4F60\u660E\u786E\u4EA4\u529E\u3002\u6BCF\u7C7B\u961F\u5217\u6700\u591A 64 \u6761\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\uFF1B\u8C03\u6574\u8303\u56F4\u9700\u5148\u505C\u7528\uFF0C\u8FC1\u79FB\u6302\u8D77\u65E7\u7684\u672A\u5B8C\u6210\u8BB0\u5F55\uFF0C\u4FDD\u7559\u6587\u4EF6\uFF1B\u91CD\u65B0\u542F\u7528\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\u6302\u8D77\u8BB0\u5F55\uFF0C\u6302\u8D77\u6587\u4EF6\u987B\u9010\u9879\u590D\u6838\u3002\u539F\u751F IM \u6309\u5E73\u53F0\u9650\u5236\u5904\u7406\uFF0C\u4E0D\u53D7\u8FD9\u91CC\u7684\u4E0A\u9650\u66FF\u4EE3\u3002"),P.default.createElement("div",{className:"connection-actions",role:"group","aria-label":Q+"\u6587\u4EF6\u76F4\u4F20\u6388\u6743\u64CD\u4F5C"},P.default.createElement(v,{kind:"primary",icon:"file",disabled:!!U||f,onClick:()=>ye("preview",!0)},"\u9884\u89C8\u542F\u7528",Q,"\u6587\u4EF6\u76F4\u4F20"),P.default.createElement(v,{kind:"secondary",icon:"pause",disabled:!!U||f||!N?.enabled,onClick:()=>ye("preview",!1)},"\u9884\u89C8\u505C\u7528",Q,"\u5E76\u4FDD\u7559\u6587\u4EF6"),P.default.createElement(v,{kind:"secondary",icon:"reset",disabled:x,onClick:()=>ye("status")},"\u624B\u52A8\u6838\u5BF9",Q,"\u6587\u4EF6\u6388\u6743")),l&&N?.scopeHash&&P.default.createElement("div",{className:"connection-utility"},P.default.createElement("p",null,N.enabled?"\u8C03\u6574\u8303\u56F4\u524D\uFF0C\u8BF7\u5148\u505C\u7528"+Q+"\u6587\u4EF6\u76F4\u4F20\u3002":"\u65B0\u8303\u56F4\u5148\u9884\u89C8\u3001\u72EC\u7ACB\u786E\u8BA4\uFF0C\u8FC1\u79FB\u540E\u4ECD\u505C\u7528\u3002\u65E7\u8BB0\u5F55\u4FDD\u7559\u5E76\u5F85\u6838\u5BF9\u3002"),f?P.default.createElement("div",{className:"connection-actions"},P.default.createElement(v,{kind:"primary",icon:"folder",disabled:!!U,onClick:()=>ye("migrationPreview")},"\u9884\u89C8\u8FC1\u79FB",Q,"\u8303\u56F4"),P.default.createElement(v,{kind:"secondary",disabled:x,onClick:()=>{s(null),n(!1),we(a)}},"\u53D6\u6D88\u8C03\u6574")):P.default.createElement(v,{kind:"secondary",icon:"settings",disabled:!!U||N.enabled||N.active,onClick:()=>{s(null),n(!1),i(!0)}},"\u8C03\u6574",Q,"\u53D1\u9001\u8303\u56F4")),l&&te&&P.default.createElement("div",{className:"connection-utility"},P.default.createElement("p",null,"\u539F\u8FC1\u79FB\u5DF2\u8BB0\u8D26\u4F46\u5C1A\u9700\u6838\u5BF9\u3002\u53EA\u7EED\u5B8C\u540C\u4E00\u4E8B\u52A1\uFF0C\u4E0D\u9009\u62E9\u65B0\u8303\u56F4\u3001\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u65E7\u6587\u4EF6\u3002"),P.default.createElement(v,{kind:"secondary",icon:"shield",disabled:x,onClick:()=>{n(!1),s({resume:!0,operation:N.appliedOperation,scope:{role:N.role,sendRoots:N.sendRoots.map(de=>({path:de})),receiveRoot:N.receiveRoot,maxBytes:N.maxBytes},remoteTarget:o?a.remoteTarget:null})}},"\u9884\u89C8\u6838\u5BF9",Q,"\u539F\u8FC1\u79FB")),o&&T&&P.default.createElement("div",{className:"connection-result",role:"status"},P.default.createElement(_,{label:"\u539F\u64CD\u4F5C\u56DE\u6267",value:{not_started:"\u5C1A\u65E0\u64CD\u4F5C",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u6388\u6743\u53D8\u66F4\u5DF2\u8BB0\u8D26",closed:"\u539F\u8BF7\u6C42\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"}[T.state]??"\u9700\u6838\u5BF9"}),P.default.createElement("p",{className:"fine-print"},a.freshness==="remote_checked"?"\u5DF2\u624B\u52A8\u8BFB\u53D6\u4E91\u7AEF\uFF1B\u8BB0\u8D26\u4E0E\u5B9E\u9645\u542F\u7528\u5206\u5F00\u663E\u793A\u3002":"\u672A\u53D6\u5F97\u4E91\u7AEF\u65B0\u9C9C\u72B6\u6001\uFF0C\u7F13\u5B58\u4E0D\u80FD\u8BC1\u660E\u5F53\u524D\u6587\u4EF6\u80FD\u529B\u5728\u7EBF\u3002")),o&&O&&P.default.createElement("div",{className:"connection-utility"},P.default.createElement("p",null,"\u5148\u67E5\u539F\u56DE\u6267\uFF1B\u5FC5\u8981\u65F6\u72EC\u7ACB\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\u3002\u5173\u95ED\u4E0D\u7B49\u4E8E\u505C\u7528\uFF0C\u4FDD\u7559\u73B0\u6709\u6388\u6743\u3001\u961F\u5217\u4E0E\u6587\u4EF6\u3002"),P.default.createElement(v,{kind:"secondary",icon:"shield",disabled:x,onClick:()=>ye("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42")),t&&P.default.createElement("section",{className:"connection-confirm","aria-label":Q+"\u6587\u4EF6\u76F4\u4F20\u786E\u8BA4"},P.default.createElement("h3",null,t.resume?"\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4FDD\u6301\u505C\u7528":t.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+Q+"\u53D1\u9001\u8303\u56F4":t.recovery?"\u5173\u95ED\u672A\u77E5\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":t.enabled?"\u786E\u8BA4\u542F\u7528"+Q+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+Q+"\u5E76\u4FDD\u7559\u961F\u5217"),t.remoteTarget&&P.default.createElement(_,{label:"\u672C\u6B21\u4E91\u7AEF\u73AF\u5883",value:t.remoteTarget.root}),t.scope&&P.default.createElement(P.default.Fragment,null,P.default.createElement(_,{label:"\u5B9E\u9645\u7AEF",value:t.scope.role==="cloud"?"\u4E91\u7AEF DSH":"\u672C\u5730 DSH"}),P.default.createElement(_,{label:"\u5141\u8BB8\u53D1\u9001\u76EE\u5F55",value:t.scope.sendRoots.map(de=>de.path).join("\uFF1B")}),P.default.createElement(_,{label:"\u4E13\u7528\u6536\u4EF6\u76EE\u5F55",value:t.scope.receiveRoot}),P.default.createElement(_,{label:"\u5355\u6587\u4EF6\u4E0A\u9650",value:`${t.scope.maxBytes} \u5B57\u8282`})),t.kind==="scope_migration"&&P.default.createElement(P.default.Fragment,null,P.default.createElement(_,{label:"\u539F\u53D1\u9001\u8303\u56F4",value:t.migration.previousScope.sendRoots.map(de=>de.path).join("\uFF1B")}),P.default.createElement(_,{label:"\u539F\u5355\u6587\u4EF6\u4E0A\u9650",value:`${t.migration.previousScope.maxBytes} \u5B57\u8282`}),P.default.createElement(_,{label:"\u6302\u8D77\u5F85\u6838\u5BF9\uFF08\u53D1\u4EF6\uFF0F\u6536\u4EF6\uFF0F\u4E2D\u7EE7\uFF09",value:`${t.migration.snapshot.held.outgoing} / ${t.migration.snapshot.held.incoming} / ${t.migration.snapshot.held.broker}`}),P.default.createElement(b,null,"\u53EA\u53D8\u66F4\u6B64\u7AEF\u6388\u6743\u8303\u56F4\uFF0C\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55\uFF1B\u8FC1\u79FB\u4E0D\u542F\u7528\u3001\u4E0D\u91CD\u53D1\u3002\u4E4B\u540E\u9700\u53E6\u884C\u786E\u8BA4\u542F\u7528\u3002")),t.resume&&P.default.createElement(b,null,"\u6838\u5BF9\u539F\u6301\u4E45\u610F\u56FE\u4E0E\u4E8B\u52A1\u56DE\u6267\uFF1B\u4EC5\u5728\u76EE\u5F55\u8EAB\u4EFD\u3001\u8D26\u672C\u548C\u961F\u5217\u5339\u914D\u65F6\u7EED\u5B8C\uFF0C\u4E0D\u91CD\u5EFA\u6216\u8986\u76D6\u672A\u77E5\u6570\u636E\u3002"),t.recovery&&P.default.createElement(b,null,"\u4EC5\u963B\u65AD\u8FDF\u5230\u5E94\u7528\u6216\u6838\u5BF9\u5DF2\u63A8\u8FDB\u7248\u672C\u3002\u82E5\u539F\u8BF7\u6C42\u5DF2\u6210\u529F\uFF0C\u4F1A\u62A5\u544A\u539F\u56DE\u6267\uFF0C\u4E0D\u5047\u62A5\u64A4\u9500\uFF1B\u4E0D\u91CD\u53D1\u539F\u8BF7\u6C42\u3002"),P.default.createElement(J,{checked:d,disabled:x,onChange:n,title:t.resume?"\u6211\u786E\u8BA4\u53EA\u6838\u5BF9\u539F\u8FC1\u79FB\uFF0C\u4E0D\u542F\u7528\u6216\u91CD\u53D1":t.kind==="scope_migration"?"\u6211\u786E\u8BA4\u8FC1\u79FB\u8303\u56F4\u3001\u4FDD\u7559\u6587\u4EF6\u5E76\u6302\u8D77\u672A\u5B8C\u6210\u8BB0\u5F55":t.recovery?"\u6211\u786E\u8BA4\u4EC5\u5173\u95ED\u672A\u77E5\u6587\u4EF6\u8BF7\u6C42\uFF0C\u4FDD\u7559\u5F53\u524D\u6388\u6743\u4E0E\u6587\u4EF6":"\u6211\u786E\u8BA4\u4EC5\u8C03\u6574\u6B64\u7AEF\u6587\u4EF6\u76F4\u4F20\uFF0C\u4E0D\u6388\u6743\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165"}),P.default.createElement("div",{className:"connection-actions"},P.default.createElement(v,{kind:"primary",icon:"check",disabled:x||!d,onClick:()=>ye(t.resume?"migrationRecover":t.recovery?"recoveryApply":"apply")},t.resume?"\u786E\u8BA4\u6838\u5BF9"+Q+"\u539F\u8FC1\u79FB":t.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+Q+"\u8303\u56F4":t.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42":t.enabled?"\u786E\u8BA4\u542F\u7528"+Q+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+Q+"\u6587\u4EF6\u76F4\u4F20"),P.default.createElement(v,{kind:"secondary",disabled:x,onClick:()=>{s(null),n(!1)}},"\u53D6\u6D88"))),u&&P.default.createElement(ko,{request:e,cloud:o}),S&&P.default.createElement("p",{className:"connection-error",role:"alert"},S))}var ae=Le(me());var cl={ONBOARDING_GLOBAL_TARGET_AMBIGUOUS:"\u53D1\u73B0\u4E24\u4EFD\u5168\u5C40\u89C4\u5219\uFF0C\u8BF7\u660E\u786E\u9009\u62E9\u8FFD\u52A0\u76EE\u6807\uFF1B\u53E6\u4E00\u4EFD\u4FDD\u6301\u4E0D\u53D8\u3002",ONBOARDING_SKILL_CONFLICT:"\u5B58\u5728\u540C\u540D Skill \u6216\u76EE\u5F55\uFF0C\u4FDD\u7559\u7528\u6237\u5185\u5BB9\uFF0C\u4E0D\u8986\u76D6\u4E5F\u4E0D\u81EA\u52A8\u6539\u540D\u3002",ONBOARDING_UNOWNED_RULE_BLOCK:"\u53D1\u73B0\u672A\u80FD\u6838\u9A8C\u5F52\u5C5E\u7684\u6258\u7BA1\u533A\uFF0C\u9700\u8981\u4EBA\u5DE5\u6838\u5BF9\u3002",ONBOARDING_OWNED_CONTENT_REVIEW:"\u5DF2\u5B89\u88C5\u6587\u4EF6\u6216\u7248\u672C\u53D1\u751F\u53D8\u5316\uFF1B\u672C\u671F\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_GLOBAL_BUDGET_REVIEW:"\u5168\u5C40\u89C4\u5219\u8D85\u8FC7\u4FDD\u5B88\u52A0\u8F7D\u9884\u7B97\uFF0C\u9700\u8981\u5148\u7CBE\u7B80\u6216\u8C03\u6574\u65B9\u6848\u3002",ONBOARDING_RECOVERY_REQUIRED:"\u6709\u672A\u7ED3\u675F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u56DE\u6267\u5E76\u5904\u7406\u6062\u590D\u3002"};function yo({request:e}){let[o,l]=(0,ae.useState)(null),[u,f]=(0,ae.useState)(""),[i,a]=(0,ae.useState)(!1),[p,I]=(0,ae.useState)(null),[m,r]=(0,ae.useState)(!1),[c,t]=(0,ae.useState)(""),s=(0,ae.useRef)(0);(0,ae.useEffect)(()=>()=>{s.current++},[]);async function d(C){let S=++s.current;r(!0),t("");try{let D=await C();if(S===s.current)return D}catch(D){S===s.current&&t("\u64CD\u4F5C\u672A\u5B8C\u6210\uFF1A"+D.message+"\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u56DE\u6267\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")}finally{S===s.current&&r(!1)}}async function n(){a(!1),l(null);let C=await d(()=>e("install_preview",u?{ruleRoot:u}:{}));C&&l(C)}async function x(){let C=await d(()=>e("install_status",{}));C&&I(C)}async function g(){if(!o?.canApply||!i||m)return;let C=o;a(!1),l(null);let S=await d(()=>e("install_apply",{id:C.id,fingerprint:C.fingerprint,confirm:!0}));S&&I(S)}async function h(){if(!p?.id||m)return;let C=await d(()=>e("install_recover",{id:p.id,confirm:!0}));C&&I(C),l(null),a(!1)}return ae.default.createElement(j,{title:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u5B89\u88C5\u8BA1\u5212",icon:"shield",extra:ae.default.createElement(ke,null,"\u4EC5\u5F53\u524D Host")},ae.default.createElement(b,null,"\u8FD9\u4EFD\u8BA1\u5212\u4EC5\u5B89\u88C5\u672C\u7AEF\u5168\u5C40\u89C4\u5219\u4E0E Skill\uFF0C\u4E0D\u8FDE\u63A5 ECS\u3001\u4E0D\u4FEE\u6539\u51ED\u636E\u3001\u4E0D\u542F\u52A8\u4EFB\u52A1\u6216\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u53D1\u5E03\u3002\u9884\u89C8\u4E0D\u5199\u6587\u4EF6\uFF1B\u5E94\u7528\u540E\u4F1A\u4FDD\u5B58\u79C1\u6709\u5907\u4EFD\u548C\u4E8B\u52A1\u56DE\u6267\u3002"),ae.default.createElement(Se,{label:"\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807",hint:"\u9009\u586B\uFF1B\u4E24\u4EFD\u90FD\u5B58\u5728\u65F6\u5FC5\u987B\u9009\u62E9\u3002\u53EA\u9009\u8FFD\u52A0\u4F4D\u7F6E\uFF0C\u4E0D\u79FB\u52A8\u6216\u4FEE\u6539\u53E6\u4E00\u4EFD\u89C4\u5219\u3002"},ae.default.createElement("select",{"aria-label":"\u5168\u5C40\u89C4\u5219\u8FFD\u52A0\u76EE\u6807",disabled:m,value:u,onChange:C=>{f(C.target.value),l(null),a(!1)}},ae.default.createElement("option",{value:""},"\u81EA\u52A8\uFF1A\u4F18\u5148\u552F\u4E00\u5DF2\u6709\u6587\u4EF6\uFF0C\u5426\u5219\u521B\u5EFA"),ae.default.createElement("option",{value:"dsh"},"\u5F53\u524D Host \u7684 DSH \u5168\u5C40\u89C4\u5219"),ae.default.createElement("option",{value:"shared"},"\u5F53\u524D Host \u7684\u5171\u4EAB Agents \u5168\u5C40\u89C4\u5219"))),ae.default.createElement("div",{className:"form-actions"},ae.default.createElement(v,{onClick:n,disabled:m},"\u9884\u89C8\u5B89\u88C5\u8BA1\u5212"),ae.default.createElement(v,{kind:"soft",onClick:x,disabled:m},"\u6838\u5BF9\u5B89\u88C5\u56DE\u6267")),c&&ae.default.createElement("p",{role:"alert"},c),o&&ae.default.createElement("div",{className:"install-plan"},ae.default.createElement("p",null,o.alreadyInstalled?"\u5DF2\u5B89\u88C5\u4E14\u6458\u8981\u4E00\u81F4 \xB7 \u65E0\u9700\u91CD\u590D\u5E94\u7528":`${o.changes.length} \u9879\u53D8\u66F4 \xB7 \u5168\u5C40\u89C4\u5219 ${o.globalBytes}/${o.byteLimit} \u5B57\u8282`),o.conflicts.map((C,S)=>ae.default.createElement("div",{role:"alert",className:"plan-item",key:S},ae.default.createElement("strong",null,cl[C.code]??C.code),C.path&&ae.default.createElement("code",null,C.path))),ae.default.createElement("div",{className:"install-changes"},o.changes.map(C=>ae.default.createElement("details",{className:"plan-item",key:C.path},ae.default.createElement("summary",null,C.action==="append"?"\u8FFD\u52A0\uFF0C\u4FDD\u7559\u539F\u6587":"\u65B0\u5EFA\uFF0C\u4E0D\u8986\u76D6"," \xB7 ",C.path.includes("/skills/")?C.path.slice(C.path.lastIndexOf("/skills/")+1):"AGENTS.md"),ae.default.createElement("code",null,C.path),ae.default.createElement("p",null,"\u4FDD\u7559\u539F\u59CB ",C.preservedBytes," \u5B57\u8282"),ae.default.createElement("code",null,"\u539F\u6458\u8981\uFF1A",C.beforeHash??"\u4E0D\u5B58\u5728",ae.default.createElement("br",null),"\u76EE\u6807\u6458\u8981\uFF1A",C.afterHash),ae.default.createElement("pre",{className:"install-diff"},C.addedText)))),ae.default.createElement(J,{checked:i,disabled:!o.canApply||m,onChange:a,title:"\u6211\u786E\u8BA4\u5728\u4E0A\u8FF0\u5B9E\u9645\u8DEF\u5F84\u5E94\u7528\u8FD9\u4EFD\u89C4\u5219\u4E0E Skill \u8BA1\u5212",sub:"\u4E0D\u6388\u6743 ECS \u521D\u59CB\u5316\uFF1B\u4EFB\u4F55\u51B2\u7A81\u6216\u5FEB\u7167\u53D8\u5316\u5747\u4F1A\u505C\u6B62\u3002"}),ae.default.createElement(v,{kind:"primary",disabled:!o.canApply||!i||m||Date.now()>o.expiresAt,onClick:g},"\u5E94\u7528\u672C\u7AEF\u89C4\u5219\u4E0E Skill")),p&&ae.default.createElement("div",{className:"plan-item",role:"status"},ae.default.createElement("strong",null,"\u5B89\u88C5\u56DE\u6267\uFF1A",{committed:"\u6587\u4EF6\u5DF2\u5B89\u88C5",rolled_back:"\u5DF2\u56DE\u6EDA",needs_review:"\u5F85\u4EBA\u5DE5\u6838\u5BF9",applying:"\u6267\u884C\u4E2D\uFF0F\u9700\u6838\u5BF9",rolling_back:"\u56DE\u6EDA\u4E2D\uFF0F\u9700\u6838\u5BF9",not_installed:"\u5C1A\u672A\u5B89\u88C5"}[p.state]??p.state),ae.default.createElement("p",null,"\u4F1A\u8BDD\u52A0\u8F7D\u4ECD\u9700\u72EC\u7ACB\u6838\u9A8C\uFF1B\u4E0D\u4EE3\u8868\u6574\u5957\u521D\u59CB\u5316\u5B8C\u6210\u3002"),p.error&&ae.default.createElement("code",null,p.error),p.review?.map((C,S)=>ae.default.createElement("code",{key:S},C.path," \xB7 \u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u8986\u76D6")),p.canRecover&&ae.default.createElement(v,{disabled:m,onClick:h},"\u786E\u8BA4\u56DE\u6EDA\u672A\u5B8C\u6210\u4E8B\u52A1")))}var M=Le(me());var No="dsh-onboarding-maintenance-reference-v1",wo=e=>typeof e=="string"&&/^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$/.test(e),Da=e=>["committed","rolled_back","uninstalled"].includes(e?.state);function It(e,o,l=Date.now()){let u=e.uncertain||e.current?.canRecover===!0||!!e.current?.id&&!Da(e.current);return{preview:!e.busy&&!!e.current&&!u&&[1,2].includes(o.contract),apply:!e.busy&&o.contract===2&&o.mutation===!0&&e.plan?.contract===2&&e.plan.canApply===!0&&e.plan.mutationAvailable===!0&&l<e.plan.expiresAt&&!e.recovery,recover:!e.busy&&o.contract===2&&o.mutation===!0&&e.current?.canRecover===!0,recoveryApply:!e.busy&&o.contract===2&&o.mutation===!0&&e.recovery?.confirmRequired===!0&&l<e.recovery.expiresAt}}function Oo(e,o,l,u,f=Date.now){let i=null;try{let m=JSON.parse(u?.getItem(No)??"null");wo(m?.id)&&(i={id:m.id})}catch{}let a={current:null,receipt:null,plan:null,recovery:null,busy:!1,error:"",uncertain:!!i,reference:i,observedAt:null},p=m=>{a={...a,...m},o(a)};async function I(m,r=!1){if(a.busy)return!1;let c=It(a,l,f());if(["upgrade","repair","uninstall"].includes(m)&&!c.preview||m==="apply"&&(!c.apply||r!==!0)||m==="recovery_preview"&&!c.recover||m==="recover"&&(!c.recoveryApply||r!==!0)||!["refresh","upgrade","repair","uninstall","apply","recovery_preview","recover"].includes(m))return!1;let t=m==="recover"?a.recovery:a.plan;p({busy:!0,error:"",plan:null,recovery:null});try{if(m==="refresh"){let s=await e("maintenance_status",{});p({current:s,observedAt:f()});let d=wo(s.id)&&(s.canRecover===!0||!Da(s)),n=d?s:a.reference?await e("maintenance_status",{id:a.reference.id}):s.lastReceipt??(s.id?s:null),x=d?s.id:a.reference?.id;if(x&&n?.id!==x)throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");p({receipt:n,uncertain:d?!Da(s):!!a.reference&&!Da(n)})}else if(["upgrade","repair","uninstall"].includes(m))p({plan:await e("maintenance_preview",{action:m})});else if(m==="recovery_preview")p({recovery:await e("maintenance_recoveryPreview",{id:a.current.id})});else{if(!u)throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE");u.setItem(No,JSON.stringify({id:t.id})),p({reference:{id:t.id},uncertain:!0});let s=await e(m==="apply"?"maintenance_apply":"maintenance_recover",{id:t.id,fingerprint:t.fingerprint,confirm:!0});if(s?.id!==t.id)throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");p({receipt:s,current:null,observedAt:null,uncertain:!Da(s)})}return!0}catch(s){return p({error:/^ONBOARDING_[A-Z_]+$/.test(s?.message)?s.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{p({busy:!1})}}return{get:()=>a,act:I,cancel:()=>{a.busy||p({plan:null,recovery:null})}}}var Ye={upgrade:"\u5347\u7EA7",repair:"\u4FEE\u590D",uninstall:"\u79FB\u9664"},Do={inspected:"\u5F53\u524D\u6587\u4EF6\u5DF2\u68C0\u67E5",not_installed:"\u5C1A\u672A\u5B89\u88C5\u89C4\u5219\u4E0E Skill",uninstalled:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u5DF2\u79FB\u9664",committed:"\u53D8\u66F4\u5DF2\u8BB0\u8D26",rolled_back:"\u672C\u6B21\u53D8\u66F4\u5DF2\u56DE\u6EDA",needs_review:"\u5F85\u6838\u5BF9 \xB7 \u4FDD\u7559\u73B0\u573A",applying:"\u5904\u7406\u4E2D\uFF0F\u5F85\u6838\u5BF9",rolling_back:"\u56DE\u6EDA\u4E2D\uFF0F\u5F85\u6838\u5BF9"},pl={ONBOARDING_MAINTENANCE_BUSY:"\u539F\u4E8B\u52A1\u4ECD\u5728\u8FD0\u884C\uFF1B\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u4E2D\u65AD\u6216\u91CD\u53D1\u3002",ONBOARDING_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF1B\u672A\u81EA\u52A8\u91CD\u65B0\u7533\u8BF7\u6216\u6267\u884C\u3002\u82E5\u5DF2\u63D0\u4EA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_PLAN_DRIFT:"\u6587\u4EF6\u6216\u8D26\u672C\u53D1\u751F\u53D8\u5316\uFF0C\u539F\u8BA1\u5212\u672A\u7EE7\u7EED\u6267\u884C\u3002\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\uFF0C\u4FDD\u7559\u73B0\u573A\u3002",ONBOARDING_MAINTENANCE_OPERATION_NOT_FOUND:"\u5C1A\u672A\u627E\u5230\u539F\u8BF7\u6C42\u7684\u8D26\u672C\uFF0C\u4E0D\u7B49\u4E8E\u8BF7\u6C42\u672A\u9001\u8FBE\u3002\u8BF7\u7A0D\u540E\u624B\u52A8\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u786E\u8BA4\u3002",ONBOARDING_MAINTENANCE_INCOMPLETE_JOURNAL:"\u539F\u4E8B\u52A1\u7F3A\u5C11\u5B8C\u6574\u8D26\u672C\uFF0C\u4E0D\u80FD\u81EA\u52A8\u6062\u590D\uFF1B\u4FDD\u7559\u73B0\u573A\u4F9B\u6838\u5BF9\u3002",ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u6D4F\u89C8\u5668\u65E0\u6CD5\u4FDD\u5B58\u56DE\u6267\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u672A\u53D1\u9001\u7EF4\u62A4\u8BF7\u6C42\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u8BBE\u7F6E\u3002"},Po={create:"\u65B0\u5EFA\u81EA\u6709\u6587\u4EF6",replace:"\u66FF\u6362\u53D7\u7BA1\u5185\u5BB9",remove:"\u79FB\u9664\u53D7\u7BA1\u5185\u5BB9"};function Lt({request:e,contract:o=0,mutation:l=!1}){let[u,f]=(0,M.useState)(null),[i,a]=(0,M.useState)(!1),p=(0,M.useRef)(!0),I=(0,M.useRef)(null);if(!I.current){let d;try{d=globalThis.sessionStorage}catch{}I.current=Oo(e,n=>{p.current&&f(n)},{contract:o,mutation:l},d)}(0,M.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]);let m=u??I.current.get(),r=It(m,{contract:o,mutation:l}),c=m.plan,t=m.receipt,s=d=>(a(!1),I.current.act(d,i));return M.default.createElement(j,{title:"\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4",sub:"\u53EA\u7BA1\u7406\u4F60\u6B63\u5728\u8BBF\u95EE\u7684 Host\uFF1B\u53E6\u4E00\u7AEF\u9700\u5206\u522B\u8FDB\u5165\u5E76\u786E\u8BA4\u3002",icon:"shield",extra:M.default.createElement(ke,null,"\u624B\u52A8\u6838\u5BF9"),className:"connection-panel maintenance-panel"},M.default.createElement(b,null,"\u5347\u7EA7\u3001\u4FEE\u590D\u6216\u79FB\u9664\u7684\u8303\u56F4\u4EC5\u4E3A\u672C\u9879\u76EE\u7684\u5168\u5C40 AGENTS.md \u6258\u7BA1\u533A\u4E0E Skill\u3002\u4FDD\u7559\u7528\u6237\u539F\u6587\u3001\u672A\u77E5\u6587\u4EF6\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u4E0E\u6210\u679C\uFF1B\u4E0D\u5378\u8F7D\u63D2\u4EF6\u672C\u4F53\u3001\u7B2C\u4E09\u65B9\u63D2\u4EF6\u6216 ECS \u5B9E\u4F8B\u3002"),M.default.createElement("div",{className:"maintenance-status",role:"status"},M.default.createElement(_,{label:"\u5F53\u524D\u72B6\u6001",value:m.current?Do[m.current.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),m.current?.action&&M.default.createElement(_,{label:"\u5F53\u524D\u4E8B\u52A1",value:Ye[m.current.action]??"\u7EF4\u62A4"}),m.current?.installedVersion&&M.default.createElement(_,{label:"\u5DF2\u767B\u8BB0\u89C4\u5219\u7248\u672C",value:m.current.installedVersion}),M.default.createElement("p",{className:"fine-print"},m.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(m.observedAt).toLocaleString()+" \xB7 \u4E0D\u4EE3\u8868\u4F1A\u8BDD\u5DF2\u52A0\u8F7D":"\u6253\u5F00\u9875\u9762\u4E0D\u6267\u884C\u7EF4\u62A4\uFF0C\u4E5F\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),M.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u64CD\u4F5C"},M.default.createElement(v,{kind:"secondary",icon:"reset",disabled:m.busy,onClick:()=>s("refresh")},"\u624B\u52A8\u6838\u5BF9\u7EF4\u62A4\u72B6\u6001\u4E0E\u56DE\u6267"),Object.entries(Ye).map(([d,n])=>M.default.createElement(v,{key:d,kind:"soft",disabled:!r.preview,onClick:()=>s(d)},"\u9884\u89C8",n,"\u8BA1\u5212"))),o!==2||!l?M.default.createElement(b,null,"\u76EE\u6807\u7AEF\u53EA\u5F00\u653E\u53EA\u8BFB\u7EF4\u62A4\u8BA1\u5212\uFF0C\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u5E94\u7528\u6216\u6062\u590D\uFF1B\u4E0D\u4F1A\u964D\u7EA7\u8C03\u7528\u65E7\u63A5\u53E3\u3002"):null,m.uncertain&&M.default.createElement(b,{tone:"warn"},"\u539F\u8BF7\u6C42\u7ED3\u679C\u5C1A\u5F85\u6838\u5BF9\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\uFF0C\u4E0D\u628A\u5237\u65B0\u5931\u8D25\u663E\u793A\u4E3A\u7EF4\u62A4\u6210\u529F\u3002"),m.current?.canRecover&&M.default.createElement("div",{className:"connection-actions"},M.default.createElement(v,{kind:"secondary",disabled:!r.recover,onClick:()=>s("recovery_preview")},"\u9884\u89C8\u539F\u4E8B\u52A1\u6062\u590D")),c&&M.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u8BA1\u5212"},M.default.createElement("h3",null,"\u5F85\u786E\u8BA4\u8BA1\u5212 \xB7 ",Ye[c.action],"\u89C4\u5219\u4E0E Skill"),M.default.createElement(_,{label:"\u89C4\u5219\u7248\u672C",value:(c.installedVersion??"\u672A\u767B\u8BB0")+" \u2192 "+c.targetVersion}),M.default.createElement(_,{label:"\u62DF\u53D8\u66F4",value:(c.changes?.length??0)+" \u9879 \xB7 \u5C1A\u672A\u6267\u884C"}),M.default.createElement("p",null,"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(c.expiresAt).toLocaleTimeString(),"\u3002\u786E\u8BA4\u65F6\u518D\u6B21\u68C0\u67E5\u6587\u4EF6\u5F52\u5C5E\u3001\u7248\u672C\u548C\u5E76\u53D1\u53D8\u5316\u3002"),c.conflicts?.map((d,n)=>M.default.createElement("div",{className:"plan-item",role:"alert",key:n},M.default.createElement("strong",null,"\u6B64\u9879\u51B2\u7A81\u963B\u6B62\u5E94\u7528"),M.default.createElement("code",null,d.code),d.path&&M.default.createElement("code",null,d.path))),c.changes?.map((d,n)=>M.default.createElement("details",{className:"plan-item",key:n},M.default.createElement("summary",null,Po[d.action]," \xB7 ",d.kind==="global_rules"?"\u5168\u5C40 AGENTS.md":d.path.split(/[\\/]/).slice(-2).join("/")),M.default.createElement("code",null,d.path),M.default.createElement("p",null,d.preservedUserBytes!==void 0?"\u4FDD\u7559\u7528\u6237\u539F\u6587 "+d.preservedUserBytes+" \u5B57\u8282":"\u4EC5\u7BA1\u7406\u6E05\u5355\u5185\u81EA\u6709\u6587\u4EF6"),M.default.createElement(_,{label:"\u53D8\u66F4\u5927\u5C0F",value:d.beforeBytes+" \u2192 "+d.afterBytes+" \u5B57\u8282"}),d.managedText&&M.default.createElement("pre",{className:"install-diff"},d.managedText))),c.retained?.length>0&&M.default.createElement("details",{className:"plan-item"},M.default.createElement("summary",null,"\u5C06\u4FDD\u7559\u7684\u76EE\u5F55\u4E0E\u6587\u4EF6 \xB7 ",c.retained.length," \u9879"),c.retained.map((d,n)=>M.default.createElement("div",{key:n},M.default.createElement("code",null,d.path),M.default.createElement("p",null,d.reason,d.names?.length?" \xB7 "+d.names.join("\u3001"):"")))),!c.canApply&&M.default.createElement(b,null,c.conflicts?.length?"\u5B58\u5728\u51B2\u7A81\uFF0C\u672C\u8BA1\u5212\u4E0D\u80FD\u5E94\u7528\u3002":"\u6CA1\u6709\u53EF\u5E94\u7528\u7684\u53D8\u66F4\uFF1B\u4E0D\u91CD\u590D\u7EF4\u62A4\u3002"),M.default.createElement(J,{checked:i,disabled:!r.apply,onChange:a,title:"\u6211\u786E\u8BA4\u4EC5\u5E94\u7528\u4E0A\u8FF0\u672C\u7AEF\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u8BA1\u5212",sub:"\u4E0D\u6388\u6743\u53E6\u4E00\u7AEF\u64CD\u4F5C\u3001\u63D2\u4EF6\u5378\u8F7D\u3001\u4EFB\u52A1\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),M.default.createElement("div",{className:"connection-actions"},M.default.createElement(v,{kind:"primary",disabled:!r.apply||!i,onClick:()=>s("apply")},"\u786E\u8BA4",Ye[c.action],"\u672C\u7AEF\u89C4\u5219\u4E0E Skill"),M.default.createElement(v,{kind:"secondary",disabled:m.busy,onClick:()=>{I.current.cancel(),a(!1)}},"\u53D6\u6D88\u8BA1\u5212"))),m.recovery&&M.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u6062\u590D\u8BA1\u5212"},M.default.createElement("h3",null,m.recovery.action==="finalize_receipt"?"\u53D8\u66F4\u5DF2\u63D0\u4EA4 \xB7 \u4EC5\u8865\u9F50\u56DE\u6267\u6536\u5C3E":"\u56DE\u6EDA\u539F\u4E8B\u52A1\u7684\u672A\u5B8C\u6210\u53D8\u66F4"),M.default.createElement(_,{label:"\u539F\u64CD\u4F5C",value:Ye[m.current?.action]??"\u7EF4\u62A4"}),Array.isArray(m.current?.files)&&M.default.createElement("details",{className:"plan-item"},M.default.createElement("summary",null,"\u539F\u4E8B\u52A1\u6D89\u53CA ",m.current.files.length," \u4E2A\u53D7\u7BA1\u6587\u4EF6"),m.current.files.map((d,n)=>M.default.createElement("div",{key:n},M.default.createElement("p",null,Po[d.action]??"\u6838\u5BF9\u53D7\u7BA1\u5185\u5BB9"),M.default.createElement("code",null,d.path)))),M.default.createElement("p",null,m.recovery.action==="finalize_receipt"?"\u4E0D\u64A4\u9500\u5DF2\u7ECF\u6210\u529F\u7684\u7EF4\u62A4\uFF0C\u53EA\u6838\u9A8C\u539F\u4E8B\u52A1\u5E76\u6536\u5C3E\u3002":"\u53EA\u6062\u590D\u80FD\u591F\u6838\u9A8C\u7684\u539F\u59CB\u6587\u4EF6\uFF1B\u5E76\u53D1\u4FEE\u6539\u4E0E\u672A\u77E5\u5185\u5BB9\u4FDD\u7559\u4E3A\u5F85\u6838\u5BF9\u3002"),M.default.createElement(J,{checked:i,onChange:a,disabled:!r.recoveryApply,title:"\u6211\u786E\u8BA4\u4EC5\u6309\u4E0A\u8FF0\u8BA1\u5212\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"}),M.default.createElement("div",{className:"connection-actions"},M.default.createElement(v,{kind:"primary",disabled:!i||!r.recoveryApply,onClick:()=>s("recover")},"\u786E\u8BA4\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"),M.default.createElement(v,{kind:"secondary",disabled:m.busy,onClick:()=>{I.current.cancel(),a(!1)}},"\u53D6\u6D88\u6062\u590D"))),t&&M.default.createElement("section",{className:"maintenance-receipt",role:"status","aria-label":"\u6301\u4E45\u7EF4\u62A4\u56DE\u6267"},M.default.createElement("h3",null,"\u6301\u4E45\u56DE\u6267 \xB7 ",Do[t.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),M.default.createElement(_,{label:"\u539F\u64CD\u4F5C",value:Ye[t.action]??"\u7EF4\u62A4"}),t.version&&M.default.createElement(_,{label:"\u56DE\u6267\u7248\u672C",value:t.version}),M.default.createElement("p",null,"\u8FD9\u662F\u539F\u64CD\u4F5C\u7684\u8D26\u672C\uFF0C\u4E0D\u4EE3\u8868\u5F53\u524D\u6587\u4EF6\u4ECD\u4E00\u81F4\u3001\u4F1A\u8BDD\u5DF2\u52A0\u8F7D\u6216\u6574\u5957\u73AF\u5883\u7EF4\u62A4\u5B8C\u6210\u3002"),t.error&&M.default.createElement("code",null,t.error),t.review?.map((d,n)=>M.default.createElement("div",{className:"plan-item",key:n},M.default.createElement("code",null,d.path),M.default.createElement("p",null,"\u4FDD\u7559\u73B0\u573A \xB7 ",d.reason))),t.directoryResults?.filter(d=>d.state==="retained_nonempty_or_changed").map((d,n)=>M.default.createElement("p",{key:n},"\u975E\u7A7A\u6216\u53D8\u5316\u7684\u76EE\u5F55\u5DF2\u4FDD\u7559\uFF1A",M.default.createElement("code",null,d.path)))),(m.error||m.current?.error)&&M.default.createElement("p",{className:"connection-error",role:"alert"},pl[m.error||m.current.error]??"\u672C\u6B21\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u8986\u76D6\u6587\u4EF6\u3002"," ",M.default.createElement("code",null,m.error||m.current.error)))}var Ne=Le(me());var W=Le(me());var ht="dsh-self-disable-reference-v1",Pa=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),ml=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Je=e=>Number.isSafeInteger(e)&&e>=0,Il=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],Bo=e=>e===null||e&&Pa(e.id)&&Il.includes(e.state)&&typeof e.version=="string"&&e.version.length<=128&&Je(e.createdAt)&&Je(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.originalOutcomeProven===!1&&e.review?.bundleEnabled===!0&&Je(e.review?.at)),Ll=e=>!!e&&["intent","unknown"].includes(e.state),hl=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,gt=e=>hl(e)&&e.contract===1&&e.queryContract===1&&e.scope==="current_host_own_bundle_selection_only"&&e.externalRecovery==="official_plugin_manager"&&Pa(e.instanceId)&&Je(e.revision)&&Je(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&Bo(e.receipt)&&e.pending===Ll(e.receipt);function Ct(e,o,l=Date.now()){let u=e.current,f=o===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&gt(u)&&!u.operationInFlight;return{disable:!!(f&&!u.pending&&u.receipt?.state!=="saved_restart_required"),review:!!(f&&u.pending),confirm:!!(f&&e.plan?.canApply===!0&&e.plan.expiresAt>l)}}function Eo(e){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u505C\u7528\u6062\u590D\u8BF4\u660E
343
+
344
+ \u4EC5\u9002\u7528\u4E8E\u4F60\u521A\u624D\u64CD\u4F5C\u7684\u540C\u4E00\u53F0 Host\u3001\u540C\u4E00 profile\u3002
345
+ 1. \u505C\u7528\u540E\u672C\u63D2\u4EF6\u7684\u9762\u677F\u548C\u56DE\u6267\u901A\u9053\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\u3002\u8FD9\u4E0D\u8BC1\u660E\u539F\u8BF7\u6C42\u6210\u529F\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002\u4E0D\u8981\u91CD\u590D\u505C\u7528\u8BF7\u6C42\u3002
346
+ 2. \u4F7F\u7528\u8BE5 Host \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\uFF0C\u627E\u5230 @mogragsigma/dsh-dual-host-plugin\uFF0C\u6838\u5BF9\u5F53\u524D\u72B6\u6001\u3002\u9700\u8981\u6062\u590D\u65F6\uFF0C\u53E6\u884C\u51B3\u5B9A\u91CD\u65B0\u542F\u7528\uFF1B\u4E0D\u8981\u79FB\u9664\u5305\u6216\u8986\u76D6\u7528\u6237\u914D\u7F6E\u3002\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u786E\u8BA4\u4F1A\u8BDD\u7A7A\u95F2\u5E76\u4E86\u89E3\u6700\u540E\u5230\u8FBE\u7684\u539F\u751F\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u518D\u7531\u4F60\u660E\u786E\u91CD\u542F\u3002
347
+ 3. \u91CD\u65B0\u8FDB\u5165\u914D\u7F6E\u5BFC\u89C8 \u2192 \u7EF4\u62A4\u4F1A\u8BDD \u2192 \u672C\u7AEF\u63D2\u4EF6\u505C\u7528\uFF0C\u70B9\u51FB\u201C\u624B\u52A8\u6838\u5BF9\u505C\u7528\u8D26\u672C\u201D\u3002\u672A\u77E5\u8BB0\u5F55\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\uFF1B\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u65F6\u4E0D\u80FD\u6536\u5C3E\u3002
348
+ 4. \u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u53EF\u53E6\u884C\u786E\u8BA4\u201C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\u201D\uFF1B\u8FD9\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\u3002\u7EC4\u4EF6\u7EF4\u62A4\u65E7\u8BB0\u5F55\u7684\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\uFF0C\u4E5F\u5206\u522B\u9884\u89C8\u786E\u8BA4\u3002
349
+ 5. \u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u4E0E\u6210\u679C\u4FDD\u7559\u3002\u6B64\u64CD\u4F5C\u4E0D\u662F\u5B8C\u6574\u5378\u8F7D\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03\u3002
350
+
351
+ \u8BCA\u65AD\u5F15\u7528\uFF1A${Pa(e)?e:"\u5C1A\u672A\u751F\u6210\uFF1B\u6062\u590D\u540E\u624B\u52A8\u67E5\u8BE2\u5F53\u524D\u8D26\u672C"}
352
+ \u6B64\u8BF4\u660E\u4E0D\u542B\u5BC6\u94A5\u3001\u8BBF\u95EE\u5730\u5740\u3001\u6279\u51C6\u6307\u7EB9\u6216\u53EF\u91CD\u653E\u547D\u4EE4\u3002
353
+ `}function Mo(e,o,l,u,f=Date.now){let i=null,a=!1;try{if(!u)throw Error();let t=JSON.parse(u.getItem(ht)??"null");if(t!==null){if(!t||Object.keys(t).join()!=="operationId"||!Pa(t.operationId))throw Error();i=t}}catch{a=!0}let p={current:null,receipt:null,reference:i,storageError:a,plan:null,busy:!1,fresh:!1,uncertain:!!i||a,error:"",observedAt:null},I=t=>{p={...p,...t},o(p)},m=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function r(t,s){gt(t)||m(),s&&(t.requestedOperationId!==s.operationId||!Object.hasOwn(t,"requestedReceipt")||!Bo(t.requestedReceipt)||t.requestedReceipt&&t.requestedReceipt.id!==s.operationId)&&m();let d=s?t.requestedReceipt:t.receipt;return{current:t,receipt:d,fresh:!0,uncertain:p.storageError||!!s&&!d,observedAt:f()}}async function c(t,s=!1,d=!1){if(p.busy||l!==1||!["refresh","disable","review","confirm"].includes(t))return!1;let n=Ct(p,l,f()),x=p.plan;if(t!=="refresh"&&(!n[t]||t==="confirm"&&(s!==!0||x.action==="disable_own_bundle"&&d!==!0)))return!1;I({busy:!0,error:"",plan:null});try{if(t==="refresh")I(r(await e("self_disable_status",p.reference??{}),p.reference));else if(t==="confirm"){let g={operationId:x.action==="disable_own_bundle"?x.id:x.operationId};try{if(u.setItem(ht,JSON.stringify(g)),u.getItem(ht)!==JSON.stringify(g))throw Error()}catch{throw Error("ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE")}I({reference:g,uncertain:!0,fresh:!1});let h=await e("self_disable_"+(x.action==="disable_own_bundle"?"apply":"reconcileApply"),{id:x.id,fingerprint:x.fingerprint,confirm:!0,acceptRisk:!0});(!gt(h)||h.instanceId!==x.instanceId||h.revision<=x.revision||h.receipt?.id!==g.operationId||x.action==="record_observation_only"&&(h.managerActions!==0||h.receipt.state!=="reconciled"))&&m(),I(r({...h,requestedOperationId:g.operationId,requestedReceipt:h.receipt},g))}else{let g=p.current,h=await e("self_disable_"+(t==="disable"?"preview":"reconcilePreview"),{});(h.contract!==1||h.instanceId!==g.instanceId||h.revision!==g.revision||!Pa(h.id)||!ml(h.fingerprint)||!Je(h.expiresAt)||h.expiresAt<=f()||h.canApply!==!0||h.hostStopAuthorized!==!1||h.automaticRestart!==!1)&&m(),(t==="disable"?h.action!=="disable_own_bundle"||h.scope!=="current_host_own_bundle_selection_only"||typeof h.version!="string"||!Array.isArray(h.risks)||!["own_ui_and_rpc_may_disappear","late_native_or_im_input_may_abort","restart_may_be_required"].every(C=>h.risks.includes(C))||![["package","global_rules","skills","credentials","tasks","artifacts","other_plugins"],["package","global_rules","skills","credentials","sessions","tasks","artifacts","other_declared_plugins"]].some(C=>JSON.stringify(h.retained)===JSON.stringify(C)):h.action!=="record_observation_only"||h.scope!=="ledger_only"||h.originalOutcomeProven!==!1||h.operationId!==g.receipt?.id)&&m(),I({plan:h})}return!0}catch(g){return I({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(g?.message)?g.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{I({busy:!1})}}return{get:()=>p,act:c,cancel:()=>{p.busy||I({plan:null})}}}var gl={intent:"\u5DF2\u8BB0\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",unknown:"\u539F\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",not_dispatched:"\u8BE5\u6B21\u672A\u6D3E\u53D1\u7ED9\u5B98\u65B9\u7BA1\u7406",saved_restart_required:"\u5B98\u65B9\u5DF2\u4FDD\u5B58\u9009\u62E9 \xB7 \u9700\u53E6\u884C\u91CD\u542F",manager_applied:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u56DE\u6267\u5DF2\u5E94\u7528",manager_rejected:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u672A\u786E\u8BA4\u5E94\u7528",reconciled:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u4E0D\u8FFD\u8BA4\u539F\u7ED3\u679C"},Cl={ONBOARDING_SELF_DISABLE_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u672C\u7AEF\u4ECD\u6709\u672A\u6838\u5BF9\u7684\u79FB\u9664\u8BB0\u5F55\u3002\u8BF7\u5148\u5728\u79FB\u9664\u63D2\u4EF6\u5305\u9875\u6838\u5BF9\uFF0C\u4E0D\u7528\u505C\u7528\u63A5\u53E3\u7ED5\u8FC7\u3002",ONBOARDING_SELF_DISABLE_MAINTENANCE_REQUIRED:"\u8BF7\u5148\u5728\u4E0A\u65B9\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5DF2\u6709\u4EFB\u52A1\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\uFF0C\u4E0D\u505C\u7528\u63D2\u4EF6\u3002",ONBOARDING_SELF_DISABLE_ORIGINAL_PROCESS_UNRESOLVED:"\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u82E5\u9700\u91CD\u542F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u98CE\u9669\uFF1B\u672C\u9875\u4E0D\u4F1A\u4EE3\u4F60\u505C\u6B62\u3002",ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u786E\u8BA4\u6CA1\u6709\u6D3E\u53D1\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_DISABLE_PROVIDER_CHANGED:"\u81EA\u8EAB\u901A\u9053\u5DF2\u53D8\u5316\uFF0C\u53EF\u80FD\u7531\u5B98\u65B9\u70ED\u91CD\u8F7D\u505C\u7528\u5F15\u8D77\u3002\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u590D\u505C\u7528\u3002",ONBOARDING_SELF_DISABLE_OWNERSHIP_REVIEW:"\u5B98\u65B9\u5F53\u524D\u5B89\u88C5\u5F52\u5C5E\u4E0D\u6EE1\u8DB3\u8981\u6C42\u3002\u8BF7\u5728\u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9\uFF0C\u4E0D\u6539\u5199\u914D\u7F6E\u6216\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_DISABLE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u53D1\u9001\u3002"};function To({request:e,contract:o=0}){let[l,u]=(0,W.useState)(null),[f,i]=(0,W.useState)(!1),[a,p]=(0,W.useState)(!1),I=(0,W.useRef)(!0),m=(0,W.useRef)();if(!m.current){let C;try{C=globalThis.sessionStorage}catch{}m.current=Mo(e,S=>{I.current&&u(S)},o,C)}(0,W.useEffect)(()=>(I.current=!0,()=>{I.current=!1}),[]);let r=l??m.current.get(),c=Ct(r,o),t=r.current,s=r.plan,d=r.receipt,n=s?.action==="record_observation_only",x=s?.action==="disable_own_bundle"?s.id:r.reference?.operationId??d?.id,g=(0,W.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Eo(x)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[x]);(0,W.useEffect)(()=>()=>{g&&URL.revokeObjectURL(g)},[g]);let h=C=>(i(!1),p(!1),m.current.act(C,f,a));return o!==1?null:W.default.createElement(j,{title:"\u672C\u7AEF\u63D2\u4EF6\u505C\u7528",sub:"\u4EC5\u505C\u7528\u5F53\u524D Host \u7684\u5927\u80A5\u9C7C\u63D2\u4EF6\uFF1B\u4FDD\u7559\u5B89\u88C5\u5305\u548C\u6570\u636E\uFF0C\u4E0D\u64CD\u4F5C\u53E6\u4E00\u7AEF\u3002",icon:"offline",className:"connection-panel self-disable-panel",extra:W.default.createElement(ke,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},W.default.createElement(b,{tone:"warn",title:"\u5148\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u518D\u51B3\u5B9A\u505C\u7528"},"\u5B98\u65B9\u70ED\u91CD\u8F7D\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\u672C\u63D2\u4EF6\u7684\u9762\u677F\u4E0E\u56DE\u6267\u901A\u9053\u3002\u665A\u5230\u7684\u539F\u751F\u8F93\u5165\u6216\u5728\u9014 IM \u4ECD\u53EF\u80FD\u4E2D\u6B62\u3002\u754C\u9762\u6D88\u5931\u4E0D\u662F\u6210\u529F\u8BC1\u660E\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002"),W.default.createElement(ze,{title:"\u505C\u7528\u4EE5\u540E\uFF0C\u5982\u4F55\u56DE\u6765\uFF1F",pose:"tasks",open:!0},W.default.createElement("ol",{className:"self-disable-guide"},W.default.createElement("li",null,"\u5728\u540C\u4E00 Host\u3001\u540C\u4E00 profile \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9 ",W.default.createElement("code",null,"@mogragsigma/dsh-dual-host-plugin"),"\uFF0C\u9700\u8981\u65F6\u53E6\u884C\u91CD\u65B0\u542F\u7528\u3002"),W.default.createElement("li",null,"\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u660E\u786E\u786E\u8BA4\u98CE\u9669\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),W.default.createElement("li",null,"\u91CD\u65B0\u8FDB\u5165\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u505C\u7528\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u672A\u77E5\u8BB0\u5F55\u624D\u53EF\u53E6\u884C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3002"),W.default.createElement("li",null,"\u7EC4\u4EF6\u9501\u7684\u65E7\u8BB0\u5F55\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),W.default.createElement("div",{className:"connection-actions"},g?W.default.createElement("a",{className:"button secondary",href:g,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u505C\u7528\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u6062\u590D\u8BF4\u660E"):W.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u3002\u4E0D\u8981\u5173\u95ED\u73B0\u6709\u5B98\u65B9\u7BA1\u7406\u5165\u53E3\u3002"))),W.default.createElement("section",{"aria-label":"\u672C\u7AEF\u505C\u7528\u5F53\u524D\u89C2\u5BDF"},W.default.createElement(_,{label:"\u8D26\u672C\u89C2\u5BDF",value:t?t.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u64CD\u4F5C":t.receipt?"\u5F53\u524D\u65E0\u672A\u77E5\u64CD\u4F5C":"\u5F53\u524D\u6CA1\u6709\u505C\u7528\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),W.default.createElement("p",{className:"fine-print"},r.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(r.observedAt).toLocaleString()+(r.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u505C\u7528\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),W.default.createElement("div",{className:"connection-actions"},W.default.createElement(v,{kind:"secondary",icon:"reset",disabled:r.busy,onClick:()=>h("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u7528\u8D26\u672C"),c.disable&&W.default.createElement(v,{kind:"soft",onClick:()=>h("disable")},"\u9884\u89C8\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),c.review&&W.default.createElement(v,{kind:"soft",onClick:()=>h("review")},"\u9884\u89C8\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF")),r.storageError&&W.default.createElement(b,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u5DF2\u635F\u574F\uFF0C\u6240\u6709\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),r.uncertain&&!r.storageError&&W.default.createElement(b,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u505C\u7528\uFF0C\u4E0D\u636E\u6B64\u8BA4\u5B9A\u6CA1\u6709\u6267\u884C\u3002"),t?.pending&&W.default.createElement(b,{tone:"warn"},"\u5F53\u524D\u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u77E5\u3002\u91CD\u65B0\u542F\u7528\u540E\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u653E\u5F00\u4EFB\u52A1\u5165\u53E3\u3002"),s&&W.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u505C\u7528\u8BA1\u5212"},W.default.createElement("h3",null,n?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),W.default.createElement(_,{label:"\u4F5C\u7528\u8303\u56F4",value:n?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u5B98\u65B9\u7BA1\u7406":"\u5F53\u524D Host \xB7 \u4EC5 @mogragsigma/dsh-dual-host-plugin"}),!n&&W.default.createElement(_,{label:"\u5F53\u524D\u7248\u672C",value:s.version}),W.default.createElement("p",null,n?"\u4FDD\u5B58\u5F53\u524D\u91CD\u65B0\u542F\u7528\u7684\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u4FDD\u7559\u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u3001\u6210\u679C\u548C\u5176\u4ED6\u63D2\u4EF6\u3002\u9762\u677F\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u53D1\u51FA\u7684\u8BF7\u6C42\u3002"),W.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(s.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!n&&W.default.createElement(J,{checked:a,onChange:p,disabled:!c.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u77E5\u9053\u5982\u4F55\u4ECE\u5B98\u65B9\u7BA1\u7406\u91CD\u65B0\u542F\u7528"}),W.default.createElement(J,{checked:f,onChange:i,disabled:!c.confirm,title:n?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u7406\u89E3\u9762\u677F\u53EF\u80FD\u6D88\u5931\u53CA\u5728\u9014\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u4EC5\u505C\u7528\u672C\u7AEF\u63D2\u4EF6",sub:"\u4E0D\u662F Host \u505C\u673A\u3001\u5B8C\u6574\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u6388\u6743\u3002"}),W.default.createElement("div",{className:"connection-actions"},W.default.createElement(v,{kind:"primary",disabled:!c.confirm||!f||!n&&!a,onClick:()=>h("confirm")},n?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF":"\u786E\u8BA4\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),W.default.createElement(v,{kind:"secondary",disabled:r.busy,onClick:()=>{m.current.cancel(),i(!1),p(!1)}},"\u53D6\u6D88\u672C\u7AEF\u8BA1\u5212"))),d&&W.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u505C\u7528\u5386\u53F2\u56DE\u6267"},W.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",gl[d.state]),W.default.createElement("p",null,"\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u9762\u677F\u4ECD\u52A0\u8F7D\u3001Host \u5DF2\u505C\u673A\u6216\u4EFB\u52A1\u5DF2\u6062\u590D\u3002"),t?.receipt?.id!==d.id&&W.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u672C\u533A\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),W.default.createElement(_,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(d.updatedAt).toLocaleString()}),W.default.createElement("details",{className:"plan-item"},W.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),W.default.createElement("code",null,d.id))),r.error&&W.default.createElement("p",{className:"connection-error",role:"alert"},Cl[r.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",W.default.createElement("code",null,r.error)))}var V=Le(me());var vt="dsh-self-remove-reference-v1",Ba=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),vl=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Ze=e=>Number.isSafeInteger(e)&&e>=0,xl=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],Fo=e=>e===null||e&&Ba(e.id)&&xl.includes(e.state)&&typeof e.version=="string"&&e.version.length<=128&&Ze(e.createdAt)&&Ze(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.originalOutcomeProven===!1&&e.review?.bundleEnabled===!0&&Ze(e.review?.at)),_l=e=>!!e&&["intent","unknown"].includes(e.state),Sl=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,xt=e=>Sl(e)&&e.contract===1&&e.queryContract===1&&e.scope==="current_host_own_bundle_dependency_only"&&e.externalRecovery==="official_reinstall_verified_source"&&Ba(e.instanceId)&&Ze(e.revision)&&Ze(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&Fo(e.receipt)&&e.pending===_l(e.receipt);function _t(e,o,l=Date.now()){let u=e.current,f=o===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&xt(u)&&!u.operationInFlight;return{remove:!!(f&&!u.pending&&u.receipt?.state!=="saved_restart_required"),review:!!(f&&u.pending),confirm:!!(f&&e.plan?.canApply===!0&&e.plan.expiresAt>l)}}function Uo(e,o){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664\u6062\u590D\u8BF4\u660E
354
+
355
+ \u4EC5\u9002\u7528\u4E8E\u4F60\u521A\u624D\u64CD\u4F5C\u7684\u540C\u4E00\u53F0 Host\u3001\u540C\u4E00 profile\u3002
356
+ \u76EE\u6807\u5305\uFF1A@mogragsigma/dsh-dual-host-plugin
357
+ \u8BA1\u5212\u7248\u672C\uFF1A${typeof o=="string"&&/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(o)&&o.length<=128?o:"\u4EE5\u521A\u624D\u7684\u8BA1\u5212\u53CA\u5B98\u65B9\u6E05\u5355\u4E3A\u51C6"}
358
+
359
+ 1. \u5148\u4FDD\u7559\u8BE5\u7248\u672C\u5DF2\u9A8C\u8BC1\u7684\u63D2\u4EF6\u5305\u6216\u539F\u5B89\u88C5\u6765\u6E90\u3002\u672C\u5019\u9009\u662F\u672A\u53D1\u5E03\u7684\u79C1\u6709\u5305\uFF0C\u4E0D\u80FD\u5047\u5B9A\u5E02\u573A\u53EF\u6309\u5305\u540D\u4E0B\u8F7D\uFF1B\u6CA1\u6709\u53EF\u7528\u5305\u6E90\uFF0C\u8BF7\u53D6\u6D88\u79FB\u9664\u3002
360
+ 2. \u79FB\u9664\u4F1A\u7ECF DSH \u5B98\u65B9\u5305\u7BA1\u7406\u5378\u8F7D\u672C\u5305\uFF1B\u5176\u672A\u4F7F\u7528\u7684 profile \u4F9D\u8D56\u53EF\u80FD\u88AB\u4FEE\u526A\u3002\u9762\u677F\u53CA\u56DE\u6267\u901A\u9053\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u4E0D\u8BC1\u660E\u8BF7\u6C42\u6210\u529F\uFF0C\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002
361
+ 3. \u9700\u8981\u6062\u590D\u65F6\uFF0C\u5728\u540C\u4E00 Host/profile \u4F7F\u7528 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6216\u5B98\u65B9 CLI\uFF0C\u4ECE\u4FDD\u7559\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90\u91CD\u65B0\u5B89\u88C5\uFF0C\u4E0D\u8986\u76D6\u7528\u6237\u89C4\u5219\u6216\u6570\u636E\u3002\u4E0D\u8981\u76F4\u63A5\u6539\u5199 node_modules\u3002\u82E5\u5B98\u65B9\u8981\u6C42\u91CD\u542F\uFF0C\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u6700\u540E\u5230\u8FBE\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\u7684\u98CE\u9669\u3002
362
+ 4. \u91CD\u65B0\u8FDB\u5165\u914D\u7F6E\u5BFC\u89C8 \u2192 \u7EF4\u62A4\u4F1A\u8BDD \u2192 \u79FB\u9664\u63D2\u4EF6\u5305\uFF0C\u70B9\u51FB\u201C\u624B\u52A8\u6838\u5BF9\u79FB\u9664\u8D26\u672C\u201D\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\u624D\u53EF\u53E6\u884C\u786E\u8BA4\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF1B\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3001\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002
363
+ 5. \u7EC4\u4EF6\u7EF4\u62A4\u65E7\u8BB0\u5F55\u7684\u6536\u5C3E\u3001\u81EA\u6709\u4EFB\u52A1\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u653E\u65E7\u4EFB\u52A1\u3002\u5168\u5C40\u89C4\u5219\u3001Skill\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u3001\u6210\u679C\u53CA\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u5B8C\u6574\u6E05\u7406\u6570\u636E\u6216\u91CA\u653E ECS\uFF0C\u4E0D\u6388\u6743\u5F00\u53D1\u6216\u53D1\u5E03\u3002
364
+
365
+ \u8BCA\u65AD\u5F15\u7528\uFF1A${Ba(e)?e:"\u5C1A\u672A\u751F\u6210\uFF1B\u6062\u590D\u540E\u624B\u52A8\u67E5\u8BE2\u5F53\u524D\u8D26\u672C"}
366
+ \u6B64\u8BF4\u660E\u4E0D\u542B\u5BC6\u94A5\u3001\u8BBF\u95EE\u5730\u5740\u3001\u6279\u51C6\u6307\u7EB9\u6216\u53EF\u91CD\u653E\u547D\u4EE4\u3002
367
+ `}function Ho(e,o,l,u,f=Date.now){let i=null,a=!1;try{if(!u)throw Error();let t=JSON.parse(u.getItem(vt)??"null");if(t!==null){if(!t||Object.keys(t).join()!=="operationId"||!Ba(t.operationId))throw Error();i=t}}catch{a=!0}let p={current:null,receipt:null,reference:i,storageError:a,plan:null,busy:!1,fresh:!1,uncertain:!!i||a,error:"",observedAt:null},I=t=>{p={...p,...t},o(p)},m=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function r(t,s){xt(t)||m(),s&&(t.requestedOperationId!==s.operationId||!Object.hasOwn(t,"requestedReceipt")||!Fo(t.requestedReceipt)||t.requestedReceipt&&t.requestedReceipt.id!==s.operationId)&&m();let d=s?t.requestedReceipt:t.receipt;return{current:t,receipt:d,fresh:!0,uncertain:p.storageError||!!s&&!d,observedAt:f()}}async function c(t,s=!1,d=!1){if(p.busy||l!==1||!["refresh","remove","review","confirm"].includes(t))return!1;let n=_t(p,l,f()),x=p.plan;if(t!=="refresh"&&(!n[t]||t==="confirm"&&(s!==!0||x.action==="remove_own_bundle"&&d!==!0)))return!1;I({busy:!0,error:"",plan:null});try{if(t==="refresh")I(r(await e("self_remove_status",p.reference??{}),p.reference));else if(t==="confirm"){let g={operationId:x.action==="remove_own_bundle"?x.id:x.operationId};try{if(u.setItem(vt,JSON.stringify(g)),u.getItem(vt)!==JSON.stringify(g))throw Error()}catch{throw Error("ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE")}I({reference:g,uncertain:!0,fresh:!1});let h=await e("self_remove_"+(x.action==="remove_own_bundle"?"apply":"reconcileApply"),{id:x.id,fingerprint:x.fingerprint,confirm:!0,acceptRisk:!0});(!xt(h)||h.instanceId!==x.instanceId||h.revision<=x.revision||h.receipt?.id!==g.operationId||x.action==="record_observation_only"&&(h.managerActions!==0||h.receipt.state!=="reconciled"))&&m(),I(r({...h,requestedOperationId:g.operationId,requestedReceipt:h.receipt},g))}else{let g=p.current,h=await e("self_remove_"+(t==="remove"?"preview":"reconcilePreview"),{});(h.contract!==1||h.instanceId!==g.instanceId||h.revision!==g.revision||!Ba(h.id)||!vl(h.fingerprint)||!Ze(h.expiresAt)||h.expiresAt<=f()||h.canApply!==!0||h.hostStopAuthorized!==!1||h.automaticRestart!==!1)&&m(),(t==="remove"?h.action!=="remove_own_bundle"||h.scope!=="current_host_own_bundle_dependency_only"||typeof h.version!="string"||!Array.isArray(h.risks)||!["own_ui_and_rpc_may_disappear","late_native_or_im_input_may_abort","restart_may_be_required","official_package_manager_may_prune_unused_profile_dependencies","verified_source_required_to_reinstall"].every(C=>h.risks.includes(C))||JSON.stringify(h.retained)!==JSON.stringify(["global_rules","skills","credentials","sessions","tasks","artifacts","other_declared_plugins"])||h.dataDeletionAuthorized!==!1:h.action!=="record_observation_only"||h.scope!=="ledger_only"||h.originalOutcomeProven!==!1||h.operationId!==g.receipt?.id)&&m(),I({plan:h})}return!0}catch(g){return I({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(g?.message)?g.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{I({busy:!1})}}return{get:()=>p,act:c,cancel:()=>{p.busy||I({plan:null})}}}var kl={intent:"\u5DF2\u8BB0\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",unknown:"\u539F\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",not_dispatched:"\u8BE5\u6B21\u672A\u6D3E\u53D1\u7ED9\u5B98\u65B9\u7BA1\u7406",saved_restart_required:"\u5B98\u65B9\u5DF2\u4FDD\u5B58\u9009\u62E9 \xB7 \u9700\u53E6\u884C\u91CD\u542F",manager_applied:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u56DE\u6267\u5DF2\u5E94\u7528",manager_rejected:"\u8BE5\u6B21\u5B98\u65B9\u7BA1\u7406\u672A\u786E\u8BA4\u5E94\u7528",reconciled:"\u5DF2\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF \xB7 \u4E0D\u8FFD\u8BA4\u539F\u7ED3\u679C"},bl={ONBOARDING_SELF_REMOVE_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u672C\u7AEF\u4ECD\u6709\u672A\u6838\u5BF9\u7684\u505C\u7528\u8BB0\u5F55\u3002\u8BF7\u5148\u6838\u5BF9\u539F\u8BB0\u5F55\uFF0C\u4E0D\u7528\u79FB\u9664\u63A5\u53E3\u7ED5\u8FC7\u3002",ONBOARDING_SELF_REMOVE_MAINTENANCE_REQUIRED:"\u8BF7\u5148\u5728\u4E0A\u65B9\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5DF2\u6709\u4EFB\u52A1\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\uFF0C\u4E0D\u79FB\u9664\u63D2\u4EF6\u3002",ONBOARDING_SELF_REMOVE_ORIGINAL_PROCESS_UNRESOLVED:"\u539F Host \u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u6536\u5C3E\u3002\u82E5\u9700\u91CD\u542F\uFF0C\u8BF7\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u5355\u72EC\u786E\u8BA4\u98CE\u9669\uFF1B\u672C\u9875\u4E0D\u4F1A\u4EE3\u4F60\u505C\u6B62\u3002",ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672C\u6B21\u786E\u8BA4\u6CA1\u6709\u6D3E\u53D1\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_REMOVE_PROVIDER_CHANGED:"\u81EA\u8EAB\u901A\u9053\u5DF2\u53D8\u5316\uFF0C\u53EF\u80FD\u7531\u5B98\u65B9\u70ED\u91CD\u8F7D\u79FB\u9664\u5F15\u8D77\u3002\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u6838\u5BF9\uFF1B\u4E0D\u8981\u91CD\u590D\u79FB\u9664\u3002",ONBOARDING_SELF_REMOVE_OWNERSHIP_REVIEW:"\u5B98\u65B9\u5F53\u524D\u5B89\u88C5\u5F52\u5C5E\u4E0D\u6EE1\u8DB3\u8981\u6C42\u3002\u8BF7\u5728\u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9\uFF0C\u4E0D\u6539\u5199\u914D\u7F6E\u6216\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_REMOVE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u5931\u6548\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u53D1\u9001\u3002"};function qo({request:e,contract:o=0}){let[l,u]=(0,V.useState)(null),[f,i]=(0,V.useState)(!1),[a,p]=(0,V.useState)(!1),I=(0,V.useRef)(!0),m=(0,V.useRef)();if(!m.current){let C;try{C=globalThis.sessionStorage}catch{}m.current=Ho(e,S=>{I.current&&u(S)},o,C)}(0,V.useEffect)(()=>(I.current=!0,()=>{I.current=!1}),[]);let r=l??m.current.get(),c=_t(r,o),t=r.current,s=r.plan,d=r.receipt,n=s?.action==="record_observation_only",x=s?.action==="remove_own_bundle"?s.id:r.reference?.operationId??d?.id,g=(0,V.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Uo(x,s?.version??d?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[x,s?.version,d?.version]);(0,V.useEffect)(()=>()=>{g&&URL.revokeObjectURL(g)},[g]);let h=C=>(i(!1),p(!1),m.current.act(C,f,a));return o!==1?null:V.default.createElement(j,{title:"\u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664",sub:"\u901A\u8FC7\u5B98\u65B9\u5305\u7BA1\u7406\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305\uFF1B\u4FDD\u7559\u89C4\u5219\u4E0E\u6570\u636E\uFF0C\u4E0D\u64CD\u4F5C\u53E6\u4E00\u7AEF\u3002",icon:"offline",className:"connection-panel self-disable-panel self-remove-panel",extra:V.default.createElement(ke,null,"\u9ED8\u8BA4\u4E0D\u64CD\u4F5C")},V.default.createElement(b,{tone:"warn",title:"\u5148\u4FDD\u7559\u53EF\u91CD\u88C5\u7684\u5305\u6E90\uFF0C\u518D\u51B3\u5B9A\u79FB\u9664"},"\u5B98\u65B9\u70ED\u91CD\u8F7D\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\u672C\u63D2\u4EF6\u7684\u9762\u677F\u4E0E\u56DE\u6267\u901A\u9053\u3002\u665A\u5230\u7684\u539F\u751F\u8F93\u5165\u6216\u5728\u9014 IM \u4ECD\u53EF\u80FD\u4E2D\u6B62\u3002\u754C\u9762\u6D88\u5931\u4E0D\u662F\u6210\u529F\u8BC1\u660E\uFF0C\u4E5F\u4E0D\u8868\u793A Host \u5DF2\u505C\u6B62\u3002"),V.default.createElement(ze,{title:"\u79FB\u9664\u4EE5\u540E\uFF0C\u5982\u4F55\u91CD\u65B0\u5B89\u88C5\uFF1F",pose:"tasks",open:!0},V.default.createElement("ol",{className:"self-disable-guide"},V.default.createElement("li",null,"\u5728\u540C\u4E00 Host\u3001\u540C\u4E00 profile \u7684 DSH \u5B98\u65B9\u63D2\u4EF6\u7BA1\u7406\u6838\u5BF9 ",V.default.createElement("code",null,"@mogragsigma/dsh-dual-host-plugin"),"\uFF0C\u9700\u8981\u65F6\u4ECE\u4FDD\u7559\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90\u53E6\u884C\u91CD\u65B0\u5B89\u88C5\uFF1B\u4E0D\u80FD\u5047\u5B9A\u5E02\u573A\u53EF\u6309\u5305\u540D\u4E0B\u8F7D\u3002"),V.default.createElement("li",null,"\u5B98\u65B9\u8981\u6C42\u91CD\u542F\u65F6\uFF0C\u5148\u4FDD\u5B58\u8349\u7A3F\u3001\u6838\u9A8C\u7A7A\u95F2\u5E76\u660E\u786E\u786E\u8BA4\u98CE\u9669\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),V.default.createElement("li",null,"\u91CD\u65B0\u8FDB\u5165\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u79FB\u9664\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u9000\u51FA\u540E\uFF0C\u672A\u77E5\u8BB0\u5F55\u624D\u53EF\u53E6\u884C\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u6210\u529F\u3002"),V.default.createElement("li",null,"\u7EC4\u4EF6\u9501\u7684\u65E7\u8BB0\u5F55\u6536\u5C3E\u3001\u81EA\u6709\u6267\u884C\u5165\u53E3\u6062\u590D\u5206\u522B\u786E\u8BA4\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),V.default.createElement("div",{className:"connection-actions"},g?V.default.createElement("a",{className:"button secondary",href:g,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u79FB\u9664\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u79FB\u9664\u6062\u590D\u8BF4\u660E"):V.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF1B\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u3002\u4E0D\u8981\u5173\u95ED\u73B0\u6709\u5B98\u65B9\u7BA1\u7406\u5165\u53E3\u3002"))),V.default.createElement(b,{title:"\u6CA1\u6709\u5DF2\u9A8C\u8BC1\u7684\u5305\u6E90\uFF1F\u5148\u4E0D\u8981\u79FB\u9664"},"\u5F53\u524D\u5019\u9009\u4E3A\u672A\u53D1\u5E03\u79C1\u6709\u5305\uFF1B\u8BF7\u4FDD\u7559\u539F\u5B89\u88C5\u5305\u6216\u539F\u5B89\u88C5\u6765\u6E90\u3002\u672C\u9875\u4E0D\u4E0B\u8F7D\u672A\u77E5\u5305\uFF0C\u4E0D\u6E05\u7A7A\u6570\u636E\uFF0C\u4E5F\u4E0D\u91CA\u653E ECS\u3002"),V.default.createElement("section",{"aria-label":"\u672C\u7AEF\u79FB\u9664\u5F53\u524D\u89C2\u5BDF"},V.default.createElement(_,{label:"\u8D26\u672C\u89C2\u5BDF",value:t?t.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u64CD\u4F5C":t.receipt?"\u5F53\u524D\u65E0\u672A\u77E5\u64CD\u4F5C":"\u5F53\u524D\u6CA1\u6709\u79FB\u9664\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),V.default.createElement("p",{className:"fine-print"},r.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(r.observedAt).toLocaleString()+(r.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u79FB\u9664\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),V.default.createElement("div",{className:"connection-actions"},V.default.createElement(v,{kind:"secondary",icon:"reset",disabled:r.busy,onClick:()=>h("refresh")},"\u624B\u52A8\u6838\u5BF9\u79FB\u9664\u8D26\u672C"),c.remove&&V.default.createElement(v,{kind:"soft",onClick:()=>h("remove")},"\u9884\u89C8\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),c.review&&V.default.createElement(v,{kind:"soft",onClick:()=>h("review")},"\u9884\u89C8\u79FB\u9664\u540E\u6838\u5BF9")),r.storageError&&V.default.createElement(b,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u5DF2\u635F\u574F\uFF0C\u6240\u6709\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u539F\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),r.uncertain&&!r.storageError&&V.default.createElement(b,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u79FB\u9664\uFF0C\u4E0D\u636E\u6B64\u8BA4\u5B9A\u6CA1\u6709\u6267\u884C\u3002"),t?.pending&&V.default.createElement(b,{tone:"warn"},"\u5F53\u524D\u539F\u64CD\u4F5C\u7ED3\u679C\u672A\u77E5\u3002\u91CD\u65B0\u5B89\u88C5\u540E\u4ECD\u9700\u6838\u5BF9\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u653E\u5F00\u4EFB\u52A1\u5165\u53E3\u3002"),s&&V.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u79FB\u9664\u8BA1\u5212"},V.default.createElement("h3",null,n?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),V.default.createElement(_,{label:"\u4F5C\u7528\u8303\u56F4",value:n?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u5B98\u65B9\u7BA1\u7406":"\u5F53\u524D Host \xB7 \u4EC5 @mogragsigma/dsh-dual-host-plugin"}),!n&&V.default.createElement(_,{label:"\u5F53\u524D\u7248\u672C",value:s.version}),V.default.createElement("p",null,n?"\u4FDD\u5B58\u5F53\u524D\u91CD\u65B0\u5B89\u88C5\u7684\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u672C\u5305\u5C06\u88AB\u5B98\u65B9\u79FB\u9664\uFF1B\u672A\u4F7F\u7528\u7684 profile \u4F9D\u8D56\u53EF\u80FD\u88AB\u4FEE\u526A\u3002\u4FDD\u7559\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u3001\u6210\u679C\u3001\u5907\u4EFD\u53CA\u5176\u4ED6\u58F0\u660E\u63D2\u4EF6\u3002\u9762\u677F\u53EF\u80FD\u7ACB\u5373\u6D88\u5931\uFF1B\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u53D1\u51FA\u7684\u8BF7\u6C42\u3002"),V.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(s.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!n&&V.default.createElement(J,{checked:a,onChange:p,disabled:!c.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u6062\u590D\u8BF4\u660E\uFF0C\u5E76\u4FDD\u7559\u53EF\u91CD\u65B0\u5B89\u88C5\u7684\u5DF2\u9A8C\u8BC1\u5305\u6E90"}),V.default.createElement(J,{checked:f,onChange:i,disabled:!c.confirm,title:n?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u64CD\u4F5C\u6210\u529F":"\u6211\u7406\u89E3\u9762\u677F\u53EF\u80FD\u6D88\u5931\u53CA\u5728\u9014\u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u4EC5\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305",sub:"\u4E0D\u662F Host \u505C\u673A\u3001\u5B8C\u6574\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u6388\u6743\u3002"}),V.default.createElement("div",{className:"connection-actions"},V.default.createElement(v,{kind:"primary",disabled:!c.confirm||!f||!n&&!a,onClick:()=>h("confirm")},n?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u79FB\u9664\u89C2\u5BDF":"\u786E\u8BA4\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),V.default.createElement(v,{kind:"secondary",disabled:r.busy,onClick:()=>{m.current.cancel(),i(!1),p(!1)}},"\u53D6\u6D88\u672C\u7AEF\u8BA1\u5212"))),d&&V.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u79FB\u9664\u5386\u53F2\u56DE\u6267"},V.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",kl[d.state]),V.default.createElement("p",null,"\u5386\u53F2\u56DE\u6267\u4E0D\u8BC1\u660E\u5F53\u524D\u9762\u677F\u4ECD\u52A0\u8F7D\u3001Host \u5DF2\u505C\u673A\u6216\u4EFB\u52A1\u5DF2\u6062\u590D\u3002"),t?.receipt?.id!==d.id&&V.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u672C\u533A\u4FDD\u7559\u4F60\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),V.default.createElement(_,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(d.updatedAt).toLocaleString()}),V.default.createElement("details",{className:"plan-item"},V.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),V.default.createElement("code",null,d.id))),r.error&&V.default.createElement("p",{className:"connection-error",role:"alert"},bl[r.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",V.default.createElement("code",null,r.error)))}var z=Le(me());var St="dsh-self-stop-reference-v1",ea=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),Al=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),je=e=>Number.isSafeInteger(e)&&e>=0,bt=e=>typeof e=="string"&&/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(e)&&e.length<=128,Go="current_host_public_app_exit_with_loss_risk",Vo=e=>e===null||e&&ea(e.id)&&["intent","not_dispatched","reconciled"].includes(e.state)&&bt(e.version)&&je(e.createdAt)&&je(e.updatedAt)&&e.updatedAt>=e.createdAt&&(e.state!=="reconciled"||e.review?.ownerProcessExited===!0&&e.review?.requestOutcomeProven===!1&&ea(e.review?.observerInstanceId)&&je(e.review?.at)),yl=e=>e?.state==="intent",kt=e=>e&&e.contract===1&&e.queryContract===1&&e.scope===Go&&ea(e.instanceId)&&je(e.revision)&&je(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&typeof e.stopCapabilityAvailable=="boolean"&&Vo(e.receipt)&&e.pending===yl(e.receipt)&&e.hostStopped===!1&&e.currentHostRunning===!0&&e.automaticStop===!1&&e.automaticRestart===!1&&e.ingressFrozen===!1&&e.externalSupervisorControlled===!1&&e.executionAuthorized===!1&&e.dataDeletionAuthorized===!1;function At(e,o,l,u=Date.now()){let f=e.current,i=o===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&kt(f)&&!f.operationInFlight;return{stop:!!(i&&l&&f.stopCapabilityAvailable&&!f.pending),review:!!(i&&f.pending),confirm:!!(i&&e.plan?.canApply===!0&&e.plan.expiresAt>u&&(e.plan.action==="record_exit_observation_only"||l&&f.stopCapabilityAvailable))}}function Wo(e,o){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF Host \u505C\u673A\u6062\u590D\u8BF4\u660E
368
+
369
+ \u4EC5\u9002\u7528\u4E8E\u5F53\u524D\u8FD9\u53F0 Host\u3001\u5F53\u524D profile\uFF1B\u4E0D\u4F1A\u505C\u6B62\u53E6\u4E00\u7AEF\u3002
370
+ \u63D2\u4EF6\u7248\u672C\uFF1A${bt(o)?o:"\u4EE5\u5F53\u524D\u8BA1\u5212\u4E3A\u51C6"}
371
+
372
+ 1. \u505C\u673A\u524D\u4FDD\u5B58\u6240\u6709\u8349\u7A3F\u548C\u672C\u8BF4\u660E\uFF0C\u786E\u8BA4\u77E5\u9053\u6B64 Host \u539F\u6709\u7684\u542F\u52A8\u65B9\u5F0F\u3002\u63D2\u4EF6\u53EA\u8BF7\u6C42\u5B98\u65B9 appExit\uFF0C\u4E0D\u6E05\u7A7A\u914D\u7F6E\u3001\u89C4\u5219\u3001Skill\u3001\u51ED\u636E\u3001\u4EFB\u52A1\u3001\u961F\u5217\u6216\u6210\u679C\uFF0C\u4E0D\u91CA\u653E ECS\u3002
373
+ 2. \u672C\u63D2\u4EF6\u754C\u9762\u548C\u56DE\u6267\u8FDE\u63A5\u53EF\u80FD\u6D88\u5931\uFF1B\u65AD\u5F00\u4E0D\u662F\u505C\u673A\u6210\u529F\u8BC1\u660E\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF1B\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u53EF\u80FD\u91CD\u542F\uFF0C\u539F\u751F\u8F93\u5165\u548C\u7B2C\u4E09\u65B9 IM \u4E0D\u53D7\u81EA\u6709\u6062\u590D\u5C4F\u969C\u63A7\u5236\u3002\u672A\u77E5\u7ED3\u679C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u505C\u673A\u3002
374
+ 3. \u82E5\u9700\u8981\u91CD\u65B0\u542F\u52A8\uFF0C\u7531\u4F60\u53E6\u884C\u786E\u8BA4\u5E76\u4F7F\u7528\u539F\u6709\u5B98\u65B9\u542F\u52A8\u65B9\u5F0F\u3002\u4E0D\u8981\u91CD\u88C5\u3001\u8986\u76D6\u914D\u7F6E\u6216\u5220\u9664\u6570\u636E\u6765\u6D88\u9664\u5F85\u6838\u5BF9\u72B6\u6001\u3002\u672C\u9875\u4E0D\u81EA\u52A8\u542F\u52A8\u3002
375
+ 4. \u8FD4\u56DE\u914D\u7F6E\u5BFC\u89C8 \u2192 \u7EF4\u62A4\u4F1A\u8BDD \u2192 \u505C\u6B62\u672C\u7AEF Host\uFF0C\u624B\u52A8\u6838\u5BF9\u505C\u673A\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\u540E\uFF0C\u53E6\u884C\u786E\u8BA4\u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF\uFF1B\u4E0D\u8FFD\u8BA4\u9000\u51FA\u4E00\u5B9A\u7531\u539F\u8BF7\u6C42\u9020\u6210\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u6062\u590D\u4EFB\u52A1\u3002
376
+ 5. \u5728\u7EC4\u4EF6\u7EF4\u62A4\u533A\u5355\u72EC\u9884\u89C8\u5E76\u6536\u5C3E\u65E7\u7EF4\u62A4\u8BB0\u5F55\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\u81EA\u6709\u53D7\u7406\u5165\u53E3\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002
377
+
378
+ \u8BCA\u65AD\u5F15\u7528\uFF1A${ea(e)?e:"\u5C1A\u672A\u751F\u6210\uFF1B\u6062\u590D\u540E\u624B\u52A8\u67E5\u8BE2\u5F53\u524D\u8D26\u672C"}
379
+ \u672C\u8BF4\u660E\u4E0D\u542B\u8BBF\u95EE token\u3001\u5BC6\u94A5\u3001\u6279\u51C6\u6307\u7EB9\u6216\u53EF\u91CD\u653E\u547D\u4EE4\u3002
380
+ `}function zo(e,o,l,u,f,i=Date.now){let a=null,p=!1;try{if(!f)throw Error();let s=JSON.parse(f.getItem(St)??"null");if(s!==null){if(!s||Object.keys(s).join()!=="operationId"||!ea(s.operationId))throw Error();a=s}}catch{p=!0}let I={current:null,receipt:null,reference:a,storageError:p,plan:null,busy:!1,fresh:!1,uncertain:!!a||p,error:"",observedAt:null},m=s=>{I={...I,...s},o(I)},r=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function c(s,d){kt(s)||r(),d&&(s.requestedOperationId!==d.operationId||!Object.hasOwn(s,"requestedReceipt")||!Vo(s.requestedReceipt)||s.requestedReceipt&&s.requestedReceipt.id!==d.operationId)&&r();let n=d?s.requestedReceipt:s.receipt;return{current:s,receipt:n,fresh:!0,uncertain:I.storageError||!!d&&!n,observedAt:i()}}async function t(s,d=!1,n=!1){if(I.busy||l!==1||!["refresh","stop","review","confirm"].includes(s))return!1;let x=At(I,l,u,i()),g=I.plan;if(s!=="refresh"&&(!x[s]||s==="confirm"&&(d!==!0||g.action==="request_current_host_exit"&&n!==!0)))return!1;m({busy:!0,error:"",plan:null});try{if(s==="refresh")m(c(await e("self_stop_status",I.reference??{}),I.reference));else if(s==="confirm"){let h={operationId:g.action==="request_current_host_exit"?g.id:g.operationId};try{if(f.setItem(St,JSON.stringify(h)),f.getItem(St)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE")}m({reference:h,uncertain:!0,fresh:!1});let C=await e("self_stop_"+(g.action==="request_current_host_exit"?"apply":"reconcileApply"),{id:g.id,fingerprint:g.fingerprint,confirm:!0,acceptRisk:!0});(!kt(C)||C.instanceId!==g.instanceId||C.revision<=g.revision||C.receipt?.id!==h.operationId||g.action==="record_exit_observation_only"&&(C.exitRequests!==0||C.receipt.state!=="reconciled"))&&r(),m(c({...C,requestedOperationId:h.operationId,requestedReceipt:C.receipt},h))}else{let h=I.current,C=await e("self_stop_"+(s==="stop"?"preview":"reconcilePreview"),{});(C.contract!==1||C.instanceId!==h.instanceId||C.revision!==h.revision||!ea(C.id)||!Al(C.fingerprint)||!je(C.expiresAt)||C.expiresAt<=i()||C.canApply!==!0||C.automaticRestart!==!1)&&r(),(s==="stop"?C.action!=="request_current_host_exit"||C.scope!==Go||!bt(C.version)||C.hostStopAuthorized!==!0||C.automaticStop!==!1||C.dataDeletionAuthorized!==!1||!Array.isArray(C.risks)||!["late_native_or_im_input_may_abort","own_ui_and_rpc_may_disappear","external_supervisor_may_restart","native_inputs_not_persistently_fenced","official_shutdown_may_force_exit"].every(S=>C.risks.includes(S))||JSON.stringify(C.retained)!==JSON.stringify(["package","global_rules","skills","credentials","sessions","tasks","artifacts","backups"]):C.action!=="record_exit_observation_only"||C.scope!=="ledger_only"||C.ownerProcessExited!==!0||C.currentHostRunning!==!0||C.requestOutcomeProven!==!1||C.operationId!==h.receipt?.id)&&r(),m({plan:C})}return!0}catch(h){return m({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{m({busy:!1})}}return{get:()=>I,act:t,cancel:()=>{I.busy||m({plan:null})}}}var Nl={intent:"\u5DF2\u8BB0\u505C\u673A\u610F\u56FE \xB7 \u539F\u7ED3\u679C\u672A\u77E5",not_dispatched:"\u8BE5\u6B21\u672A\u5411\u5B98\u65B9\u8BF7\u6C42\u9000\u51FA",reconciled:"\u5DF2\u8865\u8BB0\u539F\u8FDB\u7A0B\u9000\u51FA\u89C2\u5BDF"},wl={ONBOARDING_SELF_STOP_MAINTENANCE_REQUIRED:"\u5148\u5728\u4E0A\u65B9\u53D6\u5F97\u7EC4\u4EF6\u7EF4\u62A4\uFF1B\u5FD9\u788C\u6216\u72B6\u6001\u672A\u77E5\u65F6\u4E0D\u80FD\u505C\u673A\u3002",ONBOARDING_MAINTENANCE_RECORD_HELD_SESSION_REQUIRED:"\u5F53\u524D\u6CA1\u6709\u672C\u5B9E\u4F8B\u6301\u6709\u7684\u7EC4\u4EF6\u7EF4\u62A4\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u7EF4\u62A4\u4F1A\u8BDD\u3002",ONBOARDING_SELF_STOP_ORIGINAL_PROCESS_UNRESOLVED:"\u539F\u8FDB\u7A0B\u4ECD\u5728\u6216\u65E0\u6CD5\u8BC1\u660E\u9000\u51FA\uFF0C\u4E0D\u80FD\u8865\u8BB0\u3002\u4FDD\u7559\u8BB0\u5F55\uFF0C\u4E0D\u91CD\u590D\u505C\u673A\u3002",ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u672A\u6D3E\u53D1\u672C\u6B21\u786E\u8BA4\u3002\u8BF7\u4FDD\u7559\u6D4F\u89C8\u5668\u6570\u636E\u5E76\u68C0\u67E5\u5B58\u50A8\u3002",ONBOARDING_SELF_STOP_OTHER_LIFECYCLE_RECOVERY_REQUIRED:"\u8FD8\u6709\u672A\u6838\u5BF9\u7684\u505C\u7528\u3001\u79FB\u5305\u6216 IM \u7EF4\u62A4\uFF0C\u8BF7\u5148\u5904\u7406\u539F\u8BB0\u5F55\u3002",ONBOARDING_SELF_STOP_EXIT_UNAVAILABLE:"\u5F53\u524D Host \u672A\u63D0\u4F9B\u5B98\u65B9\u9000\u51FA\u670D\u52A1\uFF1B\u8BF7\u4F7F\u7528\u539F\u6709\u4EBA\u5DE5\u505C\u673A\u65B9\u5F0F\uFF0C\u4E0D\u4F1A\u964D\u7EA7\u4E3A\u5F3A\u6740\u3002",ONBOARDING_SELF_STOP_OWNERSHIP_REVIEW:"\u5F53\u524D\u5B98\u65B9\u5B89\u88C5\u5F52\u5C5E\u65E0\u6CD5\u6838\u9A8C\uFF1B\u4FDD\u6301\u53EA\u8BFB\uFF0C\u4E0D\u5F3A\u884C\u63A5\u7BA1\u3002",ONBOARDING_SELF_STOP_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\u6216\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u540E\u91CD\u65B0\u9884\u89C8\u3002"};function Ko({request:e,contract:o=0,allowStop:l=!1}){let[u,f]=(0,z.useState)(null),[i,a]=(0,z.useState)(!1),[p,I]=(0,z.useState)(!1),m=(0,z.useRef)(!0),r=(0,z.useRef)();if(!r.current){let S;try{S=globalThis.sessionStorage}catch{}r.current=zo(e,D=>{m.current&&f(D)},o,l,S)}(0,z.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let c=u??r.current.get(),t=At(c,o,l),s=c.current,d=c.plan,n=c.receipt,x=d?.action==="record_exit_observation_only",g=d?.action==="request_current_host_exit"?d.id:c.reference?.operationId??n?.id,h=(0,z.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Wo(g,d?.version??n?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[g,d?.version,n?.version]);(0,z.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let C=S=>(a(!1),I(!1),r.current.act(S,i,p));return o!==1?null:z.default.createElement(j,{title:"\u505C\u6B62\u672C\u7AEF Host",sub:"\u4EC5\u8BF7\u6C42\u5F53\u524D Host \u5B98\u65B9\u9000\u51FA\uFF1B\u4E0D\u662F\u540C\u65F6\u505C\u6B62\u4E24\u7AEF\uFF0C\u4E5F\u4E0D\u662F\u5378\u8F7D\u6216\u6E05\u7406\u6570\u636E\u3002",icon:"offline",className:"connection-panel self-disable-panel self-stop-panel",extra:z.default.createElement(ke,null,"\u9ED8\u8BA4\u4E0D\u505C\u6B62")},z.default.createElement(b,{tone:"warn",title:"\u5148\u4FDD\u5B58\u8349\u7A3F\uFF0C\u786E\u8BA4\u77E5\u9053\u5982\u4F55\u56DE\u6765"},"\u754C\u9762\u4E0E\u8FDE\u63A5\u53EF\u80FD\u7ACB\u5373\u5173\u95ED\uFF0C\u65AD\u5F00\u4E0D\u662F\u505C\u673A\u6210\u529F\u8BC1\u660E\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF1B\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u53EF\u80FD\u91CD\u542F\uFF0C\u4E0D\u80FD\u628A\u7EC4\u4EF6\u7EF4\u62A4\u5F53\u4F5C\u5168\u5C40\u8F93\u5165\u5C4F\u969C\u3002"),z.default.createElement(ze,{title:"\u505C\u673A\u4EE5\u540E\uFF0C\u5982\u4F55\u6062\u590D\uFF1F",pose:"tasks",open:!0},z.default.createElement("ol",{className:"self-disable-guide"},z.default.createElement("li",null,"\u4FDD\u5B58\u6240\u6709\u8349\u7A3F\u548C\u672C\u8BF4\u660E\uFF0C\u786E\u8BA4\u5F53\u524D Host \u539F\u6709\u7684\u542F\u52A8\u65B9\u5F0F\u3002\u65E0\u9700\u91CD\u65B0\u5B89\u88C5\u63D2\u4EF6\uFF0C\u4E0D\u5220\u9664\u7528\u6237\u914D\u7F6E\u3002"),z.default.createElement("li",null,"\u9700\u8981\u6062\u590D\u65F6\u53E6\u884C\u786E\u8BA4\u5E76\u6309\u539F\u65B9\u5F0F\u91CD\u65B0\u542F\u52A8\u3002\u6B64\u754C\u9762\u4E0D\u81EA\u52A8\u542F\u52A8\uFF0C\u4E5F\u4E0D\u63A7\u5236\u5916\u90E8\u5B88\u62A4\u7A0B\u5E8F\u3002"),z.default.createElement("li",null,"\u91CD\u5F00\u6B64\u5904\uFF0C\u624B\u52A8\u67E5\u8BE2\u505C\u673A\u8D26\u672C\u3002\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\u540E\uFF0C\u53E6\u884C\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u56E0\u679C\u3002"),z.default.createElement("li",null,"\u56DE\u5230\u7EC4\u4EF6\u7EF4\u62A4\u533A\uFF0C\u5206\u522B\u786E\u8BA4\u65E7\u8BB0\u5F55\u6536\u5C3E\u4E0E\u6062\u590D\u81EA\u6709\u53D7\u7406\uFF1B\u4E0D\u91CD\u53D1\u5386\u53F2\u4EFB\u52A1\u3002")),z.default.createElement("div",{className:"connection-actions"},h?z.default.createElement("a",{className:"button secondary",href:h,download:"\u5927\u80A5\u9C7C-\u672C\u7AEF\u505C\u673A\u6062\u590D\u8BF4\u660E.txt"},"\u4FDD\u5B58\u505C\u673A\u6062\u590D\u8BF4\u660E"):z.default.createElement("p",{className:"fine-print"},"\u4E0B\u8F7D\u4E0D\u53EF\u7528\uFF0C\u8BF7\u81EA\u884C\u4FDD\u5B58\u4E0A\u8FF0\u8BF4\u660E\u540E\u518D\u51B3\u5B9A\u3002"))),(!l||s?.stopCapabilityAvailable===!1)&&z.default.createElement(b,{title:"\u5F53\u524D\u53EA\u53EF\u67E5\u8BE2\u4E0E\u6838\u5BF9"},"\u672A\u63D0\u4F9B\u5B98\u65B9\u9000\u51FA\u80FD\u529B\uFF0C\u4E0D\u4F1A\u6539\u7528\u5F3A\u6740\uFF1B\u8BF7\u4F7F\u7528\u539F\u6709\u4EBA\u5DE5\u505C\u673A\u65B9\u5F0F\u3002\u65E7\u8BB0\u5F55\u4ECD\u53EF\u624B\u52A8\u67E5\u8BE2\u3002"),z.default.createElement("section",{"aria-label":"\u672C\u7AEF\u505C\u673A\u5F53\u524D\u89C2\u5BDF"},z.default.createElement(_,{label:"\u8D26\u672C\u89C2\u5BDF",value:s?s.pending?"\u5F53\u524D\u6709\u5F85\u6838\u5BF9\u505C\u673A\u610F\u56FE":s.receipt?"\u5F53\u524D\u65E0\u672A\u51B3\u505C\u673A\u8BB0\u5F55":"\u5F53\u524D\u6CA1\u6709\u505C\u673A\u8BB0\u5F55":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),z.default.createElement("p",{className:"fine-print"},c.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(c.observedAt).toLocaleString()+(c.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6"):"\u6253\u5F00\u9875\u9762\u4E0D\u67E5\u8BE2\u3001\u4E0D\u505C\u6B62\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),z.default.createElement("div",{className:"connection-actions"},z.default.createElement(v,{kind:"secondary",icon:"reset",disabled:c.busy,onClick:()=>C("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u673A\u8D26\u672C"),t.stop&&z.default.createElement(v,{kind:"soft",onClick:()=>C("stop")},"\u9884\u89C8\u505C\u6B62\u672C\u7AEF Host"),t.review&&z.default.createElement(v,{kind:"soft",onClick:()=>C("review")},"\u9884\u89C8\u505C\u673A\u540E\u6838\u5BF9")),c.storageError&&z.default.createElement(b,{tone:"warn"},"\u67E5\u8BE2\u5F15\u7528\u4E0D\u53EF\u8BFB\u6216\u635F\u574F\uFF0C\u53D8\u66F4\u4FDD\u6301\u5173\u95ED\u3002\u4FDD\u7559\u6570\u636E\uFF0C\u4E0D\u81EA\u52A8\u6E05\u7406\u3002"),c.uncertain&&!c.storageError&&z.default.createElement(b,{tone:"warn"},"\u5C1A\u672A\u627E\u5230\u5BF9\u5E94\u8BB0\u5F55\uFF1B\u53EA\u67E5\u8BE2\uFF0C\u4E0D\u91CD\u590D\u505C\u6B62\uFF0C\u4E5F\u4E0D\u636E\u6B64\u63A8\u65AD\u539F\u8BF7\u6C42\u6CA1\u6709\u6267\u884C\u3002"),s?.pending&&z.default.createElement(b,{tone:"warn"},"\u539F\u505C\u673A\u7ED3\u679C\u5C1A\u672A\u6838\u5BF9\u3002\u5373\u4F7F\u5F53\u524D\u9875\u9762\u53EF\u6253\u5F00\uFF0C\u4E5F\u4E0D\u80FD\u65AD\u5B9A\u539F\u8FDB\u7A0B\u672A\u9000\u51FA\uFF1B\u81EA\u6709\u4EFB\u52A1\u53D7\u7406\u4ECD\u9700\u72EC\u7ACB\u786E\u8BA4\u6062\u590D\u3002"),d&&z.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u672C\u7AEF\u505C\u673A\u8BA1\u5212"},z.default.createElement("h3",null,x?"\u5F85\u786E\u8BA4 \xB7 \u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u5F85\u786E\u8BA4 \xB7 \u505C\u6B62\u672C\u7AEF Host"),z.default.createElement(_,{label:"\u4F5C\u7528\u8303\u56F4",value:x?"\u4EC5\u66F4\u65B0\u8D26\u672C\uFF0C\u4E0D\u518D\u6B21\u505C\u6B62":"\u5F53\u524D\u6253\u5F00\u6B64\u754C\u9762\u7684 Host \xB7 \u5B98\u65B9\u9000\u51FA"}),!x&&z.default.createElement(_,{label:"\u63D2\u4EF6\u7248\u672C",value:d.version}),z.default.createElement("p",null,x?"\u53EA\u8865\u8BB0\u539F\u8FDB\u7A0B\u786E\u5DF2\u9000\u51FA\uFF1B\u4E0D\u8FFD\u8BA4\u9000\u51FA\u4E00\u5B9A\u7531\u539F\u8BF7\u6C42\u9020\u6210\uFF0C\u4E0D\u6062\u590D\u4EFB\u52A1\u5165\u53E3\u3002":"\u4FDD\u7559\u63D2\u4EF6\u5305\u3001\u5168\u5C40\u89C4\u5219\u3001Skills\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4EFB\u52A1\u961F\u5217\u3001\u6210\u679C\u4E0E\u5907\u4EFD\u3002\u5B98\u65B9\u6709\u754C\u5173\u95ED\u53EF\u80FD\u5F3A\u5236\u7ED3\u675F\u672A\u5B8C\u6210\u7684\u5DE5\u4F5C\uFF1B\u672C\u9875\u4E0D\u81EA\u52A8\u91CD\u542F\uFF0C\u5173\u95ED\u7A97\u53E3\u4E0D\u80FD\u64A4\u9500\u5DF2\u63D0\u4EA4\u8BF7\u6C42\u3002"),z.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.expiresAt).toLocaleTimeString(),"\uFF0C\u63D0\u4EA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),!x&&z.default.createElement(J,{checked:p,onChange:I,disabled:!t.confirm,title:"\u6211\u5DF2\u4FDD\u5B58\u8349\u7A3F\u548C\u6062\u590D\u8BF4\u660E\uFF0C\u77E5\u9053\u5982\u4F55\u91CD\u65B0\u542F\u52A8\u6B64 Host"}),z.default.createElement(J,{checked:i,onChange:a,disabled:!t.confirm,title:x?"\u6211\u786E\u8BA4\u4EC5\u8865\u8BB0\u539F\u8FDB\u7A0B\u9000\u51FA\u89C2\u5BDF\uFF0C\u4E0D\u8FFD\u8BA4\u539F\u8BF7\u6C42\u56E0\u679C":"\u6211\u63A5\u53D7\u6700\u540E\u5230\u8FBE\u7684\u539F\u751F\u6216 IM \u8F93\u5165\u53EF\u80FD\u4E2D\u6B62\uFF0C\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host",sub:"\u4E0D\u6388\u6743\u5378\u8F7D\u3001\u6E05\u7406\u6570\u636E\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"}),z.default.createElement("div",{className:"connection-actions"},z.default.createElement(v,{kind:"primary",disabled:!t.confirm||!i||!x&&!p,onClick:()=>C("confirm")},x?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host"),z.default.createElement(v,{kind:"secondary",disabled:c.busy,onClick:()=>{r.current.cancel(),a(!1),I(!1)}},"\u53D6\u6D88\u505C\u673A\u8BA1\u5212"))),n&&z.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u672C\u7AEF\u505C\u673A\u5386\u53F2\u56DE\u6267"},z.default.createElement("h3",null,"\u5386\u53F2\u8BB0\u5F55 \xB7 ",Nl[n.state]),z.default.createElement("p",null,"\u6B64\u8BB0\u5F55\u4E0D\u8BC1\u660E\u5F53\u524D Host \u5DF2\u505C\u6B62\uFF0C\u4E0D\u4EE3\u8868\u4EFB\u52A1\u5DF2\u6062\u590D\uFF1B\u539F\u751F\u8F93\u5165\u548C\u7B2C\u4E09\u65B9 IM \u4E0D\u53D7\u81EA\u6709\u53D7\u7406\u5C4F\u969C\u63A7\u5236\u3002"),s?.receipt?.id!==n.id&&z.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u8BB0\u5F55\uFF1B\u8FD9\u91CC\u4FDD\u7559\u4E0A\u6B21\u8BF7\u6C42\u7684\u5386\u53F2\u3002"),z.default.createElement(_,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(n.updatedAt).toLocaleString()}),z.default.createElement("details",{className:"plan-item"},z.default.createElement("summary",null,"\u8BCA\u65AD\u5F15\u7528"),z.default.createElement("code",null,n.id))),c.error&&z.default.createElement("p",{className:"connection-error",role:"alert"},wl[c.error]??"\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF0C\u8BF7\u6309\u6062\u590D\u8BF4\u660E\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u3002"," ",z.default.createElement("code",null,c.error)))}function Ro({request:e,disableContract:o=0,removeContract:l=0,stopContract:u=0,allowStop:f=!1}){let[i,a]=(0,Ne.useState)(o===1?"disable":l===1?"remove":"stop");return o!==1&&l!==1&&u!==1?null:Ne.default.createElement("section",{className:"connection-panel self-lifecycle-panel","aria-label":"\u672C\u7AEF\u7EF4\u62A4"},Ne.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u7C7B\u578B"},o===1&&Ne.default.createElement(v,{kind:i==="disable"?"soft":"secondary","aria-pressed":i==="disable",onClick:()=>a("disable")},"\u505C\u7528\u63D2\u4EF6"),l===1&&Ne.default.createElement(v,{kind:i==="remove"?"soft":"secondary","aria-pressed":i==="remove",onClick:()=>a("remove")},"\u79FB\u9664\u63D2\u4EF6\u5305"),u===1&&Ne.default.createElement(v,{kind:i==="stop"?"soft":"secondary","aria-pressed":i==="stop",onClick:()=>a("stop")},"\u505C\u6B62\u672C\u7AEF Host")),Ne.default.createElement("p",{className:"fine-print"},"\u505C\u7528\u4FDD\u7559\u5B89\u88C5\u5305\uFF1B\u79FB\u9664\u9700\u53E6\u6709\u53EF\u91CD\u88C5\u5305\u6E90\u3002\u505C\u673A\u662F\u72EC\u7ACB\u52A8\u4F5C\uFF0C\u4E09\u8005\u90FD\u4E0D\u6E05\u7A7A\u6570\u636E\u3002\u5207\u6362\u6216\u5173\u95ED\u4E0D\u4F1A\u64A4\u9500\u5DF2\u63D0\u4EA4\u64CD\u4F5C\u3002"),i==="disable"?Ne.default.createElement(To,{request:e,contract:o}):i==="remove"?Ne.default.createElement(qo,{request:e,contract:l}):Ne.default.createElement(Ko,{request:e,contract:u,allowStop:f}))}var $=Le(me());var Xo="dsh-maintenance-session-reference-v1",Ke=e=>typeof e=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(e),$o=e=>e&&!["released","not_held","retired"].includes(e.state),yt={acquire:["preview","apply"],release:["releasePreview","releaseApply"],record_observation:["recoveryPreview","recover"],retire_previous_instance:["retirementPreview","retirementApply"],resume_admission:["resumePreview","resumeApply"]},Qo=e=>e&&e.hostStopAuthorized===!1&&e.pluginSwitchAuthorized===!1,Nt=e=>Qo(e)&&e.contract===2&&e.persisted===!0&&e.scope==="coordinated_components_only"&&Ke(e.instanceId)&&Number.isSafeInteger(e.revision)&&e.revision>=0&&["open","held","needs_review","interrupted"].includes(e.state)&&typeof e.operationInFlight=="boolean"&&(!e.receipt||Ke(e.receipt.id));function wt(e,o,l=Date.now()){let u=e.current,f=o===2&&!e.busy&&e.fresh&&!e.uncertain&&Nt(u)&&!u.operationInFlight,i=f&&$o(u.receipt)&&u.receipt.instanceId===u.instanceId;return{acquire:f&&u.state==="open"&&!u.admission?.blocked,resume_admission:f&&u.admission?.contract===1&&u.admission.blocked&&!$o(u.receipt),release:i&&u.live?.operationId===u.receipt.id,record_observation:i&&u.state==="needs_review",retire_previous_instance:f&&u.state==="interrupted",confirm:f&&!!e.plan&&e.plan.canApply===!0&&l<e.plan.expiresAt}}function Yo(e,o,l,u,f=Date.now){let i=null;try{let c=JSON.parse(u?.getItem(Xo)??"null");Ke(c?.operationId)?i={operationId:c.operationId,...Ke(c?.decisionId)?{decisionId:c.decisionId}:{}}:Ke(c?.decisionId)&&(i={operationId:null,decisionId:c.decisionId})}catch{}let a={current:null,receipt:null,plan:null,reference:i,busy:!1,error:"",fresh:!1,uncertain:!!i,observedAt:null},p=c=>{a={...a,...c},o(a)},I=()=>{throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID")};function m(c,t){return Nt(c)||I(),t?.operationId&&(c.requestedOperationId!==t.operationId||c.requestedReceipt&&c.requestedReceipt.id!==t.operationId)&&I(),{current:c,receipt:t?.operationId?c.requestedReceipt:c.receipt,fresh:!0,uncertain:!!t&&(t.decisionId?c.admission?.durable?.decision?.id!==t.decisionId:!c.requestedReceipt),observedAt:f()}}async function r(c,t=!1){if(a.busy||l!==2)return!1;let s=wt(a,l,f());if(c==="confirm"&&(!s.confirm||t!==!0)||c!=="refresh"&&c!=="confirm"&&!s[c]||!["refresh","confirm",...Object.keys(yt)].includes(c))return!1;let d=a.plan;p({busy:!0,error:"",plan:null});try{if(c==="refresh")p(m(await e("maintenance_record_status",a.reference?.operationId?{operationId:a.reference.operationId}:{}),a.reference));else if(c==="confirm"){let n={operationId:d.action==="acquire"?d.id:d.operationId,...d.action==="resume_admission"?{decisionId:d.id}:{}};if(!u)throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE");try{u.setItem(Xo,JSON.stringify(n))}catch{throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE")}p({reference:n,uncertain:!0,fresh:!1});let x=await e("maintenance_record_"+yt[d.action][1],{id:d.id,fingerprint:d.fingerprint,confirm:!0});(!Nt(x)||(x.receipt?.id??null)!==n.operationId||n.decisionId&&x.admission?.durable?.decision?.id!==n.decisionId)&&I(),p({...m(x,null),receipt:x.receipt,uncertain:!1})}else{let n=await e("maintenance_record_"+yt[c][0],{}),x=c==="resume_admission"?"own_execution_startup_only":["record_observation","retire_previous_instance"].includes(c)?"ledger_only":"coordinated_components_only";(!Qo(n)||n.action!==c||n.scope!==x||!Ke(n.id)||!Ke(n.instanceId)||n.instanceId!==a.current.instanceId||!Number.isFinite(n.expiresAt)||!Number.isSafeInteger(n.revision)||n.revision!==a.current.revision||typeof n.canApply!="boolean"||!/^[a-f0-9]{64}$/.test(n.fingerprint??"")||c!=="acquire"&&(n.operationId!==null&&!Ke(n.operationId)||n.operationId!==(a.current.receipt?.id??null)))&&I(),x==="ledger_only"&&(n.componentActions!==0||c==="retire_previous_instance"&&n.signals!==0)&&I(),p({plan:n})}return!0}catch(n){return p({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(n?.message)?n.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{p({busy:!1})}}return{get:()=>a,act:r,cancel:()=>{a.busy||p({plan:null})}}}var Ot={open:"\u5F53\u524D\u6CA1\u6709\u672A\u7ED3\u675F\u7EF4\u62A4",held:"\u672C\u5B9E\u4F8B\u6301\u6709\u7EC4\u4EF6\u7EF4\u62A4\u9501",needs_review:"\u672C\u5B9E\u4F8B\u8BB0\u5F55\u5F85\u6838\u5BF9",interrupted:"\u65E7\u5B9E\u4F8B\u8BB0\u5F55\u672A\u6536\u5C3E",acquire_intent:"\u5DF2\u8BB0\u83B7\u53D6\u610F\u56FE \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",release_intent:"\u5DF2\u8BB0\u91CA\u653E\u610F\u56FE \xB7 \u7ED3\u679C\u5F85\u6838\u5BF9",released:"\u539F\u7EC4\u4EF6\u9501\u5DF2\u91CA\u653E",not_held:"\u539F\u8BB0\u5F55\u5DF2\u6838\u5BF9 \xB7 \u672A\u6301\u9501",retired:"\u65E7\u5B9E\u4F8B\u8BB0\u5F55\u5DF2\u6536\u5C3E"},Ol={...Ot,held:"\u8BE5\u8BB0\u5F55\u5F53\u65F6\u5DF2\u53D6\u5F97\u7EC4\u4EF6\u9501",needs_review:"\u8BE5\u8BB0\u5F55\u5F85\u6838\u5BF9",released:"\u8BE5\u8BB0\u5F55\u7EC4\u4EF6\u9501\u5DF2\u91CA\u653E",not_held:"\u8BE5\u8BB0\u5F55\u5DF2\u6838\u5BF9 \xB7 \u5F53\u65F6\u672A\u6301\u9501"},Ya={acquire:"\u7533\u8BF7\u7EC4\u4EF6\u7EF4\u62A4",release:"\u91CA\u653E\u672C\u5B9E\u4F8B\u7EC4\u4EF6\u9501",record_observation:"\u6838\u5BF9\u672C\u5B9E\u4F8B\u8BB0\u5F55",retire_previous_instance:"\u6536\u5C3E\u65E7\u5B9E\u4F8B\u8BB0\u5F55",resume_admission:"\u6062\u590D\u81EA\u6709\u6267\u884C\u5165\u53E3"},Dl={absent:"\u539F\u8FDB\u7A0B\u5DF2\u4E0D\u5B58\u5728",pid_reused:"PID \u5DF2\u5C5E\u4E8E\u4E0D\u540C\u51FA\u751F\u8EAB\u4EFD",boot_changed:"\u540C\u4E00\u4E3B\u673A\u5DF2\u91CD\u65B0\u542F\u52A8",terminal:"\u539F\u8FDB\u7A0B\u5DF2\u7EC8\u6B62",same_process:"\u539F\u8FDB\u7A0B\u4ECD\u5B58\u6D3B",identity_missing:"\u65E7\u8BB0\u5F55\u7F3A\u5C11\u8EAB\u4EFD\u51ED\u636E",host_changed:"\u4E3B\u673A\u8EAB\u4EFD\u4E0D\u540C",namespace_changed:"\u8FDB\u7A0B\u547D\u540D\u7A7A\u95F4\u4E0D\u540C",observer_unavailable:"\u5F53\u524D\u5B9E\u4F8B\u8EAB\u4EFD\u65E0\u6CD5\u6838\u9A8C",process_unavailable:"\u539F\u8FDB\u7A0B\u72B6\u6001\u65E0\u6CD5\u8BFB\u53D6",observation_changed:"\u89C2\u5BDF\u671F\u95F4\u8EAB\u4EFD\u53D8\u5316",identity_format_changed:"\u65E7\u65F6\u95F4\u683C\u5F0F\u65E0\u6CD5\u4E0E\u5F53\u524D\u683C\u5F0F\u6BD4\u8F83",current_instance:"\u5F53\u524D\u5B9E\u4F8B\u4E0D\u80FD\u4F5C\u4E3A\u65E7\u5B9E\u4F8B\u6536\u5C3E",previous_instance_unverified:"\u5C1A\u4E0D\u80FD\u6838\u9A8C\u65E7\u5B9E\u4F8B"},Pl={open:"\u672A\u6301\u9501",held:"\u672C\u5B9E\u4F8B\u5DF2\u6301\u9501",busy:"\u6D3B\u52A8\u4E2D",not_configured:"\u672A\u914D\u7F6E \xB7 \u4E0D\u9002\u7528",unsupported:"\u4E0D\u652F\u6301\u6838\u9A8C",needs_review:"\u5F85\u6838\u5BF9"},Bl={ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE:"\u65E0\u6CD5\u4FDD\u5B58\u67E5\u8BE2\u5F15\u7528\uFF0C\u8BF7\u6C42\u672A\u53D1\u9001\u3002\u8BF7\u68C0\u67E5\u6D4F\u89C8\u5668\u5B58\u50A8\u8BBE\u7F6E\u3002",ONBOARDING_MAINTENANCE_RECORD_PLAN_EXPIRED:"\u8BA1\u5212\u8FC7\u671F\u6216\u5DF2\u5931\u6548\uFF1B\u5148\u624B\u52A8\u6838\u5BF9\uFF0C\u518D\u9884\u89C8\u65B0\u8BA1\u5212\u3002",ONBOARDING_MAINTENANCE_RECORD_OBSERVATION_CHANGED:"\u8BB0\u5F55\u6216\u9000\u51FA\u8BC1\u636E\u53D1\u751F\u53D8\u5316\uFF0C\u672A\u7EE7\u7EED\u64CD\u4F5C\u3002\u8BF7\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_MAINTENANCE_RECORD_LEDGER_REVIEW:"\u539F\u8D26\u672C\u65E0\u6CD5\u5B89\u5168\u89E3\u6790\uFF0C\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u8986\u76D6\u6216\u5220\u9664\u3002"};function Jo({request:e,contract:o=0}){let[l,u]=(0,$.useState)(null),[f,i]=(0,$.useState)(!1),a=(0,$.useRef)(!0),p=(0,$.useRef)();if(!p.current){let d;try{d=globalThis.sessionStorage}catch{}p.current=Yo(e,n=>{a.current&&u(n)},o,d)}(0,$.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let I=l??p.current.get(),m=wt(I,o),r=I.plan,c=I.current,t=I.receipt,s=d=>(i(!1),p.current.act(d,f));return $.default.createElement(j,{title:"\u7EF4\u62A4\u4F1A\u8BDD\u4E0E\u8BB0\u5F55",sub:"\u4EC5\u7BA1\u7406\u5F53\u524D Host \u7684\u81EA\u6709\u7EC4\u4EF6\uFF1B\u89C4\u5219\u6587\u4EF6\u7EF4\u62A4\u4ECD\u5728\u7B2C 5 \u9875\u3002",icon:"lock",className:"connection-panel maintenance-session",extra:$.default.createElement(ke,null,"\u624B\u52A8\u6838\u5BF9")},$.default.createElement(b,null,"\u7EC4\u4EF6\u9501\u4E0D\u662F\u6574\u673A\u6682\u505C\u3002\u7B2C\u4E09\u65B9 IM \u5C1A\u672A\u5B8C\u6210\u6392\u7A7A\uFF1B\u8FD9\u91CC\u4E0D\u6388\u6743\u505C\u673A\u3001\u63D2\u4EF6\u5347\u7EA7\u3001\u5378\u8F7D\u3001\u5F00\u53D1\u6216\u53D1\u5E03\u3002"),$.default.createElement("div",{className:"maintenance-status",role:"status"},$.default.createElement(_,{label:"\u5F53\u524D\u89C2\u5BDF",value:c?Ot[c.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),$.default.createElement("p",{className:"fine-print"},I.observedAt?"\u89C2\u5BDF\u65F6\u95F4\uFF1A"+new Date(I.observedAt).toLocaleString()+(I.fresh?"":" \xB7 \u5DF2\u8FC7\u65F6\uFF0C\u9700\u91CD\u65B0\u6838\u5BF9"):"\u6253\u5F00\u9875\u9762\u4E0D\u8BFB\u8D26\u672C\u3001\u4E0D\u6267\u884C\u7EF4\u62A4\u3001\u4E0D\u5B9A\u65F6\u5237\u65B0\u3002")),c?.admission?.contract===1&&$.default.createElement(_,{label:"\u81EA\u6709\u6267\u884C\u5165\u53E3",value:{checking:"\u542F\u52A8\u6838\u5BF9\u4E2D \xB7 \u6682\u4E0D\u653E\u884C",open:"\u51C6\u5165\u5F00\u653E \xB7 \u4EFB\u52A1\u4ECD\u53D7\u5404\u81EA\u5BA1\u6279\u7EA6\u675F",fenced:"\u51C6\u5165\u5173\u95ED \xB7 \u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4",unavailable:"\u8D26\u672C\u65E0\u6CD5\u6838\u9A8C \xB7 \u4FDD\u6301\u5173\u95ED"}[c.admission.local]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u5DF2\u6062\u590D"}),c?.admission?.blocked&&$.default.createElement(b,{tone:"warn"},"\u81EA\u6709\u4EFB\u52A1\u7F51\u5173\u3001\u6A21\u578B\u63A5\u5165\u4E0E\u540E\u53F0\u542F\u52A8\u4FDD\u6301\u5173\u95ED\u3002\u6536\u5C3E\u65E7\u8BB0\u5F55\u53EA\u66F4\u65B0\u5386\u53F2\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6062\u590D\uFF1B\u8FD9\u91CC\u4E0D\u6682\u505C\u7B2C\u4E09\u65B9 IM \u6216\u5168\u90E8\u539F\u751F\u4F1A\u8BDD\u3002"),c?.executionMayHaveResumed&&$.default.createElement(b,{tone:"warn"},"Host \u5DF2\u6362\u5B9E\u4F8B\uFF0C\u539F\u751F\u6216\u7B2C\u4E09\u65B9\u4EFB\u52A1\u4ECD\u53EF\u80FD\u5DF2\u6062\u590D\u3002\u65E7\u8BB0\u5F55\u4E0D\u4EE3\u8868\u65E7\u9501\u4ECD\u7136\u751F\u6548\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u6279\u51C6\u3002"),c&&$.default.createElement("div",{className:"maintenance-components"},[["onboarding","\u81EA\u6709\u5BFC\u89C8\u4E0E\u540E\u53F0"],["gateway","\u4EFB\u52A1\u4E0E\u6587\u4EF6\u7F51\u5173"],["agents","\u539F\u751F\u667A\u80FD\u4F53"]].map(([d,n])=>$.default.createElement(_,{key:d,label:n,value:Pl[c.live?.components?.[d]?.state]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u7A7A\u95F2"})),$.default.createElement(_,{label:"\u7B2C\u4E09\u65B9 IM",value:"\u672A\u5B8C\u6210\u6392\u7A7A\u9A8C\u8BC1"})),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(v,{kind:"secondary",icon:"reset",disabled:I.busy||o!==2,onClick:()=>s("refresh")},"\u624B\u52A8\u6838\u5BF9\u4F1A\u8BDD\u4E0E\u56DE\u6267"),Object.entries(Ya).filter(([d])=>m[d]).map(([d,n])=>$.default.createElement(v,{key:d,kind:"soft",onClick:()=>s(d)},"\u9884\u89C8",n))),I.uncertain&&$.default.createElement(b,{tone:"warn"},"\u4E0A\u6B21\u8BF7\u6C42\u5C1A\u672A\u627E\u5230\u53EF\u6838\u9A8C\u8BB0\u5F55\u3002\u4FDD\u7559\u67E5\u8BE2\u5F15\u7528\uFF0C\u4E0D\u81EA\u52A8\u91CD\u53D1\uFF1B\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u5B9A\u8BF7\u6C42\u6CA1\u6709\u6267\u884C\u3002"),r&&$.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u4F1A\u8BDD\u8BA1\u5212"},$.default.createElement("h3",null,"\u5F85\u786E\u8BA4 \xB7 ",Ya[r.action]),$.default.createElement(_,{label:"\u4F5C\u7528\u8303\u56F4",value:r.scope==="ledger_only"?"\u53EA\u66F4\u65B0\u539F\u8D26\u672C\uFF0C\u4E0D\u64CD\u4F5C\u7EC4\u4EF6":r.scope==="own_execution_startup_only"?"\u4EC5\u6062\u590D\u81EA\u6709\u540E\u53F0\u548C\u6267\u884C\u5165\u53E3":"\u5F53\u524D Host \u7684\u81EA\u6709\u5BFC\u89C8\u3001\u7F51\u5173\u4E0E\u539F\u751F\u667A\u80FD\u4F53"}),r.reason&&$.default.createElement(_,{label:"\u6838\u9A8C\u4F9D\u636E",value:Dl[r.reason]??"\u6838\u9A8C\u672A\u6EE1\u8DB3\u8981\u6C42"}),r.action==="record_observation"&&$.default.createElement(_,{label:"\u62DF\u8BB0\u5165\u72B6\u6001",value:Ot[r.observedState]??"\u65E0\u6CD5\u6838\u9A8C"}),$.default.createElement("p",null,r.action==="resume_admission"?"\u6838\u5BF9\u5E76\u6301\u4E45\u8BB0\u5F55\u6062\u590D\u51B3\u5B9A\uFF0C\u518D\u653E\u884C\u5F53\u524D\u6709\u6548\u7684\u81EA\u6709\u542F\u52A8\u9879\uFF1B\u4E0D\u81EA\u52A8\u91CD\u53D1\u6D88\u606F\u3001\u91CD\u8BD5\u5931\u8D25\u8BF7\u6C42\u6216\u653E\u5BBD\u4EFB\u52A1\u5BA1\u6279\u3002":r.action==="acquire"?"\u5148\u8BB0\u610F\u56FE\uFF0C\u518D\u5C1D\u8BD5\u83B7\u53D6\u7EC4\u4EF6\u9501\uFF1B\u4E0D\u53D6\u6D88\u73B0\u6709\u5DE5\u4F5C\u3002":r.action==="release"?"\u53EA\u91CA\u653E\u672C\u6B21\u5DF2\u6709\u7EC4\u4EF6\u9501\uFF1B\u666E\u901A\u4EFB\u52A1\u53EF\u80FD\u7EE7\u7EED\u6267\u884C\u3002":r.action==="record_observation"?"\u53EA\u8865\u8BB0\u5F53\u524D\u89C2\u5BDF\uFF0C\u4E0D\u83B7\u53D6\u3001\u91CA\u653E\u6216\u91CD\u5EFA\u9501\u3002":"\u4FDD\u7559\u5386\u53F2\uFF0C\u5C06\u539F\u8BB0\u5F55\u6807\u4E3A\u5DF2\u6536\u5C3E\uFF1B\u4E0D\u53D1\u8FDB\u7A0B\u4FE1\u53F7\uFF0C\u65B0\u7EF4\u62A4\u9700\u53E6\u884C\u786E\u8BA4\u3002"),r.action==="acquire"&&!r.ownerProofAvailable&&$.default.createElement(b,{tone:"warn"},"\u5F53\u524D\u65E0\u6CD5\u8BB0\u5F55\u8FDB\u7A0B\u51FA\u751F\u8EAB\u4EFD\uFF1B\u82E5\u91CD\u542F\u540E\u7559\u4E0B\u672A\u5B8C\u6210\u8BB0\u5F55\uFF0C\u4E0D\u80FD\u81EA\u52A8\u8BC1\u660E\u65E7\u5B9E\u4F8B\u5DF2\u9000\u51FA\u3002"),r.reasons?.length>0&&$.default.createElement(b,{tone:"warn"},"\u5B58\u5728\u6D3B\u52A8\u6216\u65E0\u6CD5\u6838\u9A8C\u7684\u7EC4\u4EF6\uFF0C\u672C\u8BA1\u5212\u4E0D\u80FD\u5E94\u7528\u3002\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u4E2D\u65AD\u73B0\u6709\u4EFB\u52A1\u3002"),!r.canApply&&$.default.createElement(b,{tone:"warn"},"\u8BC1\u636E\u672A\u6EE1\u8DB3\uFF0C\u672C\u8BA1\u5212\u4E0D\u53EF\u786E\u8BA4\uFF1B\u4E0D\u4EE5\u672A\u77E5\u72B6\u6001\u4EE3\u66FF\u7A7A\u95F2\u6216\u9000\u51FA\u3002"),$.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(r.expiresAt).toLocaleTimeString(),"\uFF0C\u786E\u8BA4\u65F6\u518D\u6B21\u6838\u9A8C\u3002"),$.default.createElement(J,{checked:f,disabled:!m.confirm,onChange:i,title:"\u6211\u786E\u8BA4\u4EC5"+Ya[r.action],sub:"\u4E0D\u662F\u6574\u673A\u505C\u673A\u3001\u5347\u7EA7\u3001\u5378\u8F7D\u6216\u4EFB\u52A1\u6267\u884C\u6388\u6743\u3002"}),$.default.createElement("div",{className:"connection-actions"},$.default.createElement(v,{kind:"primary",disabled:!m.confirm||!f,onClick:()=>s("confirm")},"\u786E\u8BA4",Ya[r.action]),$.default.createElement(v,{kind:"secondary",disabled:I.busy,onClick:()=>{p.current.cancel(),i(!1)}},"\u53D6\u6D88\u4F1A\u8BDD\u8BA1\u5212"))),t&&$.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u7EF4\u62A4\u4F1A\u8BDD\u5386\u53F2\u56DE\u6267"},$.default.createElement("h3",null,"\u67E5\u8BE2\u5230\u7684\u8BB0\u5F55 \xB7 ",Ol[t.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),$.default.createElement("p",null,"\u8FD9\u662F\u8D26\u672C\u4E8B\u5B9E\uFF0C\u4E0D\u4EE3\u8868\u6574\u673A\u5DF2\u6392\u7A7A\uFF0C\u4E5F\u4E0D\u4EE3\u8868\u5386\u53F2\u8BF7\u6C42\u5747\u5DF2\u6210\u529F\u3002"),c?.receipt?.id!==t.id&&$.default.createElement("p",null,"\u5F53\u524D\u53E6\u6709\u66F4\u65B0\u7684\u7EF4\u62A4\u8BB0\u5F55\uFF0C\u8BF7\u4EE5\u4E0A\u65B9\u201C\u5F53\u524D\u89C2\u5BDF\u201D\u4E3A\u51C6\u3002"),$.default.createElement(_,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(t.updatedAt).toLocaleString()}),$.default.createElement("details",{className:"plan-item"},$.default.createElement("summary",null,"\u8BCA\u65AD\u4FE1\u606F"),$.default.createElement("code",null,t.id),$.default.createElement(_,{label:"\u5386\u53F2\u8BB0\u5F55\u6570",value:c?.historyCount??"\u672A\u77E5"}))),I.error&&$.default.createElement("p",{className:"connection-error",role:"alert"},Bl[I.error]??"\u672C\u6B21\u7ED3\u679C\u65E0\u6CD5\u786E\u8BA4\uFF1B\u5148\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002"," ",$.default.createElement("code",null,I.error)))}var k=Le(me());var re=Le(me());function Dt(e,o=Date.now()){let l=e.loaded&&!e.busy,u=!e.record||["not_started","rolled_back"].includes(e.record.state),f=e.record?.receipt,i=l&&e.fresh&&o-e.observedAt<6e4;return{load:!e.busy,refresh:l,preview:l&&u&&!e.uncertain,start:l&&u&&!e.uncertain&&e.plan?.canStart===!0&&e.plan.expiresAt>o,stop:i&&f?.workerActive===!0,rollback:i&&!u&&f?.workerActive===!1&&["ready","failed","stopped","needs_review","rolling_back"].includes(f.state)}}function Zo(e,o,l=()=>{},u=Date.now){let f={loaded:!1,busy:!1,fresh:!1,uncertain:!1,record:null,plan:null,error:null,observedAt:null},i=!0,a=I=>{f={...f,...I},i&&o(f)};async function p(I,m=!1){if(!i||f.busy)return!1;if(!Dt(f,u())[I])return a({error:"REFRESH_REQUIRED"}),!1;let r=["start","stop","rollback"].includes(I);if(r&&m!==!0)return a({error:"CONFIRMATION_REQUIRED"}),!1;let c=f.plan,t=f.record;a({busy:!0,error:null,fresh:!1,plan:null});try{if(r&&(a({uncertain:!0}),l()),I==="load"||I==="refresh"){let s=await e("node_status",{refresh:I==="refresh"});a({record:s,uncertain:["outcome_unknown","rollback_requested"].includes(s.state),loaded:!0,fresh:I==="refresh",observedAt:I==="refresh"?u():null})}else if(I==="preview"){let s=await e("ssh_status",{});if(!s.configured)throw Error("ONBOARDING_SSH_NOT_BOUND");a({plan:await e("node_preview",{expectedRevision:s.revision})})}else a(I==="start"?{record:await e("node_start",{id:c.id,fingerprint:c.fingerprint,confirm:!0})}:{record:await e("node_action",{action:I,operationId:t.operationId,expectedRevision:t.revision,confirm:!0})});return!0}catch(s){return a({error:/^ONBOARDING_[A-Z_]+$/.test(s.message)?s.message:"UNCONFIRMED"}),!1}finally{a({busy:!1})}}return{act:p,get:()=>f,resume:()=>{i=!0},dispose:()=>{i=!1}}}var jo={not_started:"\u5C1A\u672A\u5B89\u88C5\u4E13\u7528 Node",rolled_back:"\u4E13\u7528 Node \u5DF2\u79FB\u9664",start_requested:"\u8BF7\u6C42\u5DF2\u767B\u8BB0",observed:"\u5DF2\u6709\u6301\u4E45\u56DE\u6267",outcome_unknown:"\u7ED3\u679C\u5F85\u6838\u5BF9",rollback_requested:"\u56DE\u6EDA\u5F85\u6838\u5BF9",launching:"\u542F\u52A8\u72EC\u7ACB\u5B89\u88C5\u8FDB\u7A0B",downloading:"\u4E0B\u8F7D\u5B98\u65B9\u56FA\u5B9A\u7248\u672C",extracting:"\u6821\u9A8C\u5E76\u5C55\u5F00\u5B98\u65B9\u6587\u4EF6",checking:"\u6838\u5BF9\u5B8C\u6574\u6027\u4E0E\u7248\u672C",ready:"\u4E13\u7528 Node \u5C31\u7EEA",failed:"\u5B89\u88C5\u5931\u8D25\uFF0C\u4FDD\u7559\u73B0\u573A",stopped:"\u5B89\u88C5\u8FDB\u7A0B\u5DF2\u505C\u6B62",needs_review:"\u9700\u6838\u5BF9\uFF0C\u672A\u81EA\u52A8\u91CD\u8BD5",rolling_back:"\u6B63\u5728\u56DE\u6EDA\uFF0F\u7B49\u5F85\u6838\u5BF9"},El={ONBOARDING_NODE_KERNEL_UNSUPPORTED:"\u56FA\u5B9A\u53D1\u884C\u5305\u9700\u8981 Linux \u5185\u6838 4.18+\uFF1B\u4E0D\u4F1A\u64C5\u81EA\u66F4\u65B0\u5185\u6838\u3002",ONBOARDING_NODE_PYTHON_MISSING:"\u672A\u68C0\u6D4B\u5230 Python 3\u3002\u6B64\u51C6\u5907\u5668\u9700\u8981 Linux \u4E0A\u7684 Python 3.8+ \u6807\u51C6\u5E93\uFF1B\u4E0D\u4F1A\u64C5\u81EA\u5B89\u88C5\u7CFB\u7EDF\u8F6F\u4EF6\u3002",ONBOARDING_NODE_LIBC_UNSUPPORTED:"\u6B64\u53D1\u884C\u5305\u8981\u6C42 glibc 2.28+\uFF1B\u4E0D\u4F1A\u5C06\u4E0D\u517C\u5BB9\u7684\u4E8C\u8FDB\u5236\u5B89\u88C5\u5230\u76EE\u6807\u673A\u3002",ONBOARDING_NODE_ARCH_UNSUPPORTED:"\u76EE\u524D\u56FA\u5B9A\u53D1\u884C\u5305\u652F\u6301 Linux x64 / arm64\u3002",ONBOARDING_NODE_HOST_REMOVAL_REQUIRED:"\u8BF7\u5148\u505C\u6B62\u5E76\u6E05\u7406\u5F15\u7528\u6B64 Node \u7684\u72EC\u7ACB Host \u53CA\u5B89\u88C5\u6587\u4EF6\uFF0C\u518D\u79FB\u9664 Node\u3002",ONBOARDING_NODE_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF0C\u4E0D\u4F1A\u6CBF\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u5728\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58\u8FDE\u63A5\u3002"};function er({request:e,onMutation:o}){let[l,u]=(0,re.useState)({}),[f]=(0,re.useState)(()=>Zo(e,u,o)),[i,a]=(0,re.useState)(null),[p,I]=(0,re.useState)(!1);(0,re.useEffect)(()=>(f.resume(),f.act("load"),()=>f.dispose()),[f]);let m=Dt(l),r=l.plan,c=l.record?.receipt,t=l.error??l.record?.error??c?.error,s=n=>{a(null),I(!1),f.act(n)},d=(n,x,g)=>m[n]&&re.default.createElement("div",{className:"cloud-action"},re.default.createElement(v,{"data-node-action":n,disabled:l.busy,kind:n==="start"?"primary":"soft",onClick:()=>{a(n),I(!1)}},x),i===n&&re.default.createElement("div",{className:"cloud-confirm","aria-label":x+"\u786E\u8BA4"},re.default.createElement("p",null,g),re.default.createElement(J,{checked:p,onChange:I,disabled:l.busy,title:"\u6211\u5DF2\u6838\u5BF9\u4E13\u7528 Node \u7684\u64CD\u4F5C\u8303\u56F4",sub:"\u4E0D\u66FF\u6362\u7CFB\u7EDF Node\uFF0C\u4E0D\u4FEE\u6539 shell\u3001\u5168\u5C40 npm \u6216\u65E5\u5E38\u670D\u52A1\u3002"}),re.default.createElement("div",{className:"form-actions"},re.default.createElement(v,{kind:"primary",disabled:l.busy||!p,onClick:()=>{a(null),I(!1),f.act(n,!0)}},"\u786E\u8BA4",x),re.default.createElement(v,{disabled:l.busy,kind:"secondary",onClick:()=>{a(null),I(!1)}},"\u53D6\u6D88"))));return re.default.createElement(j,{title:"\u72EC\u7ACB Node \u8FD0\u884C\u73AF\u5883",sub:"\u7F3A\u5C11\u5408\u9002 Node \u65F6\u5148\u51C6\u5907\uFF1B\u5DF2\u6709\u7CFB\u7EDF Node \u4E5F\u53EF\u9009\u62E9\u72EC\u7ACB\u7248\u672C\uFF0C\u4E0D\u66FF\u6362\u539F\u7248\u672C\u3002",icon:"terminal",extra:re.default.createElement(ke,null,"\u5355\u72EC\u786E\u8BA4 \xB7 \u624B\u52A8\u5237\u65B0")},re.default.createElement(_,{label:"\u6301\u4E45\u8BB0\u5F55",value:jo[l.record?.state]??"\u5C1A\u672A\u8BFB\u53D6"}),c&&re.default.createElement(_,{label:"\u5B89\u88C5\u8FDB\u7A0B",value:jo[c.state]??"\u5F85\u6838\u5BF9"}),re.default.createElement("p",{className:"fine-print"},l.fresh?"\u6700\u8FD1\u89C2\u5BDF\uFF1A"+new Date(l.observedAt).toLocaleString()+"\uFF0C\u6267\u884C\u524D\u4ECD\u91CD\u65B0\u6838\u9A8C\u3002":"\u5F53\u524D\u663E\u793A\u5386\u53F2\u56DE\u6267\uFF1B\u91CD\u65B0\u6253\u5F00\u9875\u9762\u4E0D\u4F1A\u81EA\u52A8\u8FDE\u63A5\u3001\u5B89\u88C5\u6216\u91CD\u8BD5\u3002"),re.default.createElement("div",{className:"form-actions"},re.default.createElement(v,{icon:"search",disabled:!m.preview,onClick:()=>s("preview")},"\u9884\u89C8\u4E13\u7528 Node \u8BA1\u5212"),re.default.createElement(v,{icon:"reset",disabled:!m.refresh,onClick:()=>s("refresh")},"\u624B\u52A8\u5237\u65B0 Node \u72B6\u6001"),!l.loaded&&re.default.createElement(v,{disabled:l.busy,onClick:()=>s("load")},"\u91CD\u8BFB Node \u8D26\u672C")),l.busy&&re.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u672C\u6B21 Node \u8BF7\u6C42\uFF1B\u4E0B\u8F7D\u548C\u5B89\u88C5\u4F7F\u7528\u72EC\u7ACB\u8FDB\u7A0B\u3002"),t&&re.default.createElement(b,{tone:"warn"},re.default.createElement("span",{role:"alert"},El[t]??"\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u53D1\u6216\u6539\u7528\u7CFB\u7EDF Node\u3002"),re.default.createElement("code",null,t)),r&&re.default.createElement("div",{className:"cloud-plan"},re.default.createElement(_,{label:"\u56FA\u5B9A\u5B98\u65B9\u7248\u672C",value:`Node ${r.remote.release.version} / ${r.remote.arch}`}),re.default.createElement(_,{label:"\u4E0B\u8F7D\u6765\u6E90",value:"nodejs.org \xB7 HTTPS \xB7 \u56FA\u5B9A SHA-256 \u6821\u9A8C"}),re.default.createElement("div",{className:"path-line"},re.default.createElement("span",null,"\u4E13\u7528 Node \u76EE\u5F55"),re.default.createElement("code",null,r.remote.root)),re.default.createElement("div",{className:"path-line"},re.default.createElement("span",null,"\u53D1\u884C\u5305 SHA-256"),re.default.createElement("code",null,r.remote.release.sha256)),re.default.createElement(b,null,"\u53EA\u51C6\u5907 Node \u4E0E\u53D1\u884C\u5305\u81EA\u5E26\u7684 npm\uFF1B\u4E0D\u5B89\u88C5 DSH\u3001\u4E0D\u542F\u52A8\u670D\u52A1\u3001\u4E0D\u8C03\u7528\u6A21\u578B\u3002\u652F\u6301 Linux x64 / arm64\u3001\u5185\u6838 4.18+\u3001glibc 2.28+\u3001Python 3.8+\u3002\u82E5\u4E0D\u6EE1\u8DB3\u6761\u4EF6\u4F1A\u505C\u6B62\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u7CFB\u7EDF\u7EC4\u4EF6\u3002"),re.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(r.expiresAt).toLocaleString(),"\u3002",!r.canStart&&" \u5F53\u524D\u76EE\u5F55\u5DF2\u5B58\u5728\u3001\u7A7A\u95F4\u4E0D\u8DB3\u6216\u4E0D\u53EF\u5199\uFF0C\u9700\u8981\u5148\u6838\u5BF9\u3002"),d("start","\u51C6\u5907\u4E13\u7528 Node","\u5C06\u4E0B\u8F7D\u4E0A\u65B9\u56FA\u5B9A\u5B98\u65B9\u53D1\u884C\u5305\uFF0C\u9A8C\u8BC1\u54C8\u5E0C\u540E\u5728\u4E13\u7528\u76EE\u5F55\u5C55\u5F00\u3002\u672A\u77E5\u540C\u540D\u76EE\u5F55\u4E0D\u4F1A\u8986\u76D6\u3002")),c?.root&&re.default.createElement("div",{className:"path-line"},re.default.createElement("span",null,"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),re.default.createElement("code",null,c.root)),c?.state==="ready"&&re.default.createElement(b,null,"\u540E\u7EED\u4E91\u7AEF\u8BA1\u5212\u4F1A\u91CD\u65B0\u6838\u9A8C\u5E76\u4F7F\u7528\u6B64\u4E13\u7528 Node\u3002\u8BF7\u91CD\u65B0\u751F\u6210\u4E0B\u65B9\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212\uFF1B\u4E0D\u80FD\u7528\u65E7\u57FA\u7EBF\u7EE7\u7EED\u5B89\u88C5\u3002"),d("stop","\u505C\u6B62 Node \u51C6\u5907\u8FDB\u7A0B","\u53EA\u505C\u6B62\u672C\u4E8B\u52A1\u8BB0\u5F55\u4E14\u51FA\u751F\u8EAB\u4EFD\u4E00\u81F4\u7684\u8FDB\u7A0B\u3002\u4FDD\u7559\u6587\u4EF6\u7528\u4E8E\u6838\u5BF9\uFF0C\u4E0D\u505C\u6B62\u5176\u4ED6\u670D\u52A1\u3002"),d("rollback","\u79FB\u9664\u4E13\u7528 Node","\u6309\u5F52\u5C5E\u8D26\u672C\u9010\u9879\u6838\u9A8C\u540E\u6E05\u7406\u3002\u5148\u6E05\u7406\u4F9D\u8D56\u5B83\u7684\u72EC\u7ACB Host\uFF1B\u6709\u6587\u4EF6\u53D8\u5316\u6216\u672A\u77E5\u5185\u5BB9\u65F6\u4FDD\u7559\u73B0\u573A\u3002\u5171\u4EAB\u7236\u76EE\u5F55\u4E0D\u4F1A\u9012\u5F52\u5220\u9664\u3002"))}var xe=Le(me());function ar(e){let o=e.repairStatus?.repair,l=e.repairStatus?.activation,u=l?.contract===1&&Number.isSafeInteger(l.observedAt)&&l.observedAt>0,f=u&&l.repairId===o?.id&&l.sameRecordedRepair===!0&&l.sameRecordedHost===!0,i=o?.activationSupported!==!1&&f&&o?.state==="committed"&&l.activationVerified===!0&&l.cached===!1&&e.repairFresh===!0,a=i?"\u672C\u6B21\u72EC\u7ACB\u6838\u9A8C\u901A\u8FC7":u?"\u5DF2\u6709\u5386\u53F2\u6838\u9A8C\u8BB0\u5F55":"\u5C1A\u672A\u72EC\u7ACB\u6838\u9A8C",p=null;return o?.state==="committed"&&(o.activationSupported===!1?p="\u5F53\u524D\u4EC5\u8BC1\u660E\u7B7E\u540D\u5386\u53F2\u4E2D\u7684\u540C\u7248\u672C\u6587\u4EF6\u5DF2\u4FEE\u590D\uFF1B\u8BE5\u8DEF\u5F84\u7684\u72EC\u7ACB\u52A0\u8F7D\u56DE\u6267\u5C1A\u672A\u63D0\u4F9B\uFF0C\u4E0D\u7B49\u4E8E\u5728\u7EBF\u751F\u6548\u3002\u91CD\u542F\u4ECD\u9700\u53E6\u884C\u9884\u89C8\u3001\u786E\u8BA4\u3002":i?p="\u672C\u6B21\u65B0\u8FDB\u7A0B\u52A0\u8F7D\u6838\u9A8C\u5DF2\u901A\u8FC7\uFF0C\u65E0\u9700\u4E3A\u8FD9\u6761\u56DE\u6267\u91CD\u590D\u91CD\u542F\u3002\u7ED3\u679C\u4EC5\u4EE3\u8868\u6838\u9A8C\u65F6\u523B\uFF0C\u4E0D\u4FDD\u8BC1\u6301\u7EED\u5728\u7EBF\uFF1B\u518D\u6B21\u89C2\u5BDF\u9700\u624B\u52A8\u64CD\u4F5C\u3002":f?p="\u5DF2\u4FDD\u7559\u8FD9\u6B21\u4FEE\u590D\u4E0E\u5DF2\u767B\u8BB0 Host \u7684\u5386\u53F2\u6838\u9A8C\uFF0C\u4E0D\u4EE3\u8868\u5F53\u524D\u5728\u7EBF\u3002\u9700\u8981\u4E86\u89E3\u73B0\u5728\u7684\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u56E0\u5386\u53F2\u8BB0\u5F55\u81EA\u52A8\u91CD\u542F\u6216\u91CD\u590D\u6838\u9A8C\u3002":u?p="\u5386\u53F2\u56DE\u6267\u4E0E\u5F53\u524D\u5DF2\u767B\u8BB0\u7684\u4FEE\u590D\u6216 Host \u4E0D\u4E00\u81F4\uFF0C\u4E0D\u80FD\u6CBF\u7528\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u5F53\u524D\u8FDB\u7A0B\uFF1B\u9700\u8981\u91CD\u542F\u65F6\u4ECD\u987B\u53E6\u884C\u9884\u89C8\u3001\u786E\u8BA4\u3002":p="\u6587\u4EF6\u4FEE\u590D\u6210\u529F\u4E0D\u7B49\u4E8E\u5DF2\u7ECF\u52A0\u8F7D\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF1B\u53EA\u6709\u672C\u6B21\u4FEE\u590D\u4E4B\u540E\u72EC\u7ACB\u786E\u8BA4\u7684\u65B0\u542F\u52A8\u624D\u80FD\u8FDB\u884C\u751F\u6548\u6838\u9A8C\uFF0C\u4E0D\u6CBF\u7528\u4FEE\u590D\u524D\u7684\u8FDB\u7A0B\u8BB0\u5F55\u3002"),{label:a,guidance:p,observedAt:u?l.observedAt:null,matching:f,passed:i}}var Ml={not_started:"\u5C1A\u65E0\u4FEE\u590D\u8BB0\u5F55",committed:"\u540C\u7248\u672C\u6587\u4EF6\u5DF2\u4FEE\u590D",rolled_back:"\u4FEE\u590D\u5DF2\u56DE\u6EDA",needs_review:"\u4FEE\u590D\u4E2D\u65AD\uFF0C\u5F85\u6838\u5BF9",applying:"\u4FEE\u590D\u7ED3\u679C\u5F85\u6838\u5BF9",refused:"\u672C\u6B21\u4FEE\u590D\u672A\u6267\u884C",planned:"\u4FEE\u590D\u8BA1\u5212\u5C1A\u672A\u6267\u884C",preparing:"\u4FEE\u590D\u9884\u89C8\u5F85\u6838\u5BF9"};function tr({s:e,actions:o,act:l,confirm:u}){if(!e.repairCapability?.supported)return null;let f=e.repairPlan,i=e.repairStatus?.repair,a=e.repairStatus?.activation,p=e.repairCapability.activationSupported&&i?.activationSupported!==!1&&f?.activationSupported!==!1,I=ar(e),m=I.observedAt?new Date(I.observedAt).toLocaleString():null;return xe.default.createElement("section",{className:"cloud-plan plugin-repair","aria-label":"\u81EA\u6709\u63D2\u4EF6\u4FEE\u590D\u4E0E\u751F\u6548\u6838\u9A8C"},xe.default.createElement("h3",null,"\u81EA\u6709\u63D2\u4EF6\u4FEE\u590D\u4E0E\u751F\u6548\u6838\u9A8C"),xe.default.createElement("p",null,"\u53EA\u4ECE\u7B7E\u540D\u5386\u53F2\u5BF9\u5E94\u7684\u540C\u7248\u672C\u5F52\u6863\u6062\u590D\u5DF2\u5217\u51FA\u7684\u81EA\u6709\u6587\u4EF6\u3002\u4E0D\u4FEE\u6539 DSH\u3001\u7B2C\u4E09\u65B9\u63D2\u4EF6\u3001\u7528\u6237\u89C4\u5219\u3001\u51ED\u636E\u6216\u4EFB\u52A1\u6210\u679C\u3002"),(f?.version||i?.version)&&xe.default.createElement(_,{label:"\u4FEE\u590D\u7248\u672C",value:f?.version??i.version}),xe.default.createElement(_,{label:"\u6587\u4EF6\u4FEE\u590D",value:e.repairPending?"\u539F\u4FEE\u590D\u4E8B\u52A1\u5F85\u6838\u5BF9":Ml[i?.state]??"\u5C1A\u672A\u6838\u5BF9"}),xe.default.createElement(_,{label:"\u52A0\u8F7D\u751F\u6548",value:I.label}),m&&xe.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",m,"\u3002\u8FD9\u662F\u5F53\u65F6\u7684\u89C2\u5BDF\uFF0C\u4E0D\u662F\u5B9E\u65F6\u5728\u7EBF\u4FDD\u8BC1\u3002",(!a.sameRecordedRepair||!a.sameRecordedHost)&&" \u8BB0\u5F55\u4E0E\u5F53\u524D\u5DF2\u767B\u8BB0\u7684\u4FEE\u590D\u6216 Host \u4E0D\u540C\uFF0C\u4E0D\u80FD\u6CBF\u7528\u3002"),!e.repairFresh&&xe.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u663E\u793A\u672C\u5730\u5386\u53F2\u56DE\u6267\uFF1B\u4E0A\u65B9\u624B\u52A8\u5237\u65B0\u624D\u4F1A\u67E5\u8BE2\u8FDC\u7AEF\uFF0C\u4E0D\u81EA\u52A8\u4FEE\u590D\u6216\u91CD\u542F\u3002"),e.repairPending&&xe.default.createElement(b,{tone:"warn"},"\u4E0D\u8981\u91CD\u590D\u5E94\u7528\u6216\u53E6\u5EFA\u4E8B\u52A1\u3002\u5148\u624B\u52A8\u5237\u65B0\u539F\u8BB0\u5F55\uFF1B\u786E\u8BA4\u8FDC\u7AEF\u4E2D\u65AD\u53CA Host \u5DF2\u505C\u6B62\u540E\uFF0C\u624D\u53EF\u5355\u72EC\u6062\u590D\u539F\u4E8B\u52A1\u3002"),xe.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4FEE\u590D\u64CD\u4F5C"},xe.default.createElement(v,{disabled:!o.runtime_repair_preview,onClick:()=>l("runtime_repair_preview")},"\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D"),p&&xe.default.createElement(v,{disabled:!o.runtime_repair_verify,onClick:()=>l("runtime_repair_verify")},"\u6838\u9A8C\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D")),f&&xe.default.createElement("div",{className:"cloud-confirm","aria-label":"\u4FEE\u590D\u5DEE\u5F02\u8BA1\u5212"},xe.default.createElement(_,{label:"\u5F85\u4FEE\u590D\u6587\u4EF6",value:f.changes.length+" \u9879"}),f.changes.length>0&&xe.default.createElement("details",{open:f.changes.length<=8},xe.default.createElement("summary",null,"\u67E5\u770B\u6587\u4EF6\u5DEE\u5F02"),xe.default.createElement("ul",null,f.changes.map(r=>xe.default.createElement("li",{className:"plan-item",key:r.path},xe.default.createElement("code",null,r.path)," \xB7 ",r.action==="create"?"\u6062\u590D\u7F3A\u5931\u6587\u4EF6":"\u6062\u590D\u5F52\u6863\u5185\u5BB9")))),xe.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(f.expiresAt).toLocaleString(),"\u3002\u6267\u884C\u524D\u91CD\u65B0\u6838\u9A8C\u505C\u673A\u3001\u5F52\u5C5E\u4E0E\u6587\u4EF6\uFF1B\u672A\u77E5\u5185\u5BB9\u4FDD\u7559\u3002"),!f.canApply&&xe.default.createElement(b,null,"\u6CA1\u6709\u9700\u8981\u4FEE\u590D\u7684\u81EA\u6709\u6587\u4EF6\uFF1B\u4E0D\u4F1A\u6267\u884C\u7A7A\u4E8B\u52A1\u3002"),u("runtime_repair_apply","\u4FEE\u590D\u5DF2\u5217\u51FA\u7684\u6587\u4EF6","\u4EC5\u66FF\u6362\u4E0A\u65B9\u786E\u5207\u6587\u4EF6\uFF0C\u4FDD\u5B58\u9519\u8BEF\u5185\u5BB9\u5907\u4EFD\u548C\u7B7E\u540D\u5F52\u5C5E\u589E\u91CF\uFF1B\u4E0D\u66F4\u65B0\u6574\u4F53\u5F52\u5C5E\u6E05\u5355\uFF0C\u4E0D\u542F\u52A8 Host\u3002")),u("runtime_repair_recover","\u6062\u590D\u539F\u4FEE\u590D\u4E8B\u52A1","\u53EA\u6838\u5BF9\u5E76\u6062\u590D\u539F\u4E8B\u52A1\uFF1B\u53D1\u751F\u51B2\u7A81\u5219\u4FDD\u7559\u5F85\u6838\u5BF9\uFF0C\u4E0D\u91CD\u53D1\u539F\u5E94\u7528\uFF0C\u4E0D\u63A5\u7BA1\u672A\u77E5\u6587\u4EF6\uFF0C\u4E0D\u542F\u52A8 Host\u3002"),I.guidance&&xe.default.createElement(b,null,I.guidance),!p&&xe.default.createElement(b,null,"\u6B64\u4FEE\u590D\u8DEF\u5F84\u5C1A\u4E0D\u63D0\u4F9B\u72EC\u7ACB\u751F\u6548\u6838\u9A8C\uFF1B\u4FDD\u7559\u6587\u4EF6\u56DE\u6267\uFF0C\u4E0D\u5BA3\u79F0\u5728\u7EBF\u52A0\u8F7D\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u66F4\u6362\u539F\u63A7\u5236\u5668\u3002"))}var y=Le(me());var lr={requested:"\u8BF7\u6C42\u5DF2\u767B\u8BB0\uFF0C\u5F85\u6838\u5BF9",observed:"\u5DF2\u6536\u5230\u56DE\u6267",ready:"\u5019\u9009\u5DF2\u63A5\u6536",receiving:"\u63A5\u6536\u4E2D",committed:"\u6587\u4EF6\u4E8B\u52A1\u5DF2\u5B8C\u6210",rolled_back:"\u5DF2\u6062\u590D\u539F\u6587\u4EF6",needs_review:"\u9700\u6838\u5BF9",refused:"\u6267\u884C\u524D\u5DF2\u62D2\u7EDD",version_outcome_unknown:"\u5207\u6362\u7ED3\u679C\u672A\u77E5",artifacts_outcome_unknown:"\u89C4\u5219\u914D\u5957\u7ED3\u679C\u672A\u77E5"},Tl=["receive","apply","rollback","recover","rules_apply","rules_recover"],or={candidate_preview:"receive",preview:"apply",rollback_preview:"rollback",recover_preview:"recover",rules_preview:"rules_apply",rules_recover_preview:"rules_recover"},rr=(e,o)=>e?.filter(l=>l.targetId===o&&l.receipt?.state!=="refused").at(-1);function Pt(e,{stopped:o=!1}={},l=Date.now()){let u=e.loaded&&!e.busy,f=e.versions,i=e.artifacts,a=f?.pending||i?.pending,p=rr(f?.requests,e.versionId),I=rr(i?.requests,e.artifactId),m=[...f?.requests??[],...i?.requests??[]].some(t=>t.state==="requested"),r=u&&f?.supported,c=e.plan;return{load:!e.busy,candidate_preview:r&&!a&&!e.uncertain,candidate_status:r&&!!e.candidateId,preview:r&&o&&!a&&!e.uncertain&&f?.requests?.some(t=>t.action==="receive"&&t.targetId===e.candidateId&&t.receipt?.state==="ready"),status:r&&!!e.versionId,rollback_preview:r&&o&&!a&&!e.uncertain&&p?.receipt?.state==="committed",recover_preview:r&&o&&!e.uncertain&&!m&&!i?.pending&&p?.receipt?.recoveryRequired===!0,rules_preview:u&&o&&i?.supported&&!a&&!e.uncertain,rules_status:u&&i?.supported&&!!e.artifactId,activation_status:u&&e.activation?.supported&&!!e.versionId,activation_verify:u&&e.activation?.supported&&!!e.versionId&&!a&&!e.uncertain&&["committed","rolled_back"].includes(p?.receipt?.state),rules_recover_preview:u&&o&&i?.supported&&!e.uncertain&&!m&&!f?.pending&&I?.receipt?.recoveryRequired===!0,confirm:u&&o&&!!c&&c.value.expiresAt>l&&!e.uncertain&&(!a||["recover","rules_recover"].includes(c.action)&&!m)}}function sr(e,o,{operationId:l,onMutation:u=()=>{},now:f=Date.now}={}){let i=!1,a={loaded:!1,busy:null,error:null,uncertain:!1,versions:null,artifacts:null,activation:null,plan:null,candidateId:"",versionId:"",artifactId:"",observation:null,uncertainRequest:null},p=()=>{i||o({...a})},I=(t,s={})=>e("cloud_version",{action:t,operationId:l,...s});function m(t,s,d){if(s.some(x=>x.id===t))return t;let n=d?.find(x=>x.state==="requested"||x.receipt?.recoveryRequired);return s.find(x=>x.id===n?.targetId)?.id??s.at(-1)?.id??""}async function r(){let t=await I("record"),s=await I("rules_record"),d=await I("activation_record");if(t.operationId!==l||s.operationId!==l||d.operationId!==l)throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");a={...a,loaded:!0,versions:t,artifacts:s,activation:d,candidateId:m(a.candidateId,t.candidates??[],t.requests?.filter(g=>g.action==="receive")),versionId:m(a.versionId,t.plans?.filter(g=>g.kind==="apply")??[],t.requests?.filter(g=>g.action!=="receive")),artifactId:m(a.artifactId,s.plans?.filter(g=>g.kind==="apply")??[],s.requests)};let n=a.uncertainRequest,x=n&&(n.rules?s:t).requests?.find(g=>g.key===n.key);n&&x?.state==="observed"&&(a.uncertain=!1,a.uncertainRequest=null)}async function c(t,{confirmed:s=!1,stopped:d=!1}={}){if(i||a.busy)return!1;let n=Pt(a,{stopped:d},f());if(t==="confirm"?!s||!n.confirm:!n[t])return a={...a,error:"ONBOARDING_VERSION_UI_REFRESH_REQUIRED"},p(),!1;let x=a.plan,g=t==="confirm"?x.action:t,h=Tl.includes(g);a={...a,busy:g,error:null,...g.startsWith("activation_")?{observation:null}:{},...t==="confirm"?{}:{plan:null}},p();try{if(t==="load")await r(),a.observation=null;else{let C=t==="confirm"?{id:x.value.id,fingerprint:x.value.fingerprint,confirm:!0}:g==="preview"?{candidateId:a.candidateId}:g==="candidate_status"?{id:a.candidateId}:["status","rollback_preview","recover_preview","activation_status","activation_verify"].includes(g)?{id:a.versionId}:["rules_status","rules_recover_preview"].includes(g)?{id:a.artifactId}:{};h&&(a.uncertain=!0,a.uncertainRequest={rules:g.startsWith("rules_"),key:g.replace(/^rules_/,"")+":"+x.value.id},u());let S=await I(g,C);if(a.observation={action:g,value:S,observedAt:f()},or[g]&&S.id&&S.fingerprint){a.plan={action:or[g],value:S};let D={candidate_preview:"candidateId",preview:"versionId",rules_preview:"artifactId"}[g];D&&(a[D]=S.id)}else a.plan=null;await r()}return!0}catch(C){return a.error=/^ONBOARDING_[A-Z_]+$/.test(C.message??"")?C.message:"ONBOARDING_UNAVAILABLE",h&&(a.plan=null,a.uncertain=!0),t==="load"&&(a.loaded=!1),!1}finally{a.busy=null,p()}}return{act:c,snapshot:()=>({...a}),select:(t,s)=>{let d=t==="candidateId"?a.versions?.candidates:t==="versionId"?a.versions?.plans?.filter(n=>n.kind==="apply"):a.artifacts?.plans?.filter(n=>n.kind==="apply");return a.busy||!["candidateId","versionId","artifactId"].includes(t)||!d?.some(n=>n.id===s)?!1:(a={...a,[t]:s,plan:null,observation:null},p(),!0)},cancel:()=>{a.busy||(a.plan=null,p())},dispose:()=>{i=!0},resume:()=>{i=!1,p()}}}var Bt={receive:"\u63A5\u6536\u5019\u9009\u6587\u4EF6",apply:"\u5207\u6362\u63D2\u4EF6\u6587\u4EF6",rollback:"\u56DE\u6EDA\u63D2\u4EF6\u6587\u4EF6",recover:"\u6062\u590D\u539F\u6587\u4EF6\u4E8B\u52A1",rules_apply:"\u914D\u5957\u66F4\u65B0\u89C4\u5219\u4E0E Skill",rules_recover:"\u6062\u590D\u539F\u89C4\u5219\u4E8B\u52A1"},Fl={receive:"\u53D1\u9001\u672C\u7AEF\u51BB\u7ED3\u7684\u81EA\u6709\u5019\u9009\u5305\u3002\u4E0D\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u66FF\u6362\u73B0\u7528\u63D2\u4EF6\u3001\u4E0D\u542F\u52A8 Host\u3002",apply:"\u53EA\u5207\u6362\u5F53\u524D\u5DF2\u505C\u6B62 Host \u7684\u81EA\u6709\u63D2\u4EF6\u76EE\u5F55\uFF0C\u4FDD\u7559\u65E7\u7248\u672C\u5907\u4EFD\u3002\u4E4B\u540E\u4ECD\u9700\u89C4\u5219\u914D\u5957\u4E0E\u72EC\u7ACB\u91CD\u542F\u786E\u8BA4\u3002",rollback:"\u53EA\u6062\u590D\u539F\u63D2\u4EF6\u76EE\u5F55\u3002\u4E0D\u4F1A\u987A\u5E26\u8986\u76D6\u7528\u6237\u89C4\u5219\uFF1B\u5982\u89C4\u5219\u7248\u672C\u4E0D\u5339\u914D\uFF0C\u987B\u53E6\u884C\u9884\u89C8\u5E76\u786E\u8BA4\u914D\u5957\u3002",recover:"\u53EA\u6062\u590D\u539F\u4E2D\u65AD\u6587\u4EF6\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u53D1\u5207\u6362\uFF0C\u4E0D\u63A5\u7BA1\u672A\u77E5\u6587\u4EF6\u3002",rules_apply:"\u53EA\u66F4\u65B0\u81EA\u6709\u6258\u7BA1\u5757\u4E0E\u672A\u88AB\u7528\u6237\u4FEE\u6539\u7684 Skill\uFF0C\u4FDD\u7559\u7528\u6237\u524D\u540E\u6587\u5B57\u3001\u51ED\u636E\u548C\u6210\u679C\u3002\u4E0D\u4F1A\u81EA\u52A8\u91CD\u542F\u3002",rules_recover:"\u53EA\u6838\u5BF9\u5E76\u6062\u590D\u539F\u89C4\u5219\u4E8B\u52A1\uFF1B\u7F3A\u5C11\u65E5\u5FD7\u6216\u51FA\u73B0\u51B2\u7A81\u65F6\u4FDD\u7559\u5F85\u6838\u5BF9\uFF0C\u4E0D\u5F3A\u884C\u6E05\u9501\u3002"},Et=e=>lr[e]??"\u5C1A\u672A\u6838\u5BF9";function Mt({label:e,items:o,value:l,onChange:u,disabled:f}){return o?.length>0&&y.default.createElement("label",{className:"version-choice"},y.default.createElement("span",null,e),y.default.createElement("select",{"aria-label":e,value:l,disabled:f,onChange:i=>u(i.target.value)},o.map((i,a)=>y.default.createElement("option",{key:i.id,value:i.id},i.version??`${i.fromVersion} \u2192 ${i.toVersion}`," \xB7 \u7B2C ",a+1," \u6B21"))))}function Ul({request:e,operationId:o,stoppedUntil:l,busy:u,onMutation:f}){let i=(0,y.useRef)(f);i.current=f;let[a,p]=(0,y.useState)({}),[I]=(0,y.useState)(()=>sr(e,p,{operationId:o,onMutation:()=>i.current?.()})),[m,r]=(0,y.useState)(!1),[,c]=(0,y.useState)(0);(0,y.useEffect)(()=>(I.resume(),I.act("load"),()=>I.dispose()),[I]);let t=l>Date.now()&&!u,s=Pt({...a,busy:a.busy||u},{stopped:t}),d=a.plan,n=a.versions,x=a.artifacts;(0,y.useEffect)(()=>{if(r(!1),!d)return;let O=setTimeout(()=>{r(!1),c(w=>w+1)},Math.max(0,d.value.expiresAt-Date.now())+1);return()=>clearTimeout(O)},[d]),(0,y.useEffect)(()=>{if(!l)return;let O=setTimeout(()=>{r(!1),c(w=>w+1)},Math.max(0,l-Date.now())+1);return()=>clearTimeout(O)},[l]);let g=O=>{if(r(!1),!u)return I.act(O,{stopped:l>Date.now()})},h=n?.requests?.filter(O=>O.targetId===a.versionId).at(-1),C=x?.requests?.filter(O=>O.targetId===a.artifactId).at(-1),S=a.observation?.value,D=d?.value?.changes,N=S?.scope==="maintained_plugin_version_observed"?S:null,T=a.activation?.records?.filter(O=>O.requestedTransactionId===a.versionId).at(-1);return y.default.createElement("div",{className:"version-maintenance-body"},y.default.createElement("p",{className:"fine-print"},"\u91CD\u65B0\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u5386\u53F2\u3002\u67E5\u8BE2\u8FDC\u7AEF\u3001\u6587\u4EF6\u5207\u6362\u3001\u89C4\u5219\u914D\u5957\u548C\u91CD\u542F\u5206\u522B\u64CD\u4F5C\uFF1B\u4E0D\u4F1A\u5B9A\u65F6\u5237\u65B0\u3002"),y.default.createElement("div",{className:"form-actions"},y.default.createElement(v,{icon:"reset",disabled:!s.load,onClick:()=>g("load")},"\u91CD\u8BFB\u672C\u7AEF\u7EF4\u62A4\u8BB0\u5F55")),a.busy&&y.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u7EF4\u62A4\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&y.default.createElement(b,{tone:"warn"},y.default.createElement("span",{role:"alert"},"\u7ED3\u679C\u5C1A\u9700\u6838\u5BF9\u3002\u8BF7\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u5019\u9009\u6216\u4E8B\u52A1\uFF1B\u4E0D\u8981\u56E0\u62A5\u9519\u91CD\u65B0\u53D1\u9001\u3002"),y.default.createElement("code",null,a.error)),(n?.pending||x?.pending||a.uncertain)&&y.default.createElement(b,{tone:"warn"},"\u5B58\u5728\u672A\u6838\u5BF9\u8BF7\u6C42\u3002\u65B0\u5207\u6362\u548C\u91CD\u542F\u4ECD\u88AB\u95E8\u7981\u963B\u6B62\uFF1B\u67E5\u8BE2\u4E0D\u4EE3\u8868\u91CD\u65B0\u6267\u884C\u3002"),a.loaded&&!n?.supported&&y.default.createElement(b,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u7248\u672C\u7EF4\u62A4\u5951\u7EA6\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u63A5\u7BA1\u3002"),n?.supported&&y.default.createElement(y.default.Fragment,null,!t&&y.default.createElement(b,null,"\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C\u72B6\u6001\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u505C\u673A\u5E76\u6838\u5BF9\u9000\u51FA\u3002\u6587\u4EF6\u64CD\u4F5C\u9700\u8981\u9000\u51FA\u8BC1\u660E\uFF1B\u8BFB\u53D6\u52A0\u8F7D\u72B6\u6001\u4E0D\u8981\u6C42\u505C\u673A\uFF0C\u4E5F\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u673A\u3002"),y.default.createElement("ol",{className:"phase-timeline version-phases"},y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"1"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u51C6\u5907\u81EA\u6709\u5019\u9009"),y.default.createElement("p",null,"\u53EA\u53D6\u672C\u7AEF\u81EA\u6709\u5206\u53D1\u5305\uFF1B\u9884\u89C8\u4F1A\u4FDD\u5B58\u672C\u5730\u51BB\u7ED3\u5FEB\u7167\uFF0C\u4E0D\u8054\u7CFB ECS\u3002"),y.default.createElement(Mt,{label:"\u5019\u9009\u7248\u672C",items:n.candidates,value:a.candidateId,disabled:!!a.busy,onChange:O=>I.select("candidateId",O)}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(v,{disabled:!s.candidate_preview,onClick:()=>g("candidate_preview")},"\u9884\u89C8\u672C\u7AEF\u5019\u9009"),y.default.createElement(v,{disabled:!s.candidate_status,onClick:()=>g("candidate_status")},"\u6838\u5BF9\u5019\u9009\u63A5\u6536")))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"2"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u5207\u6362\u63D2\u4EF6\u6587\u4EF6"),y.default.createElement(_,{label:"\u5386\u53F2\u6587\u4EF6\u56DE\u6267",value:h?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":Et(h?.receipt?.state)}),y.default.createElement(Mt,{label:"\u6587\u4EF6\u7248\u672C\u4E8B\u52A1",items:n.plans?.filter(O=>O.kind==="apply"),value:a.versionId,disabled:!!a.busy,onChange:O=>I.select("versionId",O)}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(v,{disabled:!s.preview,onClick:()=>g("preview")},"\u9884\u89C8\u6587\u4EF6\u5207\u6362"),y.default.createElement(v,{disabled:!s.status,onClick:()=>g("status")},"\u67E5\u8BE2\u539F\u6587\u4EF6\u4E8B\u52A1"),y.default.createElement(v,{disabled:!s.rollback_preview,onClick:()=>g("rollback_preview")},"\u9884\u89C8\u6587\u4EF6\u56DE\u6EDA"),y.default.createElement(v,{disabled:!s.recover_preview,onClick:()=>g("recover_preview")},"\u9884\u89C8\u4E2D\u65AD\u6062\u590D")))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"3"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u914D\u5957\u89C4\u5219\u4E0E Skill"),y.default.createElement(_,{label:"\u5386\u53F2\u89C4\u5219\u56DE\u6267",value:C?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":Et(C?.receipt?.state)}),y.default.createElement(Mt,{label:"\u89C4\u5219\u914D\u5957\u4E8B\u52A1",items:x?.plans?.filter(O=>O.kind==="apply"),value:a.artifactId,disabled:!!a.busy,onChange:O=>I.select("artifactId",O)}),x?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(v,{disabled:!s.rules_preview,onClick:()=>g("rules_preview")},"\u9884\u89C8\u89C4\u5219\u914D\u5957"),y.default.createElement(v,{disabled:!s.rules_status,onClick:()=>g("rules_status")},"\u67E5\u8BE2\u539F\u89C4\u5219\u4E8B\u52A1"),y.default.createElement(v,{disabled:!s.rules_recover_preview,onClick:()=>g("rules_recover_preview")},"\u9884\u89C8\u89C4\u5219\u6062\u590D")):y.default.createElement(b,null,"\u539F\u5F52\u6863\u4E0D\u652F\u6301\u89C4\u5219\u914D\u5957\uFF1B\u4E0D\u80FD\u4EC5\u51ED\u63D2\u4EF6\u6587\u4EF6\u5207\u6362\u5C31\u542F\u52A8\u65B0\u7248\u672C\u3002"))),y.default.createElement("li",null,y.default.createElement("span",{className:"phase-dot"},"4"),y.default.createElement("div",{className:"phase-copy"},y.default.createElement("h3",null,"\u6838\u9A8C\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D"),y.default.createElement("p",null,"\u914D\u5957\u540E\u5148\u5728\u4E0A\u65B9\u53E6\u884C\u786E\u8BA4\u91CD\u542F\uFF0C\u518D\u624B\u52A8\u6838\u9A8C\u3002\u4E0D\u8981\u6C42\u5148\u4FEE\u590D\u6587\u4EF6\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u8F6E\u8BE2\u3002"),y.default.createElement(_,{label:"\u5386\u53F2\u52A0\u8F7D\u89C2\u5BDF",value:T?.observedAt?`${T.pluginVersion} \xB7 ${new Date(T.observedAt).toLocaleString()}`:"\u5C1A\u65E0\u5DF2\u8BB0\u5F55\u7684\u52A0\u8F7D\u89C2\u5BDF"}),y.default.createElement("p",{className:"fine-print"},"\u5386\u53F2\u8BB0\u5F55\u4E0D\u662F\u5F53\u524D\u5728\u7EBF\u8BC1\u660E\u3002\u6838\u9A8C\u53EA\u4EE3\u8868\u8BE5\u65F6\u523B\u7248\u672C\u3001\u89C4\u5219\u548C Skill \u4E00\u81F4\uFF0C\u4E0D\u6388\u4E88\u5F00\u53D1\u6216\u53D1\u5E03\u6743\u9650\u3002"),a.activation?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(v,{disabled:!s.activation_status,onClick:()=>g("activation_status")},"\u67E5\u8BE2\u5386\u53F2\u52A0\u8F7D\u8BB0\u5F55"),y.default.createElement(v,{icon:"check",disabled:!s.activation_verify,onClick:()=>g("activation_verify")},"\u624B\u52A8\u6838\u9A8C\u5F53\u524D\u52A0\u8F7D")):y.default.createElement(b,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u666E\u901A\u7248\u672C\u52A0\u8F7D\u6838\u9A8C\u5951\u7EA6\uFF1B\u66F4\u65B0\u63D2\u4EF6\u6587\u4EF6\u4E0D\u80FD\u8865\u6388\u65E7\u63A7\u5236\u5668\u6743\u9650\u3002"),N&&y.default.createElement(b,{tone:N.activationVerified?"info":"warn"},y.default.createElement("strong",null,N.activationVerified?"\u672C\u6B21\u52A0\u8F7D\u6838\u9A8C\u901A\u8FC7":"\u4EC5\u67E5\u8BE2\u5230\u5386\u53F2\u8BB0\u5F55\uFF0C\u672A\u6838\u9A8C\u5728\u7EBF\u72B6\u6001"),y.default.createElement("p",null,N.pluginVersion?`\u89C2\u5BDF\u7248\u672C\uFF1A${N.pluginVersion}\u3002`:"\u5C1A\u65E0\u6210\u529F\u52A0\u8F7D\u89C2\u5BDF\u3002",N.observedAt&&`\u89C2\u5BDF\u65F6\u95F4\uFF1A${new Date(N.observedAt).toLocaleString()}\u3002`),!N.activationVerified&&N.observedAt&&(!N.sameRecordedRelease||!N.sameRecordedHost)&&y.default.createElement("p",null,"\u8BB0\u5F55\u6240\u5C5E\u7248\u672C\u6216\u8FDB\u7A0B\u5DF2\u6539\u53D8\uFF0C\u4E0D\u53EF\u4F5C\u4E3A\u5F53\u524D\u751F\u6548\u4F9D\u636E\u3002"))))),S&&!N&&y.default.createElement("div",{className:"version-observation","aria-live":"polite"},y.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),y.default.createElement("p",null,S.artifactsMatched?"\u89C4\u5219\u4E0E\u5F53\u524D\u955C\u50CF\u7684\u5185\u5BB9\u5339\u914D\uFF1B\u5C1A\u672A\u8BC1\u660E\u65B0\u8FDB\u7A0B\u5DF2\u52A0\u8F7D\u3002":S.canApply===!1?"\u5F53\u524D\u6CA1\u6709\u53EF\u6267\u884C\u7684\u914D\u5957\u8BA1\u5212\uFF1B\u8BF7\u67E5\u770B\u51B2\u7A81\u6216\u5DF2\u5339\u914D\u8BF4\u660E\u3002":S.state?Et(S.state):"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8BA1\u5212\u3002"),S.conflicts?.length>0&&y.default.createElement("ul",null,S.conflicts.map((O,w)=>y.default.createElement("li",{key:w},y.default.createElement("code",null,O.code),O.path&&y.default.createElement("span",null," \xB7 ",O.path))))),d&&y.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":Bt[d.action]+"\u786E\u8BA4"},y.default.createElement("h3",null,Bt[d.action]),y.default.createElement("p",null,Fl[d.action]),y.default.createElement(_,{label:"\u7248\u672C",value:d.value.version??d.value.targetVersion??`${d.value.fromVersion??""} \u2192 ${d.value.toVersion??""}`}),D&&y.default.createElement("details",null,y.default.createElement("summary",null,"\u67E5\u770B ",D.length," \u9879\u6587\u4EF6\u53D8\u5316"),y.default.createElement("ul",null,D.map(O=>y.default.createElement("li",{className:"plan-item",key:O.path},y.default.createElement("code",null,O.path)," \xB7 ",O.action)))),y.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.value.expiresAt).toLocaleString(),"\u3002\u5173\u95ED\u6216\u53D6\u6D88\u4E0D\u4F1A\u7EED\u7528\u6279\u51C6\u3002"),!s.confirm&&y.default.createElement(b,{tone:"warn"},"\u786E\u8BA4\u6682\u4E0D\u53EF\u6267\u884C\uFF1A\u8BF7\u6838\u5BF9\u505C\u673A\u72B6\u6001\u3001\u672A\u77E5\u8BF7\u6C42\u6216\u8BA1\u5212\u6709\u6548\u671F\u3002\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),y.default.createElement(J,{title:"\u6211\u5DF2\u6838\u5BF9\u672C\u6B21\u6587\u4EF6\u7EF4\u62A4\u8303\u56F4",sub:"\u4E0D\u81EA\u52A8\u91CD\u542F\uFF0C\u4E0D\u5F00\u653E\u4E1A\u52A1\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u3002",checked:m,onChange:r,disabled:!s.confirm}),y.default.createElement("div",{className:"form-actions"},y.default.createElement(v,{kind:"primary",disabled:!s.confirm||!m,onClick:()=>{r(!1),u||I.act("confirm",{confirmed:!0,stopped:l>Date.now()})}},"\u786E\u8BA4",Bt[d.action]),y.default.createElement(v,{disabled:!!a.busy,onClick:()=>{r(!1),I.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4"))),y.default.createElement(b,null,"\u6587\u4EF6\u5207\u6362 \u2260 \u89C4\u5219\u914D\u5957 \u2260 \u52A0\u8F7D\u751F\u6548\u3002\u5B8C\u6210\u914D\u5957\u540E\u8BF7\u5728\u4E0A\u65B9\u91CD\u65B0\u6838\u9A8C\u72B6\u6001\u3001\u72EC\u7ACB\u786E\u8BA4\u91CD\u542F\uFF1B\u518D\u624B\u52A8\u6838\u9A8C\u65B0\u8FDB\u7A0B\u52A0\u8F7D\uFF0C\u4E0D\u80FD\u628A\u5386\u53F2\u6587\u4EF6\u56DE\u6267\u5F53\u4F5C\u5728\u7EBF\u8BC1\u660E\u3002")))}function ur(e){let[o,l]=(0,y.useState)(!1);return y.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u81EA\u6709\u63D2\u4EF6\u7248\u672C\u7EF4\u62A4"},y.default.createElement("div",{className:"version-heading"},y.default.createElement("div",null,y.default.createElement("h3",null,"\u81EA\u6709\u63D2\u4EF6\u7248\u672C\u7EF4\u62A4"),y.default.createElement("p",null,"\u6587\u4EF6\u3001\u89C4\u5219\u3001\u91CD\u542F\u4E0E\u52A0\u8F7D\u6838\u9A8C\u5206\u5F00\u3002\u4FDD\u7559\u7528\u6237\u89C4\u5219\u548C\u539F\u7248\u672C\u5907\u4EFD\u3002")),y.default.createElement(Re,{pose:"tasks"})),y.default.createElement(v,{"aria-expanded":o,disabled:e.busy,onClick:()=>l(u=>!u)},o?"\u6536\u8D77\u7248\u672C\u7EF4\u62A4":"\u5C55\u5F00\u7248\u672C\u7EF4\u62A4"),o&&y.default.createElement(Ul,{...e}))}var F=Le(me());var nr={intent:"\u5378\u8F7D\u610F\u56FE\u5DF2\u767B\u8BB0\uFF0C\u9700\u6838\u5BF9",rules_removed:"\u89C4\u5219\u5DF2\u64A4\u4E0B\uFF0C\u63D2\u4EF6\u9000\u5F79\u5F85\u6838\u5BF9",capturing:"\u63D2\u4EF6\u9000\u5F79\u4E2D\uFF0C\u9700\u6838\u5BF9",committed:"\u81EA\u6709\u80FD\u529B\u5DF2\u5378\u8F7D\uFF0C\u6570\u636E\u4E0E\u5907\u4EFD\u4FDD\u7559",rolled_back:"\u5DF2\u6062\u590D\u539F\u72B6\u6001",refused:"\u672C\u6B21\u64CD\u4F5C\u6267\u884C\u524D\u5DF2\u62D2\u7EDD",uninstall_outcome_unknown:"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5"},Hl=e=>e.record?.requests?.filter(o=>o.targetId===e.id&&o.receipt?.state!=="refused").at(-1);function Tt(e,{stopped:o=!1}={},l=Date.now()){let u=e.loaded&&!e.busy&&e.record?.supported,f=Hl(e),i=e.record?.requests?.some(p=>p.state==="requested"),a=u&&o&&!e.otherPending&&!e.uncertain&&!i&&f?.receipt?.recoveryRequired===!0;return{load:!e.busy,preview:u&&o&&!e.otherPending&&!e.uncertain&&!e.record.blocked,status:u&&!!e.id,recover_preview:a,confirm:u&&o&&!e.otherPending&&!e.uncertain&&e.plan?.value.expiresAt>l&&(e.plan.action==="apply"?!e.record.blocked:a)}}function ir(e,o,{operationId:l,onMutation:u=()=>{},now:f=Date.now}={}){let i=!1,a={loaded:!1,busy:null,error:null,record:null,otherPending:!1,id:"",plan:null,observation:null,uncertain:!1,uncertainKey:null},p=()=>{i||o({...a})},I=(c,t={})=>e("cloud_version",{action:"uninstall_"+c,operationId:l,...t});async function m(){let c=await I("record"),t=await e("cloud_version",{action:"record",operationId:l}),s=await e("cloud_version",{action:"rules_record",operationId:l});if([c,t,s].some(g=>g.operationId!==l))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let d=c.plans?.filter(g=>g.kind==="apply")??[],n=c.requests?.find(g=>g.state==="requested"||g.receipt?.recoveryRequired),x=d.some(g=>g.id===a.id)?a.id:d.find(g=>g.id===n?.targetId)?.id??d.at(-1)?.id??"";a={...a,loaded:!0,record:c,otherPending:!!(t.pending||s.pending),id:x},a.uncertainKey&&c.requests?.find(g=>g.key===a.uncertainKey)?.state==="observed"&&(a.uncertain=!1,a.uncertainKey=null)}async function r(c,{confirmed:t=!1,stopped:s=!1}={}){if(i||a.busy)return!1;if(!Tt(a,{stopped:s},f())[c]||c==="confirm"&&!t)return a.error="ONBOARDING_UNINSTALL_UI_REFRESH_REQUIRED",p(),!1;let n=a.plan,x=c==="confirm"?n.action:c,g=c==="confirm";a={...a,busy:x,error:null,...g?{}:{plan:null}},p();try{if(c==="load")await m(),a.observation=null;else{g&&(a.uncertain=!0,a.uncertainKey=x+":"+n.value.id,u());let h=await I(x,g?{id:n.value.id,fingerprint:n.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:x,value:h,observedAt:f()},a.plan=null,["preview","recover_preview"].includes(c)&&h.id&&h.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:h},c==="preview"&&(a.id=h.id)),await m()}return!0}catch(h){return a.error=/^ONBOARDING_[A-Z_]+$/.test(h.message??"")?h.message:"ONBOARDING_UNAVAILABLE",g&&(a.plan=null,a.uncertain=!0),c==="load"&&(a.loaded=!1),!1}finally{a.busy=null,p()}}return{act:r,snapshot:()=>({...a}),select:c=>a.busy||!a.record?.plans?.some(t=>t.kind==="apply"&&t.id===c)?!1:(a={...a,id:c,plan:null,observation:null},p(),!0),cancel:()=>{a.busy||(a.plan=null,p())},dispose:()=>{i=!0},resume:()=>{i=!1,p()}}}var dr=e=>nr[e]??"\u5C1A\u65E0\u5378\u8F7D\u56DE\u6267",ql={cancel_proven_unstarted_uninstall:"\u53D6\u6D88\u5DF2\u8BC1\u5B9E\u5C1A\u672A\u5F00\u59CB\u7684\u5378\u8F7D",rollback_incomplete_changes:"\u6062\u590D\u539F\u89C4\u5219\u4E0E Skill",finalize_receipt:"\u6838\u5BF9\u5DF2\u79FB\u9664\u89C4\u5219\u5E76\u5B8C\u6210\u63D2\u4EF6\u9000\u5F79",finish_recorded_uninstall:"\u7EE7\u7EED\u6838\u5BF9\u539F\u5378\u8F7D\u8BB0\u5F55"},Gl={user_configuration_credentials_sessions_preserved:"\u914D\u7F6E\u3001\u51ED\u636E\u4E0E\u4F1A\u8BDD\u4FDD\u7559",tasks_and_artifacts_preserved:"\u4EFB\u52A1\u4E0E\u6210\u679C\u4FDD\u7559",all_history_and_retired_image_preserved:"\u5378\u8F7D\u8BB0\u5F55\u3001\u5386\u53F2\u4E0E\u9000\u5F79\u63D2\u4EF6\u5907\u4EFD\u4FDD\u7559",unknown_sidecars_preserved:"\u7528\u6237\u65C1\u7F6E\u6587\u4EF6\u4FDD\u7559"};function Vl({request:e,operationId:o,stoppedUntil:l,busy:u,onMutation:f}){let i=(0,F.useRef)(f);i.current=f;let[a,p]=(0,F.useState)({}),[I]=(0,F.useState)(()=>ir(e,p,{operationId:o,onMutation:()=>i.current?.()})),[m,r]=(0,F.useState)(!1),[,c]=(0,F.useState)(0);(0,F.useEffect)(()=>(I.resume(),I.act("load"),()=>I.dispose()),[I]);let t=l>Date.now()&&!u,s=Tt({...a,busy:a.busy||u},{stopped:t}),d=a.plan,n=a.record;(0,F.useEffect)(()=>{if(r(!1),!d)return;let S=setTimeout(()=>{r(!1),c(D=>D+1)},Math.max(0,d.value.expiresAt-Date.now())+1);return()=>clearTimeout(S)},[d]),(0,F.useEffect)(()=>{if(r(!1),!l)return;let S=setTimeout(()=>{r(!1),c(D=>D+1)},Math.max(0,l-Date.now())+1);return()=>clearTimeout(S)},[l]);let x=S=>{if(r(!1),!u)return I.act(S,{stopped:l>Date.now()})},g=n?.plans?.filter(S=>S.kind==="apply")??[],h=n?.requests?.filter(S=>S.targetId===a.id&&S.receipt?.state!=="refused").at(-1),C=a.observation?.value;return F.default.createElement("div",{className:"version-maintenance-body"},F.default.createElement("p",{className:"fine-print"},"\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u5386\u53F2\u3002\u8FDC\u7AEF\u67E5\u8BE2\u548C\u6BCF\u6B21\u6267\u884C\u5747\u7531\u4F60\u624B\u52A8\u89E6\u53D1\uFF0C\u4E0D\u5B9A\u65F6\u5237\u65B0\u3001\u4E0D\u81EA\u52A8\u505C\u673A\u6216\u91CD\u542F\u3002"),F.default.createElement("div",{className:"form-actions"},F.default.createElement(v,{icon:"reset",disabled:!s.load,onClick:()=>x("load")},"\u91CD\u8BFB\u672C\u7AEF\u5378\u8F7D\u8BB0\u5F55")),a.busy&&F.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u5378\u8F7D\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&F.default.createElement(b,{tone:"warn"},F.default.createElement("span",{role:"alert"},"\u5F53\u524D\u7ED3\u679C\u5C1A\u9700\u6838\u5BF9\u3002\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u5378\u8F7D\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u3002"),F.default.createElement("code",null,a.error)),a.loaded&&!n?.supported&&F.default.createElement(b,null,"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u5B8C\u6574\u5378\u8F7D\u8BF7\u6C42\u5951\u7EA6\u3002\u4FDD\u7559\u539F\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u65E7\u63A7\u5236\u5668\u6216\u5220\u9664\u5386\u53F2\u6765\u53D6\u5F97\u6743\u9650\u3002"),n?.supported&&F.default.createElement(F.default.Fragment,null,F.default.createElement(b,null,"\u8FD9\u91CC\u53EA\u64A4\u4E0B\u81EA\u6709\u63D2\u4EF6\u3001\u6258\u7BA1\u89C4\u5219\u4E0E\u672A\u88AB\u4FEE\u6539\u7684 Skill\u3002\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u6210\u679C\u3001\u4F9D\u8D56\u548C\u5386\u53F2\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u6E05\u7A7A ECS\uFF0C\u4E5F\u4E0D\u5378\u8F7D\u672C\u5730\u63A7\u5236\u5668\u3002"),!t&&F.default.createElement(b,null,"\u9700\u8981\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C\u72B6\u6001\uFF1B\u82E5\u4ECD\u8FD0\u884C\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u505C\u673A\u5E76\u6838\u5BF9\u9000\u51FA\u3002\u8FD9\u91CC\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u6B62 Host\u3002"),a.otherPending&&F.default.createElement(b,{tone:"warn"},"\u7248\u672C\u5207\u6362\u3001\u89C4\u5219\u914D\u5957\u4ECD\u6709\u672A\u6838\u5BF9\u8BF7\u6C42\u3002\u8BF7\u5148\u67E5\u8BE2\u5E76\u5B8C\u6210\u539F\u4E8B\u52A1\uFF0C\u6682\u4E0D\u5F00\u59CB\u5378\u8F7D\u3002"),(n.pending||a.uncertain)&&F.default.createElement(b,{tone:"warn"},"\u5378\u8F7D\u5C1A\u672A\u6838\u5BF9\uFF0C\u91CD\u542F\u4E0E\u65B0\u7EF4\u62A4\u88AB\u963B\u6B62\u3002\u67E5\u8BE2\u4E0D\u4F1A\u91CD\u65B0\u6267\u884C\uFF0C\u6062\u590D\u9700\u8981\u5355\u72EC\u9884\u89C8\u786E\u8BA4\u3002"),g.length>0&&F.default.createElement("label",{className:"version-choice"},F.default.createElement("span",null,"\u5378\u8F7D\u8BB0\u5F55"),F.default.createElement("select",{"aria-label":"\u5378\u8F7D\u8BB0\u5F55",value:a.id,disabled:!!a.busy||u,onChange:S=>I.select(S.target.value)},g.map((S,D)=>F.default.createElement("option",{value:S.id,key:S.id},S.version," \xB7 \u7B2C ",D+1," \u6B21")))),F.default.createElement(_,{label:"\u5386\u53F2\u5378\u8F7D\u56DE\u6267",value:h?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":dr(h?.receipt?.state)}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(v,{disabled:!s.preview,onClick:()=>x("preview")},"\u9884\u89C8\u5378\u8F7D\u8303\u56F4"),F.default.createElement(v,{disabled:!s.status,onClick:()=>x("status")},"\u67E5\u8BE2\u539F\u5378\u8F7D"),F.default.createElement(v,{disabled:!s.recover_preview,onClick:()=>x("recover_preview")},"\u9884\u89C8\u5378\u8F7D\u6062\u590D")),C&&F.default.createElement("div",{className:"version-observation","aria-live":"polite"},F.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),F.default.createElement("p",null,C.canApply===!1?"\u53D1\u73B0\u51B2\u7A81\uFF0C\u672A\u751F\u6210\u53EF\u6267\u884C\u5378\u8F7D\u8BA1\u5212\u3002":C.state?dr(C.state):"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8BA1\u5212\uFF1B\u76EE\u6807\u6587\u4EF6\u5C1A\u672A\u6539\u53D8\u3002"),C.conflicts?.length>0&&F.default.createElement("ul",null,C.conflicts.map((S,D)=>F.default.createElement("li",{key:D},F.default.createElement("code",null,S.code),S.path&&F.default.createElement("span",null," \xB7 ",S.path))))),d&&F.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":"\u81EA\u6709\u80FD\u529B\u5378\u8F7D\u786E\u8BA4"},F.default.createElement("h3",null,d.action==="apply"?"\u786E\u8BA4\u5378\u8F7D\u81EA\u6709\u80FD\u529B":ql[d.value.action]??"\u786E\u8BA4\u6062\u590D\u539F\u5378\u8F7D"),F.default.createElement("p",null,d.action==="apply"?"\u5148\u4FDD\u62A4\u6027\u79FB\u9664\u81EA\u6709\u89C4\u5219\u4E0E Skill\uFF0C\u518D\u5C06\u5DF2\u6838\u9A8C\u63D2\u4EF6\u76EE\u5F55\u79FB\u5165\u4FDD\u7559\u533A\uFF1B\u7528\u6237\u4FEE\u6539\u6216\u672A\u77E5\u6587\u4EF6\u4F1A\u963B\u6B62\u64CD\u4F5C\u3002":"\u4EC5\u5904\u7406\u539F\u5378\u8F7D\u4E8B\u52A1\uFF1B\u4E0D\u4F1A\u91CD\u53D1\u5E94\u7528\u3001\u5220\u9664\u672A\u77E5\u9501\u6216\u91CD\u5EFA\u5F52\u5C5E\u3002"),F.default.createElement(_,{label:"\u7248\u672C",value:d.value.version??g.find(S=>S.id===a.id)?.version}),d.value.changes&&F.default.createElement("details",null,F.default.createElement("summary",null,"\u67E5\u770B ",d.value.changes.length," \u9879\u53D8\u5316"),F.default.createElement("ul",null,d.value.changes.map(S=>F.default.createElement("li",{className:"plan-item",key:S.path},F.default.createElement("code",null,S.path)," \xB7 ",S.action==="retire_owned_image"?"\u9000\u5F79\u5E76\u4FDD\u7559\u63D2\u4EF6\u5907\u4EFD":S.action==="remove"?"\u79FB\u9664\u81EA\u6709\u6587\u4EF6":"\u4EC5\u79FB\u9664\u81EA\u6709\u6258\u7BA1\u5757")))),d.value.retained&&F.default.createElement("details",{open:!0},F.default.createElement("summary",null,"\u4FDD\u7559\u5185\u5BB9"),F.default.createElement("ul",null,d.value.retained.map((S,D)=>F.default.createElement("li",{className:"plan-item",key:D},F.default.createElement("span",null,Gl[S.reason]??"\u4FDD\u7559\u7528\u6237\u5185\u5BB9"),F.default.createElement("code",null,S.path))))),F.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(d.value.expiresAt).toLocaleString(),"\u3002\u53D6\u6D88\u6216\u5173\u95ED\u540E\u4E0D\u4FDD\u7559\u6279\u51C6\u3002"),!s.confirm&&F.default.createElement(b,{tone:"warn"},"\u8BA1\u5212\u3001\u505C\u673A\u89C2\u5BDF\u6216\u8BF7\u6C42\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),F.default.createElement(J,{title:"\u6211\u5DF2\u6838\u5BF9\u79FB\u9664\u8303\u56F4\u4E0E\u4FDD\u7559\u5185\u5BB9",sub:"\u4E0D\u6E05\u7A7A Host\uFF0C\u4E0D\u5220\u9664\u4EFB\u52A1/\u51ED\u636E/\u5907\u4EFD\uFF0C\u4E0D\u81EA\u52A8\u91CD\u542F\u6216\u5F00\u653E\u5F00\u53D1\u5199\u5165\u3002",checked:m,onChange:r,disabled:!s.confirm}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(v,{kind:"primary",disabled:!s.confirm||!m,onClick:()=>{r(!1),u||I.act("confirm",{confirmed:!0,stopped:l>Date.now()})}},d.action==="apply"?"\u786E\u8BA4\u5378\u8F7D\u81EA\u6709\u80FD\u529B":"\u786E\u8BA4\u672C\u6B21\u6062\u590D"),F.default.createElement(v,{disabled:!!a.busy,onClick:()=>{r(!1),I.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function fr(e){let[o,l]=(0,F.useState)(!1);return F.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B"},F.default.createElement("div",{className:"version-heading"},F.default.createElement("div",null,F.default.createElement("h3",null,"\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B"),F.default.createElement("p",null,"\u64A4\u4E0B\u80FD\u529B\uFF0C\u4E0D\u6E05\u7A7A\u6570\u636E\u3002\u6BCF\u4E00\u6B65\u90FD\u53EF\u6838\u5BF9\u3002")),F.default.createElement(Re,{pose:"tasks"})),F.default.createElement(v,{"aria-expanded":o,disabled:e.busy,onClick:()=>l(u=>!u)},o?"\u6536\u8D77\u5378\u8F7D\u7EF4\u62A4":"\u5C55\u5F00\u5378\u8F7D\u7EF4\u62A4"),o&&F.default.createElement(Vl,{...e}))}var H=Le(me());var Wl={refused:"\u672C\u6B21\u786E\u8BA4\u5DF2\u5931\u6548\uFF0C\u6267\u884C\u524D\u62D2\u7EDD",not_requested:"\u5C1A\u65E0\u76EE\u6807\u7AEF\u5220\u9664\u610F\u56FE",unobserved:"\u672A\u89C2\u5BDF\u5230\u5220\u9664\u610F\u56FE\uFF0C\u539F\u8BF7\u6C42\u7ED3\u679C\u4ECD\u672A\u77E5",deleting:"\u56DE\u6536\u5C1A\u672A\u5B8C\u6210\uFF0C\u9700\u6838\u5BF9",committed:"\u8FD0\u884C\u65F6\u5DF2\u56DE\u6536\uFF0C\u7528\u6237\u6570\u636E\u548C\u5386\u53F2\u4FDD\u7559",reclamation_outcome_unknown:"\u539F\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5"},Ft=e=>e?.executionState==="running"?"\u540E\u53F0\u56DE\u6536\u6267\u884C\u4E2D\uFF0C\u624B\u52A8\u67E5\u8BE2\u8FDB\u5EA6":e?.executionState==="interrupted"?"\u540E\u53F0\u56DE\u6536\u5DF2\u4E2D\u65AD\uFF0C\u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4":Wl[e?.state]??"\u5C1A\u65E0\u56DE\u6536\u56DE\u6267",zl=e=>e.record?.requests?.filter(o=>o.targetId===e.id).at(-1);function Ut(e,{stopped:o=!1}={},l=Date.now()){let u=e.loaded&&!e.busy&&e.record?.supported,f=zl(e),i=f&&(f.receipt?.state==="deleting"&&f.receipt?.workerActive!==!0||f.state==="requested"&&f.observedAbsent),a=u&&o&&e.uninstallCompleted&&!e.otherPending&&!e.uncertain;return{load:!e.busy,preview:a&&!e.record.blocked,status:u&&(!!f&&f.receipt?.state!=="refused"||e.uncertain&&!!e.id),recover_preview:a&&!!i,confirm:a&&e.plan?.value.expiresAt>l&&(e.plan.action==="apply"?!e.record.blocked:!!i)}}function cr(e,o,{operationId:l,onMutation:u=()=>{},now:f=Date.now}={}){let i=!1,a={loaded:!1,busy:null,error:null,record:null,id:"",plan:null,observation:null,uncertain:!1,uncertainKey:null,uninstallCompleted:!1,otherPending:!1},p=()=>{i||o({...a})},I=(c,t={})=>e("cloud_version",{action:"reclaim_"+c,operationId:l,...t});async function m(){let c=await I("record"),t=await e("cloud_version",{action:"uninstall_record",operationId:l}),s=await e("cloud_version",{action:"record",operationId:l}),d=await e("cloud_version",{action:"rules_record",operationId:l});if([c,t,s,d].some(h=>h.operationId!==l))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let n=c.plans?.filter(h=>h.kind==="apply")??[],x=c.requests?.filter(h=>h.receipt?.state!=="refused").at(-1)?.targetId??n.at(-1)?.id??"";a={...a,loaded:!0,record:c,id:x,uninstallCompleted:t.pending===!1&&t.requests?.at(-1)?.receipt?.state==="committed",otherPending:!!(s.pending||d.pending||t.pending)};let g=c.requests?.find(h=>h.key===a.uncertainKey);g&&(g.state==="observed"||g.observedAbsent)&&(a.uncertain=!1,a.uncertainKey=null)}async function r(c,{confirmed:t=!1,stopped:s=!1}={}){if(i||a.busy)return!1;if(!Ut(a,{stopped:s},f())[c]||c==="confirm"&&!t)return a.error="ONBOARDING_RECLAIM_UI_REFRESH_REQUIRED",p(),!1;let n=a.plan,x=c==="confirm"?n.action:c,g=c==="confirm";a={...a,busy:x,error:null,observation:null,...g?{}:{plan:null}},p();try{if(c==="load")await m(),a.observation=null;else{g&&(a.uncertain=!0,a.uncertainKey=x+":"+n.value.id,u());let h=await I(x,g?{id:n.value.id,fingerprint:n.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:x,value:h,observedAt:f()},a.plan=null,["preview","recover_preview"].includes(c)&&h.id&&h.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:h}),await m()}return!0}catch(h){return a.error=/^ONBOARDING_[A-Z_]+$/.test(h.message??"")?h.message:"ONBOARDING_UNAVAILABLE",g&&(a.plan=null,a.uncertain=!0),c==="load"&&(a.loaded=!1),!1}finally{a.busy=null,p()}}return{act:r,snapshot:()=>({...a}),cancel:()=>{a.busy||(a.plan=null,p())},dispose:()=>{i=!0},resume:()=>{i=!1,p()}}}function Kl({request:e,operationId:o,stoppedUntil:l,busy:u,onMutation:f}){let i=(0,H.useRef)(f);i.current=f;let[a,p]=(0,H.useState)({}),[I]=(0,H.useState)(()=>cr(e,p,{operationId:o,onMutation:()=>i.current?.()})),[m,r]=(0,H.useState)(!1),[,c]=(0,H.useState)(0);(0,H.useEffect)(()=>(I.resume(),I.act("load"),()=>I.dispose()),[I]);let t=a.plan,s=l>Date.now()&&!u,d=Ut({...a,busy:a.busy||u},{stopped:s});(0,H.useEffect)(()=>{if(r(!1),!t)return;let h=setTimeout(()=>{r(!1),c(C=>C+1)},Math.max(0,t.value.expiresAt-Date.now())+1);return()=>clearTimeout(h)},[t]),(0,H.useEffect)(()=>{if(r(!1),!l)return;let h=setTimeout(()=>{r(!1),c(C=>C+1)},Math.max(0,l-Date.now())+1);return()=>clearTimeout(h)},[l]);let n=h=>{if(r(!1),!u)return I.act(h,{stopped:l>Date.now()})},x=a.record?.requests?.at(-1),g=a.observation?.value;return H.default.createElement("div",{className:"version-maintenance-body"},H.default.createElement("p",{className:"fine-print"},"\u6253\u5F00\u53EA\u8BFB\u672C\u7AEF\u8BB0\u5F55\u3002\u8FDC\u7AEF\u67E5\u8BE2\u548C\u6BCF\u6B21\u6267\u884C\u5747\u624B\u52A8\u89E6\u53D1\uFF1B\u4E0D\u5B9A\u65F6\u5237\u65B0\uFF0C\u4E0D\u81EA\u52A8\u505C\u673A\u3001\u91CD\u542F\u6216\u91CD\u590D\u5220\u9664\u3002"),H.default.createElement("div",{className:"form-actions"},H.default.createElement(v,{icon:"reset",disabled:!d.load,onClick:()=>n("load")},"\u91CD\u8BFB\u672C\u7AEF\u56DE\u6536\u8BB0\u5F55")),a.busy&&H.default.createElement("p",{role:"status"},"\u6B63\u5728\u5904\u7406\u672C\u6B21\u56DE\u6536\u8BF7\u6C42\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C\u3002"),a.error&&H.default.createElement(b,{tone:"warn"},H.default.createElement("span",{role:"alert"},a.error==="ONBOARDING_CLOUD_RUNTIME_RECLAIM_PLAN_EXPIRED"?"\u672C\u6B21\u786E\u8BA4\u5DF2\u5931\u6548\u3002\u8BF7\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\u540E\u91CD\u65B0\u9884\u89C8\uFF1B\u65E7\u786E\u8BA4\u4E0D\u4F1A\u91CD\u53D1\u3002":"\u5F53\u524D\u7ED3\u679C\u9700\u8981\u6838\u5BF9\u3002\u5148\u91CD\u8BFB\u672C\u7AEF\u8BB0\u5F55\uFF0C\u518D\u67E5\u8BE2\u539F\u56DE\u6536\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\u5220\u9664\u3002"),H.default.createElement("code",null,a.error)),a.loaded&&!a.record?.supported&&H.default.createElement(b,null,"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u6301\u4E45\u56DE\u6536\u8BF7\u6C42\u3002\u4FDD\u6301\u539F\u73AF\u5883\uFF0C\u4E0D\u6539\u5199\u65E7\u5F52\u6863\u8865\u80FD\u529B\u3002"),a.record?.supported&&H.default.createElement(H.default.Fragment,null,H.default.createElement(b,{tone:"warn"},"\u56DE\u6536\u4F1A\u6C38\u4E45\u5220\u9664\u539F\u6E05\u5355\u4E2D\u7684\u4F9D\u8D56\u548C\u8FD0\u884C\u65F6\u7A0B\u5E8F\u6587\u4EF6\uFF0C\u4E0D\u627F\u8BFA\u6062\u590D\u5DF2\u5220\u9664\u6587\u4EF6\u3002\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u6210\u679C\u3001\u9000\u5F79\u63D2\u4EF6\u548C\u5386\u53F2\u5907\u4EFD\u4FDD\u7559\uFF1B\u4E0D\u662F\u6E05\u7A7A ECS \u6216\u6574\u4E2A\u76EE\u5F55\u3002"),!a.uninstallCompleted&&H.default.createElement(b,null,"\u8BF7\u5148\u5B8C\u6210\u4E0A\u65B9\u201C\u4FDD\u62A4\u6027\u5378\u8F7D\u81EA\u6709\u80FD\u529B\u201D\uFF0C\u5E76\u624B\u52A8\u6838\u5BF9\u5378\u8F7D\u56DE\u6267\u3002"),!s&&H.default.createElement(b,null,"\u8BF7\u5148\u5728\u4E0A\u65B9\u624B\u52A8\u6838\u9A8C Host \u5DF2\u9000\u51FA\u3002\u8FD9\u91CC\u4E0D\u4F1A\u4EE3\u4E3A\u505C\u673A\uFF0C\u4E5F\u4E0D\u628A\u65E7\u89C2\u5BDF\u5F53\u4F5C\u5F53\u524D\u72B6\u6001\u3002"),a.otherPending&&H.default.createElement(b,{tone:"warn"},"\u7248\u672C\u3001\u89C4\u5219\u6216\u5378\u8F7D\u4ECD\u6709\u5F85\u6838\u5BF9\u4E8B\u52A1\u3002\u5148\u5904\u7406\u539F\u8BB0\u5F55\uFF0C\u4E0D\u5F00\u59CB\u56DE\u6536\u3002"),x?.receipt?.workerActive===!0&&!a.uncertain&&H.default.createElement(b,null,"\u4E0A\u6B21\u89C2\u5BDF\u5230\u540E\u53F0\u56DE\u6536\u6B63\u5728\u6267\u884C\uFF0C\u4E0D\u4EE3\u8868\u5DF2\u7ECF\u5B8C\u6210\u3002\u8BF7\u624B\u52A8\u67E5\u8BE2\u8FDB\u5EA6\uFF1B\u8FD0\u884C\u671F\u95F4\u4E0D\u80FD\u91CD\u590D\u542F\u52A8\u6216\u786E\u8BA4\u6062\u590D\u3002"),(a.record.pending&&x?.receipt?.workerActive!==!0||a.uncertain)&&H.default.createElement(b,{tone:"warn"},"\u539F\u56DE\u6536\u7ED3\u679C\u5C1A\u672A\u5B8C\u6574\u6838\u5BF9\uFF1B\u67E5\u8BE2\u4E0D\u7EE7\u7EED\u5220\u9664\u3002\u5373\u4F7F\u6682\u672A\u89C2\u5BDF\u5230\u76EE\u6807\u610F\u56FE\uFF0C\u4E5F\u4E0D\u8868\u793A\u65E7\u8BF7\u6C42\u4ECE\u672A\u6267\u884C\uFF0C\u6062\u590D\u987B\u53E6\u884C\u786E\u8BA4\u3002"),H.default.createElement(_,{label:"\u5386\u53F2\u56DE\u6536\u56DE\u6267",value:a.uncertain||x?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":Ft(x?.receipt)}),H.default.createElement("div",{className:"form-actions"},H.default.createElement(v,{disabled:!d.preview,onClick:()=>n("preview")},"\u9884\u89C8\u8FD0\u884C\u65F6\u56DE\u6536"),H.default.createElement(v,{disabled:!d.status,onClick:()=>n("status")},"\u67E5\u8BE2\u539F\u56DE\u6536"),H.default.createElement(v,{disabled:!d.recover_preview,onClick:()=>n("recover_preview")},"\u9884\u89C8\u539F\u56DE\u6536\u6062\u590D")),g&&H.default.createElement("div",{className:"version-observation","aria-live":"polite"},H.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),H.default.createElement("p",null,g.canApply?"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8303\u56F4\uFF0C\u5C1A\u672A\u5220\u9664\u6587\u4EF6\u3002":Ft(g)),g.total>0&&H.default.createElement(_,{label:"\u5DF2\u8BB0\u8D26\u6761\u76EE",value:`${g.completed??0} / ${g.total}`})),t&&H.default.createElement("section",{className:"cloud-confirm version-confirm","aria-label":"\u72EC\u7ACB\u8FD0\u884C\u65F6\u56DE\u6536\u786E\u8BA4"},H.default.createElement("h3",null,t.action==="apply"?"\u786E\u8BA4\u56DE\u6536\u8FD0\u884C\u65F6\u6587\u4EF6":"\u786E\u8BA4\u6062\u590D\u539F\u56DE\u6536"),H.default.createElement("p",null,t.action==="apply"?"\u53EA\u5904\u7406\u539F\u7B7E\u540D\u6E05\u5355\uFF0C\u9047\u5230\u672A\u77E5\u6587\u4EF6\u6216\u5F52\u5C5E\u53D8\u5316\u5C31\u4FDD\u7559\u5F85\u6838\u5BF9\u3002":t.value.action==="start_original_manifest_if_still_unobserved"?"\u5F53\u524D\u672A\u89C2\u5BDF\u5230\u76EE\u6807\u610F\u56FE\u3002\u518D\u6B21\u786E\u8BA4\u540E\uFF0C\u4EC5\u5728\u4ECD\u672A\u51FA\u73B0\u610F\u56FE\u4E14\u539F\u8303\u56F4\u4ECD\u543B\u5408\u65F6\u767B\u8BB0\u5E76\u6267\u884C\uFF1B\u8FDF\u5230\u8BF7\u6C42\u4E0D\u80FD\u89E6\u53D1\u91CD\u590D\u5220\u9664\u3002":"\u53EA\u7EE7\u7EED\u539F\u6E05\u5355\u7684\u672A\u5B8C\u6210\u90E8\u5206\uFF0C\u4E0D\u6269\u5927\u8303\u56F4\u3001\u4E0D\u91CD\u65B0\u5B89\u88C5\u6216\u542F\u52A8 Host\u3002"),t.action==="apply"&&H.default.createElement(H.default.Fragment,null,H.default.createElement(_,{label:"\u56DE\u6536\u8303\u56F4",value:`${t.value.files} \u4E2A\u6587\u4EF6 \xB7 ${t.value.entries} \u4E2A\u6761\u76EE`}),H.default.createElement(_,{label:"\u6587\u4EF6\u603B\u91CF",value:`${(t.value.bytes/1024/1024).toFixed(2)} MiB`}),H.default.createElement("details",null,H.default.createElement("summary",null,"\u67E5\u770B\u5C06\u6E05\u7406\u7684\u8FD0\u884C\u65F6\u76EE\u5F55"),H.default.createElement("ul",null,t.value.removeRoots.map(h=>H.default.createElement("li",{className:"plan-item",key:h},H.default.createElement("code",null,h)))))),H.default.createElement("details",{open:!0},H.default.createElement("summary",null,"\u59CB\u7EC8\u4FDD\u7559"),H.default.createElement("ul",null,H.default.createElement("li",null,"\u539F\u751F\u914D\u7F6E\u3001\u51ED\u636E\u3001\u4F1A\u8BDD\u3001\u4E34\u65F6\u6570\u636E\u4E0E\u4EFB\u52A1\u6210\u679C"),H.default.createElement("li",null,"\u539F\u5B89\u88C5\u6E90\u3001\u9000\u5F79\u63D2\u4EF6\u3001\u63A7\u5236\u8D26\u672C\u53CA\u5168\u90E8\u5386\u53F2\u5907\u4EFD"),H.default.createElement("li",null,"\u7528\u6237\u539F\u6709\u89C4\u5219\u3001\u65C1\u7F6E\u6587\u4EF6\u53CA\u975E\u672C\u6B21\u6E05\u5355\u5185\u5BB9"))),H.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u81F3 ",new Date(t.value.expiresAt).toLocaleString(),"\u3002\u5173\u95ED\u6216\u53D6\u6D88\u4E0D\u4FDD\u7559\u6279\u51C6\u3002"),!d.confirm&&H.default.createElement(b,{tone:"warn"},"\u8BA1\u5212\u3001\u505C\u673A\u89C2\u5BDF\u6216\u8BF7\u6C42\u72B6\u6001\u5DF2\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EED\u671F\u3002"),H.default.createElement(J,{title:"\u6211\u786E\u8BA4\u4EC5\u56DE\u6536\u4E0A\u8FF0\u8FD0\u884C\u65F6\u6587\u4EF6\uFF0C\u5E76\u7406\u89E3\u5220\u9664\u4E0D\u53EF\u9006",sub:"\u4FDD\u7559\u7528\u6237\u6570\u636E\u4E0E\u5168\u90E8\u5386\u53F2\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u542F\u6216\u5F00\u653E\u4E1A\u52A1\u5199\u5165\u3002",checked:m,onChange:r,disabled:!d.confirm}),H.default.createElement("div",{className:"form-actions"},H.default.createElement(v,{kind:"primary",disabled:!d.confirm||!m,onClick:()=>{r(!1),u||I.act("confirm",{confirmed:!0,stopped:l>Date.now()})}},t.action==="apply"?"\u786E\u8BA4\u6C38\u4E45\u56DE\u6536\u8FD0\u884C\u65F6":"\u786E\u8BA4\u672C\u6B21\u6062\u590D"),H.default.createElement(v,{disabled:!!a.busy,onClick:()=>{r(!1),I.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function pr(e){let[o,l]=(0,H.useState)(!1);return H.default.createElement("section",{className:"cloud-plan version-maintenance","aria-label":"\u72EC\u7ACB\u8FD0\u884C\u65F6\u7CBE\u786E\u56DE\u6536"},H.default.createElement("div",{className:"version-heading"},H.default.createElement("div",null,H.default.createElement("h3",null,"\u72EC\u7ACB\u8FD0\u884C\u65F6\u7CBE\u786E\u56DE\u6536"),H.default.createElement("p",null,"\u5B8C\u6210\u5378\u8F7D\u540E\u518D\u56DE\u6536\u7A0B\u5E8F\u6587\u4EF6\uFF0C\u6570\u636E\u4E0E\u5386\u53F2\u7559\u4E0B\u3002")),H.default.createElement(Re,{pose:"tasks"})),H.default.createElement(v,{"aria-expanded":o,disabled:e.busy,onClick:()=>l(u=>!u)},o?"\u6536\u8D77\u8FD0\u884C\u65F6\u56DE\u6536":"\u5C55\u5F00\u8FD0\u884C\u65F6\u56DE\u6536"),o&&H.default.createElement(Kl,{...e}))}var mr={reclamation_needs_review:"\u8FD0\u884C\u65F6\u56DE\u6536\u5F85\u6838\u5BF9\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2",runtime_reclaimed:"\u8FD0\u884C\u65F6\u5DF2\u56DE\u6536\uFF0C\u6570\u636E\u4E0E\u5386\u53F2\u4FDD\u7559",plugin_uninstalled:"\u81EA\u6709\u80FD\u529B\u5DF2\u5378\u8F7D\uFF0C\u6570\u636E\u4FDD\u7559",uninstall_needs_review:"\u5378\u8F7D\u5F85\u6838\u5BF9\uFF0C\u7981\u6B62\u91CD\u542F",stop_outcome_unknown:"\u505C\u6B62\u7ED3\u679C\u5F85\u6838\u5BF9",cleanup_running:"\u6B63\u5728\u6309\u767B\u8BB0\u6E05\u5355\u6E05\u7406",cleanup_pending:"\u6E05\u7406\u5DF2\u4E2D\u65AD\uFF0C\u5F85\u786E\u8BA4\u7EE7\u7EED",not_started:"\u5C1A\u672A\u6267\u884C",preparing:"\u51C6\u5907\u6587\u4EF6\u4E2D",prepared:"\u5B89\u88C5\u6587\u4EF6\u5DF2\u51C6\u5907",needs_review:"\u9700\u6838\u5BF9\uFF0C\u672A\u81EA\u52A8\u91CD\u8BD5",rolling_back:"\u6B63\u5728\u56DE\u6EDA\uFF0F\u7ED3\u679C\u5F85\u6838\u5BF9",rolled_back:"\u5DF2\u56DE\u6EDA",retiring:"\u9694\u79BB\u5904\u7406\u4E2D",retired:"\u65E7\u8BF7\u6C42\u5DF2\u9694\u79BB\uFF0C\u4FDD\u7559\u73B0\u573A",launching:"\u542F\u52A8\u5B89\u88C5\u8FDB\u7A0B",installing:"\u5B89\u88C5\u56FA\u5B9A\u4F9D\u8D56",configuring:"\u4FDD\u62A4\u6027\u914D\u7F6E\u89C4\u5219\u4E0E Skill",starting_host:"\u6B63\u5728\u542F\u52A8\u72EC\u7ACB Host",restart_needs_review:"\u91CD\u65B0\u542F\u52A8\u5DF2\u4E2D\u65AD\uFF0C\u9700\u6838\u5BF9",restarting:"\u91CD\u65B0\u542F\u52A8\u539F\u751F Host",restart_outcome_unknown:"\u91CD\u65B0\u542F\u52A8\u7ED3\u679C\u5F85\u6838\u5BF9",host_ready:"\u539F\u751F Host \u5C31\u7EEA",host_stopped:"\u539F\u751F Host \u5DF2\u505C\u6B62",runtime_ready:"\u4F9D\u8D56\u5DF2\u5B89\u88C5",failed:"\u5931\u8D25\uFF0C\u4FDD\u7559\u73B0\u573A",stopped:"\u5B89\u88C5\u8FDB\u7A0B\u5DF2\u505C\u6B62",outcome_unknown:"\u53D1\u9001\u7ED3\u679C\u5F85\u6838\u5BF9",rollback_outcome_unknown:"\u56DE\u6EDA\u7ED3\u679C\u5F85\u6838\u5BF9"};function Ht(e){let o=e.source,l=o?.remote,u=e.binding,f=o?.state==="retired"&&typeof o.root=="string"&&l?.state==="retired"&&l.operationId===o.operationId&&l.root===o.root&&l.barrier==="regular-file-no-replace"&&l.originalRequestIsolated===!0&&l.originalProcessTerminated===!1,i=u?.configured===!0&&Number.isSafeInteger(u.revision)&&u.revision>0&&typeof u.installationId=="string"&&/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/.test(u.installationId);return{fenced:f,replacement:!!(f&&i&&!o.root.endsWith("/host-"+u.installationId)),originalBinding:!!(f&&i&&o.root.endsWith("/host-"+u.installationId))}}var Ja=e=>["plugin_uninstalled","runtime_reclaimed","uninstall_needs_review","reclamation_needs_review"].includes(e?.state),Ir=e=>e?.state==="not_started"||e?.inventoryCount===0&&(e.workerActive===!0||e.childActive===!0),Lr=e=>e?.contract===1&&e.nativeWorkMayResume===!0&&e.imMayReconnect===!0&&e.configurationPreserved===!0&&e.automaticTaskApproval===!1&&e.automaticRetry===!1&&e.requiresExplicitAcknowledgement===!0,Rl=e=>e?.contract===1&&e.lateNativeInputMayAbort===!0&&e.imInFlightMayAbort===!0&&e.ownQueuesRetained===!0&&e.ingressFrozen===!1&&e.automaticStop===!1&&e.requiresExplicitAcknowledgement===!0;function qt(e,{preparation:o=!1,runtime:l=!1}={},u=Date.now()){let f=Ht(e),i=e.fresh&&!e.uncertain&&u-e.observedAt<6e4,a=!e.busy&&e.loaded,p=["not_started","rolled_back"].includes(e.source?.state)||f.replacement&&i,I=e.fresh&&e.source?.state==="prepared",m=I&&u-e.observedAt<6e4,r=e.runtime,c=r&&(r.workerActive||r.childActive||r.hostActive||r.restartLauncherActive||r.cleanupActive),t=r?.state==="stop_outcome_unknown"||r?.stop?.reconcileRequired===!0,s=r&&r.workerActive===!1&&r.childActive===!1&&r.hostActive===!1&&r.restartLauncherActive!==!0&&r.cleanupActive!==!0,d=a&&l&&e.runtimeRecorded&&!Ir(r)&&!Ja(r)&&m&&!e.uncertain&&e.repairCapability?.supported,n=e.repairPending===!0,x={load:!e.busy,refresh:a,preview:a&&o&&p&&!e.uncertain,retire:a&&o&&i&&["needs_review","retiring"].includes(e.source?.state)&&e.source?.remote?.state==="absent",new_target:a&&o&&i&&f.originalBinding,stage:a&&o&&!e.uncertain&&(p||f.replacement&&e.fresh)&&e.plan?.canStage===!0&&e.plan.expiresAt>u,runtime_preview:a&&l&&m&&!e.runtimeRecorded&&r?.state==="not_started",runtime_start:a&&l&&I&&!e.uncertain&&!e.runtimeRecorded&&!!e.runtimePlan&&e.runtimePlan.expiresAt>u,runtime_restart_preview:a&&l&&!t&&m&&!e.uncertain&&s&&r.restartSupported&&r.restartConsentContract===1&&["host_stopped","failed","stopped"].includes(r.state),runtime_restart:a&&l&&!t&&I&&!e.uncertain&&s&&r.restartSupported&&r.restartConsentContract===1&&Lr(e.restartPlan?.resumePolicy)&&e.restartPlan?.expiresAt>u,runtime_reconcile_restart:a&&l&&!t&&m&&s&&r?.state==="restart_needs_review",runtime_stop_preview:a&&l&&!t&&r?.cleanupActive!==!0&&m&&e.runtimeRecorded&&r?.stopPlanSupported===!0&&!!c,runtime_stop:a&&l&&!t&&m&&!e.uncertain&&e.runtimeRecorded&&(r?.hostActive!==!0||r?.hostStopSupported===!0&&r.hostStopConsentContract===1&&e.stopPlan?.scope==="owned_host_with_loss_risk"&&Rl(e.stopPlan.risk))&&e.stopPlan?.canApply===!0&&e.stopPlan.expiresAt>u,runtime_stop_reconcile:a&&l&&m&&r?.stop?.reconcileRequired===!0&&r.stop.activeInstallerMembers===0&&r.stop.hostActive!==!0,runtime_rollback:a&&l&&m&&e.runtimeRecorded&&s&&r?.stop?.reconcileRequired!==!0&&["host_stopped","runtime_ready","failed","stopped","needs_review"].includes(r?.state),runtime_rollback_resume:a&&l&&!t&&m&&e.runtimeRecorded&&s&&r?.state==="cleanup_pending"&&r.cleanupSupported===!0&&typeof r.cleanupFingerprint=="string",runtime_reconcile_rollback:a&&l&&!t&&m&&e.runtimeRecorded&&r?.state==="rollback_outcome_unknown",runtime_repair_preview:d&&!n&&!t&&s,runtime_repair_apply:a&&l&&!Ja(r)&&I&&!e.uncertain&&!n&&!t&&s&&e.repairCapability?.supported&&e.repairPlan?.canApply===!0&&e.repairPlan.expiresAt>u,runtime_repair_recover:d&&!t&&s&&e.repairStatus?.repair?.recoveryRequired===!0&&e.repairStatus.repair.id===e.repairOriginalId,runtime_repair_verify:e.repairStatus?.repair?.activationSupported!==!1&&d&&!n&&!t&&e.repairCapability?.activationSupported&&r?.nativeHostReady===!0&&r.hostActive===!0&&e.repairStatus?.repair?.state==="committed",rollback:a&&m&&(!e.runtimeRecorded&&r?.state==="not_started"||r?.state==="rolled_back")};if(n)for(let g of["runtime_start","runtime_restart_preview","runtime_restart","runtime_reconcile_restart","runtime_stop_preview","runtime_stop","runtime_stop_reconcile","runtime_rollback","runtime_rollback_resume","runtime_reconcile_rollback","rollback"])x[g]=!1;return x}function hr(e,o,l={},u=Date.now){let f={loaded:!1,busy:!1,fresh:!1,uncertain:!1,source:null,binding:null,runtime:null,runtimeRecorded:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,error:null,observedAt:null,optionalIm:!1,repairCapability:null,repairStatus:null,repairPending:!1,repairOriginalId:null},i=!0,a=r=>{f={...f,...r},i&&o(f)};async function p(r){if(r.state!=="prepared"||!l.runtime)return{runtime:null,runtimeRecorded:!1,repairCapability:null,repairStatus:null,repairPlan:null,repairPending:!1,repairOriginalId:null,repairFresh:!1};let c=await e("cloud_runtime",{action:"runtime_record",operationId:r.operationId});return{runtime:c.receipt??{state:c.recorded?"outcome_unknown":"not_started"},runtimeRecorded:c.recorded,repairCapability:c.pluginRepair??null,repairStatus:c.pluginRepair?.receipt??null,repairPending:c.pluginRepair?.pending===!0,repairOriginalId:c.pluginRepair?.id??null,repairFresh:!1}}let I=new Set(["runtime_repair_apply","runtime_repair_recover","stage","retire","new_target","runtime_start","runtime_stop","runtime_stop_reconcile","runtime_rollback","runtime_reconcile_rollback","runtime_restart","runtime_reconcile_restart","runtime_rollback_resume","rollback"]);async function m(r,c=!1){if(!i||f.busy)return!1;if(!qt(f,l,u())[r])return a({error:"ACTION_REQUIRES_REFRESH"}),!1;if(I.has(r)&&c!==!0)return a({error:"CONFIRMATION_REQUIRED"}),!1;a({busy:!0,error:null});try{if(r==="load"){let t=await e("cloud_operation_status",{refresh:!1});a({source:t,binding:t.state==="retired"?await e("ssh_status",{}):null,...await p(t),loaded:!0,fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1})}else if(r==="refresh"){a({fresh:!1,binding:null,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let t=await e("cloud_operation_status",{refresh:!0});if(a({source:t,runtime:null,runtimeRecorded:!1}),t.state==="retired"&&a({binding:await e("ssh_status",{})}),t.state==="prepared"&&l.runtime){let s=await e("cloud_runtime",{action:"runtime_status",operationId:t.operationId}),d=await p(t);if(a({...d,runtime:s}),Ja(s)&&!(s.managedRestartBlocked===!0&&s.hostActive===!1&&s.childActive===!1&&s.workerActive===!1&&s.restartLauncherActive!==!0&&s.cleanupActive!==!0))throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");if(d.repairCapability?.supported&&!Ja(s)&&(!Ir(s)||d.repairPending)){let n=await e("cloud_runtime",{action:"runtime_repair_status",operationId:t.operationId});a({repairStatus:n,repairPending:n.state==="repair_outcome_unknown"||n.repair?.recoveryRequired===!0,repairOriginalId:n.originalRepairId??n.repair?.id??d.repairOriginalId,repairFresh:!0})}}else t.state==="prepared"&&a({runtime:{state:"not_started"}});a({fresh:!0,uncertain:!1,observedAt:u()})}else if(r==="preview"){a({plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let t=await e("ssh_status",{});if(!t.configured)throw Error("ONBOARDING_SSH_NOT_BOUND");a({plan:await e("cloud_preview",{expectedRevision:t.revision}),uncertain:!1})}else if(r==="stage"){let t=f.plan;a({plan:null,fresh:!1,uncertain:!0});let s=await e("cloud_stage",{id:t.id,fingerprint:t.fingerprint,confirm:!0});a({source:s,runtime:null,runtimeRecorded:!1,uncertain:s.state!=="prepared"})}else if(r==="retire"){let t=f.source;a({fresh:!1,uncertain:!0,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let s=await e("cloud_retire",{operationId:t.operationId,expectedRevision:t.revision,confirm:!0});a({source:s,binding:null,uncertain:s.state!=="retired"})}else if(r==="new_target"){let t=f.source,s=f.binding;a({fresh:!1,uncertain:!0,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1});let d=await e("cloud_new_target",{operationId:t.operationId,expectedBindingRevision:s.revision,confirm:!0});a({binding:d,uncertain:!1})}else if(r==="rollback"){let t=f.source;a({fresh:!1,uncertain:!0});let s=await e("cloud_rollback",{operationId:t.operationId,expectedRevision:t.revision,confirm:!0});a({source:s,runtime:null,runtimeRecorded:!1,uncertain:s.state!=="rolled_back"})}else{let t={action:r,operationId:f.source.operationId};I.has(r)&&(t.confirm=!0),r==="runtime_repair_apply"&&(t.repairId=f.repairPlan.id,t.fingerprint=f.repairPlan.fingerprint),r==="runtime_repair_recover"&&(t.repairId=f.repairOriginalId),r==="runtime_repair_verify"&&(t.repairId=f.repairStatus.repair.id),r==="runtime_preview"&&f.optionalIm&&(t.im=!0),r==="runtime_start"&&(t.fingerprint=f.runtimePlan.fingerprint,f.runtimePlan.optionalIm&&(t.im=!0)),r==="runtime_restart"&&(t.fingerprint=f.restartPlan.fingerprint,t.acknowledgeNativeResume=!0),r==="runtime_stop"&&(t.stopPlan=f.stopPlan.stopPlan,t.stopPlan.schema===2&&(t.acknowledgeNativeInterruption=!0)),r==="runtime_stop_reconcile"&&(t.stopPlan=f.runtime.stop.stopPlan),r==="runtime_rollback_resume"&&(t.fingerprint=f.runtime.cleanupFingerprint),I.has(r)&&a({fresh:!1,uncertain:!0,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1}),["runtime_repair_apply","runtime_repair_recover"].includes(r)&&a({repairPending:!0,repairOriginalId:t.repairId});let s=await e("cloud_runtime",t);if(r==="runtime_repair_preview"){if(!Array.isArray(s.changes)||s.scope!=="stopped_owned_plugin_files_only")throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");a({repairPlan:s})}else if(["runtime_repair_apply","runtime_repair_recover","runtime_repair_verify"].includes(r)){let d=s.state==="repair_outcome_unknown"||s.repair?.recoveryRequired===!0;a({repairStatus:s,repairFresh:!0,repairPending:d,uncertain:d,repairOriginalId:s.originalRepairId??s.repair?.id??t.repairId})}else if(r==="runtime_preview"){if(f.optionalIm?s.optionalIm?.package!=="@xmanrui/dsh-im"||s.optionalIm?.version!=="5.0.3":s.optionalIm)throw Error("ONBOARDING_CLOUD_RUNTIME_OPTIONAL_IM_UNSUPPORTED");a({runtimePlan:{...s,expiresAt:u()+3e5}})}else if(r==="runtime_stop_preview")a({stopPlan:s});else if(r==="runtime_restart_preview"){if(!Lr(s.resumePolicy))throw Error("ONBOARDING_TRANSPORT_RESPONSE_INVALID");a({restartPlan:{...s,expiresAt:u()+3e5}})}else a({runtime:s,runtimeRecorded:!0,uncertain:!["rolled_back","host_stopped","stopped","launching","installing","host_ready"].includes(s.state)})}return!0}catch(t){return a({fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,uncertain:!0,error:/^ONBOARDING_[A-Z_]+$/.test(t.message)?t.message:"OBSERVATION_UNCONFIRMED"}),!1}finally{a({busy:!1})}}return{act:m,get:()=>f,selectIm:r=>typeof r!="boolean"||!l.optionalIm||f.busy||f.runtimeRecorded?!1:(a({optionalIm:r,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1,error:null}),!0),invalidate:()=>a({fresh:!1,plan:null,runtimePlan:null,restartPlan:null,stopPlan:null,repairPlan:null,repairFresh:!1}),resume:()=>{i=!0},dispose:()=>{i=!1}}}var Za=e=>mr[e]??"\u5F85\u6838\u5BF9",Xl={ONBOARDING_CLOUD_RUNTIME_VERSION_IMAGE_DRIFT:"\u5F53\u524D\u63D2\u4EF6\u6587\u4EF6\u4E0E\u7B7E\u540D\u7248\u672C\u4E0D\u7B26\uFF0C\u64CD\u4F5C\u5DF2\u505C\u6B62\u5E76\u4FDD\u7559\u73B0\u573A\u3002\u8BF7\u6838\u5BF9\u5F53\u524D\u7248\u672C\uFF0C\u518D\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D\uFF1B\u4E0D\u8981\u91CD\u8BD5\u542F\u52A8\u6216\u91CD\u5EFA\u5F52\u5C5E\u3002",ONBOARDING_CLOUD_RUNTIME_VERSION_RECOVERY_REQUIRED:"\u539F\u7248\u672C\u5207\u6362\u5C1A\u672A\u5B8C\u6210\u3002\u8BF7\u67E5\u8BE2\u540C\u4E00\u7248\u672C\u4E8B\u52A1\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\uFF1B\u4E0D\u8981\u91CD\u65B0\u5B89\u88C5\u3001\u4FEE\u590D\u6216\u542F\u52A8\u3002",ONBOARDING_CLOUD_RUNTIME_REPAIR_ACTIVATION_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u6B64\u8DEF\u5F84\u7684\u72EC\u7ACB\u52A0\u8F7D\u6838\u9A8C\u3002\u517C\u5BB9\u6587\u4EF6\u53EF\u4EE5\u5347\u7EA7\uFF0C\u4F46\u65E7\u63A7\u5236\u5668\u4E0D\u4F1A\u81EA\u52A8\u83B7\u5F97\u65B0\u6743\u9650\uFF1B\u4FDD\u7559\u6587\u4EF6\u56DE\u6267\uFF0C\u4E0D\u66FF\u6362\u539F\u5F52\u6863\u3002",ONBOARDING_CLOUD_RUNTIME_VERSION_HISTORY_PRESERVED:"\u5B58\u5728\u7248\u672C\u6216\u4FEE\u590D\u5386\u53F2\uFF0C\u666E\u901A\u5B89\u88C5\u56DE\u6EDA\u4E0D\u80FD\u6E05\u7406\u6B64\u5B9E\u4F8B\u3002\u8BF7\u4FDD\u7559\u5907\u4EFD\u3001\u89C4\u5219\u548C\u4EFB\u52A1\u6570\u636E\uFF1B\u53EF\u53E6\u884C\u9884\u89C8\u81EA\u6709\u80FD\u529B\u5378\u8F7D\uFF0C\u4F46\u4E0D\u4F1A\u56DE\u6536\u6574\u4E2A Host\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_RESTART_REQUIRED:"\u9700\u8981\u672C\u6B21\u4FEE\u590D\u4E4B\u540E\u72EC\u7ACB\u786E\u8BA4\u7684\u65B0\u542F\u52A8\u56DE\u6267\uFF0C\u4E0D\u80FD\u4F7F\u7528\u4FEE\u590D\u524D\u7684\u65E7\u8FDB\u7A0B\u8BB0\u5F55\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_OWNERSHIP_REVIEW:"\u4FEE\u590D\u6587\u4EF6\u7684\u5F52\u5C5E\u6216\u5185\u5BB9\u5DF2\u53D8\u5316\uFF0C\u751F\u6548\u6838\u9A8C\u505C\u6B62\uFF1B\u4E0D\u4F1A\u63A5\u7BA1\u6216\u8986\u76D6\u53D8\u5316\u3002",ONBOARDING_CLOUD_RUNTIME_ACTIVATION_INSTALLATION_REVIEW:"\u539F\u751F Host \u7684\u5168\u5C40\u89C4\u5219\uFF0FSkill \u5B89\u88C5\u72B6\u6001\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u6587\u4EF6\u4FEE\u590D\u8BB0\u5F55\u4ECD\u4FDD\u7559\u3002",ONBOARDING_CLOUD_RUNTIME_REPAIR_RECOVERY_REQUIRED:"\u539F\u4FEE\u590D\u4E8B\u52A1\u5C1A\u9700\u6838\u5BF9\u3002\u5148\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u5355\u72EC\u786E\u8BA4\u6062\u590D\uFF0C\u4E0D\u91CD\u53D1\u5E94\u7528\u6216\u542F\u52A8\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONSENT_REQUIRED:"\u91CD\u65B0\u542F\u52A8\u53EF\u80FD\u6062\u590D\u539F\u751F\u5DE5\u4F5C\u6216 IM \u8FDE\u63A5\uFF0C\u8BF7\u6838\u5BF9\u65B0\u8BA1\u5212\u5E76\u660E\u786E\u786E\u8BA4\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONSENT_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u91CD\u542F\u5F71\u54CD\u786E\u8BA4\u5951\u7EA6\uFF0C\u672C\u5165\u53E3\u4E0D\u518D\u53D1\u8D77\u65B0\u91CD\u542F\uFF1B\u5386\u53F2\u8BB0\u5F55\u4ECD\u4FDD\u7559\u67E5\u8BE2\uFF0C\u4E0D\u6362\u63A7\u5236\u5668\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_RUNTIME_HOST_DRAIN_REQUIRED:"\u539F\u751F Host \u6B63\u5728\u8FD0\u884C\uFF0C\u6574\u673A\u6392\u7A7A\u672A\u901A\u8FC7\uFF1B\u6B64\u5165\u53E3\u4E0D\u4F1A\u505C\u6B62\u5B83\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_RECONCILE_REQUIRED:"\u539F\u505C\u6B62\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u53D1\u505C\u6B62\u6216\u53E6\u5EFA\u542F\u52A8\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_PLAN_EXPIRED:"\u505C\u6B62\u8BA1\u5212\u5DF2\u8FC7\u671F\u3002\u672C\u6B21\u672A\u53D1\u9001\u4FE1\u53F7\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u540E\u91CD\u65B0\u9884\u89C8\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_NOT_READY:"\u5F53\u524D\u6CA1\u6709\u7B26\u5408\u672C\u6B21\u8BA1\u5212\u7684\u5B89\u88C5\u8FDB\u7A0B\uFF1B\u672A\u53D1\u9001\u505C\u6B62\u4FE1\u53F7\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_PLAN_DRIFT:"\u5B89\u88C5\u8FDB\u7A0B\u6216\u4E8B\u52A1\u5DF2\u53D8\u5316\uFF0C\u8BF7\u4FDD\u7559\u539F\u8BB0\u5F55\u5E76\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u6CBF\u7528\u65E7\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_STOP_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u6CA1\u6709\u505C\u6B62\u8BA1\u5212\u5951\u7EA6\uFF0C\u4E0D\u80FD\u7528\u65B0\u63A7\u5236\u5668\u63A5\u7BA1\u65E7\u4E8B\u52A1\u3002",ONBOARDING_TRANSPORT_HEADERS_TOO_LARGE:"\u672C\u7AEF\u8BF7\u6C42\u5934\u8FC7\u5927\uFF0C\u4E91\u7AEF\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\u3002\u4E0D\u8981\u6E05\u7406\u65E5\u5E38\u767B\u5F55\u4FE1\u606F\uFF1B\u4F7F\u7528\u72EC\u7ACB\u6D4B\u8BD5\u5165\u53E3\uFF0C\u5E76\u5148\u6838\u5BF9\u539F\u56DE\u6267\u3002",ONBOARDING_TRANSPORT_AUTH_REQUIRED:"\u672C\u7AEF\u8FDE\u63A5\u9274\u6743\u672A\u901A\u8FC7\uFF0C\u8BF7\u4ECE\u5F53\u524D Host \u7684\u6709\u6548\u5165\u53E3\u91CD\u65B0\u767B\u5F55\uFF1B\u4E0D\u91CD\u53D1\u5B89\u88C5\u6216\u4EFB\u52A1\u3002",ONBOARDING_TRANSPORT_UNAVAILABLE:"\u672C\u7AEF HTTP \u627F\u8F7D\u6682\u4E0D\u53EF\u7528\uFF0C\u4E0D\u80FD\u636E\u6B64\u5224\u65AD\u4E91\u7AEF\u505C\u6B62\uFF1B\u8BF7\u5148\u6838\u5BF9\u539F\u4E8B\u52A1\u3002",ONBOARDING_TRANSPORT_INTERRUPTED:"\u672C\u7AEF\u8BF7\u6C42\u8FDE\u63A5\u5DF2\u4E2D\u65AD\uFF0C\u64CD\u4F5C\u7ED3\u679C\u672A\u786E\u8BA4\uFF1B\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\uFF0C\u6062\u590D\u8FDE\u63A5\u540E\u5148\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_TRANSPORT_RESPONSE_INVALID:"\u672C\u7AEF\u54CD\u5E94\u5951\u7EA6\u672A\u901A\u8FC7\u6838\u9A8C\uFF1B\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002",ONBOARDING_TRANSPORT_HTTP_REJECTED:"\u672C\u7AEF HTTP \u8BF7\u6C42\u88AB\u62D2\u7EDD\uFF1B\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u8FDE\u63A5\u548C\u56DE\u6267\u3002",ONBOARDING_CLOUD_RETIREMENT_UNSUPPORTED:"\u539F\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u9694\u79BB\u5951\u7EA6\uFF0C\u5DF2\u505C\u6B62\uFF1B\u4E0D\u4F1A\u6539\u5199\u65E7\u5F52\u6863\u6216\u6362\u63A7\u5236\u5668\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_FENCE_SOURCE_PRESENT:"\u65E7\u76EE\u5F55\u5DF2\u51FA\u73B0\uFF0C\u4E0D\u80FD\u521B\u5EFA\u9694\u79BB\u5C4F\u969C\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u539F\u4E8B\u52A1\uFF1B\u4E0D\u8986\u76D6\u3001\u4E0D\u5220\u9664\u5DF2\u6709\u5185\u5BB9\u3002",ONBOARDING_CLOUD_RETIREMENT_UNKNOWN:"\u9694\u79BB\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u4E0D\u91CD\u590D\u5B89\u88C5\u3001\u4E0D\u53E6\u5EFA\u76EE\u6807\u3002",ONBOARDING_CLOUD_REPLACEMENT_REQUIRED:"\u65E7\u8BF7\u6C42\u9694\u79BB\u6216\u76EE\u6807\u7ED1\u5B9A\u4ECD\u5F85\u6838\u5BF9\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u91CD\u65B0\u786E\u8BA4\uFF1B\u4E0D\u4F1A\u590D\u7528\u65E7\u76EE\u5F55\u3002",ONBOARDING_SSH_BINDING_CONFLICT:"SSH \u7ED1\u5B9A\u5DF2\u53D8\u5316\uFF0C\u672C\u6B21\u786E\u8BA4\u4E0D\u518D\u9002\u7528\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u6838\u5BF9\u76EE\u6807\u540E\u91CD\u65B0\u786E\u8BA4\u3002",ONBOARDING_CLOUD_RUNTIME_OPTIONAL_IM_UNSUPPORTED:"\u65E7\u5B89\u88C5\u5F52\u6863\u4E0D\u652F\u6301\u53EF\u9009 IM \u4F9D\u8D56\uFF1B\u672A\u6539\u65E7\u5B9E\u4F8B\uFF0C\u4E5F\u4E0D\u4F1A\u628A\u672C\u7AEF\u6E05\u5355\u5F53\u4F5C\u4E91\u7AEF\u914D\u7F6E\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_UNSUPPORTED:"\u65E7\u5F52\u6863\u6CA1\u6709\u65AD\u70B9\u6E05\u7406\u5951\u7EA6\uFF0C\u4E0D\u7528\u65B0\u63A7\u5236\u7A0B\u5E8F\u63A5\u7BA1\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_PLAN_DRIFT:"\u6E05\u7406\u8FDB\u5EA6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\uFF0C\u518D\u786E\u8BA4\u672C\u6B21\u65AD\u70B9\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_REVIEW:"\u6E05\u7406\u8D26\u672C\u4E0D\u5B8C\u6574\u6216\u5F52\u5C5E\u4E0D\u5339\u914D\uFF0C\u5DF2\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u80FD\u81EA\u52A8\u91CD\u5EFA\u6E05\u5355\u3002",ONBOARDING_CLOUD_RUNTIME_CLEANUP_DRIFT:"\u5269\u4F59\u6587\u4EF6\u53D1\u751F\u53D8\u5316\u6216\u51FA\u73B0\u672A\u77E5\u5185\u5BB9\uFF0C\u5DF2\u505C\u6B62\u5E76\u4FDD\u7559\uFF0C\u4E0D\u4F1A\u6269\u5927\u5220\u9664\u8303\u56F4\u3002",ONBOARDING_CLOUD_RUNTIME_CONTROL_BUSY:"\u539F\u63A7\u5236\u8FDB\u7A0B\u4ECD\u6301\u6709\u72EC\u5360\u9501\uFF1B\u8BF7\u7B49\u5F85\u5E76\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u542F\u52A8\u7B2C\u4E8C\u4E2A\u6E05\u7406\u8FDB\u7A0B\u3002",ONBOARDING_CLOUD_RUNTIME_LOCK_UNAVAILABLE:"\u4E91\u7AEF\u7F3A\u5C11\u53EF\u6838\u9A8C\u7684\u7CFB\u7EDF flock\uFF0C\u672A\u5F00\u59CB\u5199\u5165\u6216\u6E05\u7406\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_UNSUPPORTED:"\u8BE5\u5F52\u6863\u7248\u672C\u6CA1\u6709\u91CD\u65B0\u542F\u52A8\u5951\u7EA6\uFF0C\u4E0D\u80FD\u7528\u65B0\u63A7\u5236\u7A0B\u5E8F\u63A5\u7BA1\u65E7\u4E8B\u52A1\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_IMMUTABLE_DRIFT:"\u5DF2\u5B89\u88C5\u7684\u7A0B\u5E8F\u6587\u4EF6\u53D1\u751F\u53D8\u5316\uFF0C\u505C\u6B62\u91CD\u65B0\u542F\u52A8\u5E76\u4FDD\u7559\u73B0\u573A\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u4FEE\u590D\u6216\u91CD\u88C5\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_CONTROL_REVIEW:"\u542F\u52A8\u63A7\u5236\u76EE\u5F55\u7684\u5F52\u5C5E\u6216\u6E05\u5355\u4E0D\u543B\u5408\uFF0C\u5DF2\u4FDD\u7559\u73B0\u573A\uFF0C\u4E0D\u91C7\u7528\u6216\u5220\u9664\u672A\u77E5\u6587\u4EF6\u3002",ONBOARDING_CLOUD_RUNTIME_RESTART_REVIEW:"\u672C\u6B21\u542F\u52A8\u5C1A\u9700\u6838\u5BF9\uFF0C\u4E0D\u80FD\u66F4\u6362\u8BA1\u5212\u7ED5\u8FC7\u672A\u77E5\u8BF7\u6C42\u3002",ACTION_REQUIRES_REFRESH:"\u5F53\u524D\u89C2\u5BDF\u6216\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u540E\u91CD\u65B0\u9884\u89C8\uFF1B\u672C\u6B21\u6CA1\u6709\u53D1\u9001\u6267\u884C\u8BF7\u6C42\u3002",ONBOARDING_SSH_NOT_BOUND:"\u8BF7\u5148\u56DE\u5230\u7B2C 1 \u9875\u6838\u5BF9\u4E3B\u673A\u516C\u94A5\u5E76\u4FDD\u5B58 SSH \u8FDE\u63A5\u3002",ONBOARDING_CLOUD_PLAN_EXPIRED:"\u8BA1\u5212\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\uFF1B\u4E0D\u4F1A\u6CBF\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_BASELINE_DRIFT:"\u8FDC\u7AEF\u76EE\u5F55\u6216\u57FA\u7EBF\u5DF2\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u3002",ONBOARDING_CLOUD_SOURCE_CHANGED:"\u672C\u7AEF\u5019\u9009\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u751F\u6210\u5B89\u88C5\u8BA1\u5212\u3002",ONBOARDING_CLOUD_RUNTIME_PROCESS_ACTIVE:"\u8FDB\u7A0B\u4ECD\u5728\u8FD0\u884C\uFF0C\u7981\u6B62\u4FEE\u590D\u6216\u5220\u9664\u3002\u8BF7\u5148\u9884\u89C8\u505C\u6B62\u8BA1\u5212\uFF0C\u660E\u786E\u786E\u8BA4\u98CE\u9669\u540E\u505C\u6B62\uFF0C\u5E76\u5355\u72EC\u6838\u5BF9\u9000\u51FA\u3002",ONBOARDING_CLOUD_RUNTIME_REMOVAL_REQUIRED:"\u8BF7\u5148\u56DE\u6EDA\u72EC\u7ACB\u8FD0\u884C\u65F6\uFF0C\u518D\u6E05\u7406\u5B89\u88C5\u6587\u4EF6\u3002",ONBOARDING_CLOUD_RUNTIME_RECOVERY_REQUIRED:"\u5DF2\u6709\u5B89\u88C5\u8BB0\u5F55\uFF0C\u4E0D\u4F1A\u91CD\u65B0\u542F\u52A8\uFF1B\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u6838\u5BF9\u3002",ONBOARDING_CLOUD_RUNTIME_DISABLED:"\u5F53\u524D Host \u5C1A\u672A\u5F00\u653E\u72EC\u7ACB\u5B89\u88C5\u80FD\u529B\u3002"};function $l({allowed:e=!0,riskStop:o=!1,id:l,action:u,title:f,detail:i,children:a,flow:p,busy:I,pending:m,setPending:r,checked:c,setChecked:t}){let s=m===u;return(0,k.useEffect)(()=>{e||t(!1)},[e,t]),k.default.createElement("div",{className:"cloud-action"},k.default.createElement(v,{"data-cloud-action":l??u,kind:u==="stage"||u==="runtime_start"?"primary":"soft",disabled:I||!e,onClick:()=>{r(u),t(!1)}},f),s&&k.default.createElement("div",{className:"cloud-confirm",role:"region","aria-label":f+"\u786E\u8BA4"},k.default.createElement("p",null,i),a,!I&&!e&&k.default.createElement(b,{tone:"warn"},k.default.createElement("span",{role:"alert"},"\u6B64\u786E\u8BA4\u5DF2\u4E0D\u53EF\u6267\u884C\u3002\u8BF7\u5148\u624B\u52A8\u5237\u65B0\u3001\u6838\u5BF9\u539F\u4E8B\u52A1\uFF1B\u6CA1\u6709\u5F85\u6838\u5BF9\u8BF7\u6C42\u65F6\u518D\u91CD\u65B0\u9884\u89C8\u3002\u539F\u786E\u8BA4\u4E0D\u4F1A\u81EA\u52A8\u7EED\u7528\u3002")),k.default.createElement(J,{checked:c,disabled:I||!e,onChange:t,title:o?"\u6211\u7406\u89E3\u539F\u751F\u65B0\u8F93\u5165\u4E0E\u5728\u9014 IM \u53EF\u80FD\u4E2D\u6B62\uFF0C\u4ECD\u786E\u8BA4\u505C\u6B62\u6B64 Host":u==="runtime_restart"?"\u6211\u786E\u8BA4\u91CD\u542F\uFF0C\u5E76\u7406\u89E3\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u6062\u590D":"\u6211\u5DF2\u6838\u5BF9\u672C\u6B21\u64CD\u4F5C\u8303\u56F4",sub:o?"\u4E0D\u627F\u8BFA\u65E0\u635F\u6392\u7A7A\uFF1B\u81EA\u6709\u961F\u5217\u4FDD\u7559\uFF0C\u6062\u590D\u542F\u52A8\u987B\u53E6\u884C\u786E\u8BA4\u3002":u==="runtime_restart"?"\u4E0D\u662F\u65E0\u6A21\u578B\u542F\u52A8\u4FDD\u8BC1\uFF1B\u4E0D\u91CD\u65B0\u6279\u51C6\u4EFB\u52A1\u3001\u91CD\u653E\u5931\u8D25\u6D88\u606F\u6216\u653E\u5BBD\u5199\u5165\u95E8\u7981\u3002":"\u4EC5\u9650\u4E0A\u65B9\u4E13\u7528\u76EE\u5F55\uFF1B\u4E0D\u64CD\u4F5C\u65E5\u5E38\u73AF\u5883\uFF0C\u4E0D\u8C03\u7528\u6A21\u578B\u6216\u542F\u7528\u4E1A\u52A1\u5199\u5165\u3002"}),k.default.createElement("div",{className:"form-actions"},k.default.createElement(v,{disabled:I||!e||!c,kind:"primary",onClick:async()=>{let d=await p.act(u,!0);t(!1),d&&r(null)}},"\u786E\u8BA4",f),k.default.createElement(v,{kind:"secondary",disabled:I,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))))}function gr({request:e,preparation:o=!1,runtime:l=!1,execution:u=!1,optionalIm:f=!1}){let[i,a]=(0,k.useState)({}),[p]=(0,k.useState)(()=>hr(e,a,{preparation:o,runtime:l,optionalIm:f})),[I,m]=(0,k.useState)(null),[r,c]=(0,k.useState)(!1);(0,k.useEffect)(()=>(p.resume(),p.act("load"),()=>p.dispose()),[p]);let t=qt(i,{preparation:o,runtime:l}),s=Ht(i),d=i.runtime,n=i.plan,x=(C,S,D,N)=>(t[C]||I===C)&&k.default.createElement($l,{key:C,allowed:!!t[C],riskStop:C==="runtime_stop"&&i.stopPlan?.scope==="owned_host_with_loss_risk",action:C,title:S,detail:D,flow:p,busy:i.busy,pending:I,setPending:m,checked:r,setChecked:c},N),g=()=>(m(null),c(!1),p.act("refresh")),h=C=>k.default.createElement(k.default.Fragment,null,k.default.createElement(_,{label:"\u5B98\u65B9 DSH",value:C.hostVersion}),k.default.createElement(_,{label:"\u5B9E\u9645 Node \u7248\u672C",value:C.snapshot?.node?.version??C.node?.version??"\u5C1A\u672A\u6838\u5BF9"}),k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,"\u5B9E\u9645 Node \u8DEF\u5F84"),k.default.createElement("code",null,C.snapshot?.node?.path??C.node?.path??"\u5C1A\u672A\u6838\u5BF9")),k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,"\u4E13\u7528\u5B89\u88C5\u76EE\u5F55"),k.default.createElement("code",null,C.snapshot?.root??C.root??"\u9884\u68C0\u540E\u786E\u5B9A")));return k.default.createElement("div",{className:"page-columns cloud-installation"},k.default.createElement("div",{className:"stack"},o&&k.default.createElement(er,{request:e,onMutation:()=>{m(null),c(!1),p.invalidate()}}),k.default.createElement(j,{title:u?"\u4E91\u7AEF\u914D\u7F6E\u4E0E\u6062\u590D":"\u4E91\u7AEF\u72EC\u7ACB\u5B89\u88C5\u8BA1\u5212",icon:"cloud",sub:"\u5173\u95ED\u9875\u9762\u4E0D\u4F1A\u53D6\u6D88\u5DF2\u786E\u8BA4\u7684\u5B89\u88C5\uFF1B\u91CD\u65B0\u8FDB\u5165\u53EA\u8BFB\u53D6\u672C\u5730\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u7EED\u8DD1\u3002",extra:k.default.createElement(ke,null,"\u624B\u52A8\u5237\u65B0")},k.default.createElement("div",{className:"cloud-status","aria-live":"polite"},k.default.createElement(_,{label:"\u5B89\u88C5\u6587\u4EF6",value:Za(i.source?.state)}),k.default.createElement(_,{label:"\u72EC\u7ACB\u8FD0\u884C\u65F6",value:d?Za(d.state):"\u5C1A\u672A\u6838\u5BF9"}),k.default.createElement("p",{className:"fine-print"},i.fresh?"\u6700\u8FD1\u4E00\u6B21\u8FDC\u7AEF\u89C2\u5BDF\uFF1A"+new Date(i.observedAt).toLocaleString()+"\uFF08\u72B6\u6001\u89C2\u5BDF 60 \u79D2\u5185\u6709\u6548\uFF0C\u670D\u52A1\u7AEF\u6267\u884C\u524D\u4ECD\u91CD\u65B0\u6838\u5BF9\uFF09":"\u5386\u53F2\u56DE\u6267\uFF0F\u672A\u6838\u9A8C\u5B9E\u65F6\u72B6\u6001\u3002\u6267\u884C\u540E\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u8F6E\u8BE2\u3001\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")),i.source?.root&&k.default.createElement("div",{className:"path-line"},k.default.createElement("span",null,s.fenced?"\u4FDD\u7559\u7684\u65E7\u4E8B\u52A1\u76EE\u5F55\u5C4F\u969C":"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),k.default.createElement("code",null,i.source.root)),k.default.createElement("div",{className:"form-actions"},k.default.createElement(v,{icon:"reset",disabled:!t.refresh,onClick:g},"\u624B\u52A8\u5237\u65B0\u4E91\u7AEF\u72B6\u6001"),!i.loaded&&k.default.createElement(v,{disabled:i.busy,onClick:()=>p.act("load")},"\u91CD\u8BFB\u672C\u5730\u8D26\u672C")),i.busy&&k.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u672C\u6B21\u8BF7\u6C42\uFF1B\u5B89\u88C5\u8FDB\u7A0B\u72EC\u7ACB\u8FD0\u884C\uFF0C\u4E0D\u5360\u7528\u4E3B\u4F1A\u8BDD\u3002"),i.error&&k.default.createElement(b,{tone:"warn"},k.default.createElement("span",{role:"alert"},Xl[i.error]??"\u7ED3\u679C\u672A\u786E\u8BA4\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\u3002\u4E0D\u8981\u56E0\u62A5\u9519\u91CD\u590D\u5B89\u88C5\u6216\u5220\u9664\uFF0C\u4E5F\u4E0D\u8981\u63A8\u65AD\u6CA1\u6709\u53D1\u751F\u5199\u5165\u3002"),k.default.createElement("code",null,i.error)),i.source?.error&&k.default.createElement(b,{tone:"warn"},"\u5B89\u88C5\u6587\u4EF6\u9700\u8981\u6838\u5BF9\uFF1A",k.default.createElement("code",null,i.source.error)),d?.error&&k.default.createElement(b,{tone:"warn"},"\u8FD0\u884C\u65F6\u9700\u8981\u6838\u5BF9\uFF1A",k.default.createElement("code",null,d.error)),["needs_review","retiring","retired"].includes(i.source?.state)&&k.default.createElement("section",{className:"cloud-plan","aria-label":"\u5B89\u88C5\u8BF7\u6C42\u6062\u590D"},k.default.createElement("h3",null,"\u4FDD\u7559\u73B0\u573A\uFF0C\u5206\u6B65\u6062\u590D"),k.default.createElement("p",null,s.fenced?"\u539F\u8BF7\u6C42\u5DF2\u7531\u76EE\u5F55\u5C4F\u969C\u9694\u79BB\u3002\u5C4F\u969C\u548C\u539F\u59CB\u5B89\u88C5\u6863\u6848\u7EE7\u7EED\u4FDD\u7559\uFF1B\u8FD9\u4E0D\u8868\u793A\u539F\u8FDB\u7A0B\u5DF2\u88AB\u7EC8\u6B62\u3002":"\u8BF7\u6C42\u5931\u8D25\u4E0D\u4EE3\u8868\u6CA1\u6709\u6267\u884C\uFF1B\u8FDC\u7AEF\u76EE\u5F55\u6682\u672A\u51FA\u73B0\uFF0C\u4E5F\u4E0D\u80FD\u76F4\u63A5\u91CD\u65B0\u5B89\u88C5\u3002\u5148\u624B\u52A8\u5237\u65B0\u539F\u4E8B\u52A1\uFF0C\u518D\u6838\u5BF9\u53EF\u7528\u64CD\u4F5C\u3002"),i.source?.remote?.state==="absent"&&k.default.createElement("p",null,"\u5F53\u524D\u89C2\u5BDF\u672A\u53D1\u73B0\u65E7\u5B89\u88C5\u76EE\u5F55\u3002\u9694\u79BB\u64CD\u4F5C\u4F1A\u5728\u65E7\u8DEF\u5F84\u521B\u5EFA\u4E0D\u53EF\u66FF\u6362\u7684\u6587\u4EF6\u5C4F\u969C\uFF0C\u963B\u6B62\u8FDF\u5230\u7684\u539F\u8BF7\u6C42\u521B\u5EFA\u76EE\u5F55\uFF1B\u4E0D\u4F1A\u8986\u76D6\u5DF2\u6709\u6587\u4EF6\u6216\u7EC8\u6B62\u672A\u77E5\u8FDB\u7A0B\u3002"),x("retire","\u9694\u79BB\u65E7\u5B89\u88C5\u8BF7\u6C42","\u4EC5\u4E3A\u4E0A\u65B9\u539F\u4E8B\u52A1\u521B\u5EFA\u76EE\u5F55\u5C4F\u969C\uFF1B\u4E0D\u5220\u9664\u5185\u5BB9\uFF0C\u4E0D\u91CD\u53D1\u5B89\u88C5\uFF0C\u4E0D\u81EA\u52A8\u521B\u5EFA\u65B0\u76EE\u6807\u3002\u82E5\u539F\u76EE\u5F55\u5DF2\u51FA\u73B0\u5219\u505C\u6B62\u5E76\u4FDD\u7559\u3002"),x("new_target","\u5206\u914D\u65B0\u7684\u72EC\u7ACB\u76EE\u6807","\u53EA\u66F4\u65B0\u672C\u6B21 SSH \u7ED1\u5B9A\u7684\u5B89\u88C5\u6807\u8BC6\uFF1B\u4FDD\u7559\u65E7\u8DEF\u5F84\u5C4F\u969C\u4E0E\u5386\u53F2\u6863\u6848\u3002\u4E0D\u5728\u8FDC\u7AEF\u5B89\u88C5\u6216\u542F\u52A8\uFF1B\u4E4B\u540E\u4ECD\u987B\u91CD\u65B0\u9884\u89C8\u8BA1\u5212\u5E76\u786E\u8BA4\u3002"),s.replacement&&k.default.createElement(b,null,"\u65B0\u7684\u72EC\u7ACB\u76EE\u6807\u5DF2\u5206\u914D\u3002\u624B\u52A8\u5237\u65B0\u540E\uFF0C\u5728\u7B2C 5 \u9875\u91CD\u65B0\u751F\u6210\u5B89\u88C5\u8BA1\u5212\uFF0C\u6838\u5BF9\u65B0\u76EE\u5F55\u518D\u786E\u8BA4\u3002\u65E7\u4E8B\u52A1\u548C\u5C4F\u969C\u4E0D\u4F1A\u88AB\u590D\u7528\u6216\u5220\u9664\u3002"),!i.fresh&&k.default.createElement("p",{className:"fine-print"},"\u5F53\u524D\u4EC5\u4E3A\u5386\u53F2\u56DE\u6267\u3002\u8BF7\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u7EE7\u7EED\u6062\u590D\u3002")),!u&&k.default.createElement(k.default.Fragment,null,k.default.createElement("div",{className:"form-actions cloud-plan-preview",role:"group","aria-label":"\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212\u9884\u89C8"},k.default.createElement(v,{icon:"file",disabled:!t.preview,onClick:()=>{m(null),c(!1),p.act("preview")}},"\u751F\u6210\u4E91\u7AEF\u5B89\u88C5\u8BA1\u5212")),n&&k.default.createElement("div",{className:"cloud-plan"},h(n),k.default.createElement(_,{label:"\u81EA\u6709\u63D2\u4EF6 / \u6587\u4EF6\u6570",value:`${n.pluginVersion} / ${n.sourceFiles}`}),k.default.createElement("ol",null,n.steps.map(C=>k.default.createElement("li",{key:C},C))),k.default.createElement(b,null,n.conflicts.length?"\u5F85\u6838\u5BF9\uFF1A"+n.conflicts.join("\u3001"):"\u5F53\u524D\u9884\u68C0\u672A\u53D1\u73B0\u963B\u788D\u3002"," \u672C\u6B21\u786E\u8BA4\u53EA\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF1B\u5B98\u65B9\u4F9D\u8D56\u5B89\u88C5\u548C Host \u542F\u52A8\u5728\u7B2C 6 \u9875\u53E6\u884C\u786E\u8BA4\u3002"),k.default.createElement("p",{className:"fine-print"},"\u6709\u6548\u671F\u81F3 ",new Date(n.expiresAt).toLocaleString(),"\u3002\u6267\u884C\u524D\u518D\u6B21\u6821\u9A8C\u5F52\u5C5E\u3001\u6587\u4EF6\u4E0E\u57FA\u7EBF\u3002"),x("stage","\u51C6\u5907\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6","\u5C06\u5411\u4E0A\u65B9\u65B0\u5EFA\u4E13\u7528\u76EE\u5F55\u5199\u5165\u5DF2\u9884\u89C8\u7684\u81EA\u6709\u5B89\u88C5\u6587\u4EF6\uFF0C\u4E0D\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u542F\u52A8 Host\u3002"))),u&&k.default.createElement(k.default.Fragment,null,i.source?.state!=="prepared"&&k.default.createElement(b,null,"\u8BF7\u5148\u5728\u7B2C 5 \u9875\u751F\u6210\u8BA1\u5212\u3001\u786E\u8BA4\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF1B\u5DF2\u6709\u672A\u5B8C\u6210\u4E8B\u52A1\u5219\u5148\u6838\u5BF9\uFF0C\u4E0D\u65B0\u5EFA\u91CD\u590D\u4EFB\u52A1\u3002"),f&&!i.runtimeRecorded&&k.default.createElement("div",{className:"connection-confirm"},k.default.createElement(J,{title:"\u4E3A\u4E91\u7AEF\u5B89\u88C5\u53EF\u9009 IM \u63D2\u4EF6",checked:i.optionalIm===!0,disabled:i.busy,onChange:C=>{m(null),c(!1),p.selectIm(C)},sub:"\u5B98\u65B9 @xmanrui/dsh-im 5.0.3 \xB7 \u7A7A\u914D\u7F6E\u52A0\u8F7D\uFF1B\u4E0D\u4F1A\u590D\u5236\u672C\u7AEF\u51ED\u636E\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\u3002"}),k.default.createElement("p",null,"\u4E0D\u9009\u5219\u4EC5\u5B89\u88C5\u57FA\u7840 Host\uFF1B\u52FE\u9009\u540E\u91CD\u65B0\u9884\u89C8\uFF0C\u6700\u7EC8\u5B89\u88C5\u4ECD\u9700\u4E0B\u65B9\u786E\u8BA4\u3002")),k.default.createElement("div",{className:"form-actions",role:"group","aria-label":"\u4E91\u7AEF\u542F\u52A8\u8BA1\u5212\u64CD\u4F5C"},k.default.createElement(v,{disabled:!t.runtime_preview,onClick:()=>{m(null),c(!1),p.act("runtime_preview")}},"\u9884\u89C8\u4F9D\u8D56\u4E0E Host \u542F\u52A8\u8BA1\u5212"),t.runtime_restart_preview&&k.default.createElement(v,{onClick:()=>{m(null),c(!1),p.act("runtime_restart_preview")}},"\u9884\u89C8\u91CD\u65B0\u542F\u52A8\u8BA1\u5212")),i.runtimePlan&&k.default.createElement("div",{className:"cloud-plan"},h(i.runtimePlan),k.default.createElement(_,{label:"\u5B98\u65B9\u4F9D\u8D56\u6E90",value:i.runtimePlan.registry}),k.default.createElement(_,{label:"\u53EF\u9009 IM",value:i.runtimePlan.optionalIm?"@xmanrui/dsh-im 5.0.3 \xB7 \u7A7A\u914D\u7F6E\u52A0\u8F7D":"\u8DF3\u8FC7 \xB7 \u4E0D\u4E0B\u8F7D\u3001\u4E0D\u52A0\u8F7D"}),k.default.createElement(_,{label:"\u76D1\u542C\u8303\u56F4",value:"127.0.0.1 \xB7 \u81EA\u52A8\u5206\u914D\u7AEF\u53E3\uFF0C\u4E0D\u5F00\u653E\u516C\u7F51"}),k.default.createElement(b,null,"\u5B89\u88C5\u56FA\u5B9A\u7248\u672C\u5B98\u65B9\u4F9D\u8D56\uFF0C\u521B\u5EFA\u9694\u79BB profile\u3001\u5168\u5C40 AGENTS.md \u548C Skill\uFF1B\u901A\u8FC7\u81EA\u6709\u8986\u76D6\u5C42\u52A0\u8F7D\u63D2\u4EF6\uFF0C\u4E0D\u8986\u76D6\u5B98\u65B9\u9ED8\u8BA4\u914D\u7F6E\u3002\u4EC5\u542F\u52A8\u65E0\u6A21\u578B\u3001\u65E0\u4E1A\u52A1 worker \u7684\u539F\u751F Host\u3002",i.runtimePlan.optionalIm?" \u672C\u6B21\u53E6\u5B89\u88C5\u5B98\u65B9 IM 5.0.3 \u5E76\u4EE5\u7A7A\u914D\u7F6E\u52A0\u8F7D\uFF0C\u4E0D\u7ED1\u5B9A\u6216\u8FDE\u63A5\u673A\u5668\u4EBA\u3002":" \u672C\u6B21\u4E0D\u5B89\u88C5\u53EF\u9009 IM\u3002"),k.default.createElement("p",{className:"fine-print"},"\u672C\u542F\u52A8\u8BA1\u5212\u6709\u6548\u671F\u81F3 ",new Date(i.runtimePlan.expiresAt).toLocaleString(),"\uFF1B\u8FC7\u671F\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u91CD\u65B0\u9884\u89C8\u3002\u670D\u52A1\u7AEF\u6267\u884C\u524D\u518D\u6B21\u6821\u9A8C\u57FA\u7EBF\u3002"),x("runtime_start","\u5B89\u88C5\u5E76\u542F\u52A8\u72EC\u7ACB Host","\u5C06\u6267\u884C\u4E0A\u8FF0\u5B89\u88C5\u8BA1\u5212\u3002\u4E0D\u4F1A\u590D\u5236\u65E5\u5E38\u914D\u7F6E\u6216\u51ED\u636E\uFF0C\u4E5F\u4E0D\u4EE3\u8868\u53CC\u7AEF\u6574\u5957\u914D\u7F6E\u5B8C\u6210\u3002")),i.restartPlan&&k.default.createElement("div",{className:"cloud-plan"},h(i.restartPlan),k.default.createElement(_,{label:"\u914D\u7F6E\u4E0E\u6570\u636E\u53D8\u5316\uFF08\u4EC5\u4FDD\u7559\uFF09",value:i.restartPlan.preservedMutableChanges}),k.default.createElement(b,{tone:"warn"},"\u5DF2\u6709\u539F\u751F\u5DE5\u4F5C\u4E0E IM \u8FDE\u63A5\u53EF\u80FD\u968F\u542F\u52A8\u6062\u590D\uFF1B\u5E76\u975E\u9996\u6B21\u5B89\u88C5\u65F6\u7684\u7A7A\u914D\u7F6E\u3001\u65E0\u6A21\u578B\u72B6\u6001\u3002\u4E4B\u524D\u624B\u52A8\u65AD\u5F00\u7684\u673A\u5668\u4EBA\u4E5F\u53EF\u80FD\u81EA\u52A8\u91CD\u8FDE\u3002\u8BF7\u5148\u6838\u5BF9\u539F\u4EFB\u52A1\u548C\u914D\u7F6E\uFF1B\u672C\u786E\u8BA4\u4E0D\u91CD\u65B0\u6279\u51C6\u4EFB\u52A1\u6216\u653E\u5BBD\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u95E8\u7981\u3002"),k.default.createElement(b,null,"\u53EA\u91CD\u65B0\u542F\u52A8\u5DF2\u505C\u6B62\u7684\u72EC\u7ACB Host\uFF1B\u4E0D\u91CD\u65B0\u5B89\u88C5\u4F9D\u8D56\u3001\u4E0D\u91CD\u65B0\u5199\u5165\u5168\u5C40\u89C4\u5219\u6216 Skill\uFF0C\u4E5F\u4E0D\u8986\u76D6\u73B0\u6709\u914D\u7F6E\u3002\u6BCF\u6B21\u542F\u52A8\u4F7F\u7528\u72EC\u7ACB\u65E5\u5FD7\u4E0E\u56DE\u6267\uFF0C\u65E7\u767B\u5F55\u5730\u5740\u4E0D\u80FD\u4F5C\u4E3A\u65B0\u5C31\u7EEA\u8BC1\u636E\u3002\u914D\u7F6E\uFF0F\u6570\u636E\u7684\u53D8\u5316\u4E0D\u4F1A\u88AB\u7EB3\u5165\u81EA\u52A8\u5220\u9664\u6E05\u5355\u3002"),k.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u671F\u81F3 ",new Date(i.restartPlan.expiresAt).toLocaleString(),"\uFF0C\u6267\u884C\u524D\u518D\u6B21\u6838\u5BF9\u3002\u4EC5\u6B64\u6D4B\u8BD5 Host\uFF0C\u4E0D\u91CD\u542F ECS \u64CD\u4F5C\u7CFB\u7EDF\u6216\u5176\u4ED6\u670D\u52A1\u3002"),x("runtime_restart","\u91CD\u65B0\u542F\u52A8\u72EC\u7ACB Host","\u6309\u5F53\u524D\u8BA1\u5212\u91CD\u65B0\u542F\u52A8\u5DF2\u505C\u6B62\u7684\u672C\u4E8B\u52A1 Host\uFF1B\u5148\u524D\u7684\u542F\u52A8\u7ED3\u679C\u4E0D\u80FD\u4EE3\u66FF\u672C\u6B21\u9A8C\u8BC1\u3002")),d&&k.default.createElement("ol",{className:"phase-timeline cloud-phases"},k.default.createElement("li",{className:i.source?.state==="prepared"?"done":"pending"},k.default.createElement("span",{className:"phase-dot"},"1"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u51C6\u5907\u5B89\u88C5\u6587\u4EF6"),k.default.createElement("p",null,Za(i.source?.state)))),k.default.createElement("li",{className:d.nativeHostReady?"done":"pending"},k.default.createElement("span",{className:"phase-dot"},"2"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u4F9D\u8D56\u3001\u4FDD\u62A4\u6027\u89C4\u5219\u4E0E\u539F\u751F Host"),k.default.createElement("p",null,Za(d.state),i.fresh?"":" \xB7 \u5386\u53F2\u8BB0\u5F55"),d.defaultConfig?.preserved&&k.default.createElement("p",null,"\u542F\u52A8\u65F6\u914D\u7F6E\u57FA\u7EBF\u5DF2\u6838\u9A8C\uFF1B\u540E\u7EED\u4FEE\u6539\u9700\u53E6\u884C\u6838\u5BF9"))),k.default.createElement("li",{className:"pending"},k.default.createElement("span",{className:"phase-dot"},"3"),k.default.createElement("div",{className:"phase-copy"},k.default.createElement("h3",null,"\u6A21\u578B\u3001IM\u3001\u53CC\u7AEF\u76F4\u8FDE\u4E0E\u5168\u94FE\u8DEF\u9A8C\u6536"),k.default.createElement("p",null,"\u72EC\u7ACB\u6838\u9A8C \xB7 \u6A21\u578B\u72B6\u6001\u89C1\u4E0B\u65B9\u63A5\u5165\u533A\uFF1BHost \u542F\u52A8\u4E0D\u8BC1\u660E\u5176\u4ED6\u914D\u7F6E\u5DF2\u5B8C\u6210")))),k.default.createElement(tr,{s:i,actions:t,act:C=>{m(null),c(!1),p.act(C)},confirm:x}),i.source?.state==="prepared"&&i.source.operationId&&k.default.createElement(ur,{key:"version:"+i.source.operationId,request:e,operationId:i.source.operationId,busy:i.busy,stoppedUntil:i.fresh&&!i.uncertain&&!i.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?i.observedAt+6e4:0,onMutation:()=>{m(null),c(!1),p.invalidate()}}),i.source?.state==="prepared"&&i.source.operationId&&k.default.createElement(fr,{key:"uninstall:"+i.source.operationId,request:e,operationId:i.source.operationId,busy:i.busy,stoppedUntil:i.fresh&&!i.uncertain&&!i.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?i.observedAt+6e4:0,onMutation:()=>{m(null),c(!1),p.invalidate()}}),i.source?.state==="prepared"&&i.source.operationId&&k.default.createElement(pr,{key:"reclaim:"+i.source.operationId,request:e,operationId:i.source.operationId,busy:i.busy,stoppedUntil:i.fresh&&!i.uncertain&&!i.repairPending&&d?.workerActive===!1&&d.childActive===!1&&d.hostActive===!1&&d.restartLauncherActive!==!0&&d.cleanupActive!==!0&&d.stop?.reconcileRequired!==!0?i.observedAt+6e4:0,onMutation:()=>{m(null),c(!1),p.invalidate()}}),x("runtime_reconcile_restart","\u6838\u5BF9\u5DF2\u4E2D\u65AD\u7684\u542F\u52A8","\u518D\u6B21\u8BC1\u660E\u672C\u6B21\u63A7\u5236\u8FDB\u7A0B\u4E0E Host \u5747\u5DF2\u9000\u51FA\u540E\uFF0C\u53EA\u5C06\u8BE5\u6B21\u542F\u52A8\u6807\u8BB0\u4E3A\u4E2D\u65AD\uFF1B\u4E0D\u91CD\u8BD5\u3001\u4E0D\u5220\u6587\u4EF6\u3002\u4E4B\u540E\u987B\u53E6\u884C\u751F\u6210\u8BA1\u5212\u548C\u786E\u8BA4\u3002"),k.default.createElement("div",{className:"form-actions"},t.runtime_stop_preview&&k.default.createElement(v,{onClick:()=>{m(null),c(!1),p.act("runtime_stop_preview")}},"\u9884\u89C8\u505C\u6B62\u8BA1\u5212")),i.stopPlan&&k.default.createElement("div",{className:"cloud-plan","aria-label":"\u505C\u6B62\u8BA1\u5212"},k.default.createElement(_,{label:"\u8303\u56F4",value:i.stopPlan.scope==="owned_host_with_loss_risk"?"\u672C\u4E8B\u52A1\u7684\u72EC\u7ACB Host\uFF0C\u4E0D\u5305\u542B ECS \u6216\u5176\u4ED6\u670D\u52A1":"\u4EC5\u672C\u4E8B\u52A1\u5B89\u88C5\u8FDB\u7A0B\uFF0C\u4E0D\u5305\u542B\u539F\u751F Host"}),k.default.createElement(b,{tone:i.stopPlan.scope==="owned_host_with_loss_risk"||!i.stopPlan.canApply?"warn":"info"},i.stopPlan.scope==="owned_host_with_loss_risk"?"\u7A7A\u95F2\u89C2\u5BDF\u4E0D\u7B49\u4E8E\u65E0\u635F\u6392\u7A7A\u3002\u6700\u540E\u65F6\u523B\u5230\u8FBE\u7684\u539F\u751F\u8F93\u5165\u53CA\u5728\u9014 IM \u53EF\u80FD\u4E2D\u6B62\uFF1B\u81EA\u6709\u6301\u4E45\u961F\u5217\u4FDD\u7559\u3002\u9ED8\u8BA4\u4E0D\u505C\u6B62\uFF0C\u52FE\u9009\u98CE\u9669\u786E\u8BA4\u540E\u624D\u6267\u884C\u3002":"\u53EA\u5411\u6838\u9A8C\u8FC7\u51FA\u751F\u8EAB\u4EFD\u7684\u5B89\u88C5\u8FDB\u7A0B\u53D1\u9001 SIGTERM\uFF0C\u4E0D\u505C\u6B62\u539F\u751F Host\u3002"),!i.stopPlan.canApply&&k.default.createElement(b,{tone:"warn"},{host_drain_required:"\u65E7\u76EE\u6807\u672A\u63D0\u4F9B Host \u98CE\u9669\u505C\u673A\u5951\u7EA6\uFF1B\u4FDD\u6301\u8FD0\u884C\u3002",host_observation_required:"\u5F53\u524D\u5FD9\u95F2\u6216\u5F52\u5C5E\u65E0\u6CD5\u6838\u9A8C\uFF0C\u4E0D\u80FD\u505C\u6B62\u3002",host_busy:"\u68C0\u6D4B\u5230\u6D3B\u52A8\u4EFB\u52A1\u3001\u5F85\u5904\u7406\u8F93\u5165\u6216\u72B6\u6001\u672A\u77E5\uFF0C\u4E0D\u80FD\u505C\u6B62\u3002",installer_active:"\u5B89\u88C5\u6216\u542F\u52A8\u63A7\u5236\u8FDB\u7A0B\u4ECD\u5728\u5DE5\u4F5C\uFF0C\u8BF7\u5148\u6838\u5BF9\u3002",prior_stop_unresolved:"\u539F\u505C\u6B62\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\uFF0C\u4E0D\u80FD\u518D\u53D1\u4FE1\u53F7\u3002",no_active_installer:"\u6CA1\u6709\u53EF\u505C\u6B62\u7684\u8FDB\u7A0B\u3002"}[i.stopPlan.reason]??"\u8BA1\u5212\u4E0D\u53EF\u6267\u884C\uFF0C\u8BF7\u6838\u5BF9\u539F\u4E8B\u52A1\u3002"),k.default.createElement("p",{className:"fine-print"},"\u8BA1\u5212\u6709\u6548\u81F3 ",new Date(i.stopPlan.expiresAt).toLocaleString(),"\uFF1B\u505C\u673A\u8FD8\u8981\u6C42\u6700\u8FD1\u4E00\u6B21\u72B6\u6001\u89C2\u5BDF\u672A\u8D85\u8FC7 60 \u79D2\uFF0C\u4E24\u4E2A\u671F\u9650\u4EE5\u5148\u5230\u8005\u4E3A\u51C6\u3002\u8FC7\u671F\u8BF7\u624B\u52A8\u5237\u65B0\u5E76\u91CD\u65B0\u9884\u89C8\u3002\u786E\u8BA4\u540E\u518D\u6B21\u68C0\u67E5\u5FD9\u95F2\u3001\u8EAB\u4EFD\u4E0E\u5B9E\u4F8B\uFF0C\u5148\u8BB0\u8D26\uFF0C\u518D\u53D1\u9001\u4E00\u6B21 SIGTERM\uFF1B\u4E0D\u5220\u6587\u4EF6\u3001\u4E0D\u5F3A\u6740\u3001\u4E0D\u81EA\u52A8\u91CD\u53D1\u3002"),x("runtime_stop",i.stopPlan.scope==="owned_host_with_loss_risk"?"\u505C\u6B62\u72EC\u7ACB Host":"\u505C\u6B62\u5B89\u88C5\u8FDB\u7A0B","\u53EA\u505C\u6B62\u672C\u8BA1\u5212\u5217\u660E\u7684\u8FDB\u7A0B\uFF1B\u672A\u77E5\u7ED3\u679C\u4FDD\u7559\u539F\u8BF7\u6C42\uFF0C\u53E6\u884C\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u3002")),d?.stop&&k.default.createElement(b,null,"\u505C\u6B62\u8BF7\u6C42\uFF1A",{requested:"\u505C\u6B62\u8BF7\u6C42\u5DF2\u767B\u8BB0",signalled:"\u5DF2\u53D1\u9001\u4FE1\u53F7\uFF0C\u5F85\u6838\u5BF9",needs_review:"\u4E2D\u65AD\u6216\u72B6\u6001\u53D8\u5316\uFF0C\u5F85\u6838\u5BF9",ended:"\u539F\u8BA1\u5212\u8FDB\u7A0B\u5DF2\u6838\u5BF9\u7ED3\u675F"}[d.stop.phase]??"\u672A\u77E5\u72B6\u6001\uFF0C\u4FDD\u7559\u73B0\u573A","\uFF1B\u4ECD\u6D3B\u8DC3\u7684\u5B89\u88C5\u8FDB\u7A0B\uFF1A",d.stop.activeInstallerMembers,d.stop.scope==="owned_host_with_loss_risk"?`\uFF1B\u539F\u8BA1\u5212 Host\uFF1A${d.stop.hostActive?"\u4ECD\u5728\u8FD0\u884C":"\u5DF2\u9000\u51FA"}`:"","\u3002\u53D1\u9001\u4FE1\u53F7\u4E0D\u7B49\u4E8E\u5DF2\u9000\u51FA\u3002"),x("runtime_stop_reconcile","\u6838\u5BF9\u505C\u6B62\u7ED3\u679C","\u4EC5\u6838\u9A8C\u539F\u8BA1\u5212\u5185\u7684\u6240\u6709\u8FDB\u7A0B\u5747\u5DF2\u9000\u51FA\u5E76\u4FDD\u5B58\u7ED3\u679C\uFF1B\u4E0D\u518D\u6B21\u53D1\u9001\u4FE1\u53F7\u3001\u4E0D\u542F\u52A8 Host\u3002"),x("runtime_rollback","\u56DE\u6EDA\u72EC\u7ACB\u8FD0\u884C\u65F6","\u6309\u5DF2\u8BB0\u5F55\u6E05\u5355\u6E05\u7406\u672C\u4E8B\u52A1\u8FD0\u884C\u65F6\u3002\u8FDB\u7A0B\u4ECD\u5B58\u6D3B\u3001\u6587\u4EF6\u53D1\u751F\u6F02\u79FB\u6216\u5B58\u5728\u672A\u77E5\u6587\u4EF6\u65F6\u4F1A\u505C\u6B62\u5E76\u4FDD\u7559\u73B0\u573A\u3002"),d?.cleanupId&&k.default.createElement(b,null,"\u5F53\u524D\u6E05\u7406\u9636\u6BB5\uFF1A",{payload:"\u8FD0\u884C\u65F6\u6587\u4EF6",controls:"\u63A7\u5236\u6587\u4EF6",finalizing:"\u6536\u5C3E\u6838\u9A8C"}[d.cleanupPhase]??"\u5F85\u6838\u5BF9","\uFF1B\u5DF2\u786E\u8BA4\u5904\u7406 ",d.cleanupCompleted??0," \u9879\uFF08\u672C\u9636\u6BB5\uFF09\u3002\u624B\u52A8\u5237\u65B0\u53EA\u8BFB\u72B6\u6001\uFF0C\u4E0D\u7EE7\u7EED\u5220\u9664\u3002"),x("runtime_rollback_resume","\u7EE7\u7EED\u5DF2\u767B\u8BB0\u7684\u6E05\u7406","\u518D\u6B21\u6838\u9A8C\u539F\u8FDB\u7A0B\u9000\u51FA\u3001\u72EC\u5360\u9501\u548C\u7B7E\u540D\u5220\u9664\u8FDB\u5EA6\uFF0C\u53EA\u7EE7\u7EED\u539F\u6765\u5DF2\u6388\u6743\u7684\u6761\u76EE\uFF1B\u4E0D\u91CD\u626B\u8BA4\u9886\u5176\u4ED6\u5185\u5BB9\uFF0C\u4E0D\u91CD\u65B0\u542F\u52A8 Host\u3002"),x("runtime_reconcile_rollback","\u6838\u5BF9\u56DE\u6EDA\u7ED3\u679C","\u53EA\u6838\u5BF9\u5F52\u5C5E\u3001\u8FDB\u7A0B\u9000\u51FA\u548C\u76EE\u5F55\u662F\u5426\u5DF2\u5220\u9664\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u5220\u9664\u64CD\u4F5C\u3002")),x("rollback","\u6E05\u7406\u672C\u4E8B\u52A1\u5B89\u88C5\u6587\u4EF6","\u4EC5\u5728\u8FD0\u884C\u65F6\u5DF2\u7ECF\u56DE\u6EDA\uFF08\u6216\u4ECE\u672A\u542F\u52A8\uFF09\u65F6\uFF0C\u6309\u539F\u59CB\u5B89\u88C5\u6E05\u5355\u6E05\u7406\u672C\u4E8B\u52A1\u6587\u4EF6\u3002\u4E0D\u4F1A\u5220\u9664\u5176\u4ED6\u76EE\u5F55\u3002"),!o&&k.default.createElement(b,null,"\u5F53\u524D Host \u672A\u5F00\u653E\u4E91\u7AEF\u5B89\u88C5\u6587\u4EF6\u51C6\u5907\uFF0C\u754C\u9762\u4E0D\u4F1A\u7ED5\u8FC7\u80FD\u529B\u95E8\u7981\u3002"),u&&!l&&k.default.createElement(b,null,"\u5F53\u524D Host \u672A\u5F00\u653E\u72EC\u7ACB\u8FD0\u884C\u65F6\u5B89\u88C5\uFF0C\u4E0D\u80FD\u5728\u6B64\u542F\u52A8\u3002"))),k.default.createElement(ze,{pose:u?"model":"cloud",title:u?"\u542F\u52A8\u6210\u529F \u2260 \u5168\u90E8\u914D\u7F6E\u5B8C\u6210":"\u5206\u5F00\u786E\u8BA4\uFF0C\u770B\u6E05\u6BCF\u4E00\u5904\u53D8\u5316\u3002",open:!0},k.default.createElement("p",null,"\u5148\u51C6\u5907\u5B89\u88C5\u6587\u4EF6\uFF0C\u518D\u6838\u5BF9\u56FA\u5B9A\u4F9D\u8D56\u4E0E\u542F\u52A8\u8BA1\u5212\uFF1B\u6BCF\u6B21\u786E\u8BA4\u53EA\u5BF9\u5E94\u5F53\u524D\u64CD\u4F5C\u3002"),k.default.createElement("p",null,"\u5237\u65B0\u662F\u53EA\u8BFB\u89C2\u5BDF\uFF0C\u4E0D\u4F1A\u91CD\u53D1\u5B89\u88C5\u3002\u9047\u5230\u672A\u77E5\u7ED3\u679C\u4FDD\u7559\u539F\u4E8B\u52A1\uFF0C\u5148\u6838\u5BF9\u518D\u5904\u7406\u3002"),k.default.createElement(_,{label:"\u672C\u5B89\u88C5\u64CD\u4F5C\u8303\u56F4",value:"\u4E0D\u4F20\u9001\u51ED\u636E\u3001\u4E0D\u7ED1\u5B9A\u673A\u5668\u4EBA\u3001\u4E0D\u6388\u6743\u4E1A\u52A1\u5199\u5165"}),k.default.createElement(_,{label:"\u5168\u94FE\u8DEF\u9A8C\u6536",value:"\u9700\u53E6\u884C\u6838\u9A8C\uFF0C\u4E0D\u7531\u5B89\u88C5\u72B6\u6001\u63A8\u65AD"})))}var ne=Le(me());var Ql={not_started:"\u5C1A\u672A\u914D\u5BF9",sending:"\u53D1\u9001\u610F\u56FE\u5DF2\u4FDD\u5B58 \xB7 \u5F85\u6838\u5BF9",needs_review:"\u7ED3\u679C\u672A\u77E5 \xB7 \u4E0D\u91CD\u53D1",recovering:"\u5173\u95ED\u7ED3\u679C\u5F85\u6838\u5BF9",applied:"\u914D\u5BF9\u64CD\u4F5C\u5DF2\u786E\u8BA4",closed:"\u539F\u64CD\u4F5C\u5DF2\u5173\u95ED\u6216\u7248\u672C\u5DF2\u63A8\u8FDB"},Yl={ONBOARDING_LOCAL_PAIR_OTHER_CONTROLLER:"\u8BE5\u4E91\u7AEF\u5DF2\u7ED1\u5B9A\u5176\u4ED6\u63A7\u5236\u7AEF\u3002\u4E3A\u4FDD\u62A4\u5386\u53F2\u90AE\u7BB1\uFF0C\u4E0D\u4F1A\u76F4\u63A5\u6362\u7ED1\u3002",ONBOARDING_LOCAL_PAIR_RECOVERY_REQUIRED:"\u539F\u8BF7\u6C42\u5C1A\u672A\u6838\u5BF9\uFF0C\u8BF7\u5148\u624B\u52A8\u5237\u65B0\uFF1B\u4E0D\u80FD\u7528\u65B0\u8BA1\u5212\u8986\u76D6\u3002",ONBOARDING_LOCAL_PAIR_BUSY:"\u672C\u5730\u4F20\u8F93\u5C1A\u5728\u8FDB\u884C\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_LOCAL_PAIR_ALREADY_APPLIED:"\u539F\u914D\u5BF9\u5DF2\u83B7\u786E\u8BA4\uFF0C\u8BF7\u5237\u65B0\u67E5\u770B\uFF0C\u4E0D\u9700\u8981\u91CD\u53D1\u6216\u5173\u95ED\u3002",ONBOARDING_LOCAL_PAIR_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u8FC7\u671F\u6216\u5DF2\u6D88\u8017\uFF1B\u82E5\u70B9\u8FC7\u786E\u8BA4\uFF0C\u8BF7\u5148\u6838\u5BF9\u56DE\u6267\u3002",ONBOARDING_TASK_RUNTIME_PAIR_RUNTIME_NOT_READY:"\u8BF7\u5148\u786E\u8BA4\u4E91\u7AEF\u4EFB\u52A1\u53D7\u7406\u5DF2\u542F\u7528\uFF0C\u518D\u9884\u89C8\u914D\u5BF9\u3002",ONBOARDING_TASK_RUNTIME_PAIR_BUSY:"\u4E91\u7AEF\u4F20\u8F93\u6216\u53D7\u7406\u5C1A\u672A\u7A7A\u95F2\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_CLOUD_PAIR_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u53D7\u7BA1\u914D\u5BF9\u3002\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u66FF\u6362\u539F\u63A7\u5236\u5668\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u5B89\u88C5\u548C\u8FDB\u7A0B\u72B6\u6001\u3002"};function Cr({request:e}){let[o,l]=(0,ne.useState)(null),[u,f]=(0,ne.useState)(null),[i,a]=(0,ne.useState)(!1),[p,I]=(0,ne.useState)(!1),[m,r]=(0,ne.useState)(!1),[c,t]=(0,ne.useState)(""),s=(0,ne.useRef)(!0),d=(0,ne.useRef)(!1);(0,ne.useEffect)(()=>(s.current=!0,e("local_pair_status",{refresh:!1}).then(g=>{s.current&&l(g)}).catch(()=>{s.current&&t("\u8BFB\u53D6\u672C\u5730\u914D\u5BF9\u8BB0\u5F55\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{s.current=!1}),[]);let n=m||["sending","needs_review","recovering"].includes(o?.operation.state);async function x(g,h){if(d.current)return;d.current=!0,I(!0),t("");let C=u;["apply","recoveryApply"].includes(g)&&(f(null),a(!1),r(!0)),g==="status"&&(f(null),a(!1));try{let S=g==="status"?{refresh:!0}:g==="preview"?{enabled:h}:g==="recoveryPreview"?{}:{id:C.id,fingerprint:C.fingerprint,confirm:!0},D=await e("local_pair_"+g,S);if(!s.current)return;["preview","recoveryPreview"].includes(g)?(f({...D,recovery:g==="recoveryPreview"}),a(!1)):(l(D),r(!1))}catch(S){s.current&&(t(Yl[S.message]??"\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4\u3002\u8BF7\u6838\u5BF9\u540C\u4E00\u914D\u5BF9\u56DE\u6267\uFF0C\u4E0D\u91CD\u53D1\u3001\u4E0D\u6539\u6295\u5176\u4ED6 Host\u3002"),g==="status"&&l(D=>D?{...D,remote:null,freshness:"check_failed"}:null))}finally{d.current=!1,s.current&&I(!1)}}return ne.default.createElement(j,{className:"connection-panel",title:"\u672C\u5730\u4E0E\u4E91\u7AEF\u76F4\u8FDE",icon:"cloud",sub:"\u6CBF\u7528\u5DF2\u6838\u5BF9\u7684 SSH \u76EE\u6807\uFF1B\u4E0D\u4F9D\u8D56 IM \u7FA4\u804A\uFF0C\u4E5F\u4E0D\u590D\u5236\u4E91\u7AEF\u5185\u90E8\u4EE4\u724C\u3002"},ne.default.createElement(_,{label:"\u64CD\u4F5C\u8303\u56F4",value:"\u5F53\u524D\u672C\u5730\u5927\u80A5\u9C7C \u2194 \u672C\u5BFC\u89C8\u7ED1\u5B9A\u7684\u4E91\u7AEF\u5927\u80A5\u9C7C"}),ne.default.createElement(_,{label:"\u672C\u5730\u6388\u6743",value:o?.localEnabled?"\u5DF2\u5141\u8BB8\u8FDE\u63A5":"\u5C1A\u672A\u5141\u8BB8\u8FDE\u63A5"}),ne.default.createElement(_,{label:"\u672C\u5730\u63A5\u5165",value:o?.mounted?"\u63A5\u5165\u5668\u5DF2\u6302\u8F7D \xB7 \u4E0D\u4EE3\u8868\u4E91\u7AEF\u5728\u7EBF":"\u63A5\u5165\u5668\u672A\u6302\u8F7D"}),ne.default.createElement(_,{label:"\u4E91\u7AEF\u89C2\u5BDF",value:o?.remote?o.remote.mounted?"\u63A5\u6536\u901A\u9053\u5DF2\u6302\u8F7D":o.remote.enabled?"\u6388\u6743\u5DF2\u8BB0\u5F55 \xB7 \u672A\u6302\u8F7D":"\u63A5\u6536\u901A\u9053\u672A\u542F\u7528":"\u5C1A\u65E0\u672C\u6B21\u4E91\u7AEF\u89C2\u5BDF"}),ne.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53CC\u7AEF\u76F4\u8FDE\u64CD\u4F5C"},ne.default.createElement(v,{kind:"primary",icon:"cloud",disabled:p||!!n||!!o?.localEnabled,onClick:()=>x("preview",!0)},"\u9884\u89C8\u53CC\u7AEF\u914D\u5BF9"),ne.default.createElement(v,{kind:"secondary",icon:"pause",disabled:p||!!n||!o?.operation.target,onClick:()=>x("preview",!1)},"\u9884\u89C8\u64A4\u9500\u914D\u5BF9"),ne.default.createElement(v,{kind:"secondary",icon:"reset",disabled:p,onClick:()=>x("status")},"\u624B\u52A8\u5237\u65B0\u76F4\u8FDE\u72B6\u6001")),o&&ne.default.createElement("div",{className:"connection-result",role:"status"},ne.default.createElement(_,{label:"\u64CD\u4F5C\u56DE\u6267",value:Ql[o.operation.state]??"\u5F85\u6838\u5BF9"}),ne.default.createElement("p",{className:"fine-print"},o.freshness==="remote_checked"?"\u5DF2\u67E5\u8BE2\u7ED1\u5B9A\u76EE\u6807\u3002\u672C\u6B21\u89C2\u5BDF\u4E0D\u6388\u4E88\u4EFB\u52A1\u6267\u884C\u6216\u5199\u5165\u6743\u9650\u3002":o.freshness==="check_failed"?"\u67E5\u8BE2\u5931\u8D25\uFF1B\u672C\u5730\u5DF2\u6302\u8F7D\u4E0D\u8BC1\u660E\u7F51\u7EDC\u6216\u4E91\u7AEF\u5065\u5EB7\u3002":"\u4EC5\u672C\u5730\u7F13\u5B58\u3002\u6253\u5F00\u9875\u9762\u4E0D\u4F1A\u81EA\u52A8\u8FDE\u63A5\u4E91\u7AEF\u5237\u65B0\u3002")),o?.activationError&&ne.default.createElement("p",{className:"connection-error",role:"status"},"\u672C\u5730\u6388\u6743\u4E0E\u6302\u8F7D\u72B6\u6001\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u6838\u5BF9\u539F\u56DE\u6267\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u8986\u76D6\u5176\u4ED6\u7F51\u5173\u3002"),n&&ne.default.createElement("div",{className:"connection-utility"},ne.default.createElement("p",null,"\u5148\u67E5\u8BE2\u539F\u64CD\u4F5C\u3002\u4ECD\u672A\u77E5\u65F6\u53EF\u5173\u95ED\u65E7\u8BF7\u6C42\u5E76\u963B\u65AD\u8FDF\u5230\u5E94\u7528\uFF1B\u4FDD\u7559\u4E91\u7AEF\u65E2\u6709\u6388\u6743\uFF0C\u672C\u5730\u4E0D\u4F1A\u56E0\u6B64\u81EA\u52A8\u63A5\u7BA1\u3002"),ne.default.createElement(v,{kind:"soft",icon:"shield",disabled:p,onClick:()=>x("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u64CD\u4F5C")),u&&ne.default.createElement("section",{className:"connection-confirm","aria-label":"\u53CC\u7AEF\u914D\u5BF9\u786E\u8BA4"},ne.default.createElement("h3",null,u.recovery?"\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u8BF7\u6C42":u.enabled?"\u786E\u8BA4\u8FDE\u63A5\u8FD9\u4E24\u4E2A Host":"\u786E\u8BA4\u64A4\u9500\u53CC\u7AEF\u914D\u5BF9"),ne.default.createElement(_,{label:"\u4E91\u7AEF\u8303\u56F4",value:"\u5DF2\u7ED1\u5B9A ECS / DSH "+u.target.hostVersion}),ne.default.createElement(b,null,u.recovery?"\u4FDD\u7559\u4E91\u7AEF\u5F53\u524D\u6388\u6743\uFF0C\u4EC5\u5173\u95ED\u539F\u64CD\u4F5C\u5E76\u963B\u65AD\u8FDF\u5230\u786E\u8BA4\uFF1B\u4E0D\u4EE3\u8868\u4E91\u7AEF\u5DF2\u505C\u7528\u3002\u539F\u786E\u8BA4\u82E5\u5148\u6210\u529F\uFF0C\u4F1A\u5982\u5B9E\u663E\u793A\u5DF2\u751F\u6548\u3002":u.enabled?"\u542F\u7528\u672C\u5730\u53D7\u7406\u3001\u4EFB\u52A1\u4E0E\u4ED3\u5E93\u8BFB\u53D6\u548C\u6301\u4E45\u6D88\u606F\u4F20\u8F93\u3002\u4F20\u8F93\u5668\u4F1A\u5904\u7406\u5DF2\u6388\u6743\u961F\u5217\uFF1B\u4E0D\u4F1A\u8C03\u7528\u6A21\u578B\u3001\u5F00\u542F worker\u3001\u5F00\u53D1\u3001\u63D0\u4EA4\u6216\u63A8\u9001\u3002":"\u5148\u505C\u6B62\u672C\u5730\u63A5\u5165\uFF0C\u518D\u8BF7\u6C42\u64A4\u9500\u4E91\u7AEF\u914D\u5BF9\u3002\u5386\u53F2\u4EFB\u52A1\u4E0E\u90AE\u7BB1\u4FDD\u7559\uFF0C\u4E0D\u5173\u95ED\u539F\u751F DSH\u3002\u82E5\u7F51\u7EDC\u4E2D\u65AD\u987B\u6838\u5BF9\u4E91\u7AEF\u56DE\u6267\u3002"),ne.default.createElement(J,{checked:i,disabled:p,onChange:a,title:"\u6211\u5DF2\u6838\u5BF9\u53CC\u7AEF\u8303\u56F4\uFF0C\u4E0D\u6388\u6743\u6A21\u578B\u6267\u884C\u6216\u4ED3\u5E93\u5199\u5165"}),ne.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u53CC\u7AEF\u914D\u5BF9\u6700\u7EC8\u786E\u8BA4"},ne.default.createElement(v,{kind:"primary",icon:"check",disabled:p||!i,onClick:()=>x(u.recovery?"recoveryApply":"apply")},u.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u914D\u5BF9\u64CD\u4F5C":u.enabled?"\u786E\u8BA4\u53CC\u7AEF\u914D\u5BF9":"\u786E\u8BA4\u64A4\u9500\u53CC\u7AEF\u914D\u5BF9"),ne.default.createElement(v,{kind:"secondary",disabled:p,onClick:()=>{f(null),a(!1)}},"\u53D6\u6D88"))),c&&ne.default.createElement("p",{className:"connection-error",role:"alert"},c),ne.default.createElement(b,null,"\u8BF7\u5148\u5F00\u542F\u4E91\u7AEF\u4EFB\u52A1\u53D7\u7406\uFF1B\u505C\u7528\u53D7\u7406\u524D\u987B\u64A4\u9500\u914D\u5BF9\u3002\u9875\u9762\u4EC5\u624B\u52A8\u5237\u65B0\uFF0C\u4E0D\u628A\u914D\u7F6E\u5B8C\u6210\u5F53\u4F5C\u6A21\u578B\u6216 IM \u5168\u94FE\u8DEF\u9A8C\u6536\u901A\u8FC7\u3002"))}var pe=Le(me());var Jl={inspected:"\u6258\u7BA1\u6E05\u5355\u6838\u9A8C\u4E00\u81F4",uninstalled:"\u5DF2\u5378\u8F7D\u6258\u7BA1\u5185\u5BB9",committed:"\u6258\u7BA1\u6587\u4EF6\u6838\u9A8C\u4E00\u81F4",not_installed:"\u5C1A\u65E0\u6258\u7BA1\u5B89\u88C5\u8BB0\u5F55",unavailable:"\u672A\u5F00\u653E\u68C0\u67E5",removed:"\u5DF2\u79FB\u9664\u6258\u7BA1\u5185\u5BB9",rolled_back:"\u5DF2\u56DE\u6EDA",needs_review:"\u9700\u4EBA\u5DE5\u6838\u5BF9",applying:"\u4E8B\u52A1\u672A\u5B8C\u6210",rolling_back:"\u56DE\u6EDA\u672A\u5B8C\u6210"};function vr({request:e,onResult:o}){let[l,u]=(0,pe.useState)(null),[f,i]=(0,pe.useState)(!1),[a,p]=(0,pe.useState)(""),I=(0,pe.useRef)(!0),m=(0,pe.useRef)(!1),r=(0,pe.useRef)(0);(0,pe.useEffect)(()=>(I.current=!0,r.current++,m.current=!1,i(!1),u(null),p(""),()=>{I.current=!1,r.current++}),[e]);async function c(){if(m.current)return;m.current=!0;let t=++r.current;i(!0),u(null),o?.(null),p("");try{let s=await e("existing_pair_inspect",{});I.current&&t===r.current&&(u(s),o?.(s))}catch{I.current&&t===r.current&&p("\u672C\u6B21\u53CC\u7AEF\u6838\u5BF9\u672A\u5B8C\u6210\u3002\u8BF7\u68C0\u67E5\u539F\u76F4\u8FDE\u4E0E\u4E24\u7AEF\u63D2\u4EF6\u7248\u672C\uFF1B\u4E0D\u4F1A\u91C7\u7528\u5386\u53F2\u6210\u529F\u3001\u53E6\u5EFA Host \u6216\u590D\u5236\u51ED\u636E\u3002")}finally{t===r.current&&(m.current=!1,I.current&&i(!1))}}return pe.default.createElement(j,{title:"\u5DF2\u6709\u53CC\u7AEF\u914D\u7F6E",icon:"cloud",className:"connection-panel",sub:"\u4EC5\u9002\u7528\u4E8E\u5DF2\u7ECF\u5EFA\u7ACB\u81EA\u6709\u76F4\u8FDE\u7684\u4E24\u4E2A Host\u3002\u624B\u52A8\u6838\u5BF9\u5F53\u524D\u5B9E\u9645\u914D\u7F6E\uFF1B\u4E0D\u91CD\u590D\u4FDD\u5B58 Key\uFF0C\u4E0D\u63A5\u7BA1 Host \u751F\u547D\u5468\u671F\uFF0C\u4E0D\u751F\u6210\u5B89\u88C5\u5F52\u5C5E\uFF0C\u4E5F\u4E0D\u6539\u53D8\u4E0B\u65B9\u65B0\u5EFA\u73AF\u5883\u6D41\u7A0B\u3002"},pe.default.createElement("div",{className:"connection-actions"},pe.default.createElement(v,{kind:"secondary",icon:f?"spinner":"search",disabled:f,onClick:c},f?"\u6B63\u5728\u6838\u5BF9\u65E2\u6709\u53CC\u7AEF\u2026":"\u624B\u52A8\u6838\u5BF9\u65E2\u6709\u53CC\u7AEF")),l&&pe.default.createElement("div",{className:"connection-result",role:"status"},pe.default.createElement("p",{className:"fine-print"},"\u6838\u5BF9\u65F6\u95F4\uFF1A",new Date(l.observedAt).toLocaleString()," \xB7 \u6B64\u6B21\u89C2\u5BDF\uFF0C\u4E0D\u4EE3\u8868\u6301\u7EED\u5728\u7EBF"),pe.default.createElement("div",{className:"form-grid"},[["\u672C\u5730 Host",l.local],["\u4E91\u7AEF Host",l.cloud]].map(([t,s])=>pe.default.createElement("section",{key:t,"aria-label":t+"\u65E2\u6709\u914D\u7F6E"},pe.default.createElement("h3",null,t),pe.default.createElement(_,{label:"\u63D2\u4EF6\u7248\u672C",value:s.host.plugin_version}),pe.default.createElement(_,{label:"\u89C4\u5219\u4E0E Skill",value:Jl[s.rules.state]??"\u9700\u6838\u5BF9"}),pe.default.createElement(_,{label:"\u6A21\u578B\u6E05\u5355",value:s.models.state==="listed"?`${s.models.providers} \u4E2A\u6E20\u9053 / ${s.models.models} \u4E2A\u6A21\u578B`:s.models.state==="catalog_incomplete"?"\u6E05\u5355\u4E0D\u5B8C\u6574":"\u672A\u8BFB\u53D6\u5230\u6E05\u5355"}),pe.default.createElement(_,{label:"IM \u6E05\u5355",value:s.im.state==="listed"?`${s.im.botsConfigured} \u4E2A\u673A\u5668\u4EBA \xB7 \u672A\u9A8C\u8BC1\u8FDE\u63A5`:s.im.state==="no_bots"?"\u5C1A\u65E0\u673A\u5668\u4EBA":"\u672A\u53D6\u5F97\u5B8C\u6574\u6E05\u5355"}),pe.default.createElement(_,{label:"\u53EA\u8BFB\u8C03\u5EA6\u5668",value:s.runtime.scheduler?`\u5DF2\u542F\u52A8 / \u6D3B\u52A8 ${s.runtime.activeRuns} \u6279`:"\u672A\u542F\u52A8"}),pe.default.createElement("details",{className:"details"},pe.default.createElement("summary",null,"\u76EE\u6807\u7AEF\u89E3\u6790\u8DEF\u5F84"),pe.default.createElement("p",{className:"fine-print"},"\u7531\u76EE\u6807\u8FDB\u7A0B\u89E3\u6790\uFF0C\u5C1A\u672A\u8BC1\u660E\u4F1A\u8BDD\u52A0\u8F7D\uFF1B\u4E0D\u6309\u672C\u673A\u63A8\u6D4B\uFF0C\u4E0D\u6388\u4E88\u5220\u9664\u6743\u3002"),pe.default.createElement("div",{className:"path-line"},pe.default.createElement("span",null,"DSH"),pe.default.createElement("code",null,s.paths.dsh)),pe.default.createElement("div",{className:"path-line"},pe.default.createElement("span",null,"Agents"),pe.default.createElement("code",null,s.paths.agents)))))),pe.default.createElement(b,null,"\u8FD9\u4E0D\u662F\u5B89\u88C5\u6216\u5168\u94FE\u8DEF\u9A8C\u6536\u56DE\u6267\u3002\u6A21\u578B\u8BF7\u6C42\u3001IM \u6536\u53D1\u3001\u4ED3\u5E93\u8BBF\u95EE\u53CA\u4EFB\u52A1\u6210\u679C\u4ECD\u987B\u5206\u522B\u9A8C\u8BC1\uFF1B\u4E0D\u4F1A\u5F00\u542F\u5F00\u53D1\u3001\u63D0\u4EA4\u3001\u63A8\u9001\u6216\u53D1\u5E03\u3002")),a&&pe.default.createElement("p",{role:"alert",className:"connection-error"},a))}var ue=Le(me());var Zl={not_started:"\u672A\u4EA4\u63A5",sending:"\u8BF7\u6C42\u5DF2\u767B\u8BB0 \xB7 \u5F85\u6838\u5BF9",delivered:"\u4E91\u7AEF\u5DF2\u4FDD\u5B58 \xB7 \u672C\u6B21\u672A\u542F\u7528\u6A21\u578B",needs_review:"\u7ED3\u679C\u5F85\u6838\u5BF9 \xB7 \u4E0D\u81EA\u52A8\u91CD\u53D1",recovering:"\u5173\u95ED\u8BF7\u6C42\u5DF2\u767B\u8BB0 \xB7 \u8BF7\u624B\u52A8\u6838\u5BF9",closed:"\u539F\u4EA4\u63A5\u5DF2\u5173\u95ED \xB7 \u672A\u5220\u9664\u4E91\u7AEF\u51ED\u636E"},jl={ONBOARDING_CLOUD_HANDOFF_TOKEN_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF Host \u5C1A\u4E0D\u652F\u6301 Token Plan \u51ED\u636E\u5408\u540C\uFF0C\u8BF7\u6838\u5BF9\u7248\u672C\uFF1B\u4FDD\u7559\u539F\u914D\u7F6E\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_MODEL_UNAVAILABLE:"\u76EE\u6807\u4E91\u7AEF\u6A21\u578B\u63A5\u5165\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u5207\u6362\u5230\u672C\u7AEF\u3002",ONBOARDING_CLOUD_HANDOFF_FENCE_UNSUPPORTED:"\u76EE\u6807\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u6B64\u670D\u52A1\u7684\u7248\u672C\u5C4F\u969C\uFF0C\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5173\u95ED\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_TOKEN_UNSUPPORTED:"\u672C\u6B21\u4E91\u7AEF\u5F52\u6863\u5C1A\u4E0D\u652F\u6301 Token Plan \u4EA4\u63A5\uFF1B\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_CLOUD_HANDOFF_HOST_NOT_READY:"\u4E91\u7AEF Host \u5C1A\u672A\u5B8C\u5168\u5C31\u7EEA\u6216\u4ECD\u5728\u5B89\u88C5\uFF0F\u91CD\u542F\u6536\u5C3E\u3002\u8BF7\u7B49\u5F85\u540E\u624B\u52A8\u6838\u5BF9\uFF0C\u4E0D\u81EA\u52A8\u91CD\u8BD5\u6216\u91CD\u53D1\u3002",ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED:"\u4E91\u7AEF\u5B9E\u4F8B\u8EAB\u4EFD\u53D8\u5316\uFF0C\u5DF2\u505C\u6B62\uFF1B\u8BF7\u6838\u5BF9\u539F\u76EE\u6807\uFF0C\u4E0D\u4F7F\u7528\u65E7\u786E\u8BA4\u3002",ONBOARDING_CLOUD_HANDOFF_IDENTITY_REVIEW:"\u4E91\u7AEF\u8EAB\u4EFD\u6216\u80FD\u529B\u5C1A\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u4FDD\u7559\u539F\u8BB0\u5F55\uFF0C\u4E0D\u8F6C\u4EA4\u5176\u4ED6\u5B9E\u4F8B\u3002",ONBOARDING_CLOUD_HANDOFF_RUNTIME_SOURCE_CHANGED:"\u4E91\u7AEF\u53D7\u7BA1\u7A0B\u5E8F\u6587\u4EF6\u5DF2\u53D8\u5316\uFF0C\u505C\u6B62\u64CD\u4F5C\uFF1B\u4E0D\u81EA\u52A8\u66FF\u6362\u6216\u4FEE\u590D\u3002",ONBOARDING_CLOUD_HANDOFF_AUTH_FAILED:"\u4E91\u7AEF\u539F\u751F\u8BBF\u95EE\u51ED\u636E\u672A\u901A\u8FC7\u6838\u9A8C\uFF0C\u8BF7\u6838\u5BF9\u5F53\u524D\u8FD0\u884C\u65F6\uFF1B\u4E0D\u5C1D\u8BD5\u65E5\u5E38\u51ED\u636E\u6216\u5176\u4ED6\u5730\u5740\u3002",ONBOARDING_CLOUD_OPERATION_BUSY:"\u53E6\u4E00\u9879\u4E91\u7AEF\u64CD\u4F5C\u4ECD\u5728\u5904\u7406\uFF0C\u8BF7\u7B49\u5F85\u7ED3\u675F\u540E\u518D\u624B\u52A8\u9884\u89C8\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u6392\u961F\u6267\u884C\u6216\u91CD\u8BD5\u3002",ONBOARDING_HANDOFF_BUSY:"\u53E6\u4E00\u9879\u4EA4\u63A5\u64CD\u4F5C\u4ECD\u5728\u5904\u7406\uFF0C\u8BF7\u7A0D\u540E\u624B\u52A8\u6838\u5BF9\u3002",ONBOARDING_HANDOFF_FENCE_UNSUPPORTED:"\u65E7\u4E91\u7AEF\u5C1A\u4E0D\u652F\u6301\u963B\u65AD\u8FDF\u5230\u8BF7\u6C42\uFF1B\u4FDD\u7559\u8D26\u672C\uFF0C\u4E0D\u81EA\u52A8\u5347\u7EA7\u3001\u6E05\u8D26\u6216\u91CD\u53D1\u3002",ONBOARDING_HANDOFF_RECOVERY_CHANGED:"\u4E91\u7AEF\u51ED\u636E\u7248\u672C\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u5E76\u9884\u89C8\u5173\u95ED\u65B9\u6848\u3002",ONBOARDING_HANDOFF_ALREADY_DELIVERED:"\u539F\u4EA4\u63A5\u5DF2\u9001\u8FBE\uFF0C\u8BF7\u70B9\u51FB\u201C\u624B\u52A8\u6838\u5BF9\u4EA4\u63A5\u7ED3\u679C\u201D\u66F4\u65B0\u56DE\u6267\uFF0C\u65E0\u9700\u5173\u95ED\u3002",ONBOARDING_HANDOFF_LEDGER_CONFLICT:"\u53E6\u4E00\u9875\u9762\u5DF2\u66F4\u65B0\u4EA4\u63A5\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u6700\u65B0\u8D26\u672C\u540E\u518D\u64CD\u4F5C\u3002",ONBOARDING_HANDOFF_SOURCE_REQUIRED:"\u8BF7\u5148\u5728\u7B2C 2 \u9875\u4FDD\u5B58\u201C\u9884\u5907\u4E91\u7AEF DeepSeek\u201D\u51ED\u636E\u3002\u4E0D\u4F1A\u8BFB\u53D6\u65E5\u5E38 Key \u6216\u81EA\u52A8\u501F\u7528\u672C\u7AEF Key\u3002",ONBOARDING_CLOUD_RUNTIME_SOURCE_NOT_READY:"\u8BF7\u5148\u5B8C\u6210\u672C\u5BFC\u89C8\u7684\u72EC\u7ACB\u4E91\u7AEF Host \u521D\u59CB\u5316\uFF0C\u518D\u9884\u89C8\u51ED\u636E\u4EA4\u63A5\u3002",ONBOARDING_CLOUD_HANDOFF_UNSUPPORTED:"\u5F53\u524D\u4E91\u7AEF\u5F52\u6863\u4E0D\u652F\u6301\u51ED\u636E\u4EA4\u63A5\u3002\u4FDD\u7559\u65E7\u73AF\u5883\uFF0C\u4E0D\u81EA\u52A8\u8986\u76D6\u6216\u5347\u7EA7\u3002",ONBOARDING_HANDOFF_RECOVERY_REQUIRED:"\u5DF2\u6709\u672A\u786E\u8BA4\u7ED3\u679C\uFF0C\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\uFF1B\u4E0D\u8981\u518D\u6B21\u53D1\u9001 Key\u3002",ONBOARDING_HANDOFF_SOURCE_CHANGED:"\u9884\u5907\u4E91\u7AEF\u51ED\u636E\u5DF2\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8\u786E\u8BA4\u3002",ONBOARDING_HANDOFF_PLAN_EXPIRED:"\u9884\u89C8\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9\u76EE\u6807\u3002"};function Gt({request:e,service:o="deepseek"}){let l=o==="gitee",u=o==="token-plan",f=l?"\u4E91\u7AEF Gitee \u51ED\u636E\u4EA4\u63A5":u?"\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5":"\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5",i=l?"\u9884\u5907\u4E91\u7AEF Gitee":u?"\u9884\u5907\u4E91\u7AEF Token Plan":"\u9884\u5907\u4E91\u7AEF DeepSeek",a=ue.default.useCallback((h,C)=>e((l?"gitee_":u?"token_":"")+h,C),[e,u,l]),[p,I]=(0,ue.useState)(null),[m,r]=(0,ue.useState)(null),[c,t]=(0,ue.useState)(!1),[s,d]=(0,ue.useState)(!1),[n,x]=(0,ue.useState)("");(0,ue.useEffect)(()=>{let h=!0;return a("handoff_status",{refresh:!1}).then(C=>{h&&I(C)}).catch(()=>{h&&x("\u4EA4\u63A5\u8D26\u672C\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{h=!1}},[a]);async function g(h){d(!0),x("");try{if(h==="recover"&&(r(null),t(!1),r({...await a("handoff_recoveryPreview",{}),recovery:!0})),h==="preview"&&(r(null),t(!1),r(await a("handoff_preview",{}))),h==="refresh"&&(r(null),t(!1),I(await a("handoff_status",{refresh:!0}))),h==="apply"){if(!m||!c)return;let C=m;r(null),t(!1),I(await a(C.recovery?"handoff_recoveryApply":"handoff_apply",{id:C.id,fingerprint:C.fingerprint,confirm:!0}))}}catch(C){r(null),t(!1),x(l&&C.message==="ONBOARDING_HANDOFF_SOURCE_REQUIRED"?"\u8BF7\u5148\u5728\u7B2C 4 \u9875\u4FDD\u5B58\u9884\u5907\u4E91\u7AEF Gitee \u4EE4\u724C\uFF1B\u4E0D\u4F1A\u8BFB\u53D6\u65E5\u5E38\u6216\u5176\u4ED6\u6A21\u578B\u51ED\u636E\u3002":l&&["ONBOARDING_CLOUD_REPOSITORY_UNSUPPORTED","ONBOARDING_CLOUD_HANDOFF_REPOSITORY_UNSUPPORTED"].includes(C.message)?"\u539F\u4E91\u7AEF\u5F52\u6863\u6216 Host \u4E0D\u652F\u6301 Gitee \u51ED\u636E\u4EA4\u63A5\uFF1B\u4FDD\u7559\u65E7\u5B9E\u4F8B\uFF0C\u4E0D\u81EA\u52A8\u66FF\u6362\u5347\u7EA7\u3002":u&&C.message==="ONBOARDING_HANDOFF_SOURCE_REQUIRED"?"\u8BF7\u5148\u5728\u7B2C 2 \u9875\u4FDD\u5B58\u201C\u9884\u5907\u4E91\u7AEF Token Plan\u201D\u4E13\u7528\u51ED\u636E\uFF0C\u4E0D\u4F1A\u501F\u7528\u672C\u7AEF\u6216 DeepSeek Key\u3002":jl[C.message]??"\u672C\u6B21\u7ED3\u679C\u9700\u6838\u5BF9\uFF1B\u672A\u786E\u8BA4\u4E0D\u7B49\u4E8E\u672A\u5199\u5165\uFF0C\u8BF7\u624B\u52A8\u67E5\u8BE2\u8D26\u672C\uFF0C\u4E0D\u8981\u91CD\u590D\u53D1\u9001\u3002")}finally{d(!1)}}return ue.default.createElement(j,{className:"connection-panel",title:f,icon:"key",sub:"\u72EC\u7ACB\u4E91\u7AEF Host \u5C31\u7EEA\u540E\uFF0C\u5355\u72EC\u786E\u8BA4\uFF1B\u4E0D\u81EA\u52A8\u542F\u7528\u6A21\u578B\u6216\u542F\u52A8\u4EFB\u52A1\u3002"},ue.default.createElement(_,{label:"\u4EA4\u63A5\u72B6\u6001",value:p?l&&p.state==="delivered"?"\u4E91\u7AEF\u5DF2\u4FDD\u5B58 \xB7 \u672A\u6838\u9A8C\u4ED3\u5E93\u6216\u6388\u6743\u5199\u5165":Zl[p.state]??"\u5F85\u6838\u5BF9":"\u8BFB\u53D6\u672C\u7AEF\u8D26\u672C\u4E2D"}),ue.default.createElement(b,null,"\u4EC5\u628A\u7B2C ",l?4:2," \u9875\u4FDD\u5B58\u7684\u201C",i,"\u201D",l?"\u4EE4\u724C":"Key","\uFF0C\u7ECF\u5DF2\u6838\u9A8C\u7684 SSH \u901A\u9053\u4EA4\u7ED9\u672C\u6B21\u53D7\u7BA1\u4E91\u7AEF\u5B9E\u4F8B\u3002\u4E0D\u4F1A\u590D\u5236 SSH \u79C1\u94A5\uFF0C\u4E0D\u6539\u539F\u751F\u51ED\u636E\uFF0C\u4E0D\u81EA\u52A8\u8C03\u7528\u6A21\u578B\u3002\u8FDB\u5165\u672C\u9875\u53EA\u8BFB\u53D6\u672C\u7AEF\u8D26\u672C\uFF0C\u4E0D\u8FDE\u63A5\u4E91\u7AEF\u3002"),p?.observedAt!==void 0&&ue.default.createElement(_,{label:"\u56DE\u6267\u65B0\u9C9C\u5EA6",value:p.freshness==="remote_checked"?"\u5DF2\u4E8E "+new Date(p.checkedAt).toLocaleString()+" \u6838\u5BF9\u4E91\u7AEF":p.freshness==="check_failed"?"\u672C\u6B21\u672A\u80FD\u6838\u5BF9\u4E91\u7AEF \xB7 \u4FDD\u7559\u5F85\u6838\u5BF9\u72B6\u6001":"\u672C\u7AEF\u7F13\u5B58 \xB7 "+new Date(p.observedAt).toLocaleString()+" \u8BB0\u5F55\uFF0C\u975E\u5B9E\u65F6\u72B6\u6001"}),p?.error&&ue.default.createElement(b,null,p.error==="ONBOARDING_HANDOFF_NOT_CONFIRMED"?"\u4E91\u7AEF\u5F53\u524D\u7248\u672C\u672A\u786E\u8BA4\u539F\u4EA4\u63A5\u3002Key \u53EF\u80FD\u672A\u9001\u8FBE\uFF0C\u6216\u5DF2\u88AB\u540E\u7EED\u64CD\u4F5C\u4FEE\u6539\uFF1B\u4E0D\u8981\u76F4\u63A5\u91CD\u53D1\u3002":"\u672A\u62FF\u5230\u53EF\u4FE1\u7684\u4E91\u7AEF\u7ED3\u679C\uFF0C\u4E0D\u4EE3\u8868\u6CA1\u6709\u5199\u5165\u3002\u8BF7\u5148\u624B\u52A8\u6838\u5BF9\u3002"),p?.state==="closed"&&ue.default.createElement(b,null,"\u539F\u8BF7\u6C42\u5DF2\u88AB\u540E\u7EED\u51ED\u636E\u7248\u672C\u963B\u65AD\uFF0C\u4E0D\u4F1A\u7EE7\u7EED\u4F7F\u7528\u65E7\u786E\u8BA4\u3002\u5173\u95ED\u4E0D\u8BC1\u660E Key \u4ECE\u672A\u9001\u8FBE\uFF0C\u4E5F\u4E0D\u5220\u9664\u6216\u66FF\u6362\u4E91\u7AEF\u5F53\u524D Key\u3002\u65B0\u4EA4\u63A5\u4ECD\u9700\u91CD\u65B0\u9884\u89C8\u786E\u8BA4\u3002"),p?.target&&ue.default.createElement(_,{label:"\u5DF2\u767B\u8BB0\u7684\u76EE\u6807\u76EE\u5F55",value:p.target.root}),ue.default.createElement("div",{className:"connection-actions",role:"group","aria-label":l?"\u4E91\u7AEF Gitee \u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C":u?"\u4E91\u7AEF Token Plan \u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C":"\u4E91\u7AEF\u51ED\u636E\u4EA4\u63A5\u64CD\u4F5C"},ue.default.createElement(v,{kind:"primary",icon:"key",disabled:s||!p||["sending","needs_review","recovering"].includes(p.state),onClick:()=>g("preview")},"\u9884\u89C8",f),ue.default.createElement(v,{kind:"secondary",icon:"reset",disabled:s,onClick:()=>g("refresh")},l?"\u624B\u52A8\u6838\u5BF9 Gitee \u4EA4\u63A5\u7ED3\u679C":u?"\u624B\u52A8\u6838\u5BF9 Token Plan \u4EA4\u63A5\u7ED3\u679C":"\u624B\u52A8\u6838\u5BF9\u4EA4\u63A5\u7ED3\u679C"),p&&["sending","needs_review"].includes(p.state)&&ue.default.createElement(v,{kind:"secondary",icon:"shield",disabled:s,onClick:()=>g("recover")},l?"\u9884\u89C8\u5173\u95ED Gitee \u539F\u4EA4\u63A5":u?"\u9884\u89C8\u5173\u95ED Token Plan \u539F\u4EA4\u63A5":"\u9884\u89C8\u5173\u95ED\u539F\u4EA4\u63A5")),m?.recovery&&ue.default.createElement("section",{className:"connection-confirm"},ue.default.createElement("h3",null,l?"\u5173\u95ED Gitee \u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1\u4EE4\u724C":u?"\u5173\u95ED Token Plan \u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1 Key":"\u5173\u95ED\u539F\u4EA4\u63A5\uFF0C\u4E0D\u91CD\u53D1 Key"),ue.default.createElement(_,{label:"\u76EE\u6807\u76EE\u5F55",value:m.target.root}),ue.default.createElement(b,null,m.mode==="fence"?"\u76EE\u6807\u7248\u672C\u5C1A\u672A\u63A8\u8FDB\u3002\u786E\u8BA4\u540E\u4EC5\u63A8\u8FDB\u51ED\u636E\u7248\u672C\uFF0C\u4FDD\u6301\u5F53\u524D\u5185\u5BB9\uFF08\u5305\u62EC\u7A7A\u503C\uFF09\u4E0D\u53D8\uFF0C\u963B\u65AD\u8FDF\u5230\u7684\u539F\u8BF7\u6C42\uFF1B\u5DF2\u6709\u81EA\u6709\u6A21\u578B\u63A5\u5165\u53EF\u80FD\u9700\u91CD\u65B0\u786E\u8BA4\u3002":"\u76EE\u6807\u51ED\u636E\u7248\u672C\u5DF2\u7ECF\u63A8\u8FDB\u3002\u786E\u8BA4\u540E\u4EC5\u5173\u95ED\u672C\u7AEF\u539F\u4EA4\u63A5\u8D26\u672C\uFF0C\u4E0D\u4FEE\u6539\u4E91\u7AEF\u51ED\u636E\u3002"," \u82E5\u539F\u8BF7\u6C42\u5148\u5230\u8FBE\uFF0C\u5219\u663E\u793A\u5DF2\u9001\u8FBE\uFF0C\u4E0D\u4F1A\u8BEF\u8BB0\u4E3A\u672A\u9001\u8FBE\u3002"),ue.default.createElement(J,{checked:c,onChange:t,title:"\u6211\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5\uFF0C\u4FDD\u7559\u4E91\u7AEF\u5F53\u524D\u51ED\u636E\uFF0C\u4E0D\u91CD\u53D1\u6216\u5220\u9664 Key"}),ue.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},ue.default.createElement(v,{kind:"primary",icon:"check",disabled:s||!c,onClick:()=>g("apply")},"\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5"),ue.default.createElement(v,{kind:"secondary",disabled:s,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))),m&&!m.recovery&&ue.default.createElement("section",{className:"connection-confirm"},ue.default.createElement("h3",null,l?"\u4EC5\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u5173\u8054\u4EFB\u52A1\u6216\u6388\u6743\u5199\u5165":u?"\u4EC5\u4FDD\u5B58 Token Plan \u5230\u4E91\u7AEF\uFF0C\u4E0D\u542F\u7528\u6A21\u578B":"\u4EC5\u4FDD\u5B58\u5230\u4E91\u7AEF\uFF0C\u4E0D\u542F\u7528\u6A21\u578B"),ue.default.createElement(_,{label:"\u76EE\u6807\u89D2\u8272",value:"\u4E91\u7AEF\u5927\u80A5\u9C7C"}),ue.default.createElement(_,{label:"\u76EE\u6807\u76EE\u5F55",value:m.target.root}),ue.default.createElement(_,{label:"DSH \u7248\u672C",value:m.target.hostVersion}),ue.default.createElement(_,{label:"\u51ED\u636E\u53D8\u5316",value:m.replacesOwnCredential?"\u66FF\u6362\u8BE5\u5B9E\u4F8B\u672C\u9879\u76EE\u7684\u65E2\u6709 Key\uFF1B\u5DF2\u6709\u81EA\u6709\u6A21\u578B\u63A5\u5165\u53EF\u80FD\u9700\u91CD\u65B0\u786E\u8BA4":"\u65B0\u5EFA\u672C\u9879\u76EE\u7684\u4E13\u7528\u51ED\u636E\u69FD\u4F4D"}),ue.default.createElement(J,{checked:c,onChange:t,title:l?"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58 Gitee \u4EE4\u724C\uFF0C\u4E0D\u6388\u6743\u4EFB\u52A1\u6216\u4ED3\u5E93\u5199\u5165":"\u6211\u786E\u8BA4\u4EC5\u5411\u4E0A\u8FF0\u53D7\u7BA1\u4E91\u7AEF\u4FDD\u5B58\u9884\u5907 Key\uFF0C\u4E0D\u542F\u7528\u6A21\u578B\u6216\u4EFB\u52A1"}),ue.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},ue.default.createElement(v,{kind:"primary",icon:"check",disabled:s||!c,onClick:()=>g("apply")},"\u786E\u8BA4\u4EA4\u63A5",l?"\u4E91\u7AEF Gitee \u51ED\u636E":u?"\u4E91\u7AEF Token Plan \u51ED\u636E":"\u4E91\u7AEF\u51ED\u636E"),ue.default.createElement(v,{kind:"secondary",disabled:s,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))),n&&ue.default.createElement("p",{className:"connection-error",role:"alert"},n))}function xr({kind:e,host:o,viewerRole:l,request:u,sourceRequest:f,onNative:i,draft:a,imClient:p,onManageIm:I,onManageCloudIm:m}){let[r,c]=(0,B.useState)(null),[t,s]=(0,B.useState)(""),[d,n]=(0,B.useState)(""),[x,g]=(0,B.useState)(""),[h,C]=(0,B.useState)("");(0,B.useEffect)(()=>{let w=!0;return u("describe",{}).then(Q=>{w&&c(Q.capabilities??{})}).catch(()=>{w&&s("\u914D\u7F6E\u80FD\u529B\u672A\u80FD\u8BFB\u53D6\uFF1B\u4E0D\u4F1A\u731C\u6D4B\u76EE\u6807\u7AEF\u6216\u81EA\u52A8\u91CD\u8BD5\u3002")}),()=>{w=!1}},[u]);let S=o!==l,D=S&&o==="cloud",N=(w="\u6B64\u8FDE\u63A5\u5C1A\u672A\u63D0\u4F9B\u8FD9\u9879\u914D\u7F6E\u80FD\u529B\u3002")=>B.default.createElement(j,{title:"\u6682\u4E0D\u53EF\u5728\u6B64\u64CD\u4F5C"},B.default.createElement("p",null,w),S?B.default.createElement("p",{className:"v2-muted"},"\u8BF7\u5728",o==="cloud"?"\u4E91\u7AEF":"\u672C\u5730"," DSH \u4E2D\u6253\u5F00\u540C\u540D\u914D\u7F6E\u9875\uFF1B\u6B64\u5904\u4E0D\u4F1A\u5207\u6362\u6216\u4FEE\u6539\u5F53\u524D\u7AEF\u3002"):B.default.createElement(v,{onClick:i},"\u8FD4\u56DE\u5F53\u524D\u7AEF\u539F\u751F\u5165\u53E3"));if(t)return B.default.createElement("p",{role:"alert"},t);if(!["local","cloud"].includes(l))return N("\u5F53\u524D\u8BBF\u95EE\u7AEF\u8EAB\u4EFD\u5C1A\u672A\u6838\u9A8C\uFF1B\u8BF7\u5148\u5237\u65B0\u5DE5\u4F5C\u53F0\uFF0C\u4E0D\u4F1A\u731C\u6D4B\u914D\u7F6E\u76EE\u6807\u3002");if(!r)return B.default.createElement("p",{role:"status"},"\u6B63\u5728\u6838\u5BF9\u76EE\u6807\u7AEF\u914D\u7F6E\u80FD\u529B\u2026");if(S&&o==="local")return N("\u5F53\u524D\u662F\u4E91\u7AEF\u5DE5\u4F5C\u53F0\uFF1B\u672C\u5730\u914D\u7F6E\u8BF7\u56DE\u5230\u672C\u5730 DSH\uFF0C\u4E0D\u4F1A\u901A\u8FC7\u4E91\u7AEF\u4FEE\u6539\u672C\u5730\u3002");let T={request:u,cloud:D},O;return e==="connection"&&(O=B.default.createElement(B.default.Fragment,null,r.existingPairInspectionContract===1&&B.default.createElement(vr,{request:u})," ",!S&&l==="local"&&r.localPeerBinding&&B.default.createElement(Cr,{request:u}),B.default.createElement(_,{label:"\u901A\u4FE1",value:"\u63D2\u4EF6\u76F4\u8FDE\uFF1B\u4E0D\u901A\u8FC7\u4E24\u4E2A\u7FA4\u673A\u5668\u4EBA\u4EA4\u63A5"}))),e==="models"&&(O=B.default.createElement(B.default.Fragment,null,B.default.createElement(Se,{label:"\u6A21\u578B\u540D\u79F0",value:d,onChange:w=>n(w.target.value),placeholder:"\u8F93\u5165\u73B0\u6709\u6A21\u578B\u540D\u79F0"}),B.default.createElement("p",{className:"v2-muted"},"\u6B64\u5904\u6838\u5BF9\u6A21\u578B\u670D\u52A1\u63A5\u5165\uFF1B\u9ED8\u8BA4\u9009\u62E9\u590D\u7528\u76EE\u6807\u7AEF DSH \u914D\u7F6E\uFF0C\u4EFB\u52A1\u53EF\u660E\u786E\u8986\u76D6\u3002\u4FDD\u5B58\u4E0D\u4EE3\u8868\u5DF2\u8C03\u7528\u3002"),(D?r.cloudModelBinding:r.modelBinding)?B.default.createElement(ft,{...T,query:d}):N(),(D?r.cloudTokenPlanBinding:r.tokenPlanBinding)&&B.default.createElement(ft,{...T,query:d,service:"token-plan"}),B.default.createElement("details",null,B.default.createElement("summary",null,"\u7528\u91CF\u4E0E\u8D39\u7528\u8BF4\u660E"),B.default.createElement("p",null,"\u65B0\u4EFB\u52A1\u6CA1\u6709\u8C03\u7528\u6B21\u6570\u4E0A\u9650\u3002\u670D\u52A1\u5546\u5957\u9910\u3001\u9650\u6D41\u4ECD\u6709\u6548\uFF1B\u65E0\u6CD5\u53D6\u5F97\u7684\u7528\u91CF\u548C\u8D39\u7528\u663E\u793A\u672A\u77E5\u3002")))),e==="credentials"&&(O=D?B.default.createElement(B.default.Fragment,null,r.cloudCredentialHandoff?B.default.createElement(Gt,{request:u}):N(),r.cloudTokenPlanHandoff&&B.default.createElement(Gt,{request:u,service:"token-plan"})):B.default.createElement(Lo,{request:u,onReference:()=>{}})),e==="im"&&(O=B.default.createElement(B.default.Fragment,null,B.default.createElement("p",null,"\u4EC5\u7BA1\u7406\u6D88\u606F\u63A5\u5165\uFF1B\u673A\u5668\u4EBA\u6743\u9650\u4E0D\u51B3\u5B9A\u4EFB\u52A1\u6267\u884C\u6743\u9650\u3002"),B.default.createElement(Co,{...T,imClient:p,cloudWebEntry:!!r.cloudWebEntry,onManage:I,onManageCloud:m}))),e==="notifications"&&(O=B.default.createElement(B.default.Fragment,null,B.default.createElement("p",null,"\u4EFB\u52A1\u901A\u77E5\u8DEF\u7531\uFF08\u53CC\u7AEF\u5171\u7528\uFF09\uFF1A\u9009\u62E9\u5B9E\u9645\u53D1\u9001\u7AEF\u4E0E\u5BF9\u8BDD\uFF0C\u4E0D\u662F\u5F53\u524D\u5206\u7C7B\u7AEF\u7684\u4E13\u5C5E\u914D\u7F6E\u3002"),r.notificationDefaultsContract===1?B.default.createElement(vo,{request:u}):N())),e==="repository"&&(O=B.default.createElement(B.default.Fragment,null,B.default.createElement("p",null,"\u4EE5\u4E91\u7AEF\u6267\u884C\u76EE\u5F55\u4E2D\u7684 Git \u4E3A\u57FA\u7840\uFF1B\u8FDC\u7A0B\u6258\u7BA1\u53EF\u9009\uFF0CGitee \u975E\u5FC5\u9700\u3002"),B.default.createElement(v,{onClick:()=>a("\u4ED3\u5E93\u4F7F\u7528\u8BF4\u660E","\u8BF7\u6838\u5BF9\u4E91\u7AEF\u4EFB\u52A1\u7684\u6267\u884C\u76EE\u5F55\u4E0E Git \u72B6\u6001\uFF1B\u5148\u62A5\u544A\uFF0C\u4E0D\u63D0\u4EA4\u3001\u4E0D\u63A8\u9001\u3002")},"\u5728\u5BF9\u8BDD\u4E2D\u6838\u5BF9 Git"),B.default.createElement("details",null,B.default.createElement("summary",null,"\u53EF\u9009 Gitee \u8FDE\u63A5"),B.default.createElement(Se,{label:"Gitee \u4ED3\u5E93\u5730\u5740",value:x,onChange:w=>g(w.target.value),placeholder:"https://gitee.com/team/project"}),B.default.createElement(Se,{label:"\u4ED3\u5E93\u522B\u540D",value:h,onChange:w=>C(w.target.value)}),(D?r.cloudRepositoryCheck:r.repositoryCheckContract===1)&&B.default.createElement(xo,{...T,url:x})," ",(D?r.cloudRepositoryRegistry:r.repositoryRegistryContract===2)&&B.default.createElement(_o,{...T,url:x,alias:h})))),e==="files"&&(O=B.default.createElement(B.default.Fragment,null,B.default.createElement("p",null,"\u901A\u8FC7\u539F\u751F\u5BF9\u8BDD\u6DFB\u52A0\u672C\u5730\u8D44\u6599\uFF1B\u5F53\u524D\u4EFB\u52A1\u6210\u679C\u4ECE\u4EFB\u52A1\u5185\u4E0B\u8F7D\u3002\u4E91\u7AEF\u6587\u4EF6\u6743\u9650\u4E0D\u4F1A\u81EA\u52A8\u4E0A\u4F20\u672C\u5730\u6587\u4EF6\u3002"),B.default.createElement(v,{onClick:()=>a("\u6587\u4EF6\u6536\u53D1","\u8BF7\u6838\u5BF9\u6240\u9009\u4EFB\u52A1\u7684\u9644\u4EF6\u9001\u8FBE\u60C5\u51B5\u4E0E\u6587\u4EF6\u4EA4\u4ED8\u961F\u5217\uFF0C\u53EA\u67E5\u8BE2\u539F\u56DE\u6267\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u3002")},"\u67E5\u8BE2\u6587\u4EF6\u4E0E\u539F\u53D1\u9001\u56DE\u6267"),B.default.createElement("details",null,B.default.createElement("summary",null,"\u5386\u53F2\u517C\u5BB9\u76F4\u4F20\u914D\u7F6E"),B.default.createElement("p",null,"\u4EE5\u4E0B\u662F\u65E7\u76F4\u4F20\u5408\u540C\u7684\u72EC\u7ACB\u9650\u5236\uFF0C\u4E0D\u662F 2.0 \u539F\u751F\u4EFB\u52A1\u6587\u4EF6\u4E0A\u9650\uFF1B\u4E0D\u81EA\u52A8\u8FC1\u79FB\u6216\u6269\u5927\u539F\u76EE\u5F55\u3002"),(D?r.cloudFileTransferContract===1:r.managedFileTransferContract===2)?B.default.createElement(Ao,{...T,migration:D?r.cloudFileScopeMigrationContract===1:r.managedFileScopeMigrationContract===1,queueReview:D?r.cloudFileQueueReviewContract===1:r.managedFileQueueReviewContract===2}):N()))),e==="rules"&&(O=S?N("\u89C4\u5219\u4E0E Skill \u7EF4\u62A4\u5FC5\u987B\u5728\u76EE\u6807 Host \u5185\u786E\u8BA4\u3002\u6253\u5F00\u4E91\u7AEF\u540E\u8FDB\u5165\u540C\u540D\u7EF4\u62A4\u9875\u3002"):B.default.createElement(B.default.Fragment,null,r.rulesInstall&&B.default.createElement(yo,{request:u}),B.default.createElement(Lt,{request:u,contract:r.rulesMaintenancePreviewContract??0,mutation:!!r.rulesMaintenanceMutation}))),e==="plugins"&&(O=D&&r.remoteDetection?B.default.createElement(gr,{request:u,preparation:!!r.sourcePreparation,runtime:!!r.nativeHostInstallation,optionalIm:!!r.optionalImInstallation,execution:!0}):S?N("\u5F53\u524D\u8FDE\u63A5\u4E0D\u63D0\u4F9B\u4E91\u7AEF\u63D2\u4EF6\u5B89\u88C5\u7EF4\u62A4\u3002\u8BF7\u5728\u4E91\u7AEF\u6838\u5BF9\uFF0C\u4E0D\u56DE\u9000\u672C\u5730\u3002"):B.default.createElement(B.default.Fragment,null,B.default.createElement(j,{title:"\u672C\u7AEF\u63D2\u4EF6"},B.default.createElement("p",null,"\u7248\u672C\u3001\u542F\u7528\u548C\u5B9E\u9645\u52A0\u8F7D\u662F\u4E0D\u540C\u72B6\u6001\u3002\u5347\u7EA7\u3001\u4FEE\u590D\u6CBF\u7528\u539F\u751F\u63D2\u4EF6\u7BA1\u7406\uFF0C\u4E0D\u5728\u5DE5\u4F5C\u53F0\u81EA\u52A8\u66F4\u65B0\u3002"),B.default.createElement(v,{onClick:i},"\u6253\u5F00\u539F\u751F\u5165\u53E3")),!S&&r.rulesMaintenancePreviewContract&&B.default.createElement(Lt,{request:u,contract:r.rulesMaintenancePreviewContract,mutation:!!r.rulesMaintenanceMutation}))),e==="service"&&(O=S?N("\u73B0\u6709\u4E91\u7AEF\u5B89\u88C5\u7EF4\u62A4\u5728\u201C\u63D2\u4EF6\u7248\u672C\u4E0E\u4FEE\u590D\u201D\u9875\uFF1B\u5F53\u524D\u8FDE\u63A5\u4E0D\u63D0\u4F9B\u4EFB\u610F\u8FDC\u7AEF\u505C\u673A\u3002"):B.default.createElement(B.default.Fragment,null,r.maintenanceRecordContract===2&&B.default.createElement(Jo,{request:u,contract:2}),B.default.createElement(Ro,{request:u,disableContract:r.selfDisableContract??0,removeContract:r.selfRemoveContract??0,stopContract:r.selfStopQueryContract??0,allowStop:r.selfStopContract===1}),B.default.createElement("p",{className:"v2-muted"},"\u7EF4\u62A4\u64CD\u4F5C\u9700\u6838\u5BF9\u771F\u5B9E\u8BA1\u5212\uFF1B\u505C\u7528\u3001\u79FB\u9664\u3001\u505C\u6B62 Host \u4E0D\u7B49\u4E8E\u505C\u6B62\u4EFB\u52A1\u6216\u5220\u9664\u4EFB\u52A1\u6570\u636E\u3002"))),["sources","policy"].includes(e)&&(O=f?B.default.createElement(mo,{kind:e,request:f,draft:a}):N("\u5F53\u524D\u8FDE\u63A5\u672A\u63D0\u4F9B\u6765\u6E90\u72B6\u6001\u67E5\u8BE2\u3002")),e==="observer"&&(O=B.default.createElement(j,{title:{sources:"\u6765\u6E90\u4E0E\u5904\u7406\u6A21\u5F0F",policy:"\u6709\u9650\u4E3B\u52A8\u5DE5\u4F5C",observer:"\u8FDB\u5C55\u76D1\u7763"}[e]},B.default.createElement("p",null,{sources:"\u6765\u6E90\u542F\u505C\u63A7\u5236\u63A5\u6536\uFF0C\u5904\u7406\u6A21\u5F0F\u63A7\u5236\u65B0\u8F93\u5165\uFF0C\u6743\u9650\u64A4\u9500\u53E6\u884C\u751F\u6548\uFF1B\u4E0D\u4F1A\u5C06\u91CD\u65B0\u542F\u7528\u6765\u6E90\u5F53\u4F5C\u7EE7\u7EED\u5DF2\u505C\u6B62\u4EFB\u52A1\u3002",policy:"\u53EA\u5728\u5DF2\u914D\u7F6E\u6765\u6E90\u548C\u660E\u786E\u8303\u56F4\u5185\u5DE5\u4F5C\u3002\u65B0\u7684\u6765\u6E90\u3001\u76EE\u6807\u6216\u5BF9\u5916\u4EA4\u4ED8\u4E0D\u80FD\u4ECE\u8D44\u6599\u5185\u5BB9\u63A8\u5BFC\u3002",observer:"\u76D1\u7763\u53EA\u8BFB\u5DF2\u6709\u72B6\u6001\uFF0C\u533A\u5206\u6B63\u5E38\u7B49\u5F85\u4E0E\u505C\u6EDE\uFF1B\u4E0D\u63A5\u7BA1\u6267\u884C\uFF0C\u4E0D\u81EA\u52A8\u6062\u590D\u5DF2\u505C\u6B62\u4EFB\u52A1\u3002"}[e]),B.default.createElement(v,{onClick:()=>a("\u67E5\u8BE2\u5F53\u524D\u914D\u7F6E",`\u8BF7\u67E5\u8BE2\u4E91\u7AEF${{sources:"\u6765\u6E90\u6E05\u5355\u3001\u542F\u505C\u548C\u5904\u7406\u6A21\u5F0F",policy:"\u4E3B\u52A8\u5DE5\u4F5C\u7B56\u7565\u3001\u89E6\u53D1\u6761\u4EF6\u548C\u6388\u6743\u8303\u56F4",observer:"\u4EFB\u52A1\u76D1\u7763\u72B6\u6001\u548C\u5F02\u5E38\u4F9D\u636E"}[e]}\uFF0C\u53EA\u62A5\u544A\u5DF2\u6709\u914D\u7F6E\uFF1B\u4E0D\u8981\u66F4\u6539\u6216\u542F\u52A8\u4EFB\u52A1\u3002`)},"\u901A\u8FC7\u539F\u751F\u5BF9\u8BDD\u67E5\u8BE2"))),B.default.createElement("section",{className:"v2-config dsh-onboarding","data-guide":"config","data-guide-title":"\u64CD\u4F5C\u6240\u9009\u7AEF","data-guide-text":"\u5148\u6838\u5BF9\u4E0A\u65B9\u76EE\u6807\u7AEF\uFF0C\u518D\u67E5\u770B\u914D\u7F6E\u3002\u4FDD\u5B58\u3001\u542F\u7528\u3001\u52A0\u8F7D\u548C\u771F\u5B9E\u8C03\u7528\u5206\u522B\u4EE5\u56DE\u6267\u4E3A\u51C6\u3002"},O??N())}var Ea={overview:"\u603B\u89C8",tasks:"\u4EFB\u52A1",attention:"\u5F85\u6211\u51B3\u5B9A",changes:"\u53D8\u5316",files:"\u6210\u679C",settings:"\u8BBE\u7F6E"},Vt={connection:"\u53CC\u7AEF\u8FDE\u63A5",models:"\u6A21\u578B\u670D\u52A1",credentials:"\u51ED\u636E",im:"\u804A\u5929\u5165\u53E3",notifications:"\u901A\u77E5",repository:"Git \u4E0E\u8FDC\u7A0B\u6258\u7BA1",files:"\u6587\u4EF6\u6536\u53D1",rules:"\u89C4\u5219\u4E0E Skill",plugins:"\u63D2\u4EF6\u7248\u672C\u4E0E\u4FEE\u590D",service:"\u670D\u52A1\u7EF4\u62A4",sources:"\u6765\u6E90\u4E0E\u5904\u7406\u6A21\u5F0F",policy:"\u4E3B\u52A8\u5DE5\u4F5C\u7B56\u7565",observer:"\u8FDB\u5C55\u76D1\u7763"},es={queued:"\u6392\u961F\u4E2D",claimed:"\u51C6\u5907\u6267\u884C",running:"\u63A8\u8FDB\u4E2D",waiting:"\u7B49\u5F85\u4E0B\u6B21\u89E6\u53D1",scheduled:"\u7B49\u5F85\u89E6\u53D1",waiting_input:"\u5F85\u8865\u5145",needs_review:"\u9700\u8981\u6838\u5BF9",fenced:"\u9700\u8981\u6838\u5BF9",idle:"\u672C\u8F6E\u5DF2\u5B8C\u6210",paused:"\u5DF2\u6682\u505C",pausing:"\u6B63\u5728\u6682\u505C",resuming:"\u6B63\u5728\u6062\u590D",stopped:"\u5DF2\u505C\u6B62",draining:"\u6B63\u5728\u6536\u62E2",cancelled:"\u5DF2\u505C\u6B62",completed:"\u5DF2\u5B8C\u6210",scheduled_time:"\u7B49\u5F85\u89E6\u53D1",registered:"\u5DF2\u53D7\u7406"};function Ma(e){let o=e.continuity;return o&&!["active","legacy"].includes(o.state)?o.status==="draining"?"draining":o.state:e.managed_execution?.state??e.display_state??"unknown"}function ja(e){let o=Ma(e);return es[o]??"\u5F85\u6838\u5BF9"}function Ta(e){return["waiting_input","needs_review","fenced"].includes(Ma(e))}function _r(e){return e.execution_policy==="cloud-autonomous-v1"||e.managed_execution?.budget?.mode==="unlimited"}function Fa(e,o,l=""){let u=e.task_id,f=`\u5173\u4E8E\u4EFB\u52A1\u300C${e.title}\u300D\uFF08\u4EFB\u52A1 ID\uFF1A${u}\uFF0C\u5F53\u524D\u7B2C ${e.spec_revision??"\u672A\u77E5"} \u7248\uFF09\uFF1A
381
+ `,i={followup:l,pause:"\u6682\u505C\u8BE5\u4EFB\u52A1\uFF0C\u4FDD\u7559\u5DF2\u6709\u6210\u679C\u548C\u4E0A\u4E0B\u6587\u3002",resume:"\u7EE7\u7EED\u8BE5\u4EFB\u52A1\uFF1B\u5148\u6838\u5BF9\u539F\u72B6\u6001\uFF0C\u4E0D\u590D\u6D3B\u5DF2\u505C\u6B62\u4EFB\u52A1\uFF0C\u4E0D\u91CD\u8DD1\u5DF2\u5B8C\u6210\u5DE5\u4F5C\u3002",stop:"\u505C\u6B62\u8BE5\u4EFB\u52A1\u7684\u540E\u7EED\u6267\u884C\uFF0C\u4FDD\u7559\u5DF2\u6709\u8BB0\u5F55\u4E0E\u6210\u679C\u3002",signal:l,query:"\u67E5\u8BE2\u4EFB\u52A1\u7684\u6574\u4F53\u8FDB\u5C55\u3001\u5F85\u5904\u7406\u6307\u793A\u548C\u5F53\u524D\u6210\u679C\uFF0C\u4E0D\u91CD\u65B0\u6267\u884C\u3002"};if(!Object.hasOwn(i,o))throw Error("UNKNOWN_UI_ACTION");return f+i[o]}function Sr(e,o){return Fa(e,"signal",`\u6211\u660E\u786E\u901A\u77E5\u8BA1\u5212\u300C${o.timing.rule.name}\u300D\uFF08\u8BA1\u5212 ID\uFF1A${o.id}\uFF09\u7684\u6761\u4EF6\u5DF2\u7ECF\u6EE1\u8DB3\u3002\u8BF7\u53D1\u9001\u4E00\u6B21\u8BE5\u547D\u540D\u4FE1\u53F7\uFF0C\u4E0D\u5C06\u666E\u901A\u8865\u5145\u5F53\u6210\u89E6\u53D1\u3002`)}function kr(e){return e?e.mode==="unlimited"?`${e.used??0} \u6B21\u5DF2\u8BB0\u5F55\u8BF7\u6C42 \xB7 \u65E0\u8C03\u7528\u6B21\u6570\u4E0A\u9650`:`${e.used??0} \u6B21\u5DF2\u8BB0\u5F55\u8BF7\u6C42 \xB7 \u5386\u53F2\u9650\u5236\u8BB0\u5F55`:"\u5C1A\u65E0\u7528\u91CF\u8BB0\u5F55"}function br(e){let o=e.timing?.rule??{};return o.kind==="event"?`\u7B49\u5F85\u300C${o.name}\u300D`:o.kind==="weekly"?`\u6BCF\u5468 \xB7 ${o.timezone??o.tz??"\u4EE5\u4FDD\u5B58\u65F6\u533A\u4E3A\u51C6"}`:o.kind==="interval"?"\u6309\u95F4\u9694\u6267\u884C":o.kind==="once"?"\u6307\u5B9A\u65F6\u95F4\u6267\u884C":"\u4F9D\u8D56\u89E6\u53D1"}function Ar(e){let o=Ma(e);return["stopped","cancelled"].includes(o)?[]:["paused","pausing","resuming"].includes(o)?["resume","stop"]:["pause","stop"]}function yr(e,o){return o&&e?.item?.task_id===o?e.item:null}var Wt=e=>Number.isFinite(e)&&e>0?new Date(e).toLocaleString("zh-CN",{hour12:!1}):"\u5C1A\u672A\u8BB0\u5F55",as=0,et=(e,o,l={})=>({kind:e,label:o,key:++as,...l}),be=(e,o,l)=>({"data-guide":e,"data-guide-title":o,"data-guide-text":l}),Ua={local:"\u672C\u5730\u5927\u80A5\u9C7C",cloud:"\u4E91\u7AEF\u5927\u80A5\u9C7C"};function ts({request:e,open:o,navigationError:l,appearance:u,onboardRequest:f,onNative:i,renderArtifacts:a,renderDevelopment:p,renderNotifications:I,renderLegacy:m,onboarding:r,renderSetup:c,initialPage:t="overview",imClient:s,onManageIm:d,onManageCloudIm:n,previewLabel:x}){let[g,h]=(0,L.useState)(()=>[et(t,t==="setup"?"\u914D\u7F6E\u5BFC\u89C8":"\u603B\u89C8")]),[C,S]=(0,L.useState)(null),[D,N]=(0,L.useState)(null),[T,O]=(0,L.useState)(""),[w,Q]=(0,L.useState)(0),[te,U]=(0,L.useState)(!1),[ie,se]=(0,L.useState)(""),[we,Oe]=(0,L.useState)(""),[De,ye]=(0,L.useState)(null),[de,Pe]=(0,L.useState)(!1),[Be,Me]=(0,L.useState)(!1),[Nr,at]=(0,L.useState)(null),[tt,Kt]=(0,L.useState)(""),[wr,Ha]=(0,L.useState)(""),[ot,Or]=(0,L.useState)(0),[Rt,rt]=(0,L.useState)(Date.now()),[lt,Xt]=(0,L.useState)(!1),[$t,Qt]=(0,L.useState)(""),st=(0,L.useRef)(!1),ut=(0,L.useRef)(),Ee=(0,L.useRef)(!0),aa=(0,L.useRef)(0),qa=(0,L.useRef)(0);(0,L.useEffect)(()=>co(ut.current),[]);let Dr=g.at(-1),Te=C?.viewer?.role??C?.viewer_role,Yt=!!C&&!ie&&!te&&Rt-ot<3e4,Fe=C?.items??[],nt=g.findLast(E=>E.taskId)?.taskId,he=yr(D,nt),Jt=Yt&&!!he&&D.instance_id===C.instance_id&&Rt-(D.ui_read_at??0)<3e4;(0,L.useEffect)(()=>(Ee.current=!0,u?.().then(E=>{Ee.current&&E.mascot&&ye(E.mascot)}).catch(()=>{}),Xe("",0),()=>{Ee.current=!1,aa.current++,qa.current++}),[]),(0,L.useEffect)(()=>{if(!ot)return;let E=setTimeout(()=>rt(Date.now()),30005);return()=>clearTimeout(E)},[ot,D?.ui_read_at]),(0,L.useEffect)(()=>{Pe(!1)},[Dr.key]),(0,L.useEffect)(()=>{h([et(t,t==="setup"?"\u914D\u7F6E\u5BFC\u89C8":"\u603B\u89C8")])},[t]);async function Xe(E=T,Ce=w){let ve=++aa.current;U(!0),se("");try{let fe=await e("list",{query:E,after:Ce,limit:20});Ee.current&&ve===aa.current&&(S(fe),Or(Date.now()),rt(Date.now()),Q(Ce))}catch(fe){Ee.current&&ve===aa.current&&se("\u65E0\u6CD5\u66F4\u65B0\u4EFB\u52A1\u5FEB\u7167\uFF1A"+fe.message+"\u3002\u5DF2\u6709\u5185\u5BB9\u4E3A\u5386\u53F2\u89C2\u5BDF\u3002")}finally{Ee.current&&ve===aa.current&&U(!1)}}async function Zt(E){let Ce=++qa.current;N(null);try{let ve=await e("detail",{task_id:E});Ee.current&&Ce===qa.current&&(N({...ve,ui_read_at:Date.now()}),rt(Date.now()))}catch(ve){Ee.current&&Ce===qa.current&&se("\u4EFB\u52A1\u8BE6\u60C5\u672A\u66F4\u65B0\uFF1A"+ve.message)}}async function Pr(){if(!st.current){st.current=!0,Xt(!0),Qt("");try{if(typeof o!="function")throw Error("\u5F53\u524D\u754C\u9762\u672A\u63D0\u4F9B\u4E91\u7AEF\u5DE5\u4F5C\u53F0\u5165\u53E3");await o()}catch{Ee.current&&Qt(l?.()||"\u672A\u80FD\u6253\u5F00\u4E91\u7AEF\u5DE5\u4F5C\u53F0\u3002\u8BF7\u5728\u201C\u53CC\u7AEF\u8FDE\u63A5\u201D\u6838\u5BF9\u4E91\u7AEF\u670D\u52A1\u4E0E\u8FDE\u63A5\u914D\u7F6E\uFF0C\u518D\u91CD\u8BD5\uFF1B\u6CA1\u6709\u521B\u5EFA\u6216\u91CD\u8BD5\u4EFB\u52A1\u3002")}finally{st.current=!1,Ee.current&&Xt(!1)}}}function Ue(E,Ce,ve={}){h(fe=>[...fe,et(E,Ce,ve)])}function ta(E){h([et(E,Ea[E])]),Oe("")}function Br(E){Zt(E.task_id),Ue("detail",E.title,{taskId:E.task_id})}function $e(E,Ce){Kt(Ce),Ha("\u5C1A\u672A\u4EA4\u529E"),Ue("draft",E)}async function Er(){try{await navigator.clipboard.writeText(tt),Ha("\u5DF2\u590D\u5236 \xB7 \u5C1A\u672A\u63D0\u4EA4\u5230 DSH")}catch{Ha("\u65E0\u6CD5\u81EA\u52A8\u590D\u5236\uFF0C\u8BF7\u9009\u4E2D\u4E0B\u65B9\u6587\u5B57\u624B\u52A8\u590D\u5236\uFF1B\u5C1A\u672A\u63D0\u4EA4\u3002")}}function Ae(E,Ce,ve){return L.default.createElement("header",{className:"v2-head"},L.default.createElement("div",null,L.default.createElement("h1",{tabIndex:"-1"},E),Ce&&L.default.createElement("p",null,Ce)),ve)}function it(E,Ce){at({title:E,body:L.default.createElement("p",null,Ce)})}function jt(E=Fe,Ce="\u4EFB\u52A1",ve="task"){return L.default.createElement("section",{className:"v2-list","aria-label":Ce},E.length?L.default.createElement(L.default.Fragment,null,L.default.createElement("div",{className:"v2-columns"},L.default.createElement("span",null,"\u4EFB\u52A1"),L.default.createElement("span",null,"\u5F53\u524D\u72B6\u6001"),L.default.createElement("span",null)),E.map(fe=>L.default.createElement("button",{className:"v2-row",key:fe.task_id,onClick:()=>Br(fe),"aria-label":`\u4EFB\u52A1\uFF1A${fe.title}\u3002\u5F53\u524D\u72B6\u6001\uFF1A${ja(fe)}`},L.default.createElement("span",null,L.default.createElement("strong",null,fe.title),L.default.createElement("small",null,ve==="changes"?`${fe.continuity?.pending_inputs??0} \u6761\u5F85\u6267\u884C\u8005\u63A5\u6536\u7684\u6307\u793A`:fe.managed_execution?.report?.summary??fe.task_observation?.detail??"\u67E5\u770B\u8FDB\u5C55\u4E0E\u5F53\u524D\u6210\u679C")),L.default.createElement("span",{className:"v2-status "+(Ta(fe)?"wait":"")},ja(fe)),L.default.createElement(_e,{name:"chevron"})))):L.default.createElement("div",{className:"v2-empty"},L.default.createElement(_e,{name:"file"}),L.default.createElement("h2",null,C?"\u672C\u9875\u6CA1\u6709\u76F8\u5173\u4EFB\u52A1":"\u5C1A\u672A\u53D6\u5F97\u4EFB\u52A1\u5FEB\u7167"),L.default.createElement("p",null,C?"\u53EF\u8C03\u6574\u67E5\u627E\u6761\u4EF6\uFF0C\u6216\u67E5\u770B\u5176\u4ED6\u5206\u9875\u3002":"\u672A\u77E5\u4E0D\u4EE3\u8868\u7A7A\u4EFB\u52A1\uFF1B\u8BF7\u6838\u5BF9\u8FDE\u63A5\u3002")))}function eo(E){return L.default.createElement("button",{key:E,className:"v2-host "+E,onClick:()=>Ue("host",Ua[E],{host:E})},L.default.createElement("span",{className:"v2-host-copy"},L.default.createElement("small",null,E==="local"?"\u4EA4\u529E\u4E0E\u8DDF\u8FDB":"\u6267\u884C\u4E0E\u4EA4\u4ED8"),L.default.createElement("strong",null,Ua[E]),L.default.createElement("span",null,E==="local"?"\u672C\u5730 DSH \u6838\u5FC3\u80FD\u529B\u4FDD\u7559":"\u4EFB\u52A1\u7EDF\u4E00\u5728\u4E91\u7AEF\u63A8\u8FDB"," ",L.default.createElement(_e,{name:"arrow"}))),L.default.createElement("span",{className:"v2-mascot "+E,"aria-hidden":"true"}))}function Mr(E,Ce){let ve=E.host??"cloud";if(E.kind==="overview")return L.default.createElement(L.default.Fragment,null,Ae("\u5DE5\u4F5C\u603B\u89C8",null,L.default.createElement(v,{kind:"primary",icon:"plus",onClick:()=>$e("\u4EFB\u52A1\u76EE\u6807","")},"\u51C6\u5907\u4EA4\u529E")),L.default.createElement("div",{className:"v2-hosts",...be("hosts","\u53CC\u7AEF\u5404\u53F8\u5176\u804C","\u672C\u5730\u7528\u4E8E\u4EA4\u529E\u3001\u5206\u6790\u4E0E\u8DDF\u8FDB\uFF1B\u4E91\u7AEF\u6267\u884C\u4EFB\u52A1\u3002\u70B9\u51FB\u8FDB\u5165\u5404\u81EA\u914D\u7F6E\u4E0E\u7EF4\u62A4\u3002")},["local","cloud"].map(eo)),L.default.createElement("div",{className:"v2-section-title"},L.default.createElement("h2",null,"\u6B63\u5728\u8FDB\u884C"),L.default.createElement(v,{kind:"text",onClick:()=>ta("tasks")},"\u5168\u90E8\u4EFB\u52A1")),L.default.createElement("div",{...be("rows","\u5148\u770B\u4EFB\u52A1\uFF0C\u518D\u770B\u72B6\u6001","\u5DE6\u4FA7\u662F\u4EFB\u52A1\uFF0C\u53F3\u4FA7\u662F\u5F53\u524D\u72B6\u6001\uFF1B\u70B9\u51FB\u4E00\u884C\u67E5\u770B\u8FDB\u5EA6\u3001\u6210\u679C\u548C\u540E\u7EED\u6307\u793A\u3002")},jt(Fe.filter(fe=>!["stopped","cancelled","idle","completed"].includes(Ma(fe))))),L.default.createElement("p",{className:"v2-muted"},"\u4EC5\u7EDF\u8BA1\u5F53\u524D\u52A0\u8F7D\u7684 ",Fe.length," \u9879 \xB7 \u5171 ",C?.total??"\u672A\u77E5"," \u9879"));if(["tasks","attention","changes","files"].includes(E.kind)){let fe=E.kind==="attention"?Fe.filter(Ta):Fe;return L.default.createElement(L.default.Fragment,null,Ae(Ea[E.kind],E.kind==="files"?"\u6309\u4EFB\u52A1\u53D6\u7528\u5F53\u524D\u4E0E\u5386\u53F2\u6210\u679C":E.kind==="changes"?"\u67E5\u770B\u4EFB\u52A1\u6307\u793A\u4E0E\u8FDB\u5C55\u53D8\u5316":null),E.kind==="changes"&&L.default.createElement(v,{onClick:()=>Ue("config","\u6765\u6E90\u4E0E\u5904\u7406\u6A21\u5F0F",{host:"cloud",config:"sources"})},"\u67E5\u770B\u6765\u6E90\u5224\u65AD"),L.default.createElement("form",{className:"v2-search",onSubmit:Z=>{Z.preventDefault(),Xe(T,0)},...be("search","\u67E5\u627E\u4EFB\u52A1","\u8F93\u5165\u4EFB\u52A1\u540D\u79F0\u540E\u67E5\u627E\uFF1B\u4E0D\u4F1A\u521B\u5EFA\u3001\u91CD\u8DD1\u6216\u8C03\u7528\u6267\u884C\u6A21\u578B\u3002")},L.default.createElement("label",null,L.default.createElement("span",{className:"v2-sr"},"\u4EFB\u52A1\u540D\u79F0"),L.default.createElement("input",{value:T,onChange:Z=>O(Z.target.value),placeholder:"\u67E5\u627E\u4EFB\u52A1",maxLength:120})),L.default.createElement(v,{kind:"soft",disabled:te,onClick:()=>Xe(T,0)},"\u67E5\u627E")),L.default.createElement("div",{...be("list","\u6253\u5F00\u4EFB\u52A1","\u70B9\u51FB\u4EFB\u52A1\u884C\u67E5\u770B\u6574\u4F53\u8FDB\u5EA6\u4E0E\u6210\u679C\uFF0C\u65E0\u9700\u7BA1\u7406\u4F1A\u8BDD\u6216\u5185\u90E8\u5B50\u4EE3\u7406\u3002")},jt(fe,Ea[E.kind],E.kind)),L.default.createElement("div",{className:"v2-pagination"},L.default.createElement(v,{disabled:te||w===0,onClick:()=>Xe(T,Math.max(0,w-20))},"\u4E0A\u4E00\u9875"),L.default.createElement("span",null,"\u5DF2\u52A0\u8F7D ",w+Fe.length," / ",C?.total??"\u672A\u77E5"),L.default.createElement(v,{disabled:te||C?.next_cursor==null,onClick:()=>Xe(T,C.next_cursor)},"\u4E0B\u4E00\u9875")),E.kind==="attention"&&L.default.createElement("p",{className:"v2-muted"},"\u672C\u9875\u4EC5\u5217\u51FA\u5F53\u524D\u5206\u9875\u4E2D\u7684\u8D44\u6599\u7F3A\u5931\u6216\u5B9E\u9645\u969C\u788D\uFF1B\u6CA1\u6709\u9010\u5DE5\u5177\u5BA1\u6279\u6216\u8FFD\u52A0\u6B21\u6570\u4E8B\u9879\u3002"))}if(E.kind==="host")return L.default.createElement(L.default.Fragment,null,Ae(Ua[ve],ve==="cloud"?"\u7EDF\u4E00\u6267\u884C \xB7 \u72EC\u7ACB\u4E8E\u5165\u53E3\u4F1A\u8BDD\u6301\u7EED\u63A8\u8FDB":"\u4FDD\u7559\u666E\u901A DSH \u5BF9\u8BDD\u3001\u5206\u6790\u4E0E\u6587\u4EF6\u5904\u7406"),L.default.createElement("div",{className:"v2-host-hero"},L.default.createElement("span",{className:"v2-mascot "+ve}),L.default.createElement("div",null,L.default.createElement("h2",null,ve==="cloud"?"\u628A\u63A8\u8FDB\u7559\u7ED9\u4E91\u7AEF":"\u4ECE\u719F\u6089\u7684\u5BF9\u8BDD\u5F00\u59CB"),L.default.createElement("p",null,ve==="cloud"?"\u67E5\u770B\u6574\u4F53\u8FDB\u5C55\u3001\u6210\u679C\uFF0C\u6216\u63D0\u51FA\u65B0\u7684\u6307\u793A\u3002":"\u672C\u5730 DSH \u6216\u672C\u4EBA\u672C\u5730 IM \u90FD\u53EF\u4EE5\u4EA4\u529E\u5230\u4E91\u7AEF\u3002"),L.default.createElement("div",{className:"v2-host-actions"},L.default.createElement(v,{onClick:()=>ve==="cloud"?ta("tasks"):Te==="cloud"?it("\u6253\u5F00\u672C\u5730 DSH","\u5F53\u524D\u8BBF\u95EE\u7684\u662F\u4E91\u7AEF Host\u3002\u8BF7\u5728\u81EA\u5DF1\u7684\u7535\u8111\u4E0A\u6253\u5F00\u672C\u5730 DSH\uFF1B\u8FD9\u91CC\u4E0D\u4F1A\u5C06\u4E91\u7AEF\u4F1A\u8BDD\u4F2A\u88C5\u4E3A\u672C\u5730\u3002"):i?.()},ve==="cloud"?"\u67E5\u770B\u4E91\u7AEF\u4EFB\u52A1":Te==="cloud"?"\u5982\u4F55\u6253\u5F00\u672C\u5730 DSH":"\u56DE\u5230\u672C\u5730\u539F\u751F\u5BF9\u8BDD"),ve==="cloud"&&L.default.createElement(v,{kind:"soft",end:"external",disabled:lt,"aria-busy":lt,onClick:Pr,...be("cloud-workbench","\u6253\u5F00\u4E91\u7AEF\u5DE5\u4F5C\u53F0","\u8FDB\u5165\u4E91\u7AEF\u539F\u751F DSH\uFF0C\u4F7F\u7528\u539F\u751F\u5BF9\u8BDD\u3001\u6587\u4EF6\u548C\u914D\u7F6E\u3002\u67E5\u770B\u4E91\u7AEF\u4EFB\u52A1\u53EA\u6253\u5F00\u4EFB\u52A1\u5217\u8868\uFF1B\u6B64\u6309\u94AE\u4E0D\u4F1A\u521B\u5EFA\u4EFB\u52A1\u3002")},lt?"\u6B63\u5728\u6253\u5F00\u2026":"\u6253\u5F00\u4E91\u7AEF\u5DE5\u4F5C\u53F0")))),L.default.createElement("div",{className:"v2-menu",...be("host-config","\u8FDB\u5165\u672C\u7AEF\u914D\u7F6E","\u8FDE\u63A5\u3001\u6A21\u578B\u3001\u804A\u5929\u548C\u7EF4\u62A4\u5206\u5F00\u7BA1\u7406\uFF1B\u6BCF\u4E00\u6B65\u90FD\u6807\u660E\u76EE\u6807\u7AEF\u3002")},Object.entries(Vt).filter(([fe])=>ve==="cloud"||!["sources","policy","observer"].includes(fe)).map(([fe,Z])=>L.default.createElement("button",{key:fe,onClick:()=>Ue("config",Z,{host:ve,config:fe})},L.default.createElement("span",null,Z),L.default.createElement(_e,{name:"chevron"})))));if(E.kind==="settings")return L.default.createElement(L.default.Fragment,null,Ae("\u8BBE\u7F6E","\u6309\u76EE\u6807\u7AEF\u7BA1\u7406\uFF0C\u4E0D\u6DF7\u7528\u53CC\u7AEF\u914D\u7F6E"),L.default.createElement("div",{className:"v2-hosts",...be("settings-host","\u5148\u9009\u76EE\u6807\u7AEF","\u5148\u9009\u62E9\u672C\u5730\u6216\u4E91\u7AEF\u5927\u80A5\u9C7C\uFF0C\u518D\u8FDB\u5165\u6240\u9700\u914D\u7F6E\u3002")},["local","cloud"].map(eo)),L.default.createElement("div",{className:"v2-menu"},L.default.createElement("button",{onClick:()=>Ue("setup","\u914D\u7F6E\u5BFC\u89C8")},L.default.createElement("span",null,"\u65B0\u73AF\u5883\u914D\u7F6E\u4E0E\u5DF2\u6709\u53CC\u7AEF\u590D\u7528"),L.default.createElement(_e,{name:"chevron"})),L.default.createElement("button",{onClick:()=>Ue("legacy","\u5386\u53F2\u517C\u5BB9\u5DE5\u4F5C\u53F0")},L.default.createElement("span",null,"\u5386\u53F2\u4EFB\u52A1\u4E0E\u65E7\u5408\u540C\u8BB0\u5F55"),L.default.createElement(_e,{name:"chevron"}))));if(E.kind==="setup")return L.default.createElement(L.default.Fragment,null,Ae("\u914D\u7F6E\u5BFC\u89C8","\u65B0\u73AF\u5883\u914D\u7F6E / \u590D\u7528\u5DF2\u6709\u53CC\u7AEF"),L.default.createElement("div",{className:"v2-setup",...be("setup","\u914D\u7F6E\u524D\u5148\u6838\u5BF9","\u586B\u5199\u3001\u9884\u89C8\u3001\u786E\u8BA4\u3001\u751F\u6548\u5206\u522B\u5904\u7406\u3002\u89C4\u5219\u3001\u51ED\u636E\u3001\u6A21\u578B\u4E0E\u4EFB\u52A1\u6743\u9650\u4E0D\u6DF7\u7528\uFF1B\u5386\u53F2\u53D7\u7406\u5408\u540C\u5355\u72EC\u4FDD\u7559\u3002")},Ce&&(c?.(()=>ta("overview"))??L.default.createElement("p",null,"\u8BF7\u4ECE\u5F53\u524D Host \u7684\u539F\u751F\u914D\u7F6E\u5BFC\u89C8\u8FDB\u5165\u3002\u539F\u578B\u4E0D\u6267\u884C\u5B89\u88C5\u3002"))));if(E.kind==="config")return L.default.createElement(L.default.Fragment,null,Ae(Vt[E.config],Ua[ve]),Ce&&L.default.createElement(xr,{kind:E.config,host:ve,viewerRole:Te,request:f,sourceRequest:e,onNative:i,draft:$e,imClient:s,onManageIm:d,onManageCloudIm:n}));if(E.kind==="legacy")return L.default.createElement(L.default.Fragment,null,Ae("\u5386\u53F2\u517C\u5BB9\u8BB0\u5F55","\u65E7\u4EFB\u52A1\u539F\u5BA1\u6279\u3001\u9650\u5236\u548C\u56DE\u6267\u4FDD\u7559\uFF0C\u4E0D\u4F5C\u4E3A\u65B0\u4EFB\u52A1\u524D\u63D0"),Ce&&m?.());if(E.kind==="draft")return L.default.createElement(L.default.Fragment,null,Ae(E.label),L.default.createElement("div",{className:"v2-field",...be("goal","\u7EDF\u4E00\u5199\u4EFB\u52A1\u76EE\u6807","\u76EE\u6807\u3001\u5BF9\u8C61\u3001\u4EA4\u4ED8\u8981\u6C42\u548C\u9650\u5236\u5199\u5728\u4E00\u8D77\u3002\u8FD9\u91CC\u53EA\u51C6\u5907\u6587\u5B57\uFF0C\u4E0D\u4F1A\u5728\u7F51\u9875\u521B\u5EFA\u4EFB\u52A1\u3002")},L.default.createElement("label",{htmlFor:"v2-goal"},E.label==="\u4EFB\u52A1\u76EE\u6807"?"\u4EFB\u52A1\u76EE\u6807":"\u7ED9\u4EFB\u52A1\u7684\u6307\u793A"),L.default.createElement("textarea",{id:"v2-goal",rows:"8",value:tt,onChange:fe=>{Kt(fe.target.value),Ha("\u5C1A\u672A\u4EA4\u529E")},placeholder:"\u4F8B\u5982\uFF1A\u6574\u7406\u9996\u6B21\u5B89\u88C5\u6307\u5357\uFF0C\u6838\u5BF9\u73B0\u6709\u6B65\u9AA4\u4E0E\u793A\u4F8B\uFF0C\u4EA4\u4ED8 Markdown\uFF1B\u4E0D\u8981\u53D1\u5E03\u6216\u4FEE\u6539\u6B63\u5F0F\u73AF\u5883\u3002"})),L.default.createElement("div",{className:"v2-actions",...be("draft-submit","\u901A\u8FC7\u65E2\u6709\u5165\u53E3\u4EA4\u529E","\u590D\u5236\u540E\u5728\u672C\u5730 DSH \u63D0\u4EA4\uFF0C\u6216\u53D1\u7ED9\u672C\u4EBA\u7684\u672C\u5730\uFF0F\u4E91\u7AEF IM \u673A\u5668\u4EBA\u3002\u4E0D\u4F1A\u589E\u52A0\u7F51\u9875\u6216\u4E91\u7AEF DSH \u7B2C\u56DB\u6761\u53D1\u5E03\u901A\u9053\u3002")},L.default.createElement(v,{kind:"primary",icon:"copy",disabled:!tt.trim(),onClick:Er},"\u590D\u5236\u5230\u5BF9\u8BDD"),L.default.createElement(v,{onClick:Te==="cloud"&&E.label==="\u4EFB\u52A1\u76EE\u6807"?()=>it("\u4EA4\u529E\u5165\u53E3","\u8BF7\u5728\u672C\u5730 DSH \u63D0\u4EA4\uFF0C\u6216\u53D1\u9001\u7ED9\u672C\u4EBA\u7684\u672C\u5730\uFF0F\u4E91\u7AEF IM \u673A\u5668\u4EBA\u3002\u4E91\u7AEF DSH \u666E\u901A\u5BF9\u8BDD\u4E0D\u4F5C\u4E3A\u7B2C\u56DB\u6761\u65B0\u4EFB\u52A1\u53D1\u5E03\u901A\u9053\u3002"):i},Te==="cloud"&&E.label==="\u4EFB\u52A1\u76EE\u6807"?"\u67E5\u770B\u4EA4\u529E\u5165\u53E3":"\u8FD4\u56DE\u539F\u751F\u5165\u53E3")),L.default.createElement("p",{role:"status"},wr),L.default.createElement("button",{className:"v2-help-link",onClick:()=>it("\u4EA4\u529E\u4E0E\u8DDF\u8FDB","\u65B0\u4EFB\u52A1\u4EC5\u4ECE\u672C\u5730 DSH\u3001\u672C\u4EBA\u672C\u5730 IM \u6216\u672C\u4EBA\u4E91\u7AEF IM \u4EA4\u529E\uFF0C\u7EDF\u4E00\u4E91\u7AEF\u6267\u884C\u3002\u5DF2\u6709\u4EFB\u52A1\u53EF\u8DE8\u4F1A\u8BDD\u67E5\u8BE2\u4E0E\u8DDF\u8FDB\uFF1B\u590D\u5236\u8349\u7A3F\u4E0D\u7B49\u4E8E\u4E91\u7AEF\u53D7\u7406\u3002")},"\u6709\u54EA\u4E9B\u4EA4\u529E\u5165\u53E3\uFF1F"));if(["detail","context","plan","usage","outputs","delivery","followups"].includes(E.kind)){if(!he)return L.default.createElement(L.default.Fragment,null,Ae(E.label),L.default.createElement("p",{role:"status"},ie?"\u65E0\u6CD5\u53D6\u5F97\u8BE6\u60C5\uFF1B\u8BF7\u5237\u65B0\u6838\u5BF9\u3002":"\u6B63\u5728\u8BFB\u53D6\u4EFB\u52A1\u2026"));let fe=he.managed_execution;if(E.kind==="detail")return L.default.createElement(L.default.Fragment,null,Ae(he.title,null,L.default.createElement("span",{className:"v2-status"},ja(he))),L.default.createElement("section",{className:"v2-progress",...be("progress","\u6574\u4F53\u8FDB\u5C55","\u8FD9\u91CC\u662F\u5DF2\u8BB0\u5F55\u8FDB\u5C55\uFF0C\u4E0D\u662F\u865A\u6784\u767E\u5206\u6BD4\u3002\u4EFB\u52A1\u4E0E\u5165\u53E3\u4F1A\u8BDD\u89E3\u8026\u3002")},L.default.createElement("small",null,"\u5F53\u524D\u8FDB\u5C55"),L.default.createElement("p",null,fe?.report?.summary??he.task_observation?.detail??"\u5C1A\u65E0\u8FDB\u5C55\u62A5\u544A"),he.task_observation?.title&&L.default.createElement("p",{className:"v2-muted"},he.task_observation.title)),L.default.createElement("div",{className:"v2-actions",...be("followup","\u7EE7\u7EED\u8DDF\u8FDB\u540C\u4E00\u4E2A\u4EFB\u52A1","\u8865\u5145\u9700\u6C42\u6216\u53CD\u9988\u4E2D\u95F4\u6210\u679C\uFF0C\u6CBF\u5DF2\u6709\u5BF9\u8BDD\u5165\u53E3\u53D1\u9001\u6307\u793A\uFF1B\u6682\u505C\u4E0E\u505C\u6B62\u4FDD\u7559\u5386\u53F2\u3002")},L.default.createElement(v,{kind:"primary",onClick:()=>$e("\u8865\u5145\u8981\u6C42",Fa(he,"followup","\u8BF7\u8865\u5145\u4F60\u7684\u8981\u6C42\u6216\u5BF9\u6210\u679C\u7684\u610F\u89C1\uFF1A"))},"\u8865\u5145\u8981\u6C42"),Ar(he).map(Z=>L.default.createElement(v,{key:Z,onClick:()=>$e({pause:"\u6682\u505C\u4EFB\u52A1",resume:"\u7EE7\u7EED\u4EFB\u52A1",stop:"\u505C\u6B62\u4EFB\u52A1"}[Z],Fa(he,Z))},{pause:"\u6682\u505C",resume:"\u7EE7\u7EED",stop:"\u505C\u6B62"}[Z]))),L.default.createElement("p",{className:"v2-muted"},"\u64CD\u4F5C\u4F1A\u751F\u6210\u4EFB\u52A1\u6307\u793A\uFF0C\u590D\u5236\u540E\u5728\u5BF9\u8BDD\u4E2D\u53D1\u9001\uFF1B\u8349\u7A3F\u4E0D\u7B49\u4E8E\u5DF2\u53D7\u7406\u3002"),L.default.createElement("div",{className:"v2-menu",...be("detail-links","\u67E5\u770B\u4EFB\u52A1\u6750\u6599","\u4EFB\u52A1\u76EE\u6807\u3001\u8BA1\u5212\u3001\u6307\u793A\u548C\u6210\u679C\u5206\u5C42\u67E5\u770B\uFF1B\u70B9\u51FB\u4FBF\u7B7E\u53EF\u76F4\u63A5\u8FD4\u56DE\u4EFB\u4E00\u4E0A\u5C42\u3002")},[["outputs","\u5F53\u524D\u6210\u679C"],["followups","\u6307\u793A\u4E0E\u843D\u5B9E"],["context","\u4EFB\u52A1\u76EE\u6807\u4E0E\u8D44\u6599"],["plan","\u89E6\u53D1\u4E0E\u4F9D\u8D56"],["usage","\u6A21\u578B\u4E0E\u7528\u91CF"],["delivery","\u4EA4\u4ED8\u4E0E\u901A\u77E5"]].map(([Z,He])=>L.default.createElement("button",{key:Z,onClick:()=>Ue(Z,He,{taskId:he.task_id})},L.default.createElement("span",null,He),L.default.createElement(_e,{name:"chevron"})))),!_r(he)&&L.default.createElement("p",{className:"v2-muted"},"\u5386\u53F2\u4EFB\u52A1\u4FDD\u7559\u65E7\u5408\u540C\uFF0C\u5177\u4F53\u5BA1\u6279\u4E0E\u6279\u6B21\u8BF7\u5728\u5386\u53F2\u517C\u5BB9\u8BB0\u5F55\u6838\u5BF9\u3002"));if(E.kind==="context")return L.default.createElement(L.default.Fragment,null,Ae("\u4EFB\u52A1\u76EE\u6807\u4E0E\u8D44\u6599"),L.default.createElement("section",{...be("context","\u6838\u5BF9\u76EE\u6807\u539F\u6587","\u6458\u8981\u4E0E\u539F\u59CB\u8981\u6C42\u5206\u5F00\uFF1B\u8D44\u6599\u4E2D\u7684\u6307\u4EE4\u4E0D\u4F1A\u81EA\u52A8\u6210\u4E3A\u65B0\u8981\u6C42\u3002")},L.default.createElement("h2",null,"\u4EFB\u52A1\u76EE\u6807"),L.default.createElement("p",{className:"v2-prose"},he.definition?.goal??"\u5F53\u524D\u8FDE\u63A5\u672A\u63D0\u4F9B\u76EE\u6807\u539F\u6587"),L.default.createElement("details",null,L.default.createElement("summary",null,he.definition?.origin?.kind==="policy"?"\u672C\u4EBA\u7B56\u7565\u786E\u8BA4\u539F\u6587":"\u6700\u521D\u4EA4\u529E\u539F\u6587"),L.default.createElement("pre",null,he.definition?.request_text??"\u5C1A\u672A\u8BFB\u53D6")),he.definition?.origin?.kind==="policy"&&L.default.createElement(L.default.Fragment,null,L.default.createElement("h2",null,"\u7B56\u7565\u6D3E\u751F\u4EFB\u52A1"),L.default.createElement("p",null,he.definition.proactive_scope?.goal),L.default.createElement("p",{className:"v2-muted"},"\u6765\u6E90\u8D44\u6599\u4E0D\u662F\u672C\u4EBA\u6307\u793A\uFF0C\u4E0D\u6539\u53D8\u6388\u6743\u8303\u56F4\u3002"),(he.definition.source_events??[]).map(Z=>L.default.createElement("details",{key:Z.event_key},L.default.createElement("summary",null,"\u6765\u6E90\u539F\u6587 \xB7 ",Z.source_id),L.default.createElement("pre",null,Z.text)))),L.default.createElement("h2",null,"\u76F8\u5173\u8D44\u6599"),(he.definition?.references??[]).map((Z,He)=>L.default.createElement("p",{key:He},Z.label??Z.title??Z.uri??Z.path??"\u5DF2\u4FDD\u5B58\u5F15\u7528")),!he.definition?.references?.length&&L.default.createElement("p",{className:"v2-muted"},"\u672C\u6B21\u5FEB\u7167\u672A\u5217\u51FA\u8D44\u6599\u5F15\u7528\u3002")));if(E.kind==="plan")return L.default.createElement(L.default.Fragment,null,Ae("\u89E6\u53D1\u4E0E\u4F9D\u8D56"),L.default.createElement("div",{...be("plans","\u67E5\u770B\u6267\u884C\u6761\u4EF6","\u8BA1\u5212\u6B21\u6570\u662F\u4E1A\u52A1\u8F6E\u6570\uFF0C\u4E0D\u662F\u6A21\u578B\u8C03\u7528\u989D\u5EA6\u3002\u6682\u505C\u540E\u4E0D\u4F1A\u65E0\u9650\u8865\u8DD1\u9519\u8FC7\u8F6E\u6B21\u3002")},(fe?.schedules??[]).map(Z=>L.default.createElement("section",{className:"v2-plan",key:Z.id},L.default.createElement("h2",null,br(Z)),L.default.createElement("p",null,Z.status==="closed"?"\u8BA1\u5212\u5DF2\u7ED3\u675F":Z.waiting_reason??"\u6309\u5DF2\u4FDD\u5B58\u6761\u4EF6\u7B49\u5F85"),L.default.createElement("dl",null,L.default.createElement("div",null,L.default.createElement("dt",null,"\u4E0B\u4E00\u65F6\u95F4"),L.default.createElement("dd",null,Z.next_due?Wt(Z.next_due):"\u7B49\u5F85\u6761\u4EF6")),L.default.createElement("div",null,L.default.createElement("dt",null,"\u5DF2\u5F00\u59CB\u8F6E\u6B21"),L.default.createElement("dd",null,Z.emitted??0,Z.timing?.max_occurrences?` / ${Z.timing.max_occurrences}`:"")),L.default.createElement("div",null,L.default.createElement("dt",null,"\u4F9D\u8D56"),L.default.createElement("dd",null,Z.dependencies?.map(He=>typeof He=="string"?He:He.task_id).join("\u3001")||"\u65E0"))),Z.timing?.rule?.kind==="event"&&Z.status==="active"&&L.default.createElement(v,{onClick:()=>$e("\u901A\u77E5\u6761\u4EF6\u6EE1\u8DB3",Sr(he,Z))},"\u901A\u77E5\u6761\u4EF6\u5DF2\u6EE1\u8DB3"))),!fe?.schedules?.length&&L.default.createElement("p",null,"\u6CA1\u6709\u65E5\u5386\uFF0F\u547D\u540D\u4FE1\u53F7\u8BA1\u5212\u3002",fe?.due?"\u73B0\u6709\u6267\u884C\u65F6\u95F4\uFF1A"+Wt(fe.due):"\u6309\u5F53\u524D\u4EFB\u52A1\u7EA6\u5B9A\u63A8\u8FDB\u3002")));if(E.kind==="usage")return L.default.createElement(L.default.Fragment,null,Ae("\u6A21\u578B\u4E0E\u7528\u91CF"),L.default.createElement("section",{...be("usage","\u7EDF\u8BA1\u4E0D\u662F\u8BB8\u53EF","\u8FD9\u91CC\u663E\u793A\u5DF2\u8BB0\u5F55\u8BF7\u6C42\uFF1B\u672A\u53D6\u5F97\u7684\u8D39\u7528\u4FDD\u6301\u672A\u77E5\uFF0C\u4E0D\u7528\u7EDF\u8BA1\u9650\u5236\u4EFB\u52A1\u6267\u884C\u3002")},L.default.createElement("h2",null,fe?.budget?.policy?.model??he.requested_model?.model??"\u6309\u4E91\u7AEF\u9ED8\u8BA4\u6A21\u578B"),L.default.createElement("p",null,kr(fe?.budget)),L.default.createElement("p",{className:"v2-muted"},"\u670D\u52A1\u5546\u8D26\u5355\u4E0E\u6700\u7EC8\u8D39\u7528\uFF1A\u672A\u53D6\u5F97\u3002\u6062\u590D\u4E0D\u9759\u9ED8\u5207\u6362\u6A21\u578B\u670D\u52A1\u3002")));if(E.kind==="outputs")return L.default.createElement(L.default.Fragment,null,Ae("\u5F53\u524D\u6210\u679C"),L.default.createElement("section",{...be("outputs","\u53D6\u7528\u6210\u679C","\u5DF2\u767B\u8BB0\u5FEB\u7167\u53EF\u4EE5\u6838\u9A8C\u548C\u4E0B\u8F7D\uFF1B\u8349\u7A3F\u3001\u5C31\u7EEA\u4E0E\u5DF2\u53D1\u9001\u5206\u5F00\uFF0C\u4E0D\u4F1A\u4E3A\u4E0B\u8F7D\u5524\u9192\u6267\u884C\u6A21\u578B\u3002")},a?.(he,Jt),p?.(he)));if(E.kind==="delivery")return L.default.createElement(L.default.Fragment,null,Ae("\u4EA4\u4ED8\u4E0E\u901A\u77E5"),L.default.createElement("section",{...be("delivery","\u6838\u5BF9\u539F\u56DE\u6267","\u5DF2\u5165\u961F\u3001\u5E73\u53F0\u63A5\u53D7\u548C\u7528\u6237\u5DF2\u8BFB\u662F\u4E0D\u540C\u4E8B\u5B9E\uFF1B\u5931\u8D25\u6216\u672A\u77E5\u65F6\u67E5\u8BE2\u539F\u8BB0\u5F55\uFF0C\u4E0D\u91CD\u590D\u53D1\u9001\u3002")},I?.(he,Jt,Te)));if(E.kind==="followups")return L.default.createElement(L.default.Fragment,null,Ae("\u6307\u793A\u4E0E\u843D\u5B9E"),L.default.createElement("section",{...be("inputs","\u533A\u5206\u6536\u5230\u4E0E\u843D\u5B9E","\u5DF2\u6295\u9012\u7ED9\u6267\u884C\u8005\u4E0D\u7B49\u4E8E\u5DF2\u843D\u5B9E\u5230\u6210\u679C\u3002\u66F4\u591A\u5386\u53F2\u53EF\u4ECE\u4EFB\u4E00\u4F1A\u8BDD\u6309\u4EFB\u52A1\u67E5\u8BE2\u3002")},(he.inputs?.items??[]).map(Z=>L.default.createElement("article",{className:"v2-input",key:Z.seq},L.default.createElement("strong",null,"\u6307\u793A ",Z.seq," \xB7 ",Z.state==="saved"?"\u4E91\u7AEF\u5DF2\u4FDD\u5B58":Z.state==="delivered"?"\u5DF2\u6295\u9012\u6267\u884C\u8005\uFF0C\u843D\u5B9E\u5F85\u6838\u5BF9":Z.state==="handed_back"?"\u9700\u8FDB\u4E00\u6B65\u5904\u7406":Z.state),L.default.createElement("p",null,Z.source?.text??Z.text??"\u539F\u6587\u672A\u8FD4\u56DE"))),!he.inputs?.items?.length&&L.default.createElement("p",null,"\u5F53\u524D\u5FEB\u7167\u6CA1\u6709\u540E\u7EED\u6307\u793A\u8BB0\u5F55\u3002"),he.inputs?.next_cursor!=null&&L.default.createElement("p",null,"\u672C\u9875\u4E3A\u6709\u754C\u8BB0\u5F55\uFF0C\u4E0D\u662F\u5B8C\u6574\u5386\u53F2\uFF1B\u8BF7\u5728\u539F\u751F\u5BF9\u8BDD\u67E5\u8BE2\u540E\u7EED\u6307\u793A\u3002")),L.default.createElement(v,{onClick:()=>$e("\u67E5\u8BE2\u6307\u793A\u843D\u5B9E",Fa(he,"query"))},"\u5728\u5BF9\u8BDD\u4E2D\u7EE7\u7EED\u6838\u5BF9"))}return L.default.createElement(L.default.Fragment,null,Ae("\u9875\u9762\u6682\u4E0D\u53EF\u7528"),L.default.createElement(v,{onClick:()=>ta("overview")},"\u8FD4\u56DE\u603B\u89C8"))}return L.default.createElement(no,{onHelp:(E,Ce)=>at({title:E,body:Ce})},L.default.createElement("section",{ref:ut,className:"v2-workbench"+(Be?" keyboard":""),style:De?{"--v2-mascot":`url("${De}")`}:void 0,onKeyDownCapture:()=>Me(!0),onPointerDownCapture:()=>Me(!1)},x&&L.default.createElement("div",{className:"v2-demo"},x),L.default.createElement("div",{className:"v2-layout"},L.default.createElement("aside",{className:"v2-nav"},L.default.createElement("strong",{className:"v2-brand"},"\u5927\u80A5\u9C7C",L.default.createElement("span",null,".")),L.default.createElement("nav",{"aria-label":"\u4E3B\u5BFC\u822A"},Object.entries(Ea).map(([E,Ce])=>L.default.createElement("button",{key:E,"aria-current":g[0].kind===E?"page":void 0,onClick:()=>ta(E)},Ce,E==="attention"&&Fe.filter(Ta).length>0?L.default.createElement("span",null,Fe.filter(Ta).length):null)))),L.default.createElement("main",null,L.default.createElement("div",{className:"v2-statusbar"},L.default.createElement("span",null,C?`${Yt?"\u6700\u8FD1\u5FEB\u7167":"\u5386\u53F2\u5FEB\u7167"} \xB7 ${Wt(C.observed_at)}`:"\u7B49\u5F85\u4E91\u7AEF\u5FEB\u7167",Te?" \xB7 "+Ua[Te]:""),L.default.createElement(v,{icon:"reset",disabled:te,onClick:()=>{Xe(),nt&&Zt(nt)}},"\u5237\u65B0")),ie&&L.default.createElement("p",{className:"v2-error",role:"alert"},ie),($t||l?.())&&L.default.createElement("p",{className:"v2-error",role:"alert"},$t||l?.()),L.default.createElement(io,{trail:g,back:E=>h(Ce=>Ce.slice(0,E+1)),render:Mr,keyboard:Be,guide:()=>Pe(!0)}))),de&&L.default.createElement(fo,{root:ut,onClose:()=>Pe(!1)}),L.default.createElement("div",{role:"status",className:"v2-sr"},we),L.default.createElement("div",{className:"dsh-onboarding"},L.default.createElement(Xa,{modal:Nr,onClose:()=>at(null)}))))}var zt=class extends L.default.Component{constructor(o){super(o),this.state={failed:!1}}static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?L.default.createElement("section",{className:"v2-workbench"},L.default.createElement("div",{className:"v2-scroll"},L.default.createElement("h1",null,"\u5DE5\u4F5C\u53F0\u663E\u793A\u672A\u5B8C\u6210"),L.default.createElement("p",null,"\u754C\u9762\u663E\u793A\u5931\u8D25\u4E0D\u4EE3\u8868\u5148\u524D\u64CD\u4F5C\u672A\u9001\u8FBE\u3002\u91CD\u65B0\u6253\u5F00\u540E\u5148\u6838\u5BF9\u539F\u56DE\u6267\uFF0C\u4E0D\u8981\u91CD\u590D\u63D0\u4EA4\uFF1B\u4E0D\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"),L.default.createElement("button",{type:"button",className:"button",onClick:()=>this.setState({failed:!1})},"\u91CD\u65B0\u52A0\u8F7D\u754C\u9762"))):this.props.children}};function os(e){return L.default.createElement(zt,null,L.default.createElement(ts,{...e}))}return Wr(rs);})();
382
+ /*! Bundled license information:
383
+
384
+ lucide-react/dist/esm/shared/src/utils.js:
385
+ lucide-react/dist/esm/defaultAttributes.js:
386
+ lucide-react/dist/esm/Icon.js:
387
+ lucide-react/dist/esm/createLucideIcon.js:
388
+ lucide-react/dist/esm/icons/arrow-right.js:
389
+ lucide-react/dist/esm/icons/arrow-up-right.js:
390
+ lucide-react/dist/esm/icons/check.js:
391
+ lucide-react/dist/esm/icons/chevron-down.js:
392
+ lucide-react/dist/esm/icons/chevron-left.js:
393
+ lucide-react/dist/esm/icons/chevron-right.js:
394
+ lucide-react/dist/esm/icons/circle-check.js:
395
+ lucide-react/dist/esm/icons/circle-help.js:
396
+ lucide-react/dist/esm/icons/cloud.js:
397
+ lucide-react/dist/esm/icons/copy.js:
398
+ lucide-react/dist/esm/icons/download.js:
399
+ lucide-react/dist/esm/icons/file-text.js:
400
+ lucide-react/dist/esm/icons/folder-git-2.js:
401
+ lucide-react/dist/esm/icons/folder.js:
402
+ lucide-react/dist/esm/icons/info.js:
403
+ lucide-react/dist/esm/icons/key-round.js:
404
+ lucide-react/dist/esm/icons/link.js:
405
+ lucide-react/dist/esm/icons/loader-circle.js:
406
+ lucide-react/dist/esm/icons/lock.js:
407
+ lucide-react/dist/esm/icons/messages-square.js:
408
+ lucide-react/dist/esm/icons/monitor.js:
409
+ lucide-react/dist/esm/icons/pause.js:
410
+ lucide-react/dist/esm/icons/play.js:
411
+ lucide-react/dist/esm/icons/plus.js:
412
+ lucide-react/dist/esm/icons/rotate-ccw.js:
413
+ lucide-react/dist/esm/icons/save.js:
414
+ lucide-react/dist/esm/icons/settings-2.js:
415
+ lucide-react/dist/esm/icons/shield-check.js:
416
+ lucide-react/dist/esm/icons/terminal.js:
417
+ lucide-react/dist/esm/icons/triangle-alert.js:
418
+ lucide-react/dist/esm/icons/unplug.js:
419
+ lucide-react/dist/esm/icons/x.js:
420
+ lucide-react/dist/esm/lucide-react.js:
421
+ (**
422
+ * @license lucide-react v0.468.0 - ISC
423
+ *
424
+ * This source code is licensed under the ISC license.
425
+ * See the LICENSE file in the root directory of this source tree.
426
+ *)
427
+ */
428
+
429
+ return v2View=DSHWorkbenchV2.Workbench;}
315
430
  const time=x=>Number.isFinite(x)&&x>0?new Date(x).toLocaleString('zh-CN',{hour12:false}):'时间未记录';
316
431
  const paths={panels:'M3 4h18v16H3zM9 4v16M9 10h12',laptop:'M5 4h14v12H5zM3 16h18l1 4H2l1-4Z',cloud:'M6 18a5 5 0 1 1 1-10 6 6 0 0 1 11-1 5.5 5.5 0 0 1 0 11H6Z',link:'M9 8H7a4 4 0 0 0 0 8h2M15 8h2a4 4 0 0 1 0 8h-2M8 12h8',refresh:'M20 10a8 8 0 0 0-14-5L3 8m0-5v5h5M4 14a8 8 0 0 0 14 5l3-3m0 5v-5h-5',timeline:'M5 3v18M3 6h4M3 12h4M3 18h4M11 6h10M11 12h7M11 18h10',window:'M3 4h18v16H3zM3 9h18M6 6.5h.1M9 6.5h.1',search:'M16 16l5 5M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z',arrow:'M5 12h14M13 6l6 6-6 6',external:'M14 3h7v7M21 3 11 13M11 4H4v16h16v-7',file:'M5 3h9l5 5v13H5V3ZM14 3v6h5M8 13h8M8 17h6',git:'M6 3v12a4 4 0 0 0 4 4h4M6 7h9a3 3 0 0 0 3-3M3 3h6M15 19h6M16 3h4',shield:'M12 3l8 3v6c0 5-8 9-8 9s-8-4-8-9V6l8-3ZM8 12l3 3 5-6',help:'M12 17h.01M9.1 9a3 3 0 0 1 5.8 1c0 2-3 2-3 4M22 12a10 10 0 1 1-20 0 10 10 0 0 1 20 0Z',close:'M5 5l14 14M19 5 5 19',message:'M4 4h16v12H9l-5 4V4Z',box:'M3 7l9-4 9 4v11l-9 4-9-4V7ZM3 7l9 5 9-5M12 12v10'};
317
432
  function Icon({name='panels',size=20}){return h('svg',{width:size,height:size,viewBox:'0 0 24 24',fill:'none',stroke:'currentColor',strokeWidth:1.65,strokeLinecap:'round',strokeLinejoin:'round','aria-hidden':true},h('path',{d:paths[name]??paths.panels}));}
@@ -409,8 +524,8 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
409
524
  // Bytes only arrive after an authenticated, explicit workbench gesture. No URL fetch or storage.
410
525
  async function decodeArtifactDownload(reply,expected,env=globalThis){
411
526
  const a=reply?.artifact;
412
- if(!a||a.kind!=='report'||a.state!=='verified'||reply.encoding!=='base64'||reply.disposition!=='attachment'||reply.mime!=='application/octet-stream'||typeof reply.content!=='string'||reply.content.length>349528||!/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(reply.content))throw Error('ARTIFACT_DOWNLOAD_INVALID');
413
- if(['id','task_id','spec_revision','sha256','size','name'].some(k=>a[k]!==expected[k])||!Number.isInteger(a.size)||a.size<0||a.size>262144||!/^[a-f0-9]{64}$/.test(a.sha256))throw Error('ARTIFACT_DOWNLOAD_CHANGED');
527
+ if(!a||!['report','native_file'].includes(a.kind)||a.state!=='verified'||reply.encoding!=='base64'||reply.disposition!=='attachment'||reply.mime!=='application/octet-stream'||typeof reply.content!=='string'||reply.content.length>(a.kind==='native_file'?89478488:349528)||!/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(reply.content))throw Error('ARTIFACT_DOWNLOAD_INVALID');
528
+ if(['id','task_id','spec_revision','sha256','size','name'].some(k=>a[k]!==expected[k])||!Number.isInteger(a.size)||a.size<0||a.size>(a.kind==='native_file'?67108864:262144)||!/^[a-f0-9]{64}$/.test(a.sha256))throw Error('ARTIFACT_DOWNLOAD_CHANGED');
414
529
  if(typeof a.name!=='string'||!a.name||a.name.length>120||a.name!==a.name.trim()||/[\\/:*?"<>|\x00-\x1f\x7f\u202a-\u202e\u2066-\u2069]/.test(a.name)||/^[.]|[. ]$/.test(a.name)||/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(?:\.|$)/i.test(a.name))throw Error('ARTIFACT_DOWNLOAD_INVALID');
415
530
  if(!env.crypto?.subtle)throw Error('ARTIFACT_BROWSER_CRYPTO_REQUIRED');
416
531
  const bytes=Uint8Array.from(env.atob(reply.content),c=>c.charCodeAt(0));
@@ -426,6 +541,24 @@ function saveArtifactDownload(bytes,name,env=globalThis){
426
541
  return {state:'browser_save_requested',message:'已交给浏览器保存,请查看下载列表;这不是落盘成功回执。'};
427
542
  }
428
543
 
544
+ // Chunks use the same owner-authenticated endpoint, never a new download URL.
545
+ async function fetchArtifactDownload(access,expected,isCurrent=()=>true,env=globalThis){
546
+ if(!expected||!Number.isSafeInteger(expected.size)||expected.size<0||expected.size>67108864||typeof expected.name!=='string'||!expected.name||expected.name.length>120||/[\\/:*?"<>|\x00-\x1f\x7f\u202a-\u202e\u2066-\u2069]/.test(expected.name)||/^[.]|[. ]$/.test(expected.name)||/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(?:\.|$)/i.test(expected.name))throw Error('ARTIFACT_DOWNLOAD_INVALID');
547
+ const args={task_id:expected.task_id,artifact_id:expected.id,expected_revision:expected.spec_revision,expected_sha256:expected.sha256};
548
+ let reply=await access('download',args);if(expected.kind!=='native_file')return {reply,bytes:await decodeArtifactDownload(reply,expected,env)};
549
+ const parts=[];let offset=0;
550
+ for(;;){
551
+ if(!isCurrent())throw Error('ARTIFACT_DOWNLOAD_ABANDONED');
552
+ if(!reply?.artifact||['id','task_id','kind','spec_revision','name','size','sha256'].some(k=>reply.artifact[k]!==expected[k])||reply.artifact.state!=='verified'||reply.encoding!=='base64'||reply.disposition!=='attachment'||reply.mime!=='application/octet-stream'||reply.offset!==offset||typeof reply.content!=='string'||reply.content.length>65536||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(reply.content))throw Error('ARTIFACT_DOWNLOAD_CHANGED');
553
+ const bytes=Uint8Array.from(env.atob(reply.content),c=>c.charCodeAt(0));if(reply.next_offset!==offset+bytes.length||reply.next_offset>expected.size||reply.complete!==(reply.next_offset===expected.size)||!bytes.length&&expected.size!==0)throw Error('ARTIFACT_DOWNLOAD_CHANGED');
554
+ parts.push(bytes);offset=reply.next_offset;if(reply.complete)break;reply=await access('download',{...args,offset});
555
+ }
556
+ if(!Number.isSafeInteger(expected.size)||expected.size<0||expected.size>67108864||!env.crypto?.subtle)throw Error('ARTIFACT_DOWNLOAD_INVALID');
557
+ const bytes=new Uint8Array(offset);let at=0;for(const p of parts){bytes.set(p,at);at+=p.length;}
558
+ const digest=Array.from(new Uint8Array(await env.crypto.subtle.digest('SHA-256',bytes)),b=>b.toString(16).padStart(2,'0')).join('');
559
+ if(digest!==expected.sha256)throw Error('ARTIFACT_DOWNLOAD_CHANGED');return {reply,bytes};
560
+ }
561
+
429
562
  function ArtifactFiles({item,access,open,fresh,download}){
430
563
  const [observed,setObserved]=React.useState({}),[busy,setBusy]=React.useState(null),[error,setError]=React.useState('');const alive=React.useRef(true),generation=React.useRef(0),locked=React.useRef(false);
431
564
  React.useEffect(()=>{alive.current=true;generation.current++;setObserved({});setBusy(null);setError('');return()=>{alive.current=false;generation.current++;};},[item]);
@@ -436,8 +569,7 @@ function saveArtifactDownload(bytes,name,env=globalThis){
436
569
  if(action==='download'){
437
570
  // No model context sees these bytes; a response from an abandoned task cannot trigger a save.
438
571
  if(download){await download(a);return;}
439
- const r=await access('download',{task_id:item.task_id,artifact_id:a.id,expected_revision:item.spec_revision,expected_sha256:a.sha256});
440
- const bytes=await decodeArtifactDownload(r,a);
572
+ const {reply:r,bytes}=await fetchArtifactDownload(access,a,()=>alive.current&&gen===generation.current);
441
573
  if(!alive.current||gen!==generation.current)return;
442
574
  const saved=saveArtifactDownload(bytes,a.name);setObserved(old=>({...old,[a.id]:{...r,content:undefined,download_message:saved.message}}));return;
443
575
  }
@@ -452,15 +584,15 @@ function saveArtifactDownload(bytes,name,env=globalThis){
452
584
  if(!items.length)return h('div',{className:'empty-artifact'},h('strong',null,item.artifacts?.state==='evidence_unavailable'?'交付成果证据待核对':'暂无已登记成果'),text('成果登记后会在这里显示。执行未结束或失败时,不把检查点冒充成果。'));
453
585
  return h('section',{className:'artifact-files','aria-label':'已登记成果'},...items.map(a=>{
454
586
  const r=observed[a.id],state=r?.artifact.state??a.state,delivered=a.kind==='gitee_delivery',gitee=a.kind==='gitee'||delivered;
455
- const intro=a.description??(a.kind==='gitee'?'此成果关联仓库中已存在的文件。尚未填写内容介绍;请在 Gitee 查看原文件。':'独立 worker 留存的任务报告。尚未填写内容介绍;请查看对应执行会话。');
587
+ const intro=a.description??(a.kind==='native_file'?'任务内留存的原生文件快照,可直接下载,不需要恢复执行会话。':a.kind==='gitee'?'此成果关联仓库中已存在的文件。尚未填写内容介绍;请在 Gitee 查看原文件。':'独立 worker 留存的任务报告。尚未填写内容介绍;请查看对应执行会话。');
456
588
  return h('article',{className:'artifact-card',key:a.id},h('h4',null,icon(gitee?'git':'file'),a.name),text(intro,'artifact-introduction'),
457
589
  h('details',{className:'artifact-provenance'},h('summary',null,'来源与版本'),text('所属任务:'+item.title+' · 第 '+a.spec_revision+' 版'),
458
590
  a.kind==='report'&&item.delivery?.execution?.total>0?text('报告登记于 '+time(a.created_at)+';说明反映当时阶段,后续提交与推送请看交付账本。'):null,
459
- text((delivered?'本任务交付 · 推送账本记录':a.kind==='gitee'?'Gitee 已有文件 · 非本次生成':'独立 worker 报告 · 非仓库成果')+(a.description?' · 介绍来源:'+(a.description_source==='delivery_ledger'?'交付账本':a.description_source==='direct_user'?'用户原文':'worker'):' · 介绍待补充')),
591
+ text((delivered?'本任务交付 · 推送账本记录':a.kind==='native_file'?'原生文件快照 · '+(a.stage==='draft'?'进行中草稿':'待验收成果')+(a.historical?' · 历史版本':''):a.kind==='gitee'?'Gitee 已有文件 · 非本次生成':'独立 worker 报告 · 非仓库成果')+(a.description?' · 介绍来源:'+(a.description_source==='delivery_ledger'?'交付账本':a.description_source==='direct_user'?'用户原文':'worker'):' · 介绍待补充')),
460
592
  gitee?text((delivered?a.repository.branch:a.repository.path)+' · 提交 '+a.repository.commit.slice(0,12)):null),
461
593
  h('p',{className:state==='verified'?'small':'small muted',role:'status'},artifactStates[state]??state,r?.checked_at?' · '+time(r.checked_at):null),
462
594
  r?.error?text((artifactErrors[r.error]??r.error)+' · 本次未提供文件或跳转','warning'):null,r?.download_message?text(r.download_message,'small'):null,
463
- h('div',{className:'artifact-actions'},!gitee?button(busy===a.id?'处理中…':'下载文件',()=>act(a,'download'),!!busy||!fresh||!['needs_verification','verified'].includes(state),'','file'):null,button(busy===a.id?'核验中…':'重新核验',()=>act(a,'check'),!!busy||!fresh),gitee?button('核验 Gitee 入口',()=>act(a,'gitee'),!!busy||!fresh,'','shield'):button('查看执行会话',()=>act(a,'session'),!!busy||!fresh,'','message'),r?.url&&state==='verified'&&fresh&&!busy?h('a',{className:'button primary',href:r.url,target:'_blank',rel:'noopener noreferrer',referrerPolicy:'no-referrer'},icon('external'),'在 Gitee 查看'):null));
595
+ h('div',{className:'artifact-actions'},!gitee?button(busy===a.id?'处理中…':'下载文件',()=>act(a,'download'),!!busy||!fresh||!['needs_verification','verified'].includes(state),'','file'):null,button(busy===a.id?'核验中…':'重新核验',()=>act(a,'check'),!!busy||!fresh),gitee?button('核验 Gitee 入口',()=>act(a,'gitee'),!!busy||!fresh,'','shield'):a.kind==='native_file'?null:button('查看执行会话',()=>act(a,'session'),!!busy||!fresh,'','message'),r?.url&&state==='verified'&&fresh&&!busy?h('a',{className:'button primary',href:r.url,target:'_blank',rel:'noopener noreferrer',referrerPolicy:'no-referrer'},icon('external'),'在 Gitee 查看'):null));
464
596
  }),item.artifacts?.delivery_unavailable||item.artifacts?.delivery_error?text('部分交付证据不完整,未生成跳转入口;请先核对交付账本。','warning'):null,item.artifacts?.truncated?text('仅显示最近 100 项成果;历史条目仍可按任务查询。'):null,text('报告可明确点击下载,保存前重新核验归属、版本、权限与摘要;不自动下载或上传。Gitee 成果只跳转固定版本页面,使用你的登录独立鉴权。'),error?text(error,'warning'):null);
465
597
  }
466
598
  function TaskConversationQuery({item}){
@@ -488,7 +620,7 @@ function saveArtifactDownload(bytes,name,env=globalThis){
488
620
  function Notifications({item,request,viewerRole,fresh}){
489
621
  const n=item.notifications,b=n?.binding,scan=useSnapshot(args=>request('notification-discover',args));
490
622
  const states={media_queued:'成果等待发送端',media_leased:'成果已领取',media_dispatching:'上传或发送中/等待回执',queued:'等待发送端',leased:'已领取,等待发送',dispatching:'发送中/等待回执',accepted:'接口已接受',needs_review:'需要核对',cancelled:'已取消'};
491
- const reasons={NOTIFICATION_ENDPOINT_STATE_LOST:'发送端持久记录缺失,无法排除已发送;先核对,不重发',NOTIFICATION_UPLOAD_RESULT_UNKNOWN:'上传结果未知;未必已经发消息,先核对,禁止盲重试',NOTIFICATION_MEDIA_CAPABILITY_UNAVAILABLE:'所选渠道未提供图片/文件能力,不会降级成文本发送',NOTIFICATION_MEDIA_PREFLIGHT_WAIT:'成果发送前检查暂不可用,有限等待',NOTIFICATION_ARTIFACT_OR_PROVIDER_UNAVAILABLE:'成果或渠道不可用,需要核对,未自动重试',NOTIFICATION_AWAITING_LOCAL_ENDPOINT:'等待本地发送端领取;不能仅凭队列判定 Mac 离线',NOTIFICATION_AWAITING_CLOUD_ENDPOINT:'等待云端发送端领取',NOTIFICATION_ENDPOINT_PROCESSING:'发送端已领取,尚未越过发送边界',NOTIFICATION_WAITING_FOR_RECEIPT:'发送可能已发生,正在等待持久回执',NOTIFICATION_SEND_RESULT_UNKNOWN:'结果未知,请先核对外部会话,不要重发',NOTIFICATION_CAPABILITY_UNAVAILABLE:'当前渠道或账号不支持所需的受检发送能力',NOTIFICATION_ROUTE_CHANGED:'目标身份或路由已变化,需要重新核验',NOTIFICATION_AUTHORIZATION_ENDED:'通知授权或任务修订已变更',NOTIFICATION_SUPERSEDED_SNAPSHOT:'已由更新的进度或结果快照替代',NOTIFICATION_BACKOFF:'发送前暂时拒绝,正在有限退避'};
623
+ const reasons={NOTIFICATION_FEISHU_PERMISSION_REQUIRED:'飞书机器人缺少发送前核验权限(99991672);请检查只读会话权限是否生效。文件未发送,任务执行不受影响。',NOTIFICATION_ENDPOINT_STATE_LOST:'发送端持久记录缺失,无法排除已发送;先核对,不重发',NOTIFICATION_UPLOAD_RESULT_UNKNOWN:'上传结果未知;未必已经发消息,先核对,禁止盲重试',NOTIFICATION_MEDIA_CAPABILITY_UNAVAILABLE:'所选渠道未提供图片/文件能力,不会降级成文本发送',NOTIFICATION_MEDIA_PREFLIGHT_WAIT:'成果发送前检查暂不可用,有限等待',NOTIFICATION_ARTIFACT_OR_PROVIDER_UNAVAILABLE:'成果或渠道不可用,需要核对,未自动重试',NOTIFICATION_AWAITING_LOCAL_ENDPOINT:'等待本地发送端领取;不能仅凭队列判定 Mac 离线',NOTIFICATION_AWAITING_CLOUD_ENDPOINT:'等待云端发送端领取',NOTIFICATION_ENDPOINT_PROCESSING:'发送端已领取,尚未越过发送边界',NOTIFICATION_WAITING_FOR_RECEIPT:'发送可能已发生,正在等待持久回执',NOTIFICATION_SEND_RESULT_UNKNOWN:'结果未知,请先核对外部会话,不要重发',NOTIFICATION_CAPABILITY_UNAVAILABLE:'当前渠道或账号不支持所需的受检发送能力',NOTIFICATION_ROUTE_CHANGED:'目标身份或路由已变化,需要重新核验',NOTIFICATION_AUTHORIZATION_ENDED:'通知授权或任务修订已变更',NOTIFICATION_SUPERSEDED_SNAPSHOT:'已由更新的进度或结果快照替代',NOTIFICATION_BACKOFF:'发送前暂时拒绝,正在有限退避'};
492
624
  const events={artifact:'成果交付',result:'结果',attention:'待你处理',progress:'进度'};
493
625
  const discovery=scan.snap?.value;
494
626
  return h('section',{className:'evidence notifications','aria-label':'任务通知与回执'},h('div',{className:'planning-heading'},h('h3',null,icon('message'),'任务通知与回执'),h('span',{className:'badge neutral'},'手动读取 · 不发送')),
@@ -620,7 +752,7 @@ function saveArtifactDownload(bytes,name,env=globalThis){
620
752
  p&&(p.schedules_total>p.schedules.length||p.workflows_total>p.workflows.length)?text(`每类最多显示 ${p.display_limit} 条,未结束项优先;全部记录仍保留。`):null);
621
753
  }
622
754
  const emptyRows=[];
623
- function WorkbenchUI({onboarding,request,call,open,openSidebar,appearance,artifactAccess,openA2A,navigationError,compact=false,visible=true,initialView='tasks',decisionAdapter,discussTask,downloadArtifact,attentionPreview}){
755
+ function LegacyWorkbenchUI({onboarding,request,call,open,openSidebar,appearance,artifactAccess,openA2A,navigationError,compact=false,visible=true,initialView='tasks',decisionAdapter,discussTask,downloadArtifact,attentionPreview}){
624
756
  const [executionView,setExecutionView]=React.useState('runs'),[lastDecision,setLastDecision]=React.useState(null);
625
757
  const [view,setView]=React.useState(initialView),[selected,setSelected]=React.useState(null),[query,setQuery]=React.useState(''),[filter,setFilter]=React.useState({query:'',after:0}),[keyboard,setKeyboard]=React.useState(false),[mascot,setMascot]=React.useState(null),[opening,setOpening]=React.useState(false),[navError,setNavError]=React.useState('');
626
758
  const list=useSnapshot(args=>request('list',{...args,limit:20})),detail=useSnapshot(id=>request('detail',{task_id:id})),workspace=useSnapshot(()=>call('status',{}));
@@ -674,6 +806,8 @@ function saveArtifactDownload(bytes,name,env=globalThis){
674
806
  h(ArtifactFiles,{key:'artifacts-'+item.task_id,item,access:artifactAccess,open,fresh:detailFresh,download:downloadArtifact}),
675
807
  h(TaskConversationQuery,{key:'query-'+item.task_id,item}),
676
808
  lastDecision?.task_id===item.task_id?h('div',{className:'decision-result',role:'status'},h('strong',null,(decisionAdapter?.preview?'模拟结果 · ':'')+(lastDecision.operation_state&&lastDecision.plan?'处理意见已记账':label(lastDecision.state))),text((lastDecision.plan?'当时操作回执:':'')+lastDecision.message),text('本次决定已记录;当前任务状态以刷新后的快照为准。')):null,
809
+ h(TaskObservation,{observation:item.task_observation}),
810
+ h(TaskDevelopment,{evidence:item.managed_execution?.development}),
677
811
  attentionPreview?.render?.({item,fresh:detailFresh,onChanged:()=>{setLastDecision(null);refresh();}})??h(TaskAttention,{key:'attention-'+item.task_id,item,fresh:detailFresh,adapter:decisionAdapter,discuss:discussTask,onRecorded:r=>{setLastDecision({...r,task_id:item.task_id});refresh();},inspect:()=>detailTarget.current?.querySelector('.detail-more')?.click()}),
678
812
  h(TaskDiagnostics,{key:'diagnostics-'+item.task_id,item},
679
813
  h('div',{className:'detail-grid'},
@@ -721,6 +855,7 @@ function saveArtifactDownload(bytes,name,env=globalThis){
721
855
  }
722
856
  // Plain local Web Hosts do not ship Desktop's native browser tab. Only an
723
857
  // already verified managed ticket may use same-tab browser navigation.
858
+ function WorkbenchUI(props){return h(getV2View(),{...props,renderArtifacts:(item,fresh)=>h(ArtifactFiles,{item,fresh,access:props.artifactAccess,open:props.open,download:props.downloadArtifact}),renderDevelopment:item=>h(TaskDevelopment,{evidence:item.managed_execution?.development}),renderNotifications:(item,fresh,role)=>h(Notifications,{item,fresh,request:props.request,viewerRole:role}),renderLegacy:()=>h(LegacyWorkbenchUI,props)});}
724
859
  function managedBrowserEntry(result,page){
725
860
  if(!['http:','https:'].includes(page.protocol)||!['localhost','127.0.0.1','[::1]'].includes(page.hostname)||!/^[-a-f0-9]{36}$/.test(result.entryId??''))return null;
726
861
  let u;try{u=new URL(result.url);}catch{return null;}
@@ -761,10 +896,10 @@ function saveArtifactDownload(bytes,name,env=globalThis){
761
896
  async function onboardRequest(method,args){getOnboardingView();return onboardingRpc((...params)=>ctx.connection.rpc.call(...params),method,args);}
762
897
  getOnboardingView();const imClient=onboardingCreateImBridge();
763
898
  ctx.inject(['dshImClient'],sub=>{const detach=imClient.attach(sub.dshImClient);sub.effect(()=>detach);});
764
- let setupImRequested=false;const setupImListeners=new Set();
899
+ let setupImRequested=false,setupCloudEntry=null;const setupImListeners=new Set();
765
900
  function HomeUI(p){
766
- const [imOpen,setImOpen]=React.useState(()=>setupImRequested),[cloudEntry,setCloudEntry]=React.useState(null),[cloudWebEntry,setCloudWebEntry]=React.useState(false);
767
- React.useEffect(()=>{const fn=()=>{setMode('onboarding');setImOpen(true);};setupImListeners.add(fn);return()=>setupImListeners.delete(fn);},[]);
901
+ const [imOpen,setImOpen]=React.useState(()=>setupImRequested&&!setupCloudEntry),[cloudEntry,setCloudEntry]=React.useState(()=>setupCloudEntry),[cloudWebEntry,setCloudWebEntry]=React.useState(false);
902
+ React.useEffect(()=>{const fn=entry=>{setMode('onboarding');setCloudEntry(entry??null);setImOpen(!entry);};setupImListeners.add(fn);return()=>setupImListeners.delete(fn);},[]);
768
903
  const [cloudFileQueueReview,setCloudFileQueueReview]=React.useState(false);
769
904
  const [managedFileQueueReview,setManagedFileQueueReview]=React.useState(false);
770
905
  const [cloudFileMigration,setCloudFileMigration]=React.useState(false);
@@ -784,22 +919,22 @@ function saveArtifactDownload(bytes,name,env=globalThis){
784
919
  React.useEffect(()=>{let live=true;onboardRequest('describe',{}).then(x=>{if(live){setExistingSetup(x.capabilities?.existingSetupContract===1);setExistingPairInspection(x.capabilities?.existingPairInspectionContract===1);setTaskRuntime([2,3,4].includes(x.capabilities?.managedTaskRuntimeContract));setCloudFileQueueReview(x.capabilities?.cloudFileQueueReviewContract===1);setManagedFileQueueReview(x.capabilities?.managedFileQueueReviewContract===2);setCloudFileMigration(x.capabilities?.cloudFileScopeMigrationContract===1);setManagedFileMigration(x.capabilities?.managedFileScopeMigrationContract===1);setCloudFileTransfer(x.capabilities?.cloudFileTransferContract===1);setManagedFileTransfer(x.capabilities?.managedFileTransferContract===2);setLocalPeerBinding(x.capabilities?.localPeerBinding===true);setCloudTaskRuntime(x.capabilities?.cloudTaskRuntime===true);setRepositoryRegistry(x.capabilities?.repositoryRegistryContract===2);setCloudRepositoryRegistry(x.capabilities?.cloudRepositoryRegistry===true);setRepositoryCheck(x.capabilities?.repositoryCheckContract===1);setCloudRepositoryCheck(x.capabilities?.cloudRepositoryCheck===true);setCloudGiteeHandoff(x.capabilities?.cloudGiteeHandoff===true);setInstallationEnabled(x.capabilities?.rulesInstall===true);setMaintenanceContract([1,2].includes(x.capabilities?.rulesMaintenancePreviewContract)?x.capabilities.rulesMaintenancePreviewContract:0);setMaintenanceMutation(x.capabilities?.rulesMaintenanceMutation===true);setMaintenanceSessionContract(x.capabilities?.maintenanceRecordContract===2&&x.capabilities?.maintenanceRecordQueryContract===1?2:0);setSelfDisableContract(x.capabilities?.selfDisableContract===1&&x.capabilities?.selfDisableQueryContract===1?1:0);setSelfRemoveContract(x.capabilities?.selfRemoveContract===1&&x.capabilities?.selfRemoveQueryContract===1?1:0);setSelfStopContract(x.capabilities?.selfStopQueryContract===1?1:0);setSelfStopMutation(x.capabilities?.selfStopContract===1);setImMaintenanceContract(x.capabilities?.imMaintenanceQueryContract===1?1:0);setImMaintenanceMutation(x.capabilities?.imMaintenanceContract===1);setPersistenceEnabled(x.capabilities?.draftPersistence===true);setCloudEnabled(x.capabilities?.remoteDetection===true);setSourcePreparation(x.capabilities?.sourcePreparation===true);setNativeHostInstallation(x.capabilities?.nativeHostInstallation===true);setModelBinding(x.capabilities?.modelBinding===true);setTokenPlanBinding(x.capabilities?.tokenPlanBinding===true);setCloudCredentialHandoff(x.capabilities?.cloudCredentialHandoff===true);setCloudModelBinding(x.capabilities?.cloudModelBinding===true);setCloudTokenPlanHandoff(x.capabilities?.cloudTokenPlanHandoff===true);setCloudTokenPlanBinding(x.capabilities?.cloudTokenPlanBinding===true);setCloudImInventory(x.capabilities?.cloudImInventory===true);setNotificationDefaults(x.capabilities?.notificationDefaultsContract===1);setOptionalImInstallation(x.capabilities?.optionalImInstallation===true);setCloudWebEntry(x.capabilities?.cloudWebEntry===true);setConfigured(x.configured);setMode(x.configured&&!setupImRequested?'workbench':'onboarding');}}).catch(()=>{if(live)setFailure(true);});return()=>{live=false;};},[]);
785
920
  if(failure)return h('section',{className:'dsh-onboarding'},text('配置能力未能核验;没有检测环境、应用配置或自动重试。'));
786
921
  if(mode==='loading')return h('section',{className:'dsh-onboarding'},text('正在读取插件能力…'));
787
- if(mode==='workbench')return h(WorkbenchUI,{...p,onboarding:()=>setMode('onboarding')});
788
- return h(React.Fragment,null,h('div',{style:{height:'100%',display:imOpen||cloudEntry?'none':undefined}},h(getOnboardingView(),{request:onboardRequest,appearance,imClient,onManageIm:()=>setImOpen(true),onManageCloudIm:setCloudEntry,cloudWebEntry,installationEnabled,maintenanceContract,maintenanceMutation,maintenanceSessionContract,selfDisableContract,selfRemoveContract,selfStopContract,selfStopMutation,imMaintenanceContract,imMaintenanceMutation,persistenceEnabled,cloudEnabled,sourcePreparation,nativeHostInstallation,modelBinding,tokenPlanBinding,cloudCredentialHandoff,cloudModelBinding,cloudTokenPlanHandoff,cloudTokenPlanBinding,cloudImInventory,notificationDefaults,existingPairInspection,existingSetup,optionalImInstallation,repositoryCheck,cloudRepositoryCheck,cloudGiteeHandoff,repositoryRegistry,cloudRepositoryRegistry,taskRuntime,cloudTaskRuntime,localPeerBinding,cloudFileMigration,managedFileMigration,cloudFileTransfer,cloudFileQueueReview,managedFileQueueReview,managedFileTransfer,onExit:configured?()=>setMode('workbench'):undefined})),imOpen?h(onboardingNativeImManager,{imClient,onBack:()=>{if(location.hash==='#dsh-setup-im')history.replaceState(null,'',location.pathname+location.search);setupImRequested=false;setImOpen(false);}}):null,cloudEntry?h(onboardingCloudImManager,{entry:cloudEntry,request:onboardRequest,onBack:()=>setCloudEntry(null)}):null);
922
+ const setup=exit=>h(React.Fragment,null,h('div',{style:{height:'100%',display:imOpen||cloudEntry?'none':undefined}},h(getOnboardingView(),{request:onboardRequest,appearance,imClient,onManageIm:()=>setImOpen(true),onManageCloudIm:setCloudEntry,cloudWebEntry,installationEnabled,maintenanceContract,maintenanceMutation,maintenanceSessionContract,selfDisableContract,selfRemoveContract,selfStopContract,selfStopMutation,imMaintenanceContract,imMaintenanceMutation,persistenceEnabled,cloudEnabled,sourcePreparation,nativeHostInstallation,modelBinding,tokenPlanBinding,cloudCredentialHandoff,cloudModelBinding,cloudTokenPlanHandoff,cloudTokenPlanBinding,cloudImInventory,notificationDefaults,existingPairInspection,existingSetup,optionalImInstallation,repositoryCheck,cloudRepositoryCheck,cloudGiteeHandoff,repositoryRegistry,cloudRepositoryRegistry,taskRuntime,cloudTaskRuntime,localPeerBinding,cloudFileMigration,managedFileMigration,cloudFileTransfer,cloudFileQueueReview,managedFileQueueReview,managedFileTransfer,onExit:exit??(configured?()=>setMode('workbench'):undefined)})),imOpen?h(onboardingNativeImManager,{imClient,onBack:()=>{if(location.hash==='#dsh-setup-im')history.replaceState(null,'',location.pathname+location.search);setupImRequested=false;setImOpen(false);}}):null,cloudEntry?h(onboardingCloudImManager,{entry:cloudEntry,request:onboardRequest,onBack:()=>{setupCloudEntry=null;setupImRequested=false;setCloudEntry(null);}}):null);
923
+ return h(WorkbenchUI,{...p,initialPage:mode==='workbench'?'overview':'setup',renderSetup:setup,onboarding:()=>setMode('onboarding')});
789
924
  }
790
925
  const decisionAdapter=createWorkbenchDecisionAdapter(call);
791
- const props=()=>({request,call,open,openA2A,openSidebar,appearance,artifactAccess,decisionAdapter,navigationError:()=>navigationError});
926
+ const props=()=>({request,call,open,openA2A,openSidebar,appearance,artifactAccess,decisionAdapter,onboardRequest,imClient,onNative:()=>ctx.layout.selectPanel(null),onManageIm:()=>{setupImRequested=true;setupCloudEntry=null;for(const fn of setupImListeners)fn();ctx.layout.selectPanel(boardPanel);},onManageCloudIm:entry=>{setupImRequested=true;setupCloudEntry=entry;for(const fn of setupImListeners)fn(entry);ctx.layout.selectPanel(boardPanel);},navigationError:()=>navigationError});
792
927
  ctx.slots.inject('main',()=>ctx.slots.register({name:'main',key:boardPanel,inject:props},HomeUI));
793
928
  // Old main key remains a navigation alias; only ONE left entry is registered.
794
929
  ctx.slots.inject('main',()=>ctx.slots.register({name:'main',key:panel,inject:()=>({...props(),initialView:'workspace'})},WorkbenchUI));
795
930
  ctx.slots.inject('sidebar.panellist',()=>ctx.slots.register({name:'sidebar.panellist',id:boardPanel,order:5,label:'大肥鱼bot'},Icon));
796
931
  ctx.inject(['sidebarRightTabs','sidebarRight'],sub=>{
797
- sub.effect(()=>sub.sidebarRightTabs.register({id:boardTab,kind:'dsh-dual-tasks',title:()=> '双端任务',guide:[{id:'tasks',order:6,title:()=> '双端任务',description:()=> '任务、审批与成果入口',icon:Icon}]}));
932
+ sub.effect(()=>sub.sidebarRightTabs.register({id:boardTab,kind:'dsh-dual-tasks',title:()=> '双端任务',guide:[{id:'tasks',order:6,title:()=> '双端任务',description:()=> '任务进展、跟进与成果入口',icon:Icon}]}));
798
933
  function SidebarBody({useTabInfo}){const {tab}=useTabInfo();return h(WorkbenchUI,{...props(),compact:true,visible:tab.visible});}
799
934
  sub.slots.inject('sidebar.right.pane.tab',()=>sub.slots.register({name:'sidebar.right.pane.tab',key:boardTab},SidebarBody));
800
935
  });
801
936
  async function navigate(){
802
- if(location.hash==='#dsh-setup-im'){setupImRequested=true;for(const fn of setupImListeners)fn();if(!disposed)ctx.layout.selectPanel(boardPanel);return;}
937
+ if(location.hash==='#dsh-setup-im'){setupImRequested=true;setupCloudEntry=null;for(const fn of setupImListeners)fn();if(!disposed)ctx.layout.selectPanel(boardPanel);return;}
803
938
  const match=/^#dsh-worker=((?:task-worker|a2a)-[a-f0-9-]{36})$/.exec(location.hash);if(!match)return;
804
939
  history.replaceState(null,'',location.pathname+location.search);
805
940
  try{const result=await call('session',{session_id:match[1]});await ctx.sessions.refresh();if(!disposed)ctx.uiWorkspace.openSession(result.session_id);}catch(e){navigationError='执行会话导航失败:'+String(e.message).slice(0,180);if(!disposed)ctx.layout.selectPanel(boardPanel);}