ds-harness-remote 0.4.16 → 0.4.18
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/dist/client-runtime.d.ts.map +1 -1
- package/dist/client-runtime.js +3 -3
- package/dist/client-runtime.js.map +1 -1
- package/dist/client.github.js +77 -36
- package/dist/client.js +77 -36
- package/dist/client.js.map +1 -1
- package/dist/codex/codex-image-codec.d.ts +7 -0
- package/dist/codex/codex-image-codec.d.ts.map +1 -0
- package/dist/codex/codex-image-codec.js +288 -0
- package/dist/codex/codex-image-codec.js.map +1 -0
- package/dist/codex/domain.d.ts +2 -0
- package/dist/codex/domain.d.ts.map +1 -1
- package/dist/codex/domain.js +15 -0
- package/dist/codex/domain.js.map +1 -1
- package/dist/codex/session-id.d.ts +10 -0
- package/dist/codex/session-id.d.ts.map +1 -0
- package/dist/codex/session-id.js +15 -0
- package/dist/codex/session-id.js.map +1 -0
- package/dist/codex/virtual-harness.d.ts +3 -2
- package/dist/codex/virtual-harness.d.ts.map +1 -1
- package/dist/codex/virtual-harness.js +33 -270
- package/dist/codex/virtual-harness.js.map +1 -1
- package/dist/codex-workspace-bridge.d.ts +108 -0
- package/dist/codex-workspace-bridge.d.ts.map +1 -0
- package/dist/codex-workspace-bridge.js +501 -0
- package/dist/codex-workspace-bridge.js.map +1 -0
- package/dist/config.d.ts +13 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +22 -2
- package/dist/config.js.map +1 -1
- package/dist/control-runtime.d.ts +17 -3
- package/dist/control-runtime.d.ts.map +1 -1
- package/dist/control-runtime.js +4 -2
- package/dist/control-runtime.js.map +1 -1
- package/dist/harness-api-bridge.d.ts.map +1 -1
- package/dist/harness-api-bridge.js +2 -53
- package/dist/harness-api-bridge.js.map +1 -1
- package/dist/harness-api-history.d.ts +3 -0
- package/dist/harness-api-history.d.ts.map +1 -0
- package/dist/harness-api-history.js +55 -0
- package/dist/harness-api-history.js.map +1 -0
- package/dist/harness-remote-bridge.d.ts +4 -2
- package/dist/harness-remote-bridge.d.ts.map +1 -1
- package/dist/harness-remote-bridge.js +61 -3
- package/dist/harness-remote-bridge.js.map +1 -1
- package/dist/index.d.ts +24 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1418 -628
- package/dist/index.js.map +4 -4
- package/dist/remote-api-proxy.d.ts +5 -1
- package/dist/remote-api-proxy.d.ts.map +1 -1
- package/dist/remote-api-proxy.js +74 -2
- package/dist/remote-api-proxy.js.map +1 -1
- package/dist/remote-typert-gateway.d.ts +6 -1
- package/dist/remote-typert-gateway.d.ts.map +1 -1
- package/dist/remote-typert-gateway.js +58 -1
- package/dist/remote-typert-gateway.js.map +1 -1
- package/dist/service.d.ts +7 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +8 -2
- package/dist/service.js.map +1 -1
- package/dist/terminal-policy.d.ts.map +1 -1
- package/dist/terminal-policy.js +8 -2
- package/dist/terminal-policy.js.map +1 -1
- package/dist/typert-gateway-contract.d.ts +11 -1
- package/dist/typert-gateway-contract.d.ts.map +1 -1
- package/dist/typert-gateway-switch.d.ts.map +1 -1
- package/dist/typert-gateway-switch.js +65 -4
- package/dist/typert-gateway-switch.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dsh-plugin.json +1 -1
- package/package.json +18 -18
- package/public.d.ts +2 -2
package/dist/client.js
CHANGED
|
@@ -1873,6 +1873,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
1873
1873
|
remoteEntry: "Remote",
|
|
1874
1874
|
remoteTitle: "Open a remote workspace",
|
|
1875
1875
|
remoteDescription: "Choose one of your Hosts, then select a working directory. The Harness interface stays on this device.",
|
|
1876
|
+
starProject: "Star us on GitHub \u2014 your support matters to this project",
|
|
1876
1877
|
chooseHost: "Host",
|
|
1877
1878
|
chooseDirectory: "Working directory",
|
|
1878
1879
|
selectHostHint: "Select an online Host to browse its directories.",
|
|
@@ -1976,6 +1977,8 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
1976
1977
|
signInClientDescription: "Connect once. Available anytime.",
|
|
1977
1978
|
startSignIn: "Start sign-in",
|
|
1978
1979
|
allowControlCurrentDevice: "Allow control of this device",
|
|
1980
|
+
allowControlDevice: "Allow control of device",
|
|
1981
|
+
allowRemoteTerminal: "Allow remote terminal",
|
|
1979
1982
|
connectedClientCount: "{count} connected",
|
|
1980
1983
|
checkAcp: "Check ACP",
|
|
1981
1984
|
checkingAcp: "Checking ACP\u2026",
|
|
@@ -2109,6 +2112,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
2109
2112
|
remoteEntry: "Remote",
|
|
2110
2113
|
remoteTitle: "\u6253\u5F00\u8FDC\u7AEF\u5DE5\u4F5C\u533A",
|
|
2111
2114
|
remoteDescription: "\u9009\u62E9\u60F3\u8981\u8FDE\u63A5\u4E3B\u673A\u548C\u5DE5\u4F5C\u76EE\u5F55\u3002",
|
|
2115
|
+
starProject: "\u6B22\u8FCE\u70B9\u4E2A Star\uFF0C\u4F60\u7684\u652F\u6301\u5BF9\u9879\u76EE\u5F88\u91CD\u8981",
|
|
2112
2116
|
chooseHost: "\u4E3B\u673A",
|
|
2113
2117
|
chooseDirectory: "\u5DE5\u4F5C\u76EE\u5F55",
|
|
2114
2118
|
selectHostHint: "\u9009\u62E9\u4E00\u53F0\u5728\u7EBF\u4E3B\u673A\u4EE5\u6D4F\u89C8\u5176\u76EE\u5F55\u3002",
|
|
@@ -2212,6 +2216,8 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
2212
2216
|
signInClientDescription: "\u4E00\u6B21\u8FDE\u63A5\uFF0C\u968F\u65F6\u53EF\u7528\u3002",
|
|
2213
2217
|
startSignIn: "\u5F00\u59CB\u767B\u5F55",
|
|
2214
2218
|
allowControlCurrentDevice: "\u5141\u8BB8\u63A7\u5236\u5F53\u524D\u8BBE\u5907",
|
|
2219
|
+
allowControlDevice: "\u5141\u8BB8\u63A7\u5236\u8BBE\u5907",
|
|
2220
|
+
allowRemoteTerminal: "\u5141\u8BB8\u8FDC\u7A0B\u7EC8\u7AEF",
|
|
2215
2221
|
connectedClientCount: "{count} \u53F0\u5DF2\u8FDE\u63A5",
|
|
2216
2222
|
checkAcp: "\u68C0\u6D4B ACP",
|
|
2217
2223
|
checkingAcp: "\u6B63\u5728\u68C0\u6D4B ACP\u2026",
|
|
@@ -2853,7 +2859,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
2853
2859
|
);
|
|
2854
2860
|
}
|
|
2855
2861
|
function RemoteWorkspaceAction(props) {
|
|
2856
|
-
let { t } = props, [open, setOpen] = React.useState(!1), [status, setStatus] = React.useState(void 0), [devices, setDevices] = React.useState([]), [selectedHost, setSelectedHost] = React.useState(void 0), [workspaces, setWorkspaces] = React.useState([]), [codexWorkspaces, setCodexWorkspaces] = React.useState([]), [workspaceBackend, setWorkspaceBackend] = React.useState("harness"), [codexWorkspaceId, setCodexWorkspaceId] = React.useState(void 0), [directory, setDirectory] = React.useState(void 0), [path, setPath] = React.useState(""), [addingWorkspace, setAddingWorkspace] = React.useState(!1), [showAllWorkspaces, setShowAllWorkspaces] = React.useState(!1), [showAllCodexWorkspaces, setShowAllCodexWorkspaces] = React.useState(!1), [devicesOpen, setDevicesOpen] = React.useState(!1), workspaceListId = "dsh-remote-workspace-list", codexWorkspaceHeadingId = "dsh-remote-codex-workspace-heading", codexWorkspaceListId = "dsh-remote-codex-workspace-list", [busy, setBusy] = React.useState(!1), [needsAuthorization, setNeedsAuthorization] = React.useState(!1), [email, setEmail] = React.useState(""), [password, setPassword] = React.useState(""), [loginServerUrl, setLoginServerUrl] = React.useState("https://dsh.r2049.cn"), [loginMethod, setLoginMethod] = React.useState(props.preferredQrProvider), [loginMethodManuallySelected, setLoginMethodManuallySelected] = React.useState(!1), [qrSession, setQrSession] = React.useState(void 0), [qrImage, setQrImage] = React.useState(void 0), [qrExpired, setQrExpired] = React.useState(!1), [progress, setProgress] = React.useState(void 0), progressRun = React.useRef(0), qrFlowRun = React.useRef(0), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0);
|
|
2862
|
+
let { t } = props, [open, setOpen] = React.useState(!1), [status, setStatus] = React.useState(void 0), [devices, setDevices] = React.useState([]), [selectedHost, setSelectedHost] = React.useState(void 0), [connectingHost, setConnectingHost] = React.useState(void 0), [workspaces, setWorkspaces] = React.useState([]), [codexWorkspaces, setCodexWorkspaces] = React.useState([]), [workspaceBackend, setWorkspaceBackend] = React.useState("harness"), [codexWorkspaceId, setCodexWorkspaceId] = React.useState(void 0), [directory, setDirectory] = React.useState(void 0), [path, setPath] = React.useState(""), [addingWorkspace, setAddingWorkspace] = React.useState(!1), [showAllWorkspaces, setShowAllWorkspaces] = React.useState(!1), [showAllCodexWorkspaces, setShowAllCodexWorkspaces] = React.useState(!1), [devicesOpen, setDevicesOpen] = React.useState(!1), workspaceListId = "dsh-remote-workspace-list", codexWorkspaceHeadingId = "dsh-remote-codex-workspace-heading", codexWorkspaceListId = "dsh-remote-codex-workspace-list", [busy, setBusy] = React.useState(!1), [terminalEnabled, setTerminalEnabled] = React.useState(!1), [terminalBusy, setTerminalBusy] = React.useState(!1), [needsAuthorization, setNeedsAuthorization] = React.useState(!1), [email, setEmail] = React.useState(""), [password, setPassword] = React.useState(""), [loginServerUrl, setLoginServerUrl] = React.useState("https://dsh.r2049.cn"), [loginMethod, setLoginMethod] = React.useState(props.preferredQrProvider), [loginMethodManuallySelected, setLoginMethodManuallySelected] = React.useState(!1), [qrSession, setQrSession] = React.useState(void 0), [qrImage, setQrImage] = React.useState(void 0), [qrExpired, setQrExpired] = React.useState(!1), [progress, setProgress] = React.useState(void 0), progressRun = React.useRef(0), qrFlowRun = React.useRef(0), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0);
|
|
2857
2863
|
React.useEffect(() => {
|
|
2858
2864
|
open || setDevicesOpen(!1);
|
|
2859
2865
|
}, [open]), React.useEffect(() => {
|
|
@@ -2881,6 +2887,9 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
2881
2887
|
props.control("status").then(setStatus).catch(() => {
|
|
2882
2888
|
});
|
|
2883
2889
|
}, []), React.useEffect(() => {
|
|
2890
|
+
status?.hostAuthorizationAvailable === !0 && props.control("settings.get").then((view) => setTerminalEnabled(view.config.terminal?.enabled === !0)).catch(() => {
|
|
2891
|
+
});
|
|
2892
|
+
}, [status?.hostAuthorizationAvailable]), React.useEffect(() => {
|
|
2884
2893
|
status?.serverUrl !== void 0 && loginServerUrl === "https://dsh.r2049.cn" && setLoginServerUrl(status.serverUrl);
|
|
2885
2894
|
}, [status?.serverUrl]), React.useEffect(() => {
|
|
2886
2895
|
let remoteActive = status?.mode === "remote";
|
|
@@ -2951,7 +2960,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
2951
2960
|
disabled: busy,
|
|
2952
2961
|
onClick: () => selectLoginMethod(provider)
|
|
2953
2962
|
}, t(provider === "github" ? "githubLogin" : "zhihuLogin")), selectHost = async (host) => {
|
|
2954
|
-
setBusy(!0), setError(void 0), setCodexWorkspaces([]), setShowAllWorkspaces(!1), setShowAllCodexWorkspaces(!1);
|
|
2963
|
+
setBusy(!0), setError(void 0), setConnectingHost(host), setCodexWorkspaces([]), setShowAllWorkspaces(!1), setShowAllCodexWorkspaces(!1);
|
|
2955
2964
|
try {
|
|
2956
2965
|
let result = await runConnectHostProgress(
|
|
2957
2966
|
status?.preferredTransports,
|
|
@@ -2975,7 +2984,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
2975
2984
|
} catch (reason) {
|
|
2976
2985
|
setError(messageOf(reason));
|
|
2977
2986
|
} finally {
|
|
2978
|
-
setBusy(!1);
|
|
2987
|
+
setConnectingHost(void 0), setBusy(!1);
|
|
2979
2988
|
}
|
|
2980
2989
|
}, browseDirectory = async (nextPath) => {
|
|
2981
2990
|
if (selectedHost !== void 0) {
|
|
@@ -3059,6 +3068,17 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3059
3068
|
} finally {
|
|
3060
3069
|
setBusy(!1);
|
|
3061
3070
|
}
|
|
3071
|
+
}, setRemoteTerminal = async (enabled) => {
|
|
3072
|
+
let previous = terminalEnabled;
|
|
3073
|
+
setTerminalEnabled(enabled), setTerminalBusy(!0), setError(void 0);
|
|
3074
|
+
try {
|
|
3075
|
+
let view = await props.control("settings.development.set", { terminalEnabled: enabled });
|
|
3076
|
+
setTerminalEnabled(view.config.terminal?.enabled === !0);
|
|
3077
|
+
} catch (reason) {
|
|
3078
|
+
setTerminalEnabled(previous), setError(messageOf(reason));
|
|
3079
|
+
} finally {
|
|
3080
|
+
setTerminalBusy(!1);
|
|
3081
|
+
}
|
|
3062
3082
|
}, logoutRemote = async () => {
|
|
3063
3083
|
setBusy(!0), setError(void 0);
|
|
3064
3084
|
try {
|
|
@@ -3139,7 +3159,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3139
3159
|
))
|
|
3140
3160
|
)
|
|
3141
3161
|
) : null
|
|
3142
|
-
) : null;
|
|
3162
|
+
) : null, listedHosts = connectingHost === void 0 ? devices : [connectingHost];
|
|
3143
3163
|
return React.createElement(
|
|
3144
3164
|
React.Fragment,
|
|
3145
3165
|
null,
|
|
@@ -3193,7 +3213,17 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3193
3213
|
React.createElement(
|
|
3194
3214
|
"div",
|
|
3195
3215
|
{ className: "dshRemotePageIntro" },
|
|
3196
|
-
React.createElement(
|
|
3216
|
+
React.createElement(
|
|
3217
|
+
"div",
|
|
3218
|
+
{ className: "dshRemotePageTitleRow" },
|
|
3219
|
+
React.createElement("strong", null, selectedHost?.name ?? t("remoteTitle")),
|
|
3220
|
+
selectedHost === void 0 ? React.createElement("a", {
|
|
3221
|
+
className: "dshRemoteStarLink",
|
|
3222
|
+
href: "https://github.com/liguobao/ds-harness-remote",
|
|
3223
|
+
target: "_blank",
|
|
3224
|
+
rel: "noreferrer"
|
|
3225
|
+
}, t("starProject")) : null
|
|
3226
|
+
),
|
|
3197
3227
|
React.createElement("p", null, selectedHostDetails ?? t("remoteDescription"))
|
|
3198
3228
|
),
|
|
3199
3229
|
React.createElement(
|
|
@@ -3353,16 +3383,33 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3353
3383
|
React.createElement("strong", null, t("chooseHost")),
|
|
3354
3384
|
status?.hostAuthorizationAvailable ? React.createElement(
|
|
3355
3385
|
"div",
|
|
3356
|
-
{ className: "
|
|
3357
|
-
React.createElement(
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3386
|
+
{ className: "dshRemoteHostControlToggles" },
|
|
3387
|
+
React.createElement(
|
|
3388
|
+
"label",
|
|
3389
|
+
{ className: "dshRemoteHostControlToggle" },
|
|
3390
|
+
React.createElement("span", null, t("allowControlDevice")),
|
|
3391
|
+
React.createElement("input", {
|
|
3392
|
+
type: "checkbox",
|
|
3393
|
+
role: "switch",
|
|
3394
|
+
disabled: busy,
|
|
3395
|
+
"aria-label": t("allowControlDevice"),
|
|
3396
|
+
checked: status.host?.authorized === !0,
|
|
3397
|
+
onChange: (event) => void setCurrentDeviceControl(event.target.checked)
|
|
3398
|
+
})
|
|
3399
|
+
),
|
|
3400
|
+
React.createElement(
|
|
3401
|
+
"label",
|
|
3402
|
+
{ className: "dshRemoteHostControlToggle" },
|
|
3403
|
+
React.createElement("span", null, t("allowRemoteTerminal")),
|
|
3404
|
+
React.createElement("input", {
|
|
3405
|
+
type: "checkbox",
|
|
3406
|
+
role: "switch",
|
|
3407
|
+
disabled: busy || terminalBusy,
|
|
3408
|
+
"aria-label": t("allowRemoteTerminal"),
|
|
3409
|
+
checked: terminalEnabled,
|
|
3410
|
+
onChange: (event) => void setRemoteTerminal(event.target.checked)
|
|
3411
|
+
})
|
|
3412
|
+
)
|
|
3366
3413
|
) : null,
|
|
3367
3414
|
React.createElement("button", {
|
|
3368
3415
|
type: "button",
|
|
@@ -3373,12 +3420,16 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3373
3420
|
connectedMenu
|
|
3374
3421
|
)
|
|
3375
3422
|
),
|
|
3376
|
-
React.createElement("div", {
|
|
3423
|
+
React.createElement("div", {
|
|
3424
|
+
className: `dshRemoteHostList${connectingHost === void 0 ? "" : " isCollapsed"}`,
|
|
3425
|
+
"aria-busy": connectingHost === void 0 ? void 0 : !0
|
|
3426
|
+
}, listedHosts.length === 0 ? React.createElement("p", null, t(busy ? "checkingConnection" : "noRemoteHosts")) : listedHosts.map((device) => React.createElement(
|
|
3377
3427
|
"button",
|
|
3378
3428
|
{
|
|
3379
3429
|
type: "button",
|
|
3380
3430
|
key: device.deviceId,
|
|
3381
3431
|
disabled: busy || !device.online,
|
|
3432
|
+
"aria-current": connectingHost?.deviceId === device.deviceId ? "true" : void 0,
|
|
3382
3433
|
onClick: () => void selectHost(device)
|
|
3383
3434
|
},
|
|
3384
3435
|
React.createElement(
|
|
@@ -3395,7 +3446,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3395
3446
|
)))
|
|
3396
3447
|
) : null,
|
|
3397
3448
|
React.createElement(RemoteProgressView, { progress, t }),
|
|
3398
|
-
selectedHost === void 0 ? React.createElement("p", { className: "dshRemoteHint" }, t("selectHostHint")) : React.createElement(
|
|
3449
|
+
selectedHost === void 0 ? connectingHost === void 0 ? React.createElement("p", { className: "dshRemoteHint" }, t("selectHostHint")) : null : React.createElement(
|
|
3399
3450
|
"section",
|
|
3400
3451
|
{ className: "dshRemoteBrowser", "aria-label": t("chooseDirectory") },
|
|
3401
3452
|
React.createElement(
|
|
@@ -3907,7 +3958,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3907
3958
|
".dshRemotePage{width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);border-radius:14px;overflow:hidden;animation:dshRemotePageIn .18s cubic-bezier(.25,1,.5,1)}",
|
|
3908
3959
|
".dshRemotePageHeader{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;border-bottom:1px solid var(--dsw-alias-border-l2)}.dshRemotePageIntro{min-width:0;flex:1}.dshRemotePageHeader strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.4}.dshRemotePageHeader p{min-width:0;max-width:70ch;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-secondary);font-size:13px;line-height:1.5}.dshRemotePageActions{flex:0 0 auto;display:flex;align-items:center;gap:4px}.dshRemotePageActions>button{height:40px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:8px;background:transparent;color:inherit;line-height:1;cursor:pointer}.dshRemotePageActions>button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.dshRemotePageActions>button:disabled{opacity:.45;cursor:default}.dshRemotePageBack,.dshRemotePageRefresh{min-width:48px;padding:0 10px;font:inherit;font-size:13px}.dshRemotePageBack{color:var(--dsw-alias-label-secondary)!important}.dshRemotePageClose{width:40px;padding:0;font-size:24px}",
|
|
3909
3960
|
".dshRemotePageBody{padding:24px;overflow:auto;display:flex;flex-direction:column;gap:24px}.dshRemotePageBody button{font:inherit;color:inherit}",
|
|
3910
|
-
".dshRemotePageTitleRow{display:flex;align-items:center;gap:10px;min-width:0}.dshRemotePageTitleRow>strong{min-width:0}",
|
|
3961
|
+
".dshRemotePageTitleRow{display:flex;align-items:center;gap:10px;min-width:0}.dshRemotePageTitleRow>strong{min-width:0;flex:0 1 auto}.dshRemoteStarLink{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:400;text-decoration:none}.dshRemoteStarLink:hover{color:var(--dsw-alias-label-primary);text-decoration:underline;text-underline-offset:3px}.dshRemoteStarLink:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:3px;border-radius:3px}",
|
|
3911
3962
|
".dshRemoteSectionHeading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.dshRemoteSectionTitle{min-width:0;display:flex;align-items:center;gap:10px}.dshRemoteSectionTitle>strong{font-size:14px}.dshRemoteSectionActions{display:flex;align-items:center;gap:14px}.dshRemoteSectionActions>button{border:0;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer;padding:5px 0;font-size:12px}.dshRemoteSectionActions>button:hover:not(:disabled){color:var(--dsw-alias-label-primary);text-decoration:underline}",
|
|
3912
3963
|
".dshRemoteSectionTitle{flex:1}.dshRemoteSectionTitle>.dshRemoteConnectedMenu{margin-left:auto}",
|
|
3913
3964
|
'.dshRemoteAcpSetting{display:block!important;width:100%;padding:0}.dshRemoteAcpSetting>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;cursor:pointer;list-style:none}.dshRemoteAcpSetting>summary::-webkit-details-marker{display:none}.dshRemoteAcpSetting>summary::after{content:"\u2304";color:var(--dsw-alias-label-secondary);transition:transform .18s ease-out}.dshRemoteAcpSetting[open]>summary::after{transform:rotate(180deg)}.dshRemoteAcpSummaryText{min-width:0}.dshRemoteAcpSummaryText strong{display:block}.dshRemoteAcpSummaryText p{margin:4px 0 0;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:1.4}.dshRemoteAcpCheckLink{grid-column:2;grid-row:1;color:var(--dsw-alias-brand-primary);font-size:12px;text-decoration:underline;text-underline-offset:3px}.dshRemoteAcpCheckLink:hover{color:var(--dsw-alias-label-primary)}.dshRemoteAcpCheckResult{grid-column:3;grid-row:1;font-size:11px;line-height:1.4;white-space:nowrap}.dshRemoteAcpCheckResult.isPassed{color:var(--dsw-alias-state-success-primary)}.dshRemoteAcpCheckResult.isFailed{color:var(--dsw-alias-state-danger-primary)}.dshRemoteAcpList{display:flex;flex-direction:column;gap:0;margin-top:12px;padding-top:0;border-top:0}.dshRemoteAcpList>.dshRemoteAuthorizationSetting{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;column-gap:18px;line-height:1.4}.dshRemoteAcpList>.dshRemoteAuthorizationSetting>span:first-child{min-width:0;line-height:1.4}.dshRemoteAcpList>.dshRemoteAuthorizationSetting>input{grid-column:4;grid-row:1}',
|
|
@@ -3916,7 +3967,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3916
3967
|
".dshRemoteAcpList>.dshRemoteAuthorizationSetting{grid-template-columns:minmax(0,1fr) 190px 40px 56px;column-gap:18px}.dshRemoteAcpCheckCell{grid-column:2;display:flex;align-items:center;gap:10px;min-width:0}.dshRemoteAcpCheckLink,.dshRemoteAcpRemoveLink{justify-self:start}.dshRemoteAcpCheckResult{position:static}",
|
|
3917
3968
|
".dshRemoteAcpCheckLink.isPassed{color:var(--dsw-alias-state-success-primary)}.dshRemoteAcpCheckLink.isFailed{color:var(--dsw-alias-state-danger-primary)}.dshRemoteAcpCheckLink.isChecking{color:var(--dsw-alias-label-secondary)}",
|
|
3918
3969
|
".dshRemoteCancelWorkspace{min-height:36px;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:6px 0;cursor:pointer}.dshRemoteCancelWorkspace:hover:not(:disabled){color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteCancelWorkspace:disabled{opacity:.5;cursor:default}",
|
|
3919
|
-
|
|
3970
|
+
'.dshRemoteHostList{display:flex;flex-direction:column;border-top:1px solid var(--dsw-alias-border-l2);max-height:296px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.dshRemoteHostList.isCollapsed{max-height:none;overflow-y:visible}.dshRemoteHostList>button{min-height:58px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:0;border-bottom:1px solid var(--dsw-alias-border-l2);background:transparent;padding:10px 4px;cursor:pointer}.dshRemoteHostList>button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.dshRemoteHostList>button:disabled{opacity:.5;cursor:default}.dshRemoteHostList>button[aria-current="true"]{background:var(--dsw-alias-interactive-bg-hover)}.dshRemoteHostList>button>span{min-width:0;display:flex;flex-direction:column;gap:3px}.dshRemoteHostList>button strong{font-size:14px;font-weight:500}.dshRemoteHostList small{color:var(--dsw-alias-label-secondary);font-size:12px}',
|
|
3920
3971
|
'.dshRemoteConnectedMenu{position:relative;flex:0 0 auto;margin-right:4px}.dshRemoteConnectedCount{appearance:none;display:inline-flex;align-items:center;justify-content:center;height:22px;border:0;border-radius:999px;background:var(--dsw-alias-bg-module-platform);color:var(--dsw-alias-label-secondary);box-shadow:0 1px 2px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.04) inset;padding:0 10px;font:inherit;font-size:11px;font-weight:500;line-height:17px;white-space:nowrap;cursor:default}.dshRemoteConnectedCount.isOnline{color:var(--dsw-alias-state-success-primary)}.dshRemoteConnectedCount.isInteractive{cursor:pointer}.dshRemoteConnectedCount.isInteractive:hover{filter:brightness(1.08)}.dshRemoteConnectedCount:disabled{opacity:1;cursor:default}.dshRemoteConnectedCount:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.dshRemoteConnectedPanel{position:absolute;top:calc(100% + 8px);right:0;z-index:4;width:min(320px,calc(100vw - 48px));max-height:min(280px,40vh);overflow:auto;border:1px solid var(--dsw-alias-border-l2);border-radius:12px;background:var(--dsw-alias-bg-layer-2);box-shadow:0 10px 28px rgba(0,0,0,.28);padding:10px 12px}.dshRemoteConnectedPanelTitle{display:block;margin:0 0 6px;color:var(--dsw-alias-label-primary);font-size:12px;font-weight:600}.dshRemoteClientList{display:flex;flex-direction:column}.dshRemoteClientRow{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--dsw-alias-border-l2)}.dshRemoteClientRow:last-child{border-bottom:0}.dshRemoteClientRow>span{min-width:0;display:flex;flex-direction:column;gap:2px}.dshRemoteClientRow strong{font-size:13px;font-weight:500}.dshRemoteClientRow small{color:var(--dsw-alias-label-secondary);font-size:11px}.dshRemoteClientOnline{display:inline-flex;align-items:center;gap:6px;color:var(--dsw-alias-state-success-primary)!important}.dshRemoteClientOnline::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}',
|
|
3921
3972
|
".dshRemoteConnectedCount{height:auto;border-radius:0;background:transparent;box-shadow:none;padding:0 4px;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:3px}.dshRemoteConnectedCount.isInteractive:hover{filter:none;text-decoration-color:currentColor}.dshRemoteConnectedCount:focus-visible{outline-offset:3px;border-radius:3px}",
|
|
3922
3973
|
'.dshRemoteProgress{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px 14px;border:1px solid var(--dsw-alias-border-l2);border-radius:10px;background:var(--dsw-alias-bg-layer-2)}.dshRemoteProgressHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.dshRemoteProgressHeader strong{font-size:13px;font-weight:600}.dshRemoteProgressHeader span{color:var(--dsw-alias-label-secondary);font-size:12px}.dshRemoteProgressBar{height:6px;overflow:hidden;border-radius:999px;background:var(--dsw-alias-bg-layer-3)}.dshRemoteProgressBar>span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--dsw-alias-brand-primary);transform-origin:left center;transition:transform .22s ease-out}[dir="rtl"] .dshRemoteProgressBar>span{transform-origin:right center}.dshRemoteProgress p{margin:0;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:1.45}.dshRemoteProgressRoute{font-weight:500}.dshRemoteProgressRoute .isActive{color:var(--dsw-alias-state-success-primary);font-weight:700}.dshRemoteProgressRouteArrow{color:var(--dsw-alias-label-tertiary)}@media(prefers-reduced-motion:reduce){.dshRemoteProgressBar>span{transition:none}}',
|
|
@@ -3933,7 +3984,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
3933
3984
|
".dshRemoteClientLogin{width:min(440px,100%);display:flex;flex-direction:column;gap:8px}.dshRemoteClientLogin input{min-height:40px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-3);color:inherit;padding:0 12px;font:inherit}.dshRemoteClientLogin button{align-self:flex-start;min-height:40px;border:0;border-radius:8px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-1);padding:8px 16px;cursor:pointer}",
|
|
3934
3985
|
".dshRemoteQrLogin{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0 2px;text-align:center}.dshRemoteQrLogin img,.dshRemoteQrPlaceholder{box-sizing:border-box;width:200px;height:200px;border:1px solid var(--dsw-alias-border-l2);border-radius:12px;background:#fff;padding:8px}.dshRemoteQrOpen{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--dsw-alias-label-secondary);font-size:12px;text-decoration:none}.dshRemoteQrOpen:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteQrOpen:hover img{border-color:var(--dsw-alias-label-dimmed)}.dshRemoteQrOpen:focus-visible{border-radius:12px;outline:2px solid var(--dsw-alias-brand-primary);outline-offset:3px}.dshRemoteQrPlaceholder{display:flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-secondary)}.dshRemoteQrLogin>strong{font-size:14px}.dshRemoteQrLogin>p{max-width:48ch;margin:0;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:1.5}.dshRemoteQrLogin>.dshRemoteServiceAddress{margin-top:2px;color:var(--dsw-alias-label-tertiary)}.dshRemoteServiceAddress>a{color:var(--dsw-alias-label-secondary);text-decoration:none}.dshRemoteServiceAddress>a:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteQrLogin>button,.dshRemoteClientLogin>.dshRemoteLoginSwitch{min-height:32px;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:4px 8px;font:inherit;font-size:12px;cursor:pointer}.dshRemoteQrLogin>button:hover,.dshRemoteClientLogin>.dshRemoteLoginSwitch:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteClientLogin>.dshRemoteLoginSwitch{align-self:flex-start;background:transparent;color:var(--dsw-alias-label-secondary);padding-left:0}",
|
|
3935
3986
|
".dshRemoteLoginHeading{box-sizing:border-box;width:100%;display:flex;align-items:baseline;gap:10px;overflow:hidden;white-space:nowrap}.dshRemoteLoginTitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dshRemoteLoginHeading>span{flex:0 0 auto;color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:400}.dshRemoteLoginTabs{box-sizing:border-box;width:100%}.dshRemoteLoginTabs>button{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.dshRemoteLoginTabs>button.isActive::after{right:0;left:0;border-radius:0}.dshRemoteClientLogin,.dshRemoteQrLogin{box-sizing:border-box;width:100%;height:300px;min-height:300px}.dshRemoteClientLogin{align-items:stretch;padding-top:16px}.dshRemoteClientLogin>button{align-self:stretch;width:100%}.dshRemoteQrLogin{padding-top:12px}",
|
|
3936
|
-
'.dshRemoteHostControlToggle{display:flex;align-items:center;gap:7px;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;white-space:nowrap;cursor:default}.dshRemoteHostControlToggle>input{appearance:none;box-sizing:border-box;position:relative;width:32px;height:18px;flex:0 0 auto;margin:0;border:1px solid var(--dsw-alias-label-secondary);border-radius:999px;background:var(--dsw-alias-bg-layer-3);cursor:pointer;box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);transition:background .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.dshRemoteHostControlToggle>input::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--dsw-alias-label-secondary);transition:transform .16s ease-out,background .16s ease-out}.dshRemoteHostControlToggle>input:checked{border-color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-primary);box-shadow:none}.dshRemoteHostControlToggle>input:checked::after{transform:translateX(14px);background:var(--dsw-alias-bg-layer-1)}.dshRemoteHostControlToggle>input:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.dshRemoteHostControlToggle>input:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){.dshRemoteHostControlToggle>input,.dshRemoteHostControlToggle>input::after{transition:none}}',
|
|
3987
|
+
'.dshRemoteHostControlToggles{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dshRemoteHostControlToggle{display:flex;align-items:center;gap:7px;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;white-space:nowrap;cursor:default}.dshRemoteHostControlToggle>input{appearance:none;box-sizing:border-box;position:relative;width:32px;height:18px;flex:0 0 auto;margin:0;border:1px solid var(--dsw-alias-label-secondary);border-radius:999px;background:var(--dsw-alias-bg-layer-3);cursor:pointer;box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);transition:background .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.dshRemoteHostControlToggle>input::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--dsw-alias-label-secondary);transition:transform .16s ease-out,background .16s ease-out}.dshRemoteHostControlToggle>input:checked{border-color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-primary);box-shadow:none}.dshRemoteHostControlToggle>input:checked::after{transform:translateX(14px);background:var(--dsw-alias-bg-layer-1)}.dshRemoteHostControlToggle>input:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.dshRemoteHostControlToggle>input:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){.dshRemoteHostControlToggle>input,.dshRemoteHostControlToggle>input::after{transition:none}}',
|
|
3937
3988
|
".dshRemoteAccountExit{flex:0 0 auto;border:0;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer;padding:5px 0;font-size:12px;line-height:1.5;white-space:nowrap}.dshRemoteAccountExit:hover:not(:disabled){color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteAccountExit:disabled{opacity:.5;cursor:default;text-decoration:none}",
|
|
3938
3989
|
".dshRemoteLocalLink{align-self:flex-start;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:4px 0;cursor:pointer}.dshRemoteLocalLink:hover{color:var(--dsw-alias-label-primary)}",
|
|
3939
3990
|
"@keyframes dshRemotePageIn{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dshRemotePage{animation:none}}@media(max-width:620px){.dshRemoteBackdrop{padding:12px}.dshRemotePage{max-height:calc(100vh - 24px)}.dshRemotePageHeader{gap:8px;padding:12px 16px}.dshRemotePage.hasSelectedHost .dshRemotePageBack{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dshRemoteSectionHeading{align-items:flex-start;flex-direction:column;gap:8px}.dshRemoteWorkspaceHeading{align-items:center;flex-direction:row}.dshRemoteSectionActions{width:100%;justify-content:space-between}.dshRemotePageBody{padding:20px 16px}.dshRemoteOpenBar{align-items:flex-end}.dshRemoteOpenBar>button{min-height:48px}}",
|
|
@@ -4037,22 +4088,12 @@ Minimum version required to store current data is: ` + bestVersion + `.
|
|
|
4037
4088
|
statusFeed,
|
|
4038
4089
|
preferredQrProvider: ctx.locale.getLocale().active === "zh" ? "zhihu" : "github"
|
|
4039
4090
|
})
|
|
4040
|
-
}, RemoteWorkspaceAction))
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
key: "ds-harness-remote",
|
|
4047
|
-
id: "ds-harness-remote",
|
|
4048
|
-
order: 30,
|
|
4049
|
-
locale: localeNamespace,
|
|
4050
|
-
inject: () => ({ control, statusFeed })
|
|
4051
|
-
}, RemotePluginOptions));
|
|
4052
|
-
} catch {
|
|
4053
|
-
}
|
|
4054
|
-
};
|
|
4055
|
-
registerSettingsItem("plugins.item"), registerSettingsItem("settings.plugin.item"), ctx.slots.inject("plugins.bundle.config", () => ctx.slots.register({
|
|
4091
|
+
}, RemoteWorkspaceAction)), ctx.slots.inject("plugins.row.config", () => ctx.slots.register({
|
|
4092
|
+
name: "plugins.row.config",
|
|
4093
|
+
key: "ds-harness-remote#ds-harness-remote",
|
|
4094
|
+
locale: localeNamespace,
|
|
4095
|
+
inject: () => ({ control, statusFeed })
|
|
4096
|
+
}, RemotePluginOptions)), ctx.slots.inject("plugins.bundle.config", () => ctx.slots.register({
|
|
4056
4097
|
name: "plugins.bundle.config",
|
|
4057
4098
|
key: "ds-harness-remote",
|
|
4058
4099
|
locale: localeNamespace,
|