@mogragsigma/dsh-dual-host-plugin 2.0.0 → 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.
- package/README.md +3 -1
- package/bundle/README.md +3 -1
- package/bundle/SETUP.md +4 -4
- package/bundle/compatibility.json +4 -4
- package/bundle/distribution-lock.json +2 -2
- package/bundle/link-contract.js +1 -1
- package/bundle/package-lock.json +2 -2
- package/bundle/package.json +1 -1
- package/bundle/workbench-client.js +11 -11
- package/bundle/workbench-host.js +5 -3
- package/compatibility.json +4 -4
- package/package.json +1 -1
|
@@ -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.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";
|
|
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:''}`:'未指定(不会自动推定默认模型)';
|
|
@@ -335,11 +335,11 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
|
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
let v2View;function getV2View(){if(v2View)return v2View;
|
|
338
|
-
var DSHWorkbenchV2=(()=>{var Nr=Object.create;var Ga=Object.defineProperty;var wr=Object.getOwnPropertyDescriptor;var Or=Object.getOwnPropertyNames;var Dr=Object.getPrototypeOf,Pr=Object.prototype.hasOwnProperty;var Br=(e,o)=>()=>(o||e((o={exports:{}}).exports,o),o.exports),Er=(e,o)=>{for(var l in o)Ga(e,l,{get:o[l],enumerable:!0})},Qt=(e,o,l,u)=>{if(o&&typeof o=="object"||typeof o=="function")for(let f of Or(o))!Pr.call(e,f)&&f!==l&&Ga(e,f,{get:()=>o[f],enumerable:!(u=wr(o,f))||u.enumerable});return e};var Le=(e,o,l)=>(l=e!=null?Nr(Dr(e)):{},Qt(o||!e||!e.__esModule?Ga(l,"default",{value:e,enumerable:!0}):l,e)),Mr=e=>Qt(Ga({},"__esModule",{value:!0}),e);var me=Br((Zl,Yt)=>{Yt.exports=React});var Yl={};Er(Yl,{Workbench:()=>Ql});var L=Le(me());var A=Le(me());var Wa=Le(me());var Jt=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 Zt={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 jt=(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,...Zt,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)(jt,{ref:i,iconNode:o,className:Va(`lucide-${Jt(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 eo={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")},ao={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 to({onHelp:e,children:o}){return A.default.createElement(Ka.Provider,{value:e},o)}var Tr={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=Tr[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 x({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"},"*"),eo[e])}function ut({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 Fr({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(ao).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(ut,{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(Fr,{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(ut,{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(ut,{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(x,{kind:"primary",onClick:o},e?.closeLabel??"\u77E5\u9053\u4E86")))}var te=Le(me());function oo({trail:e,back:o,render:l,guide:u,keyboard:f}){let i=(0,te.useRef)({}),a=(0,te.useRef)(),[p,I]=(0,te.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,te.useEffect)(()=>{i.current[e[c].key]?.querySelector("h1")?.focus({preventScroll:!0});let n=a.current,v=()=>{let g=n?.querySelector("[aria-current=page]");if(n&&g){let C=n.getBoundingClientRect(),S=g.getBoundingClientRect();S.right>C.right?n.scrollLeft+=S.right-C.right+4:S.left<C.left&&(n.scrollLeft+=S.left-C.left-4)}};v();let h=new ResizeObserver(v);return n&&h.observe(n),()=>h.disconnect()},[e[c].key]),(0,te.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 te.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))}},te.default.createElement("div",{className:"v2-toolbar"},c>0&&te.default.createElement(x,{kind:"text","aria-label":"\u4E0A\u4E00\u5C42",onClick:()=>s(c-1),icon:"back"},"\u8FD4\u56DE"),te.default.createElement("nav",{ref:a,"aria-label":"\u9875\u9762\u5C42\u7EA7","data-guide":"tabs"},e.map((d,n)=>te.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)},te.default.createElement("span",null,String(n+1).padStart(2,"0")),d.label))),te.default.createElement(x,{kind:"text",icon:"help",onClick:u,disabled:r},"\u64CD\u4F5C\u6307\u5F15")),te.default.createElement("div",{className:"v2-sheets"},e.map((d,n)=>te.default.createElement(Ur,{key:d.key,returning:r,active:n===c,exiting:n>c,index:n,keyboard:f,setRef:v=>i.current[d.key]=v},l(d,n===c)))))}function Ur({active:e,exiting:o,index:l,children:u,setRef:f,keyboard:i,returning:a}){let[p,I]=(0,te.useState)(!1);return(0,te.useEffect)(()=>{let m,r=requestAnimationFrame(()=>{m=requestAnimationFrame(()=>I(!0))});return()=>{cancelAnimationFrame(r),cancelAnimationFrame(m)}},[]),te.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}},te.default.createElement("div",{className:"v2-scroll"},u))}function ro({root:e,onClose:o}){let[l,u]=(0,te.useState)(0),[f,i]=(0,te.useState)(null),[a,p]=(0,te.useState)(220),I=(0,te.useRef)(),m=(0,te.useRef)(),r=(0,te.useRef)(document.activeElement),c=(0,te.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,te.useEffect)(()=>{I.current.showModal();let g=new ResizeObserver(()=>p(m.current?.getBoundingClientRect().height??220));return m.current&&g.observe(m.current),()=>{g.disconnect(),I.current?.close(),r.current?.isConnected&&r.current.focus()}},[]),(0,te.useEffect)(()=>{let g=s();if(!g)return;let C=g.closest(".v2-scroll");if(C){let re=g.getBoundingClientRect(),T=C.getBoundingClientRect();C.scrollTop+=re.top-T.top-Math.max(24,(T.height-re.height)/2-80)}e.current&&(e.current.scrollTop=0);let S=()=>{let re=s();if(!re?.isConnected)return;let T=re.getBoundingClientRect(),pe=Math.min(innerWidth-8,Math.max(8,T.x-5)),ue=Math.min(innerHeight-8,Math.max(8,T.y-5)),Ne={x:pe,y:ue,w:Math.max(0,Math.min(T.right+5,innerWidth-8)-pe),h:Math.max(0,Math.min(T.bottom+5,innerHeight-8)-ue)};i(Oe=>Oe&&Object.keys(Ne).every(De=>Math.abs(Oe[De]-Ne[De])<.25)?Oe:Ne)};S();let D,N=performance.now()+360,U=()=>{S(),performance.now()<N&&(D=requestAnimationFrame(U))};D=requestAnimationFrame(U);let O=new ResizeObserver(S);O.observe(g),e.current&&O.observe(e.current);let w=e.current,$=new MutationObserver(S);return w&&$.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(),$.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,v=f?n?Math.max(12,f.y-a-18):Math.min(innerHeight-a-12,f.y+f.h+18):80,h=f?Math.max(12,Math.min(f.x,innerWidth-d-12)):12;return te.default.createElement("dialog",{ref:I,className:"v2-guide","aria-label":"\u64CD\u4F5C\u6307\u5F15",onCancel:g=>{g.preventDefault(),o()}},f&&te.default.createElement("div",{className:"v2-highlight",style:{left:f.x,top:f.y,width:f.w,height:f.h}}),te.default.createElement("section",{ref:m,className:"v2-guide-card",style:{left:h,top:v,width:d}},te.default.createElement("span",{className:"v2-guide-arrow "+(n?"below":"above"),style:{left:Math.max(20,Math.min(d-32,(f?.x??h)+Math.min((f?.w??60)/2,80)-h))}},te.default.createElement(_e,{name:n?"down":"back"})),te.default.createElement("header",null,te.default.createElement("span",null,"\u64CD\u4F5C\u6307\u5F15 \xB7 ",l+1,"/",c.current.length),te.default.createElement("button",{onClick:o},"\u9000\u51FA")),te.default.createElement("h2",null,t?.title??"\u672C\u9875\u64CD\u4F5C"),te.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"),te.default.createElement("footer",null,te.default.createElement(x,{disabled:!l,onClick:()=>u(l-1)},"\u4E0A\u4E00\u6B65"),te.default.createElement(x,{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 Hr(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 lo(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"),v=p(u)&&p(n)?n.getBoundingClientRect():null,h=Hr(e.getBoundingClientRect(),v,parseFloat(l.getComputedStyle(e).getPropertyValue("--v2-shell-top"))||0);for(let[g,C]of Object.entries(h)){let S="--v2-widget-"+g,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 so={off:"\u4EC5\u54CD\u5E94\u4EA4\u529E",observe:"\u89C2\u5BDF\u5019\u9009",auto:"\u81EA\u52A8\u5904\u7406"},qr={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 uo({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(v=>{n&&f({...v,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,v)=>l(n,`${v}
|
|
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(x,{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:so[u.mode.mode]??"\u672A\u77E5"}),q.default.createElement("div",{className:"v2-source-actions"},Object.entries(so).map(([n,v])=>q.default.createElement(x,{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${v}\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",v))))),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(x,{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(x,{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(x,{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"},qr[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(x,{disabled:p||m===0,onClick:()=>r(n=>Math.max(0,n-20))},"\u4E0A\u4E00\u9875"),q.default.createElement(x,{disabled:p||u.next_cursor==null,onClick:()=>r(u.next_cursor)},"\u4E0B\u4E00\u9875"))))))}var le=Le(me());var Gr={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"},Vr={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 no({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),[v,h]=(0,le.useState)(!1),[g,C]=(0,le.useState)(!1),[S,D]=(0,le.useState)(!1),[N,U]=(0,le.useState)("");(0,le.useEffect)(()=>{s(null),n(!1)},[o,l,u,f]);async function O(re){C(!0),U("");try{if(re==="status"&&(D(!0),s(null),n(!1),c(await e(p+"status",{})),D(!1),h(!1)),re==="preview"){s(null),n(!1);let T=await e(p+"preview",{query:o,...l.trim()?{clarification:l.trim()}:{},acknowledgeUnknown:r?.receipt?.state==="unknown"&&v?r.receipt.id:null});m.current===I&&s(T)}if(re==="start"){if(!t||!d)return;let T=t;s(null),n(!1),c(null),D(!0),h(!1),c(await e(p+"start",{id:T.id,fingerprint:T.fingerprint,confirm:!0})),D(!1)}}catch(T){s(null),n(!1),U(Vr[T.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,$=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?Gr[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")),$&&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:v,onChange:h,disabled:g}),le.default.createElement("div",{className:"connection-actions",role:"group","aria-label":i+"\u6A21\u578B\u9A8C\u8BC1\u64CD\u4F5C"},le.default.createElement(x,{kind:"soft",icon:"play",disabled:g||S||w?.state==="running"||$&&!v||!o?.trim(),onClick:()=>O("preview")},"\u9884\u89C8\u4E00\u6B21",i,"\u9A8C\u8BC1"),le.default.createElement(x,{kind:"secondary",icon:"reset",disabled:g,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:g}),le.default.createElement("div",{className:"connection-actions"},le.default.createElement(x,{kind:"primary",icon:"check",disabled:g||!d,onClick:()=>O("start")},"\u786E\u8BA4\u5F00\u59CB\u4E00\u6B21",i,"\u9A8C\u8BC1"),le.default.createElement(x,{kind:"secondary",disabled:g,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 Wr={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 nt({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=(T,pe)=>e((l?"cloud_":"")+(f?"token_":"")+T,pe),[r,c]=(0,Y.useState)(null),[t,s]=(0,Y.useState)(null),[d,n]=(0,Y.useState)(!1),[v,h]=(0,Y.useState)(!1),[g,C]=(0,Y.useState)(""),[S,D]=(0,Y.useState)(null),[N,U]=(0,Y.useState)(""),O=JSON.stringify([o,l,u,N]),w=(0,Y.useRef)(O);w.current=O,(0,Y.useEffect)(()=>{U(""),D(null)},[o,l,u]);function $(T){U(T),D(null)}(0,Y.useEffect)(()=>{if(l){c({state:"not_checked"});return}let T=!0;return e(f?"token_model_status":"model_status",{}).then(pe=>{T&&c(pe)}).catch(()=>{T&&C("\u5C1A\u672A\u6838\u5BF9\u6A21\u578B\u63A5\u5165\u72B6\u6001\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u3002")}),()=>{T=!1}},[e,l,f]);async function re(T,pe){h(!0),C("");try{if(T==="status"&&(s(null),n(!1),D(null),c(await m("model_status",{}))),T==="preview"&&(s(null),n(!1),s(await m("model_preview",{enabled:pe}))),T==="apply"){if(!t||!d)return;let ue=t;s(null),n(!1),D(null),c(await m("model_apply",{id:ue.id,fingerprint:ue.fingerprint,confirm:!0}))}if(T==="resolve"){let ue=await m("model_resolve",{query:o,...N.trim()?{clarification:N.trim()}:{}});w.current===O&&D(ue)}}catch(ue){s(null),n(!1),C(f&&l&&ue.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&&ue.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":ue.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&&ue.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[ue.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 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?Wr[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(x,{kind:"primary",icon:"link",disabled:v,onClick:()=>re("preview",!0)},"\u9884\u89C8",f?i+" Token Plan":i,"\u63A5\u5165"),Y.default.createElement(x,{kind:"secondary",icon:"pause",disabled:v||!r?.bindingRevision,onClick:()=>re("preview",!1)},f?"\u9884\u89C8\u505C\u7528 Token Plan":"\u9884\u89C8\u505C\u7528\u63A5\u5165"),Y.default.createElement(x,{kind:"secondary",icon:"reset",disabled:v,onClick:()=>re("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(x,{kind:"primary",icon:"check",disabled:v||!d,onClick:()=>re("apply")},"\u786E\u8BA4",t.enabled?"\u542F\u7528":"\u505C\u7528",p),Y.default.createElement(x,{kind:"secondary",disabled:v,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(x,{kind:"soft",icon:"settings",disabled:v||!o?.trim(),onClick:()=>re("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:T=>$(T.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(T=>T.provider_name)??[])].map(T=>Y.default.createElement(x,{key:T,kind:"secondary",disabled:v,onClick:()=>$("\u8BF7\u7528 "+T)},"\u9009\u62E9 ",T)),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(T=>Y.default.createElement("p",{key:T.provider+"/"+T.model},T.model_name," \xB7 ",T.provider_name)))),Y.default.createElement(no,{request:e,query:o,clarification:N,cloud:l,service:u}),g&&Y.default.createElement("p",{className:"connection-error",role:"alert"},g))}var Ie=Le(me());var it={"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 io({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),[v,h]=(0,Ie.useState)("");(0,Ie.useEffect)(()=>{let N=!0;return e("secret_status",{}).then(U=>{N&&i(U.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 g(){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(""),h("");let U={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",U);i(w=>w.map($=>$.slot===O.slot?O:$)),h(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{U.secret=void 0,p(!1)}}let D=r?{title:it[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(x,{disabled:a||!d||!t||!!I,onClick:()=>S(!1)},"\u4FDD\u5B58\u51ED\u636E"),r.configured&&Ie.default.createElement(x,{disabled:a||!d||!!I,onClick:()=>S(!0)},"\u79FB\u9664\u51ED\u636E"),Ie.default.createElement(x,{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:it[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":it[N.slot]+"\u51ED\u636E\u64CD\u4F5C"},Ie.default.createElement(x,{kind:"soft",icon:"key",disabled:a||!!I||!N.writable,onClick:()=>{c(N),n(!1),s("")}},"\u7BA1\u7406\u51ED\u636E"),o&&Ie.default.createElement(x,{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(x,{kind:"secondary",icon:"reset",disabled:a,onClick:g},"\u624B\u52A8\u6838\u5BF9\u51ED\u636E\u72B6\u6001")),v&&Ie.default.createElement("p",{role:"status"},v),I&&!r&&Ie.default.createElement("p",{role:"alert"},I),Ie.default.createElement(Xa,{modal:D,onClose:C}))}var ge=Le(me());var Kr=Object.freeze({available:!1,generation:0}),Rr={subscribe:()=>()=>{},getSnapshot:()=>Kr,render:()=>null},Xr={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"},$r={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"},fo={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 po({request:e,imClient:o=Rr,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 v=await e(i?"cloud_im_inventory":"im_inventory",{});s.current&&I(v)}catch(v){s.current&&(t(fo[v?.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 v;r(!0),t("");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");v=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(s.current)u(h);else{let C=v;v=null,await e("cloud_web_close",{entryId:C})}}catch(h){if(v)try{await e("cloud_web_close",{entryId:v})}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(fo[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{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?(Xr[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(v=>ge.default.createElement(_,{key:v.channel,label:$r[v.channel]??v.channel,value:`${v.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(x,{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(x,{kind:"primary",icon:"chat",disabled:m||!u,onClick:n},"\u6253\u5F00\u4E91\u7AEF\u539F\u751F IM \u914D\u7F6E"),!i&&ge.default.createElement(x,{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 co=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 dt=e=>e==="cloud"?"\u4E91\u7AEF\u673A\u5668\u4EBA":"\u672C\u5730\u673A\u5668\u4EBA",Qr={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 mo({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,v]=(0,ee.useState)(""),[h,g]=(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(U=>U.candidate_id===i&&U.eligible);async function N(U){if(!C.current){C.current=!0,d(!0),v("");try{if(U==="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 $=w.filter(re=>re.eligible);$.length===1&&a($[0].candidate_id),O.state==="unavailable"&&v("\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(U==="status"||U==="sync"){let O=await e("notification_defaults_"+U,{});if(!S.current)return;I(O),h&&(O.operation===h.id||O.revision>=h.revision)&&g(null)}else if(U==="enable"||U==="disable"){if(h||U==="enable"&&!D)return;r(null),t(!1);let O=await e("notification_defaults_preview",U==="enable"?{enabled:!0,host:o,candidate_id:D.candidate_id,label:D.label}:{enabled:!1});S.current&&r(O)}else if(U==="apply"){if(!m||!c||h||m.expiresAt<=Date.now())return;let O=m;r(null),t(!1),g({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&&g(null)}}catch(O){S.current&&v(/^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||!!h,onChange:U=>{l(U.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(x,{kind:"secondary",icon:"reset",disabled:s||!!h,onClick:()=>N("discover")},"\u8BFB\u53D6",dt(o),"\u4E0E\u5BF9\u8BDD"),ee.default.createElement(x,{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||!!h,onChange:U=>{a(U.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((U,O)=>ee.default.createElement("option",{key:U.candidate_id??O,value:U.candidate_id??"",disabled:!U.eligible},U.account," \xB7 ",U.label," \xB7 ",U.kind==="group"?"\u7FA4\u804A":"\u79C1\u804A",U.eligible?"":"\uFF08\u4E0D\u53EF\u7528\uFF09")))),ee.default.createElement(_,{label:"\u5F53\u524D\u9ED8\u8BA4",value:p?.enabled?`${dt(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:Qr[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(x,{kind:"primary",disabled:s||!!h||!D,onClick:()=>N("enable")},"\u9884\u89C8\u9ED8\u8BA4\u5165\u53E3"),ee.default.createElement(x,{kind:"secondary",disabled:s||!!h||!p?.enabled,onClick:()=>N("disable")},"\u505C\u7528\u9ED8\u8BA4\u901A\u77E5"),p?.revision>0&&ee.default.createElement(x,{kind:"secondary",disabled:s||!!h,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:`${dt(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(x,{kind:"primary",disabled:s||!c||m.expiresAt<=Date.now(),onClick:()=>N("apply")},"\u786E\u8BA4\u4FDD\u5B58\u9ED8\u8BA4\u8BBE\u7F6E"),ee.default.createElement(x,{kind:"secondary",disabled:s,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))),h&&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 fe=Le(me());var Yr={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 Io({request:e,url:o,cloud:l=!1}){let[u,f]=(0,fe.useState)(""),[i,a]=(0,fe.useState)("anonymous"),[p,I]=(0,fe.useState)(!1),[m,r]=(0,fe.useState)(null),[c,t]=(0,fe.useState)(""),s=(0,fe.useRef)(null),d=(0,fe.useRef)(!0),n=(0,fe.useRef)(!1),v=JSON.stringify([o,u,i,l]);s.current=v,(0,fe.useEffect)(()=>(d.current=!0,()=>{d.current=!1}),[]),(0,fe.useEffect)(()=>{r(null),t("")},[v]);async function h(){if(n.current)return;n.current=!0,I(!0),r(null),t("");let C=v;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(Yr[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 g=m?.key===v?m.value:null;return fe.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"},fe.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"}),fe.default.createElement("div",{className:"form-grid"},fe.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"}),fe.default.createElement(Se,{label:"\u4ED3\u5E93\u6838\u9A8C\u8EAB\u4EFD"},fe.default.createElement("select",{value:i,onChange:C=>a(C.target.value)},fe.default.createElement("option",{value:"anonymous"},"\u533F\u540D \xB7 \u516C\u5F00\u4ED3\u5E93"),fe.default.createElement("option",{value:"managed"},"\u76EE\u6807\u7AEF\u672C\u9879\u76EE Gitee \u4EE4\u724C")))),fe.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"},fe.default.createElement(x,{kind:"primary",icon:p?"spinner":"git",disabled:p||!o,onClick:h},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")),g&&fe.default.createElement("div",{role:"status"},fe.default.createElement(_,{label:"\u8BFB\u53D6\u6743\u9650",value:"\u672C\u6B21\u5143\u6570\u636E\u8BFB\u53D6\u901A\u8FC7 \xB7 \u4E0D\u4EE3\u8868\u5199\u6743\u9650"}),fe.default.createElement(_,{label:"\u5B9E\u9645 Host",value:g.target.name+" / "+g.target.platform}),fe.default.createElement(_,{label:"\u4ED3\u5E93",value:g.repository.url}),fe.default.createElement(_,{label:"\u5206\u652F",value:g.repository.branch}),fe.default.createElement("div",{className:"path-line"},fe.default.createElement("span",null,"\u89C2\u5BDF\u5230\u7684\u63D0\u4EA4"),fe.default.createElement("code",null,g.repository.base_sha)),fe.default.createElement("p",{className:"fine-print"},"\u6838\u9A8C\u65F6\u95F4\uFF1A",new Date(l?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&&fe.default.createElement("p",{role:"alert"},c),fe.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 Jr={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"},Zr=e=>e?.replace(/^git@gitee\.com:/,"https://gitee.com/").replace(/\.git\/?$/,"").replace(/\/$/,"").toLowerCase(),jr={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 Lo({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)(""),[v,h]=(0,X.useState)(!1),g=(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_",U=u?"\u4E91\u7AEF":"\u672C\u7AEF",O=l?.trim()||o?.replace(/\/$/,"").split("/").pop()?.replace(/\.git$/,"")||"";(0,X.useEffect)(()=>(g.current=!0,e(N+"status",u?{refresh:!1}:{}).then(ue=>{g.current&&p(ue)}).catch(()=>{g.current&&n("\u672C\u7AEF\u767B\u8BB0\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25\uFF0C\u8BF7\u624B\u52A8\u5237\u65B0\u6838\u5BF9\u3002")}),()=>{g.current=!1}),[u]),(0,X.useEffect)(()=>{m(null),c(!1)},[D]);let w=u?a?.registry:a,$=u?a?.operation:null,re=w?.entries?.find(ue=>ue.url.toLowerCase()===Zr(o)),T=u?$&&["sending","needs_review","recovering"].includes($.state):v;async function pe(ue,Ne){if(C.current)return;C.current=!0,s(!0),n("");let Oe=D,De=I;(ue==="apply"||ue==="recoveryApply")&&(m(null),c(!1),h(!0));try{let be;ue==="status"?(m(null),c(!1),be=u?{refresh:!0}:{}):ue==="preview"?be=Ne?{url:o,alias:O,authentication:f,enabled:!0}:{url:re.url,alias:re.alias,authentication:re.authentication,enabled:!1}:ue==="recoveryPreview"?be={}:be={id:De.id,fingerprint:De.fingerprint,confirm:!0};let ie=await e(N+ue,be);if(!g.current)return;ue==="preview"||ue==="recoveryPreview"?S.current===Oe&&(m({...ie,recovery:ue==="recoveryPreview"}),c(!1)):(p(ie),h(!1))}catch(be){g.current&&(n(Jr[be.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"),ue==="status"&&p(ie=>u&&ie?{...ie,registry:null,freshness:"check_failed"}:null))}finally{C.current=!1,g.current&&s(!1)}}return X.default.createElement(j,{className:"connection-panel",title:U+"\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:ue=>i(ue.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":U+"\u4ED3\u5E93\u767B\u8BB0\u64CD\u4F5C"},X.default.createElement(x,{kind:"primary",icon:t?"spinner":"git",disabled:t||!o||!O||!!T,onClick:()=>pe("preview",!0)},"\u9884\u89C8",U,"\u4ED3\u5E93\u767B\u8BB0"),X.default.createElement(x,{kind:"secondary",icon:"pause",disabled:t||!re?.enabled||!!T,onClick:()=>pe("preview",!1)},"\u9884\u89C8\u505C\u7528",U,"\u767B\u8BB0"),X.default.createElement(x,{kind:"secondary",icon:"reset",disabled:t,onClick:()=>pe("status")},"\u624B\u52A8\u5237\u65B0",U,"\u767B\u8BB0")),$&&X.default.createElement("div",{className:"connection-result",role:"status"},X.default.createElement(_,{label:"\u539F\u64CD\u4F5C",value:jr[$.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:re?re.enabled?"\u5DF2\u767B\u8BB0 \xB7 "+re.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&&T&&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(x,{kind:"soft",icon:"shield",disabled:t,onClick:()=>pe("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u767B\u8BB0")),I&&X.default.createElement("section",{className:"connection-confirm","aria-label":U+"\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":U+"\u4ED3\u5E93\u767B\u8BB0\u6700\u7EC8\u786E\u8BA4"},X.default.createElement(x,{kind:"primary",icon:"check",disabled:t||!r,onClick:()=>pe(I.recovery?"recoveryApply":"apply")},I.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u767B\u8BB0":I.entry.enabled?"\u786E\u8BA4"+U+"\u4ED3\u5E93\u767B\u8BB0":"\u786E\u8BA4\u505C\u7528"+U+"\u767B\u8BB0"),X.default.createElement(x,{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 el={outgoing:"\u53D1\u4EF6",incoming:"\u6536\u4EF6",broker:"\u4E91\u7AEF\u4E2D\u7EE7"},Qa={cloud:"\u4E91\u7AEF",local:"\u672C\u5730"},ho={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"},al={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"},ft=e=>({operation:{state:e.receipt?"applied":e.closed?"closed":"needs_review"},receipt:e.receipt,freshness:"remote_checked"});function go({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),v=(0,K.useRef)(!1),h=o?"cloud_file_transfer_":"file_transfer_",g=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 $={id:w.id,fingerprint:w.fingerprint,name:w.review.name};try{sessionStorage.setItem(D(l.runtimeId),JSON.stringify($))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}return n($),$}function U(w){try{let $=sessionStorage.getItem(D(w.runtimeId));if(!$)return;let re=JSON.parse($);if(typeof re.id!="string"||!/^[a-f0-9-]{36}$/.test(re.id)||typeof re.fingerprint!="string"||!/^[a-f0-9]{64}$/.test(re.fingerprint))throw Error();re.id!==d?.id&&(n(re),i(null))}catch{throw Error("UI_REQUEST_INDEX_UNAVAILABLE")}}async function O(w,$){if(v.current)return;v.current=!0,c(!0),s("");let re=!1;try{if(w==="list"){p(null),m(!1);let T=await e(h+"queueList",{}),pe=o?T.queue:T;u(pe),o?i(await e(h+"queueReviewStatus",{refresh:!1})):U(pe)}if((w==="resume"||w==="retain")&&(p(null),m(!1),p(await e(h+"queueReviewPreview",{item:$.item,decision:w}))),w==="apply"){if(!a||!I)return;let T=a;p(null),m(!1),o||N(T),i({operation:{state:"sending"},receipt:null,freshness:"cached"}),re=!0;let pe=await e(h+"queueReviewApply",{id:T.id,fingerprint:T.fingerprint,confirm:!0});i(o?pe:ft({receipt:pe,closed:!1})),u(null)}if(w==="status"){let T=await e(h+"queueReviewStatus",o?{refresh:!0}:{operation:d.id,fingerprint:d.fingerprint});i(o?T:ft(T)),p(null),m(!1)}if(w==="closePreview"&&(m(!1),p(o?await e(h+"queueReviewClosePreview",{}):{kind:"queue_review_close",name:d.name,reference:d})),w==="close"){if(!a||!I)return;let T=a;p(null),m(!1),i(ue=>({...ue,operation:{...ue?.operation,state:"closing"}}));let pe=await e(h+"queueReviewClose",o?{id:T.id,fingerprint:T.fingerprint,confirm:!0}:{operation:T.reference.id,fingerprint:T.reference.fingerprint,confirm:!0});i(o?pe:ft(pe))}}catch(T){p(null),m(!1),w==="list"&&u(null),(["status","close"].includes(w)||w==="apply"&&re)&&i(pe=>({...pe,operation:{...pe?.operation,state:"needs_review"},freshness:"check_failed"})),s(al[T.message]??(T.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{v.current=!1,c(!1)}}return K.default.createElement("section",{className:"connection-utility file-queue","aria-label":g+"\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(x,{kind:"secondary",icon:"file",disabled:r,onClick:()=>O("list")},"\u67E5\u770B",g,"\u6302\u8D77\u6587\u4EF6"),K.default.createElement(x,{kind:"secondary",icon:"reset",disabled:r||!o&&!d,onClick:()=>O("status")},"\u6838\u5BF9",g,"\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,el[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,ho[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":ho[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(x,{kind:"secondary",icon:"pause",disabled:r||S||l.enabled,onClick:()=>O("retain",w)},"\u9884\u89C8\u7EE7\u7EED\u4FDD\u7559"),K.default.createElement(x,{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(x,{kind:"secondary",icon:"shield",disabled:r,onClick:()=>O("closePreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5",g,"\u51B3\u5B9A")),a&&K.default.createElement("section",{className:"connection-confirm","aria-label":g+"\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(x,{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(x,{kind:"secondary",disabled:r,onClick:()=>{p(null),m(!1)}},"\u53D6\u6D88"))),t&&K.default.createElement("p",{className:"connection-error",role:"alert"},t))}function Co(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 tl={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"},ol={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 vo({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),[v,h]=(0,P.useState)(!1),[g,C]=(0,P.useState)(!1),[S,D]=(0,P.useState)(""),N=o?a?.files:a,U=o?a?.operation:null,O=g||o&&["sending","needs_review","recovering"].includes(U?.state),w=o?"cloud_file_transfer_":"file_transfer_",$=o?"\u4E91\u7AEF":"\u672C\u7AEF",re=!!N&&!N.enabled&&N.state==="needs_review"&&(N.error==="ONBOARDING_FILES_MIGRATION_PENDING"||o&&U?.scopeMigration),T=v||!!O||re,pe=Co(N,{uncertain:g,cloud:o,freshness:a?.freshness}),ue=(0,P.useRef)(!1);function Ne(ie){i(!1),p(ie);let Be=o?ie.files:ie;Be?.available&&(m(Be.scopeHash?Be.sendRoots.join(`
|
|
340
|
-
`):""),c(
|
|
341
|
-
`).map(
|
|
342
|
-
`).map(Pe=>Pe.trim()).filter(Boolean),maxBytes:r}:{});De.current===Oe&&s({...Ee,recovery:ie==="recoveryPreview"})}if(["apply","recoveryApply","migrationRecover"].includes(ie)){if(!t||!d)return;let Ee=t;s(null),n(!1),C(!0),Ne(await e(w+ie,ie==="migrationRecover"?{operation:Ee.operation,confirm:!0}:{id:Ee.id,fingerprint:Ee.fingerprint,confirm:!0}))}}catch(Ee){s(null),n(!1),ie==="status"&&p(Pe=>o&&Pe?{...Pe,files:null,freshness:"check_failed"}:null),D(tl[Ee.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{ue.current=!1,h(!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:g?"\u7ED3\u679C\u672A\u6838\u5BF9 \xB7 \u8BF7\u624B\u52A8\u67E5\u8BE2":N?ol[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}`})),pe&&P.default.createElement("details",{className:"details file-scope-observation"},P.default.createElement("summary",null,P.default.createElement("span",null,pe.title," \xB7 ",pe.roots.length," \u4E2A\u76EE\u5F55"),P.default.createElement(_e,{name:"down"})),P.default.createElement("p",null,pe.note),P.default.createElement("ul",null,pe.roots.map(ie=>P.default.createElement("li",{key:ie},P.default.createElement("code",null,ie)))),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:!!T||!!N?.scopeHash&&!f,onChange:ie=>m(ie.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:!!T||!!N?.scopeHash&&!f,onChange:ie=>c(Number(ie.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":$+"\u6587\u4EF6\u76F4\u4F20\u6388\u6743\u64CD\u4F5C"},P.default.createElement(x,{kind:"primary",icon:"file",disabled:!!T||f,onClick:()=>be("preview",!0)},"\u9884\u89C8\u542F\u7528",$,"\u6587\u4EF6\u76F4\u4F20"),P.default.createElement(x,{kind:"secondary",icon:"pause",disabled:!!T||f||!N?.enabled,onClick:()=>be("preview",!1)},"\u9884\u89C8\u505C\u7528",$,"\u5E76\u4FDD\u7559\u6587\u4EF6"),P.default.createElement(x,{kind:"secondary",icon:"reset",disabled:v,onClick:()=>be("status")},"\u624B\u52A8\u6838\u5BF9",$,"\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"+$+"\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(x,{kind:"primary",icon:"folder",disabled:!!T,onClick:()=>be("migrationPreview")},"\u9884\u89C8\u8FC1\u79FB",$,"\u8303\u56F4"),P.default.createElement(x,{kind:"secondary",disabled:v,onClick:()=>{s(null),n(!1),Ne(a)}},"\u53D6\u6D88\u8C03\u6574")):P.default.createElement(x,{kind:"secondary",icon:"settings",disabled:!!T||N.enabled||N.active,onClick:()=>{s(null),n(!1),i(!0)}},"\u8C03\u6574",$,"\u53D1\u9001\u8303\u56F4")),l&&re&&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(x,{kind:"secondary",icon:"shield",disabled:v,onClick:()=>{n(!1),s({resume:!0,operation:N.appliedOperation,scope:{role:N.role,sendRoots:N.sendRoots.map(ie=>({path:ie})),receiveRoot:N.receiveRoot,maxBytes:N.maxBytes},remoteTarget:o?a.remoteTarget:null})}},"\u9884\u89C8\u6838\u5BF9",$,"\u539F\u8FC1\u79FB")),o&&U&&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"}[U.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(x,{kind:"secondary",icon:"shield",disabled:v,onClick:()=>be("recoveryPreview")},"\u9884\u89C8\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42")),t&&P.default.createElement("section",{className:"connection-confirm","aria-label":$+"\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"+$+"\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"+$+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+$+"\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(ie=>ie.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(ie=>ie.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:v,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(x,{kind:"primary",icon:"check",disabled:v||!d,onClick:()=>be(t.resume?"migrationRecover":t.recovery?"recoveryApply":"apply")},t.resume?"\u786E\u8BA4\u6838\u5BF9"+$+"\u539F\u8FC1\u79FB":t.kind==="scope_migration"?"\u786E\u8BA4\u8FC1\u79FB"+$+"\u8303\u56F4":t.recovery?"\u786E\u8BA4\u5173\u95ED\u672A\u77E5\u4E91\u7AEF\u6587\u4EF6\u8BF7\u6C42":t.enabled?"\u786E\u8BA4\u542F\u7528"+$+"\u6587\u4EF6\u76F4\u4F20":"\u786E\u8BA4\u505C\u7528"+$+"\u6587\u4EF6\u76F4\u4F20"),P.default.createElement(x,{kind:"secondary",disabled:v,onClick:()=>{s(null),n(!1)}},"\u53D6\u6D88"))),u&&P.default.createElement(go,{request:e,cloud:o}),S&&P.default.createElement("p",{className:"connection-error",role:"alert"},S))}var ae=Le(me());var rl={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 xo({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 v(){let C=await d(()=>e("install_status",{}));C&&I(C)}async function h(){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 g(){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(x,{onClick:n,disabled:m},"\u9884\u89C8\u5B89\u88C5\u8BA1\u5212"),ae.default.createElement(x,{kind:"soft",onClick:v,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,rl[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(x,{kind:"primary",disabled:!o.canApply||!i||m||Date.now()>o.expiresAt,onClick:h},"\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(x,{disabled:m,onClick:g},"\u786E\u8BA4\u56DE\u6EDA\u672A\u5B8C\u6210\u4E8B\u52A1")))}var M=Le(me());var _o="dsh-onboarding-maintenance-reference-v1",So=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 ct(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 ko(e,o,l,u,f=Date.now){let i=null;try{let m=JSON.parse(u?.getItem(_o)??"null");So(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=ct(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=So(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),v=d?s.id:a.reference?.id;if(v&&n?.id!==v)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(_o,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"},bo={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"},ll={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"},Ao={create:"\u65B0\u5EFA\u81EA\u6709\u6587\u4EF6",replace:"\u66FF\u6362\u53D7\u7BA1\u5185\u5BB9",remove:"\u79FB\u9664\u53D7\u7BA1\u5185\u5BB9"};function pt({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=ko(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=ct(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?bo[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(x,{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(x,{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(x,{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,Ao[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(x,{kind:"primary",disabled:!r.apply||!i,onClick:()=>s("apply")},"\u786E\u8BA4",Ye[c.action],"\u672C\u7AEF\u89C4\u5219\u4E0E Skill"),M.default.createElement(x,{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,Ao[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(x,{kind:"primary",disabled:!i||!r.recoveryApply,onClick:()=>s("recover")},"\u786E\u8BA4\u5904\u7406\u539F\u7EF4\u62A4\u4E8B\u52A1"),M.default.createElement(x,{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 ",bo[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"},ll[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 we=Le(me());var W=Le(me());var mt="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),sl=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Je=e=>Number.isSafeInteger(e)&&e>=0,ul=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],yo=e=>e===null||e&&Pa(e.id)&&ul.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)),nl=e=>!!e&&["intent","unknown"].includes(e.state),il=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,It=e=>il(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"&&yo(e.receipt)&&e.pending===nl(e.receipt);function Lt(e,o,l=Date.now()){let u=e.current,f=o===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&It(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 No(e){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u505C\u7528\u6062\u590D\u8BF4\u660E
|
|
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&>(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
343
|
|
|
344
344
|
\u4EC5\u9002\u7528\u4E8E\u4F60\u521A\u624D\u64CD\u4F5C\u7684\u540C\u4E00\u53F0 Host\u3001\u540C\u4E00 profile\u3002
|
|
345
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
|
|
@@ -350,7 +350,7 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
|
|
|
350
350
|
|
|
351
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
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 wo(e,o,l,u,f=Date.now){let i=null,a=!1;try{if(!u)throw Error();let t=JSON.parse(u.getItem(mt)??"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){It(t)||m(),s&&(t.requestedOperationId!==s.operationId||!Object.hasOwn(t,"requestedReceipt")||!yo(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=Lt(p,l,f()),v=p.plan;if(t!=="refresh"&&(!n[t]||t==="confirm"&&(s!==!0||v.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 h={operationId:v.action==="disable_own_bundle"?v.id:v.operationId};try{if(u.setItem(mt,JSON.stringify(h)),u.getItem(mt)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_DISABLE_REFERENCE_UNAVAILABLE")}I({reference:h,uncertain:!0,fresh:!1});let g=await e("self_disable_"+(v.action==="disable_own_bundle"?"apply":"reconcileApply"),{id:v.id,fingerprint:v.fingerprint,confirm:!0,acceptRisk:!0});(!It(g)||g.instanceId!==v.instanceId||g.revision<=v.revision||g.receipt?.id!==h.operationId||v.action==="record_observation_only"&&(g.managerActions!==0||g.receipt.state!=="reconciled"))&&m(),I(r({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=p.current,g=await e("self_disable_"+(t==="disable"?"preview":"reconcilePreview"),{});(g.contract!==1||g.instanceId!==h.instanceId||g.revision!==h.revision||!Pa(g.id)||!sl(g.fingerprint)||!Je(g.expiresAt)||g.expiresAt<=f()||g.canApply!==!0||g.hostStopAuthorized!==!1||g.automaticRestart!==!1)&&m(),(t==="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(C=>g.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(g.retained)===JSON.stringify(C)):g.action!=="record_observation_only"||g.scope!=="ledger_only"||g.originalOutcomeProven!==!1||g.operationId!==h.receipt?.id)&&m(),I({plan:g})}return!0}catch(h){return I({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{I({busy:!1})}}return{get:()=>p,act:c,cancel:()=>{p.busy||I({plan:null})}}}var dl={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"},fl={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 Oo({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=wo(e,S=>{I.current&&u(S)},o,C)}(0,W.useEffect)(()=>(I.current=!0,()=>{I.current=!1}),[]);let r=l??m.current.get(),c=Lt(r,o),t=r.current,s=r.plan,d=r.receipt,n=s?.action==="record_observation_only",v=s?.action==="disable_own_bundle"?s.id:r.reference?.operationId??d?.id,h=(0,W.useMemo)(()=>{try{return URL.createObjectURL(new Blob([No(v)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[v]);(0,W.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let g=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"},h?W.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"):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(x,{kind:"secondary",icon:"reset",disabled:r.busy,onClick:()=>g("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u7528\u8D26\u672C"),c.disable&&W.default.createElement(x,{kind:"soft",onClick:()=>g("disable")},"\u9884\u89C8\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),c.review&&W.default.createElement(x,{kind:"soft",onClick:()=>g("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(x,{kind:"primary",disabled:!c.confirm||!f||!n&&!a,onClick:()=>g("confirm")},n?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u89C2\u5BDF":"\u786E\u8BA4\u505C\u7528\u672C\u7AEF\u63D2\u4EF6"),W.default.createElement(x,{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 ",dl[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"},fl[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 ht="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),cl=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),Ze=e=>Number.isSafeInteger(e)&&e>=0,pl=["intent","unknown","not_dispatched","saved_restart_required","manager_applied","manager_rejected","reconciled"],Do=e=>e===null||e&&Ba(e.id)&&pl.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)),ml=e=>!!e&&["intent","unknown"].includes(e.state),Il=e=>e&&e.hostStopped===!1&&e.packageRemoved===!1&&e.rulesOrSkillsRemoved===!1&&e.executionAuthorized===!1&&e.automaticRestart===!1,gt=e=>Il(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"&&Do(e.receipt)&&e.pending===ml(e.receipt);function Ct(e,o,l=Date.now()){let u=e.current,f=o===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&>(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 Po(e,o){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF\u63D2\u4EF6\u5305\u79FB\u9664\u6062\u590D\u8BF4\u660E
|
|
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
354
|
|
|
355
355
|
\u4EC5\u9002\u7528\u4E8E\u4F60\u521A\u624D\u64CD\u4F5C\u7684\u540C\u4E00\u53F0 Host\u3001\u540C\u4E00 profile\u3002
|
|
356
356
|
\u76EE\u6807\u5305\uFF1A@mogragsigma/dsh-dual-host-plugin
|
|
@@ -364,10 +364,10 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
|
|
|
364
364
|
|
|
365
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
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 Bo(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"||!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){gt(t)||m(),s&&(t.requestedOperationId!==s.operationId||!Object.hasOwn(t,"requestedReceipt")||!Do(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=Ct(p,l,f()),v=p.plan;if(t!=="refresh"&&(!n[t]||t==="confirm"&&(s!==!0||v.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 h={operationId:v.action==="remove_own_bundle"?v.id:v.operationId};try{if(u.setItem(ht,JSON.stringify(h)),u.getItem(ht)!==JSON.stringify(h))throw Error()}catch{throw Error("ONBOARDING_SELF_REMOVE_REFERENCE_UNAVAILABLE")}I({reference:h,uncertain:!0,fresh:!1});let g=await e("self_remove_"+(v.action==="remove_own_bundle"?"apply":"reconcileApply"),{id:v.id,fingerprint:v.fingerprint,confirm:!0,acceptRisk:!0});(!gt(g)||g.instanceId!==v.instanceId||g.revision<=v.revision||g.receipt?.id!==h.operationId||v.action==="record_observation_only"&&(g.managerActions!==0||g.receipt.state!=="reconciled"))&&m(),I(r({...g,requestedOperationId:h.operationId,requestedReceipt:g.receipt},h))}else{let h=p.current,g=await e("self_remove_"+(t==="remove"?"preview":"reconcilePreview"),{});(g.contract!==1||g.instanceId!==h.instanceId||g.revision!==h.revision||!Ba(g.id)||!cl(g.fingerprint)||!Ze(g.expiresAt)||g.expiresAt<=f()||g.canApply!==!0||g.hostStopAuthorized!==!1||g.automaticRestart!==!1)&&m(),(t==="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(C=>g.risks.includes(C))||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)&&m(),I({plan:g})}return!0}catch(h){return I({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(h?.message)?h.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{I({busy:!1})}}return{get:()=>p,act:c,cancel:()=>{p.busy||I({plan:null})}}}var Ll={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"},hl={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 Eo({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=Bo(e,S=>{I.current&&u(S)},o,C)}(0,V.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",v=s?.action==="remove_own_bundle"?s.id:r.reference?.operationId??d?.id,h=(0,V.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Po(v,s?.version??d?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[v,s?.version,d?.version]);(0,V.useEffect)(()=>()=>{h&&URL.revokeObjectURL(h)},[h]);let g=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"},h?V.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"):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(x,{kind:"secondary",icon:"reset",disabled:r.busy,onClick:()=>g("refresh")},"\u624B\u52A8\u6838\u5BF9\u79FB\u9664\u8D26\u672C"),c.remove&&V.default.createElement(x,{kind:"soft",onClick:()=>g("remove")},"\u9884\u89C8\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),c.review&&V.default.createElement(x,{kind:"soft",onClick:()=>g("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(x,{kind:"primary",disabled:!c.confirm||!f||!n&&!a,onClick:()=>g("confirm")},n?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u79FB\u9664\u89C2\u5BDF":"\u786E\u8BA4\u79FB\u9664\u672C\u7AEF\u63D2\u4EF6\u5305"),V.default.createElement(x,{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 ",Ll[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"},hl[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 vt="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),gl=e=>typeof e=="string"&&/^[a-f0-9]{64}$/.test(e),je=e=>Number.isSafeInteger(e)&&e>=0,_t=e=>typeof e=="string"&&/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(e)&&e.length<=128,Mo="current_host_public_app_exit_with_loss_risk",To=e=>e===null||e&&ea(e.id)&&["intent","not_dispatched","reconciled"].includes(e.state)&&_t(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)),Cl=e=>e?.state==="intent",xt=e=>e&&e.contract===1&&e.queryContract===1&&e.scope===Mo&&ea(e.instanceId)&&je(e.revision)&&je(e.historyCount)&&e.historyCount<=32&&typeof e.operationInFlight=="boolean"&&typeof e.stopCapabilityAvailable=="boolean"&&To(e.receipt)&&e.pending===Cl(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 St(e,o,l,u=Date.now()){let f=e.current,i=o===1&&!e.busy&&e.fresh&&!e.uncertain&&!e.storageError&&xt(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 Fo(e,o){return`\u5927\u80A5\u9C7C \xB7 \u672C\u7AEF Host \u505C\u673A\u6062\u590D\u8BF4\u660E
|
|
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
368
|
|
|
369
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${
|
|
370
|
+
\u63D2\u4EF6\u7248\u672C\uFF1A${bt(o)?o:"\u4EE5\u5F53\u524D\u8BA1\u5212\u4E3A\u51C6"}
|
|
371
371
|
|
|
372
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
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
|
|
@@ -377,8 +377,8 @@ function decisionSelection(item, attention, text, shortcut, now = Date.now()) {
|
|
|
377
377
|
|
|
378
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
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 Uo(e,o,l,u,f,i=Date.now){let a=null,p=!1;try{if(!f)throw Error();let s=JSON.parse(f.getItem(vt)??"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){xt(s)||r(),d&&(s.requestedOperationId!==d.operationId||!Object.hasOwn(s,"requestedReceipt")||!To(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 v=St(I,l,u,i()),h=I.plan;if(s!=="refresh"&&(!v[s]||s==="confirm"&&(d!==!0||h.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 g={operationId:h.action==="request_current_host_exit"?h.id:h.operationId};try{if(f.setItem(vt,JSON.stringify(g)),f.getItem(vt)!==JSON.stringify(g))throw Error()}catch{throw Error("ONBOARDING_SELF_STOP_REFERENCE_UNAVAILABLE")}m({reference:g,uncertain:!0,fresh:!1});let C=await e("self_stop_"+(h.action==="request_current_host_exit"?"apply":"reconcileApply"),{id:h.id,fingerprint:h.fingerprint,confirm:!0,acceptRisk:!0});(!xt(C)||C.instanceId!==h.instanceId||C.revision<=h.revision||C.receipt?.id!==g.operationId||h.action==="record_exit_observation_only"&&(C.exitRequests!==0||C.receipt.state!=="reconciled"))&&r(),m(c({...C,requestedOperationId:g.operationId,requestedReceipt:C.receipt},g))}else{let g=I.current,C=await e("self_stop_"+(s==="stop"?"preview":"reconcilePreview"),{});(C.contract!==1||C.instanceId!==g.instanceId||C.revision!==g.revision||!ea(C.id)||!gl(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!==Mo||!_t(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!==g.receipt?.id)&&r(),m({plan:C})}return!0}catch(g){return m({fresh:!1,error:/^ONBOARDING_[A-Z_]+$/.test(g?.message)?g.message:"ONBOARDING_UNAVAILABLE"}),!1}finally{m({busy:!1})}}return{get:()=>I,act:t,cancel:()=>{I.busy||m({plan:null})}}}var vl={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"},xl={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 Ho({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=Uo(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=St(c,o,l),s=c.current,d=c.plan,n=c.receipt,v=d?.action==="record_exit_observation_only",h=d?.action==="request_current_host_exit"?d.id:c.reference?.operationId??n?.id,g=(0,z.useMemo)(()=>{try{return URL.createObjectURL(new Blob([Fo(h,d?.version??n?.version)],{type:"text/plain;charset=utf-8"}))}catch{return null}},[h,d?.version,n?.version]);(0,z.useEffect)(()=>()=>{g&&URL.revokeObjectURL(g)},[g]);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"},g?z.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"):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(x,{kind:"secondary",icon:"reset",disabled:c.busy,onClick:()=>C("refresh")},"\u624B\u52A8\u6838\u5BF9\u505C\u673A\u8D26\u672C"),t.stop&&z.default.createElement(x,{kind:"soft",onClick:()=>C("stop")},"\u9884\u89C8\u505C\u6B62\u672C\u7AEF Host"),t.review&&z.default.createElement(x,{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,v?"\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:v?"\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"}),!v&&z.default.createElement(_,{label:"\u63D2\u4EF6\u7248\u672C",value:d.version}),z.default.createElement("p",null,v?"\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"),!v&&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:v?"\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(x,{kind:"primary",disabled:!t.confirm||!i||!v&&!p,onClick:()=>C("confirm")},v?"\u786E\u8BA4\u4EC5\u8865\u8BB0\u9000\u51FA\u89C2\u5BDF":"\u786E\u8BA4\u505C\u6B62\u672C\u7AEF Host"),z.default.createElement(x,{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 ",vl[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"},xl[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 qo({request:e,disableContract:o=0,removeContract:l=0,stopContract:u=0,allowStop:f=!1}){let[i,a]=(0,we.useState)(o===1?"disable":l===1?"remove":"stop");return o!==1&&l!==1&&u!==1?null:we.default.createElement("section",{className:"connection-panel self-lifecycle-panel","aria-label":"\u672C\u7AEF\u7EF4\u62A4"},we.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u672C\u7AEF\u7EF4\u62A4\u7C7B\u578B"},o===1&&we.default.createElement(x,{kind:i==="disable"?"soft":"secondary","aria-pressed":i==="disable",onClick:()=>a("disable")},"\u505C\u7528\u63D2\u4EF6"),l===1&&we.default.createElement(x,{kind:i==="remove"?"soft":"secondary","aria-pressed":i==="remove",onClick:()=>a("remove")},"\u79FB\u9664\u63D2\u4EF6\u5305"),u===1&&we.default.createElement(x,{kind:i==="stop"?"soft":"secondary","aria-pressed":i==="stop",onClick:()=>a("stop")},"\u505C\u6B62\u672C\u7AEF Host")),we.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"?we.default.createElement(Oo,{request:e,contract:o}):i==="remove"?we.default.createElement(Eo,{request:e,contract:l}):we.default.createElement(Ho,{request:e,contract:u,allowStop:f}))}var Q=Le(me());var Go="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),Vo=e=>e&&!["released","not_held","retired"].includes(e.state),kt={acquire:["preview","apply"],release:["releasePreview","releaseApply"],record_observation:["recoveryPreview","recover"],retire_previous_instance:["retirementPreview","retirementApply"],resume_admission:["resumePreview","resumeApply"]},Wo=e=>e&&e.hostStopAuthorized===!1&&e.pluginSwitchAuthorized===!1,bt=e=>Wo(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 At(e,o,l=Date.now()){let u=e.current,f=o===2&&!e.busy&&e.fresh&&!e.uncertain&&bt(u)&&!u.operationInFlight,i=f&&Vo(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&&!Vo(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 zo(e,o,l,u,f=Date.now){let i=null;try{let c=JSON.parse(u?.getItem(Go)??"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 bt(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=At(a,l,f());if(c==="confirm"&&(!s.confirm||t!==!0)||c!=="refresh"&&c!=="confirm"&&!s[c]||!["refresh","confirm",...Object.keys(kt)].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(Go,JSON.stringify(n))}catch{throw Error("ONBOARDING_MAINTENANCE_REFERENCE_UNAVAILABLE")}p({reference:n,uncertain:!0,fresh:!1});let v=await e("maintenance_record_"+kt[d.action][1],{id:d.id,fingerprint:d.fingerprint,confirm:!0});(!bt(v)||(v.receipt?.id??null)!==n.operationId||n.decisionId&&v.admission?.durable?.decision?.id!==n.decisionId)&&I(),p({...m(v,null),receipt:v.receipt,uncertain:!1})}else{let n=await e("maintenance_record_"+kt[c][0],{}),v=c==="resume_admission"?"own_execution_startup_only":["record_observation","retire_previous_instance"].includes(c)?"ledger_only":"coordinated_components_only";(!Wo(n)||n.action!==c||n.scope!==v||!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(),v==="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 yt={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"},_l={...yt,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"},Sl={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"},kl={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 Ko({request:e,contract:o=0}){let[l,u]=(0,Q.useState)(null),[f,i]=(0,Q.useState)(!1),a=(0,Q.useRef)(!0),p=(0,Q.useRef)();if(!p.current){let d;try{d=globalThis.sessionStorage}catch{}p.current=zo(e,n=>{a.current&&u(n)},o,d)}(0,Q.useEffect)(()=>(a.current=!0,()=>{a.current=!1}),[]);let I=l??p.current.get(),m=At(I,o),r=I.plan,c=I.current,t=I.receipt,s=d=>(i(!1),p.current.act(d,f));return Q.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:Q.default.createElement(ke,null,"\u624B\u52A8\u6838\u5BF9")},Q.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"),Q.default.createElement("div",{className:"maintenance-status",role:"status"},Q.default.createElement(_,{label:"\u5F53\u524D\u89C2\u5BDF",value:c?yt[c.state]??"\u72B6\u6001\u9700\u6838\u5BF9":"\u5C1A\u672A\u624B\u52A8\u6838\u5BF9"}),Q.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&&Q.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&&Q.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&&Q.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&&Q.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])=>Q.default.createElement(_,{key:d,label:n,value:kl[c.live?.components?.[d]?.state]??"\u672A\u77E5 \xB7 \u4E0D\u89C6\u4E3A\u7A7A\u95F2"})),Q.default.createElement(_,{label:"\u7B2C\u4E09\u65B9 IM",value:"\u672A\u5B8C\u6210\u6392\u7A7A\u9A8C\u8BC1"})),Q.default.createElement("div",{className:"connection-actions"},Q.default.createElement(x,{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])=>Q.default.createElement(x,{key:d,kind:"soft",onClick:()=>s(d)},"\u9884\u89C8",n))),I.uncertain&&Q.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&&Q.default.createElement("section",{className:"connection-confirm","aria-label":"\u5F85\u786E\u8BA4\u7EF4\u62A4\u4F1A\u8BDD\u8BA1\u5212"},Q.default.createElement("h3",null,"\u5F85\u786E\u8BA4 \xB7 ",Ya[r.action]),Q.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&&Q.default.createElement(_,{label:"\u6838\u9A8C\u4F9D\u636E",value:Sl[r.reason]??"\u6838\u9A8C\u672A\u6EE1\u8DB3\u8981\u6C42"}),r.action==="record_observation"&&Q.default.createElement(_,{label:"\u62DF\u8BB0\u5165\u72B6\u6001",value:yt[r.observedState]??"\u65E0\u6CD5\u6838\u9A8C"}),Q.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&&Q.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&&Q.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&&Q.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"),Q.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"),Q.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"}),Q.default.createElement("div",{className:"connection-actions"},Q.default.createElement(x,{kind:"primary",disabled:!m.confirm||!f,onClick:()=>s("confirm")},"\u786E\u8BA4",Ya[r.action]),Q.default.createElement(x,{kind:"secondary",disabled:I.busy,onClick:()=>{p.current.cancel(),i(!1)}},"\u53D6\u6D88\u4F1A\u8BDD\u8BA1\u5212"))),t&&Q.default.createElement("section",{className:"maintenance-receipt","aria-label":"\u7EF4\u62A4\u4F1A\u8BDD\u5386\u53F2\u56DE\u6267"},Q.default.createElement("h3",null,"\u67E5\u8BE2\u5230\u7684\u8BB0\u5F55 \xB7 ",_l[t.state]??"\u72B6\u6001\u9700\u6838\u5BF9"),Q.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&&Q.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"),Q.default.createElement(_,{label:"\u8BB0\u5F55\u65F6\u95F4",value:new Date(t.updatedAt).toLocaleString()}),Q.default.createElement("details",{className:"plan-item"},Q.default.createElement("summary",null,"\u8BCA\u65AD\u4FE1\u606F"),Q.default.createElement("code",null,t.id),Q.default.createElement(_,{label:"\u5386\u53F2\u8BB0\u5F55\u6570",value:c?.historyCount??"\u672A\u77E5"}))),I.error&&Q.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"," ",Q.default.createElement("code",null,I.error)))}var k=Le(me());var oe=Le(me());function Nt(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 Ro(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(!Nt(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 Xo={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"},Al={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 $o({request:e,onMutation:o}){let[l,u]=(0,oe.useState)({}),[f]=(0,oe.useState)(()=>Ro(e,u,o)),[i,a]=(0,oe.useState)(null),[p,I]=(0,oe.useState)(!1);(0,oe.useEffect)(()=>(f.resume(),f.act("load"),()=>f.dispose()),[f]);let m=Nt(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,v,h)=>m[n]&&oe.default.createElement("div",{className:"cloud-action"},oe.default.createElement(x,{"data-node-action":n,disabled:l.busy,kind:n==="start"?"primary":"soft",onClick:()=>{a(n),I(!1)}},v),i===n&&oe.default.createElement("div",{className:"cloud-confirm","aria-label":v+"\u786E\u8BA4"},oe.default.createElement("p",null,h),oe.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"}),oe.default.createElement("div",{className:"form-actions"},oe.default.createElement(x,{kind:"primary",disabled:l.busy||!p,onClick:()=>{a(null),I(!1),f.act(n,!0)}},"\u786E\u8BA4",v),oe.default.createElement(x,{disabled:l.busy,kind:"secondary",onClick:()=>{a(null),I(!1)}},"\u53D6\u6D88"))));return oe.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:oe.default.createElement(ke,null,"\u5355\u72EC\u786E\u8BA4 \xB7 \u624B\u52A8\u5237\u65B0")},oe.default.createElement(_,{label:"\u6301\u4E45\u8BB0\u5F55",value:Xo[l.record?.state]??"\u5C1A\u672A\u8BFB\u53D6"}),c&&oe.default.createElement(_,{label:"\u5B89\u88C5\u8FDB\u7A0B",value:Xo[c.state]??"\u5F85\u6838\u5BF9"}),oe.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"),oe.default.createElement("div",{className:"form-actions"},oe.default.createElement(x,{icon:"search",disabled:!m.preview,onClick:()=>s("preview")},"\u9884\u89C8\u4E13\u7528 Node \u8BA1\u5212"),oe.default.createElement(x,{icon:"reset",disabled:!m.refresh,onClick:()=>s("refresh")},"\u624B\u52A8\u5237\u65B0 Node \u72B6\u6001"),!l.loaded&&oe.default.createElement(x,{disabled:l.busy,onClick:()=>s("load")},"\u91CD\u8BFB Node \u8D26\u672C")),l.busy&&oe.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&&oe.default.createElement(b,{tone:"warn"},oe.default.createElement("span",{role:"alert"},Al[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"),oe.default.createElement("code",null,t)),r&&oe.default.createElement("div",{className:"cloud-plan"},oe.default.createElement(_,{label:"\u56FA\u5B9A\u5B98\u65B9\u7248\u672C",value:`Node ${r.remote.release.version} / ${r.remote.arch}`}),oe.default.createElement(_,{label:"\u4E0B\u8F7D\u6765\u6E90",value:"nodejs.org \xB7 HTTPS \xB7 \u56FA\u5B9A SHA-256 \u6821\u9A8C"}),oe.default.createElement("div",{className:"path-line"},oe.default.createElement("span",null,"\u4E13\u7528 Node \u76EE\u5F55"),oe.default.createElement("code",null,r.remote.root)),oe.default.createElement("div",{className:"path-line"},oe.default.createElement("span",null,"\u53D1\u884C\u5305 SHA-256"),oe.default.createElement("code",null,r.remote.release.sha256)),oe.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"),oe.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&&oe.default.createElement("div",{className:"path-line"},oe.default.createElement("span",null,"\u672C\u4E8B\u52A1\u4E13\u7528\u76EE\u5F55"),oe.default.createElement("code",null,c.root)),c?.state==="ready"&&oe.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 Qo(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 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 Yo({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=Qo(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":yl[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(x,{disabled:!o.runtime_repair_preview,onClick:()=>l("runtime_repair_preview")},"\u9884\u89C8\u540C\u7248\u672C\u4FEE\u590D"),p&&xe.default.createElement(x,{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 jo={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"},Nl=["receive","apply","rollback","recover","rules_apply","rules_recover"],Jo={candidate_preview:"receive",preview:"apply",rollback_preview:"rollback",recover_preview:"recover",rules_preview:"rules_apply",rules_recover_preview:"rules_recover"},Zo=(e,o)=>e?.filter(l=>l.targetId===o&&l.receipt?.state!=="refused").at(-1);function wt(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=Zo(f?.requests,e.versionId),I=Zo(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 er(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(v=>v.id===t))return t;let n=d?.find(v=>v.state==="requested"||v.receipt?.recoveryRequired);return s.find(v=>v.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(h=>h.action==="receive")),versionId:m(a.versionId,t.plans?.filter(h=>h.kind==="apply")??[],t.requests?.filter(h=>h.action!=="receive")),artifactId:m(a.artifactId,s.plans?.filter(h=>h.kind==="apply")??[],s.requests)};let n=a.uncertainRequest,v=n&&(n.rules?s:t).requests?.find(h=>h.key===n.key);n&&v?.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=wt(a,{stopped:d},f());if(t==="confirm"?!s||!n.confirm:!n[t])return a={...a,error:"ONBOARDING_VERSION_UI_REFRESH_REQUIRED"},p(),!1;let v=a.plan,h=t==="confirm"?v.action:t,g=Nl.includes(h);a={...a,busy:h,error:null,...h.startsWith("activation_")?{observation:null}:{},...t==="confirm"?{}:{plan:null}},p();try{if(t==="load")await r(),a.observation=null;else{let C=t==="confirm"?{id:v.value.id,fingerprint:v.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_/,"")+":"+v.value.id},u());let S=await I(h,C);if(a.observation={action:h,value:S,observedAt:f()},Jo[h]&&S.id&&S.fingerprint){a.plan={action:Jo[h],value:S};let D={candidate_preview:"candidateId",preview:"versionId",rules_preview:"artifactId"}[h];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",g&&(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 Ot={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"},wl={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"},Dt=e=>jo[e]??"\u5C1A\u672A\u6838\u5BF9";function Pt({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 Ol({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)(()=>er(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=wt({...a,busy:a.busy||u},{stopped:t}),d=a.plan,n=a.versions,v=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 h=O=>{if(r(!1),!u)return I.act(O,{stopped:l>Date.now()})},g=n?.requests?.filter(O=>O.targetId===a.versionId).at(-1),C=v?.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,U=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(x,{icon:"reset",disabled:!s.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(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||v?.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(Pt,{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(x,{disabled:!s.candidate_preview,onClick:()=>h("candidate_preview")},"\u9884\u89C8\u672C\u7AEF\u5019\u9009"),y.default.createElement(x,{disabled:!s.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(_,{label:"\u5386\u53F2\u6587\u4EF6\u56DE\u6267",value:g?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":Dt(g?.receipt?.state)}),y.default.createElement(Pt,{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(x,{disabled:!s.preview,onClick:()=>h("preview")},"\u9884\u89C8\u6587\u4EF6\u5207\u6362"),y.default.createElement(x,{disabled:!s.status,onClick:()=>h("status")},"\u67E5\u8BE2\u539F\u6587\u4EF6\u4E8B\u52A1"),y.default.createElement(x,{disabled:!s.rollback_preview,onClick:()=>h("rollback_preview")},"\u9884\u89C8\u6587\u4EF6\u56DE\u6EDA"),y.default.createElement(x,{disabled:!s.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(_,{label:"\u5386\u53F2\u89C4\u5219\u56DE\u6267",value:C?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":Dt(C?.receipt?.state)}),y.default.createElement(Pt,{label:"\u89C4\u5219\u914D\u5957\u4E8B\u52A1",items:v?.plans?.filter(O=>O.kind==="apply"),value:a.artifactId,disabled:!!a.busy,onChange:O=>I.select("artifactId",O)}),v?.supported?y.default.createElement("div",{className:"form-actions"},y.default.createElement(x,{disabled:!s.rules_preview,onClick:()=>h("rules_preview")},"\u9884\u89C8\u89C4\u5219\u914D\u5957"),y.default.createElement(x,{disabled:!s.rules_status,onClick:()=>h("rules_status")},"\u67E5\u8BE2\u539F\u89C4\u5219\u4E8B\u52A1"),y.default.createElement(x,{disabled:!s.rules_recover_preview,onClick:()=>h("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:U?.observedAt?`${U.pluginVersion} \xB7 ${new Date(U.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(x,{disabled:!s.activation_status,onClick:()=>h("activation_status")},"\u67E5\u8BE2\u5386\u53F2\u52A0\u8F7D\u8BB0\u5F55"),y.default.createElement(x,{icon:"check",disabled:!s.activation_verify,onClick:()=>h("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?Dt(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":Ot[d.action]+"\u786E\u8BA4"},y.default.createElement("h3",null,Ot[d.action]),y.default.createElement("p",null,wl[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(x,{kind:"primary",disabled:!s.confirm||!m,onClick:()=>{r(!1),u||I.act("confirm",{confirmed:!0,stopped:l>Date.now()})}},"\u786E\u8BA4",Ot[d.action]),y.default.createElement(x,{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 ar(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(x,{"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(Ol,{...e}))}var F=Le(me());var tr={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"},Dl=e=>e.record?.requests?.filter(o=>o.targetId===e.id&&o.receipt?.state!=="refused").at(-1);function Bt(e,{stopped:o=!1}={},l=Date.now()){let u=e.loaded&&!e.busy&&e.record?.supported,f=Dl(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 or(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(h=>h.operationId!==l))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let d=c.plans?.filter(h=>h.kind==="apply")??[],n=c.requests?.find(h=>h.state==="requested"||h.receipt?.recoveryRequired),v=d.some(h=>h.id===a.id)?a.id:d.find(h=>h.id===n?.targetId)?.id??d.at(-1)?.id??"";a={...a,loaded:!0,record:c,otherPending:!!(t.pending||s.pending),id:v},a.uncertainKey&&c.requests?.find(h=>h.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(!Bt(a,{stopped:s},f())[c]||c==="confirm"&&!t)return a.error="ONBOARDING_UNINSTALL_UI_REFRESH_REQUIRED",p(),!1;let n=a.plan,v=c==="confirm"?n.action:c,h=c==="confirm";a={...a,busy:v,error:null,...h?{}:{plan:null}},p();try{if(c==="load")await m(),a.observation=null;else{h&&(a.uncertain=!0,a.uncertainKey=v+":"+n.value.id,u());let g=await I(v,h?{id:n.value.id,fingerprint:n.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:v,value:g,observedAt:f()},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 m()}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,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 rr=e=>tr[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 El({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)(()=>or(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=Bt({...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 v=S=>{if(r(!1),!u)return I.act(S,{stopped:l>Date.now()})},h=n?.plans?.filter(S=>S.kind==="apply")??[],g=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(x,{icon:"reset",disabled:!s.load,onClick:()=>v("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"),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||u,onChange:S=>I.select(S.target.value)},h.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:g?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":rr(g?.receipt?.state)}),F.default.createElement("div",{className:"form-actions"},F.default.createElement(x,{disabled:!s.preview,onClick:()=>v("preview")},"\u9884\u89C8\u5378\u8F7D\u8303\u56F4"),F.default.createElement(x,{disabled:!s.status,onClick:()=>v("status")},"\u67E5\u8BE2\u539F\u5378\u8F7D"),F.default.createElement(x,{disabled:!s.recover_preview,onClick:()=>v("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?rr(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":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(_,{label:"\u7248\u672C",value:d.value.version??h.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,Bl[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(x,{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(x,{disabled:!!a.busy,onClick:()=>{r(!1),I.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function lr(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(x,{"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(El,{...e}))}var H=Le(me());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"},Et=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",Tl=e=>e.record?.requests?.filter(o=>o.targetId===e.id).at(-1);function Mt(e,{stopped:o=!1}={},l=Date.now()){let u=e.loaded&&!e.busy&&e.record?.supported,f=Tl(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 sr(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(g=>g.operationId!==l))throw Error("ONBOARDING_CLOUD_HANDOFF_TARGET_CHANGED");let n=c.plans?.filter(g=>g.kind==="apply")??[],v=c.requests?.filter(g=>g.receipt?.state!=="refused").at(-1)?.targetId??n.at(-1)?.id??"";a={...a,loaded:!0,record:c,id:v,uninstallCompleted:t.pending===!1&&t.requests?.at(-1)?.receipt?.state==="committed",otherPending:!!(s.pending||d.pending||t.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 r(c,{confirmed:t=!1,stopped:s=!1}={}){if(i||a.busy)return!1;if(!Mt(a,{stopped:s},f())[c]||c==="confirm"&&!t)return a.error="ONBOARDING_RECLAIM_UI_REFRESH_REQUIRED",p(),!1;let n=a.plan,v=c==="confirm"?n.action:c,h=c==="confirm";a={...a,busy:v,error:null,observation:null,...h?{}:{plan:null}},p();try{if(c==="load")await m(),a.observation=null;else{h&&(a.uncertain=!0,a.uncertainKey=v+":"+n.value.id,u());let g=await I(v,h?{id:n.value.id,fingerprint:n.value.fingerprint,confirm:!0}:["status","recover_preview"].includes(c)?{id:a.id}:{});a.observation={action:v,value:g,observedAt:f()},a.plan=null,["preview","recover_preview"].includes(c)&&g.id&&g.fingerprint&&(a.plan={action:c==="preview"?"apply":"recover",value:g}),await m()}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,p()}}return{act:r,snapshot:()=>({...a}),cancel:()=>{a.busy||(a.plan=null,p())},dispose:()=>{i=!0},resume:()=>{i=!1,p()}}}function Fl({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)(()=>sr(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=Mt({...a,busy:a.busy||u},{stopped:s});(0,H.useEffect)(()=>{if(r(!1),!t)return;let g=setTimeout(()=>{r(!1),c(C=>C+1)},Math.max(0,t.value.expiresAt-Date.now())+1);return()=>clearTimeout(g)},[t]),(0,H.useEffect)(()=>{if(r(!1),!l)return;let g=setTimeout(()=>{r(!1),c(C=>C+1)},Math.max(0,l-Date.now())+1);return()=>clearTimeout(g)},[l]);let n=g=>{if(r(!1),!u)return I.act(g,{stopped:l>Date.now()})},v=a.record?.requests?.at(-1),h=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(x,{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"),v?.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&&v?.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||v?.state==="requested"?"\u8BF7\u6C42\u7ED3\u679C\u672A\u77E5":Et(v?.receipt)}),H.default.createElement("div",{className:"form-actions"},H.default.createElement(x,{disabled:!d.preview,onClick:()=>n("preview")},"\u9884\u89C8\u8FD0\u884C\u65F6\u56DE\u6536"),H.default.createElement(x,{disabled:!d.status,onClick:()=>n("status")},"\u67E5\u8BE2\u539F\u56DE\u6536"),H.default.createElement(x,{disabled:!d.recover_preview,onClick:()=>n("recover_preview")},"\u9884\u89C8\u539F\u56DE\u6536\u6062\u590D")),h&&H.default.createElement("div",{className:"version-observation","aria-live":"polite"},H.default.createElement("strong",null,"\u672C\u6B21\u89C2\u5BDF"),H.default.createElement("p",null,h.canApply?"\u5DF2\u53D6\u5F97\u5F85\u786E\u8BA4\u8303\u56F4\uFF0C\u5C1A\u672A\u5220\u9664\u6587\u4EF6\u3002":Et(h)),h.total>0&&H.default.createElement(_,{label:"\u5DF2\u8BB0\u8D26\u6761\u76EE",value:`${h.completed??0} / ${h.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(g=>H.default.createElement("li",{className:"plan-item",key:g},H.default.createElement("code",null,g)))))),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(x,{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(x,{disabled:!!a.busy,onClick:()=>{r(!1),I.cancel()}},"\u53D6\u6D88\u672C\u6B21\u786E\u8BA4")))))}function ur(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(x,{"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(Fl,{...e}))}var nr={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 Tt(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),dr=e=>e?.contract===1&&e.nativeWorkMayResume===!0&&e.imMayReconnect===!0&&e.configurationPreserved===!0&&e.automaticTaskApproval===!1&&e.automaticRetry===!1&&e.requiresExplicitAcknowledgement===!0,Ul=e=>e?.contract===1&&e.lateNativeInputMayAbort===!0&&e.imInFlightMayAbort===!0&&e.ownQueuesRetained===!0&&e.ingressFrozen===!1&&e.automaticStop===!1&&e.requiresExplicitAcknowledgement===!0;function Ft(e,{preparation:o=!1,runtime:l=!1}={},u=Date.now()){let f=Tt(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,v={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&&dr(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"&&Ul(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 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"])v[h]=!1;return v}function fr(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(!Ft(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(!dr(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=>nr[e]??"\u5F85\u6838\u5BF9",Hl={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: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(x,{"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(x,{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(x,{kind:"secondary",disabled:I,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))))}function cr({request:e,preparation:o=!1,runtime:l=!1,execution:u=!1,optionalIm:f=!1}){let[i,a]=(0,k.useState)({}),[p]=(0,k.useState)(()=>fr(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=Ft(i,{preparation:o,runtime:l}),s=Tt(i),d=i.runtime,n=i.plan,v=(C,S,D,N)=>(t[C]||I===C)&&k.default.createElement(ql,{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),h=()=>(m(null),c(!1),p.act("refresh")),g=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($o,{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(x,{icon:"reset",disabled:!t.refresh,onClick:h},"\u624B\u52A8\u5237\u65B0\u4E91\u7AEF\u72B6\u6001"),!i.loaded&&k.default.createElement(x,{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"},Hl[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"),v("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"),v("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(x,{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"},g(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"),v("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(x,{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(x,{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"},g(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"),v("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"},g(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"),v("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(Yo,{s:i,actions:t,act:C=>{m(null),c(!1),p.act(C)},confirm:v}),i.source?.state==="prepared"&&i.source.operationId&&k.default.createElement(ar,{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(lr,{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(ur,{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()}}),v("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(x,{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"),v("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"),v("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"),v("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"),v("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"),v("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")),v("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 Gl={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"},Vl={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 pr({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(h=>{s.current&&l(h)}).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 v(h,g){if(d.current)return;d.current=!0,I(!0),t("");let C=u;["apply","recoveryApply"].includes(h)&&(f(null),a(!1),r(!0)),h==="status"&&(f(null),a(!1));try{let S=h==="status"?{refresh:!0}:h==="preview"?{enabled:g}:h==="recoveryPreview"?{}:{id:C.id,fingerprint:C.fingerprint,confirm:!0},D=await e("local_pair_"+h,S);if(!s.current)return;["preview","recoveryPreview"].includes(h)?(f({...D,recovery:h==="recoveryPreview"}),a(!1)):(l(D),r(!1))}catch(S){s.current&&(t(Vl[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"),h==="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(x,{kind:"primary",icon:"cloud",disabled:p||!!n||!!o?.localEnabled,onClick:()=>v("preview",!0)},"\u9884\u89C8\u53CC\u7AEF\u914D\u5BF9"),ne.default.createElement(x,{kind:"secondary",icon:"pause",disabled:p||!!n||!o?.operation.target,onClick:()=>v("preview",!1)},"\u9884\u89C8\u64A4\u9500\u914D\u5BF9"),ne.default.createElement(x,{kind:"secondary",icon:"reset",disabled:p,onClick:()=>v("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:Gl[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(x,{kind:"soft",icon:"shield",disabled:p,onClick:()=>v("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(x,{kind:"primary",icon:"check",disabled:p||!i,onClick:()=>v(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(x,{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 ce=Le(me());var Wl={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 mr({request:e,onResult:o}){let[l,u]=(0,ce.useState)(null),[f,i]=(0,ce.useState)(!1),[a,p]=(0,ce.useState)(""),I=(0,ce.useRef)(!0),m=(0,ce.useRef)(!1),r=(0,ce.useRef)(0);(0,ce.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 ce.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"},ce.default.createElement("div",{className:"connection-actions"},ce.default.createElement(x,{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&&ce.default.createElement("div",{className:"connection-result",role:"status"},ce.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"),ce.default.createElement("div",{className:"form-grid"},[["\u672C\u5730 Host",l.local],["\u4E91\u7AEF Host",l.cloud]].map(([t,s])=>ce.default.createElement("section",{key:t,"aria-label":t+"\u65E2\u6709\u914D\u7F6E"},ce.default.createElement("h3",null,t),ce.default.createElement(_,{label:"\u63D2\u4EF6\u7248\u672C",value:s.host.plugin_version}),ce.default.createElement(_,{label:"\u89C4\u5219\u4E0E Skill",value:Wl[s.rules.state]??"\u9700\u6838\u5BF9"}),ce.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"}),ce.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"}),ce.default.createElement(_,{label:"\u53EA\u8BFB\u8C03\u5EA6\u5668",value:s.runtime.scheduler?`\u5DF2\u542F\u52A8 / \u6D3B\u52A8 ${s.runtime.activeRuns} \u6279`:"\u672A\u542F\u52A8"}),ce.default.createElement("details",{className:"details"},ce.default.createElement("summary",null,"\u76EE\u6807\u7AEF\u89E3\u6790\u8DEF\u5F84"),ce.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"),ce.default.createElement("div",{className:"path-line"},ce.default.createElement("span",null,"DSH"),ce.default.createElement("code",null,s.paths.dsh)),ce.default.createElement("div",{className:"path-line"},ce.default.createElement("span",null,"Agents"),ce.default.createElement("code",null,s.paths.agents)))))),ce.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&&ce.default.createElement("p",{role:"alert",className:"connection-error"},a))}var se=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"},Kl={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 Ut({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=se.default.useCallback((g,C)=>e((l?"gitee_":u?"token_":"")+g,C),[e,u,l]),[p,I]=(0,se.useState)(null),[m,r]=(0,se.useState)(null),[c,t]=(0,se.useState)(!1),[s,d]=(0,se.useState)(!1),[n,v]=(0,se.useState)("");(0,se.useEffect)(()=>{let g=!0;return a("handoff_status",{refresh:!1}).then(C=>{g&&I(C)}).catch(()=>{g&&v("\u4EA4\u63A5\u8D26\u672C\u6682\u4E0D\u53EF\u7528\uFF0C\u8BF7\u624B\u52A8\u6838\u5BF9\u3002")}),()=>{g=!1}},[a]);async function h(g){d(!0),v("");try{if(g==="recover"&&(r(null),t(!1),r({...await a("handoff_recoveryPreview",{}),recovery:!0})),g==="preview"&&(r(null),t(!1),r(await a("handoff_preview",{}))),g==="refresh"&&(r(null),t(!1),I(await a("handoff_status",{refresh:!0}))),g==="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),v(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":Kl[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 se.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"},se.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"}),se.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&&se.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&&se.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"&&se.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&&se.default.createElement(_,{label:"\u5DF2\u767B\u8BB0\u7684\u76EE\u6807\u76EE\u5F55",value:p.target.root}),se.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"},se.default.createElement(x,{kind:"primary",icon:"key",disabled:s||!p||["sending","needs_review","recovering"].includes(p.state),onClick:()=>h("preview")},"\u9884\u89C8",f),se.default.createElement(x,{kind:"secondary",icon:"reset",disabled:s,onClick:()=>h("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)&&se.default.createElement(x,{kind:"secondary",icon:"shield",disabled:s,onClick:()=>h("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&&se.default.createElement("section",{className:"connection-confirm"},se.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"),se.default.createElement(_,{label:"\u76EE\u6807\u76EE\u5F55",value:m.target.root}),se.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"),se.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"}),se.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},se.default.createElement(x,{kind:"primary",icon:"check",disabled:s||!c,onClick:()=>h("apply")},"\u786E\u8BA4\u5173\u95ED\u539F\u4EA4\u63A5"),se.default.createElement(x,{kind:"secondary",disabled:s,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))),m&&!m.recovery&&se.default.createElement("section",{className:"connection-confirm"},se.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"),se.default.createElement(_,{label:"\u76EE\u6807\u89D2\u8272",value:"\u4E91\u7AEF\u5927\u80A5\u9C7C"}),se.default.createElement(_,{label:"\u76EE\u6807\u76EE\u5F55",value:m.target.root}),se.default.createElement(_,{label:"DSH \u7248\u672C",value:m.target.hostVersion}),se.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"}),se.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"}),se.default.createElement("div",{className:"connection-actions",role:"group","aria-label":"\u786E\u8BA4\u6216\u53D6\u6D88\u51ED\u636E\u4EA4\u63A5"},se.default.createElement(x,{kind:"primary",icon:"check",disabled:s||!c,onClick:()=>h("apply")},"\u786E\u8BA4\u4EA4\u63A5",l?"\u4E91\u7AEF Gitee \u51ED\u636E":u?"\u4E91\u7AEF Token Plan \u51ED\u636E":"\u4E91\u7AEF\u51ED\u636E"),se.default.createElement(x,{kind:"secondary",disabled:s,onClick:()=>{r(null),t(!1)}},"\u53D6\u6D88"))),n&&se.default.createElement("p",{className:"connection-error",role:"alert"},n))}function Ir({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)(""),[v,h]=(0,B.useState)(""),[g,C]=(0,B.useState)("");(0,B.useEffect)(()=>{let w=!0;return u("describe",{}).then($=>{w&&c($.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(x,{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 U={request:u,cloud:D},O;return e==="connection"&&(O=B.default.createElement(B.default.Fragment,null,r.existingPairInspectionContract===1&&B.default.createElement(mr,{request:u})," ",!S&&l==="local"&&r.localPeerBinding&&B.default.createElement(pr,{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(nt,{...U,query:d}):N(),(D?r.cloudTokenPlanBinding:r.tokenPlanBinding)&&B.default.createElement(nt,{...U,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(Ut,{request:u}):N(),r.cloudTokenPlanHandoff&&B.default.createElement(Ut,{request:u,service:"token-plan"})):B.default.createElement(io,{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(po,{...U,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(mo,{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(x,{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:v,onChange:w=>h(w.target.value),placeholder:"https://gitee.com/team/project"}),B.default.createElement(Se,{label:"\u4ED3\u5E93\u522B\u540D",value:g,onChange:w=>C(w.target.value)}),(D?r.cloudRepositoryCheck:r.repositoryCheckContract===1)&&B.default.createElement(Io,{...U,url:v})," ",(D?r.cloudRepositoryRegistry:r.repositoryRegistryContract===2)&&B.default.createElement(Lo,{...U,url:v,alias:g})))),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(x,{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(vo,{...U,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(xo,{request:u}),B.default.createElement(pt,{request:u,contract:r.rulesMaintenancePreviewContract??0,mutation:!!r.rulesMaintenanceMutation}))),e==="plugins"&&(O=D&&r.remoteDetection?B.default.createElement(cr,{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(x,{onClick:i},"\u6253\u5F00\u539F\u751F\u5165\u53E3")),!S&&r.rulesMaintenancePreviewContract&&B.default.createElement(pt,{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(Ko,{request:u,contract:2}),B.default.createElement(qo,{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(uo,{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(x,{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"},Ht={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"},Rl={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 Rl[o]??"\u5F85\u6838\u5BF9"}function Ta(e){return["waiting_input","needs_review","fenced"].includes(Ma(e))}function Lr(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 hr(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 gr(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 Cr(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 vr(e){let o=Ma(e);return["stopped","cancelled"].includes(o)?[]:["paused","pausing","resuming"].includes(o)?["resume","stop"]:["pause","stop"]}function xr(e,o){return o&&e?.item?.task_id===o?e.item:null}var qt=e=>Number.isFinite(e)&&e>0?new Date(e).toLocaleString("zh-CN",{hour12:!1}):"\u5C1A\u672A\u8BB0\u5F55",Xl=0,et=(e,o,l={})=>({kind:e,label:o,key:++Xl,...l}),Ae=(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 $l({request:e,appearance:o,onboardRequest:l,onNative:u,renderArtifacts:f,renderDevelopment:i,renderNotifications:a,renderLegacy:p,onboarding:I,renderSetup:m,initialPage:r="overview",imClient:c,onManageIm:t,onManageCloudIm:s,previewLabel:d}){let[n,v]=(0,L.useState)(()=>[et(r,r==="setup"?"\u914D\u7F6E\u5BFC\u89C8":"\u603B\u89C8")]),[h,g]=(0,L.useState)(null),[C,S]=(0,L.useState)(null),[D,N]=(0,L.useState)(""),[U,O]=(0,L.useState)(0),[w,$]=(0,L.useState)(!1),[re,T]=(0,L.useState)(""),[pe,ue]=(0,L.useState)(""),[Ne,Oe]=(0,L.useState)(null),[De,be]=(0,L.useState)(!1),[ie,Be]=(0,L.useState)(!1),[Ee,Pe]=(0,L.useState)(null),[at,Vt]=(0,L.useState)(""),[_r,Ha]=(0,L.useState)(""),[tt,Sr]=(0,L.useState)(0),[Wt,ot]=(0,L.useState)(Date.now()),rt=(0,L.useRef)(),Me=(0,L.useRef)(!0),aa=(0,L.useRef)(0),qa=(0,L.useRef)(0);(0,L.useEffect)(()=>lo(rt.current),[]);let kr=n.at(-1),Te=h?.viewer?.role??h?.viewer_role,zt=!!h&&!re&&!w&&Wt-tt<3e4,Fe=h?.items??[],lt=n.findLast(E=>E.taskId)?.taskId,he=xr(C,lt),Kt=zt&&!!he&&C.instance_id===h.instance_id&&Wt-(C.ui_read_at??0)<3e4;(0,L.useEffect)(()=>(Me.current=!0,o?.().then(E=>{Me.current&&E.mascot&&Oe(E.mascot)}).catch(()=>{}),Xe("",0),()=>{Me.current=!1,aa.current++,qa.current++}),[]),(0,L.useEffect)(()=>{if(!tt)return;let E=setTimeout(()=>ot(Date.now()),30005);return()=>clearTimeout(E)},[tt,C?.ui_read_at]),(0,L.useEffect)(()=>{be(!1)},[kr.key]),(0,L.useEffect)(()=>{v([et(r,r==="setup"?"\u914D\u7F6E\u5BFC\u89C8":"\u603B\u89C8")])},[r]);async function Xe(E=D,Ce=U){let ve=++aa.current;$(!0),T("");try{let de=await e("list",{query:E,after:Ce,limit:20});Me.current&&ve===aa.current&&(g(de),Sr(Date.now()),ot(Date.now()),O(Ce))}catch(de){Me.current&&ve===aa.current&&T("\u65E0\u6CD5\u66F4\u65B0\u4EFB\u52A1\u5FEB\u7167\uFF1A"+de.message+"\u3002\u5DF2\u6709\u5185\u5BB9\u4E3A\u5386\u53F2\u89C2\u5BDF\u3002")}finally{Me.current&&ve===aa.current&&$(!1)}}async function Rt(E){let Ce=++qa.current;S(null);try{let ve=await e("detail",{task_id:E});Me.current&&Ce===qa.current&&(S({...ve,ui_read_at:Date.now()}),ot(Date.now()))}catch(ve){Me.current&&Ce===qa.current&&T("\u4EFB\u52A1\u8BE6\u60C5\u672A\u66F4\u65B0\uFF1A"+ve.message)}}function Ue(E,Ce,ve={}){v(de=>[...de,et(E,Ce,ve)])}function ta(E){v([et(E,Ea[E])]),ue("")}function br(E){Rt(E.task_id),Ue("detail",E.title,{taskId:E.task_id})}function $e(E,Ce){Vt(Ce),Ha("\u5C1A\u672A\u4EA4\u529E"),Ue("draft",E)}async function Ar(){try{await navigator.clipboard.writeText(at),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 ye(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 st(E,Ce){Pe({title:E,body:L.default.createElement("p",null,Ce)})}function Xt(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(de=>L.default.createElement("button",{className:"v2-row",key:de.task_id,onClick:()=>br(de),"aria-label":`\u4EFB\u52A1\uFF1A${de.title}\u3002\u5F53\u524D\u72B6\u6001\uFF1A${ja(de)}`},L.default.createElement("span",null,L.default.createElement("strong",null,de.title),L.default.createElement("small",null,ve==="changes"?`${de.continuity?.pending_inputs??0} \u6761\u5F85\u6267\u884C\u8005\u63A5\u6536\u7684\u6307\u793A`:de.managed_execution?.report?.summary??de.task_observation?.detail??"\u67E5\u770B\u8FDB\u5C55\u4E0E\u5F53\u524D\u6210\u679C")),L.default.createElement("span",{className:"v2-status "+(Ta(de)?"wait":"")},ja(de)),L.default.createElement(_e,{name:"chevron"})))):L.default.createElement("div",{className:"v2-empty"},L.default.createElement(_e,{name:"file"}),L.default.createElement("h2",null,h?"\u672C\u9875\u6CA1\u6709\u76F8\u5173\u4EFB\u52A1":"\u5C1A\u672A\u53D6\u5F97\u4EFB\u52A1\u5FEB\u7167"),L.default.createElement("p",null,h?"\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 $t(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 yr(E,Ce){let ve=E.host??"cloud";if(E.kind==="overview")return L.default.createElement(L.default.Fragment,null,ye("\u5DE5\u4F5C\u603B\u89C8",null,L.default.createElement(x,{kind:"primary",icon:"plus",onClick:()=>$e("\u4EFB\u52A1\u76EE\u6807","")},"\u51C6\u5907\u4EA4\u529E")),L.default.createElement("div",{className:"v2-hosts",...Ae("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($t)),L.default.createElement("div",{className:"v2-section-title"},L.default.createElement("h2",null,"\u6B63\u5728\u8FDB\u884C"),L.default.createElement(x,{kind:"text",onClick:()=>ta("tasks")},"\u5168\u90E8\u4EFB\u52A1")),L.default.createElement("div",{...Ae("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")},Xt(Fe.filter(de=>!["stopped","cancelled","idle","completed"].includes(Ma(de))))),L.default.createElement("p",{className:"v2-muted"},"\u4EC5\u7EDF\u8BA1\u5F53\u524D\u52A0\u8F7D\u7684 ",Fe.length," \u9879 \xB7 \u5171 ",h?.total??"\u672A\u77E5"," \u9879"));if(["tasks","attention","changes","files"].includes(E.kind)){let de=E.kind==="attention"?Fe.filter(Ta):Fe;return L.default.createElement(L.default.Fragment,null,ye(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(x,{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(D,0)},...Ae("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:D,onChange:Z=>N(Z.target.value),placeholder:"\u67E5\u627E\u4EFB\u52A1",maxLength:120})),L.default.createElement(x,{kind:"soft",disabled:w,onClick:()=>Xe(D,0)},"\u67E5\u627E")),L.default.createElement("div",{...Ae("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")},Xt(de,Ea[E.kind],E.kind)),L.default.createElement("div",{className:"v2-pagination"},L.default.createElement(x,{disabled:w||U===0,onClick:()=>Xe(D,Math.max(0,U-20))},"\u4E0A\u4E00\u9875"),L.default.createElement("span",null,"\u5DF2\u52A0\u8F7D ",U+Fe.length," / ",h?.total??"\u672A\u77E5"),L.default.createElement(x,{disabled:w||h?.next_cursor==null,onClick:()=>Xe(D,h.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,ye(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(x,{onClick:()=>ve==="cloud"?ta("tasks"):Te==="cloud"?st("\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"):u?.()},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"))),L.default.createElement("div",{className:"v2-menu",...Ae("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(Ht).filter(([de])=>ve==="cloud"||!["sources","policy","observer"].includes(de)).map(([de,Z])=>L.default.createElement("button",{key:de,onClick:()=>Ue("config",Z,{host:ve,config:de})},L.default.createElement("span",null,Z),L.default.createElement(_e,{name:"chevron"})))));if(E.kind==="settings")return L.default.createElement(L.default.Fragment,null,ye("\u8BBE\u7F6E","\u6309\u76EE\u6807\u7AEF\u7BA1\u7406\uFF0C\u4E0D\u6DF7\u7528\u53CC\u7AEF\u914D\u7F6E"),L.default.createElement("div",{className:"v2-hosts",...Ae("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($t)),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,ye("\u914D\u7F6E\u5BFC\u89C8","\u65B0\u73AF\u5883\u914D\u7F6E / \u590D\u7528\u5DF2\u6709\u53CC\u7AEF"),L.default.createElement("div",{className:"v2-setup",...Ae("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&&(m?.(()=>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,ye(Ht[E.config],Ua[ve]),Ce&&L.default.createElement(Ir,{kind:E.config,host:ve,viewerRole:Te,request:l,sourceRequest:e,onNative:u,draft:$e,imClient:c,onManageIm:t,onManageCloudIm:s}));if(E.kind==="legacy")return L.default.createElement(L.default.Fragment,null,ye("\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&&p?.());if(E.kind==="draft")return L.default.createElement(L.default.Fragment,null,ye(E.label),L.default.createElement("div",{className:"v2-field",...Ae("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:at,onChange:de=>{Vt(de.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",...Ae("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(x,{kind:"primary",icon:"copy",disabled:!at.trim(),onClick:Ar},"\u590D\u5236\u5230\u5BF9\u8BDD"),L.default.createElement(x,{onClick:Te==="cloud"&&E.label==="\u4EFB\u52A1\u76EE\u6807"?()=>st("\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"):u},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"},_r),L.default.createElement("button",{className:"v2-help-link",onClick:()=>st("\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,ye(E.label),L.default.createElement("p",{role:"status"},re?"\u65E0\u6CD5\u53D6\u5F97\u8BE6\u60C5\uFF1B\u8BF7\u5237\u65B0\u6838\u5BF9\u3002":"\u6B63\u5728\u8BFB\u53D6\u4EFB\u52A1\u2026"));let de=he.managed_execution;if(E.kind==="detail")return L.default.createElement(L.default.Fragment,null,ye(he.title,null,L.default.createElement("span",{className:"v2-status"},ja(he))),L.default.createElement("section",{className:"v2-progress",...Ae("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,de?.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",...Ae("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(x,{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"),vr(he).map(Z=>L.default.createElement(x,{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",...Ae("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"})))),!Lr(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,ye("\u4EFB\u52A1\u76EE\u6807\u4E0E\u8D44\u6599"),L.default.createElement("section",{...Ae("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,ye("\u89E6\u53D1\u4E0E\u4F9D\u8D56"),L.default.createElement("div",{...Ae("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")},(de?.schedules??[]).map(Z=>L.default.createElement("section",{className:"v2-plan",key:Z.id},L.default.createElement("h2",null,Cr(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?qt(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(x,{onClick:()=>$e("\u901A\u77E5\u6761\u4EF6\u6EE1\u8DB3",hr(he,Z))},"\u901A\u77E5\u6761\u4EF6\u5DF2\u6EE1\u8DB3"))),!de?.schedules?.length&&L.default.createElement("p",null,"\u6CA1\u6709\u65E5\u5386\uFF0F\u547D\u540D\u4FE1\u53F7\u8BA1\u5212\u3002",de?.due?"\u73B0\u6709\u6267\u884C\u65F6\u95F4\uFF1A"+qt(de.due):"\u6309\u5F53\u524D\u4EFB\u52A1\u7EA6\u5B9A\u63A8\u8FDB\u3002")));if(E.kind==="usage")return L.default.createElement(L.default.Fragment,null,ye("\u6A21\u578B\u4E0E\u7528\u91CF"),L.default.createElement("section",{...Ae("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,de?.budget?.policy?.model??he.requested_model?.model??"\u6309\u4E91\u7AEF\u9ED8\u8BA4\u6A21\u578B"),L.default.createElement("p",null,gr(de?.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,ye("\u5F53\u524D\u6210\u679C"),L.default.createElement("section",{...Ae("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")},f?.(he,Kt),i?.(he)));if(E.kind==="delivery")return L.default.createElement(L.default.Fragment,null,ye("\u4EA4\u4ED8\u4E0E\u901A\u77E5"),L.default.createElement("section",{...Ae("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")},a?.(he,Kt,Te)));if(E.kind==="followups")return L.default.createElement(L.default.Fragment,null,ye("\u6307\u793A\u4E0E\u843D\u5B9E"),L.default.createElement("section",{...Ae("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(x,{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,ye("\u9875\u9762\u6682\u4E0D\u53EF\u7528"),L.default.createElement(x,{onClick:()=>ta("overview")},"\u8FD4\u56DE\u603B\u89C8"))}return L.default.createElement(to,{onHelp:(E,Ce)=>Pe({title:E,body:Ce})},L.default.createElement("section",{ref:rt,className:"v2-workbench"+(ie?" keyboard":""),style:Ne?{"--v2-mascot":`url("${Ne}")`}:void 0,onKeyDownCapture:()=>Be(!0),onPointerDownCapture:()=>Be(!1)},d&&L.default.createElement("div",{className:"v2-demo"},d),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":n[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,h?`${zt?"\u6700\u8FD1\u5FEB\u7167":"\u5386\u53F2\u5FEB\u7167"} \xB7 ${qt(h.observed_at)}`:"\u7B49\u5F85\u4E91\u7AEF\u5FEB\u7167",Te?" \xB7 "+Ua[Te]:""),L.default.createElement(x,{icon:"reset",disabled:w,onClick:()=>{Xe(),lt&&Rt(lt)}},"\u5237\u65B0")),re&&L.default.createElement("p",{className:"v2-error",role:"alert"},re),L.default.createElement(oo,{trail:n,back:E=>v(Ce=>Ce.slice(0,E+1)),render:yr,keyboard:ie,guide:()=>be(!0)}))),De&&L.default.createElement(ro,{root:rt,onClose:()=>be(!1)}),L.default.createElement("div",{role:"status",className:"v2-sr"},pe),L.default.createElement("div",{className:"dsh-onboarding"},L.default.createElement(Xa,{modal:Ee,onClose:()=>Pe(null)}))))}var Gt=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 Ql(e){return L.default.createElement(Gt,null,L.default.createElement($l,{...e}))}return Mr(Yl);})();
|
|
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
382
|
/*! Bundled license information:
|
|
383
383
|
|
|
384
384
|
lucide-react/dist/esm/shared/src/utils.js:
|