@lemoncat7/dsh-ssh 1.11.7 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +4 -0
- package/README.md +3 -0
- package/docs/releases/1.12.0.md +15 -0
- package/docs/releases/1.13.0.md +15 -0
- package/docs/releases/1.14.0.md +10 -0
- package/docs/third-party/react-bits.md +29 -0
- package/docs/usage.md +28 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +22 -0
- package/lib/api.js.map +1 -1
- package/lib/client-api.d.ts +3 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +291 -185
- package/lib/client.js.map +4 -4
- package/lib/config-backup-panel.d.ts +2 -0
- package/lib/config-backup-panel.d.ts.map +1 -0
- package/lib/config-backup-panel.js +74 -0
- package/lib/config-backup-panel.js.map +1 -0
- package/lib/config-backup.d.ts +6 -0
- package/lib/config-backup.d.ts.map +1 -0
- package/lib/config-backup.js +142 -0
- package/lib/config-backup.js.map +1 -0
- package/lib/config.d.ts +2 -0
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +4 -0
- package/lib/config.js.map +1 -1
- package/lib/connection-policy.d.ts +6 -0
- package/lib/connection-policy.d.ts.map +1 -0
- package/lib/connection-policy.js +10 -0
- package/lib/connection-policy.js.map +1 -0
- package/lib/connector.d.ts +9 -1
- package/lib/connector.d.ts.map +1 -1
- package/lib/connector.js +39 -7
- package/lib/connector.js.map +1 -1
- package/lib/credentials.d.ts +2 -0
- package/lib/credentials.d.ts.map +1 -1
- package/lib/credentials.js +5 -0
- package/lib/credentials.js.map +1 -1
- package/lib/domain.d.ts +4 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +3 -0
- package/lib/domain.js.map +1 -1
- package/lib/file-transfer-tools.d.ts +2 -1
- package/lib/file-transfer-tools.d.ts.map +1 -1
- package/lib/file-transfer-tools.js +8 -6
- package/lib/file-transfer-tools.js.map +1 -1
- package/lib/gist-sync.d.ts +3 -1
- package/lib/gist-sync.d.ts.map +1 -1
- package/lib/gist-sync.js +10 -3
- package/lib/gist-sync.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/locales/messages.d.ts +448 -0
- package/lib/locales/messages.d.ts.map +1 -1
- package/lib/locales/messages.js +112 -0
- package/lib/locales/messages.js.map +1 -1
- package/lib/profile-editor.d.ts.map +1 -1
- package/lib/profile-editor.js +9 -2
- package/lib/profile-editor.js.map +1 -1
- package/lib/settings-pane.d.ts +2 -0
- package/lib/settings-pane.d.ts.map +1 -0
- package/lib/settings-pane.js +54 -0
- package/lib/settings-pane.js.map +1 -0
- package/lib/ssh-channel.d.ts +4 -0
- package/lib/ssh-channel.d.ts.map +1 -0
- package/lib/ssh-channel.js +37 -0
- package/lib/ssh-channel.js.map +1 -0
- package/lib/sync-panel.d.ts +4 -0
- package/lib/sync-panel.d.ts.map +1 -0
- package/lib/sync-panel.js +252 -0
- package/lib/sync-panel.js.map +1 -0
- package/lib/sync-stepper.d.ts +16 -0
- package/lib/sync-stepper.d.ts.map +1 -0
- package/lib/sync-stepper.js +42 -0
- package/lib/sync-stepper.js.map +1 -0
- package/lib/temporary-access.d.ts +2 -1
- package/lib/temporary-access.d.ts.map +1 -1
- package/lib/temporary-access.js +3 -3
- package/lib/temporary-access.js.map +1 -1
- package/lib/terminal-connection-pool.d.ts +16 -0
- package/lib/terminal-connection-pool.d.ts.map +1 -0
- package/lib/terminal-connection-pool.js +111 -0
- package/lib/terminal-connection-pool.js.map +1 -0
- package/lib/terminal.d.ts.map +1 -1
- package/lib/terminal.js +11 -10
- package/lib/terminal.js.map +1 -1
- package/lib/tool-entry.d.ts +11 -0
- package/lib/tool-entry.d.ts.map +1 -0
- package/lib/tool-entry.js +64 -0
- package/lib/tool-entry.js.map +1 -0
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +10 -12
- package/lib/tools.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-panel.d.ts","sourceRoot":"","sources":["../src/sync-panel.tsx"],"names":[],"mappings":"AAuBA,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAgGrE"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { api } from './client-api.js';
|
|
4
|
+
import { Dialog, Field, PasswordInput, errorMessage as message } from './ui-components.js';
|
|
5
|
+
import { useSshLocale } from './use-ssh-locale.js';
|
|
6
|
+
import { t } from './i18n.js';
|
|
7
|
+
import { refreshWorkspace } from './use-workspace-refresh.js';
|
|
8
|
+
import Stepper, { Step } from './sync-stepper.js';
|
|
9
|
+
// A transport owns its setup workflow; its authorization choices are not sync methods.
|
|
10
|
+
const syncMethods = [
|
|
11
|
+
{ id: 'github', name: 'GitHub Gist', available: true },
|
|
12
|
+
{ id: 'webdav', name: 'WebDAV', available: false },
|
|
13
|
+
{ id: 's3', name: 'S3', available: false },
|
|
14
|
+
];
|
|
15
|
+
const policyOf = (view) => ({ autoSync: view.autoSync, strategy: view.strategy, backupRetention: view.backupRetention });
|
|
16
|
+
function configOf(view) {
|
|
17
|
+
return { ...policyOf(view), gistId: view.gistId ?? '', oauthClientId: view.oauthClientId ?? '' };
|
|
18
|
+
}
|
|
19
|
+
async function configure(view, patch = {}, secrets = {}) {
|
|
20
|
+
return api('/gist-sync', { method: 'PUT', body: JSON.stringify({ settings: { ...configOf(view), ...patch }, ...secrets }) });
|
|
21
|
+
}
|
|
22
|
+
export function SyncPane({ active }) {
|
|
23
|
+
useSshLocale();
|
|
24
|
+
const [saved, setSaved] = useState();
|
|
25
|
+
const [policy, setPolicy] = useState();
|
|
26
|
+
const [settings, setSettings] = useState();
|
|
27
|
+
const [setup, setSetup] = useState(false);
|
|
28
|
+
const [busy, setBusy] = useState();
|
|
29
|
+
const [notice, setNotice] = useState();
|
|
30
|
+
const [error, setError] = useState();
|
|
31
|
+
const load = useCallback(async () => {
|
|
32
|
+
setError(undefined);
|
|
33
|
+
try {
|
|
34
|
+
const [next, local] = await Promise.all([api('/gist-sync'), api('/settings')]);
|
|
35
|
+
setSaved(next);
|
|
36
|
+
setPolicy(policyOf(next));
|
|
37
|
+
setSettings(local);
|
|
38
|
+
}
|
|
39
|
+
catch (reason) {
|
|
40
|
+
setError(message(reason));
|
|
41
|
+
}
|
|
42
|
+
}, []);
|
|
43
|
+
useEffect(() => { void load(); }, [load]);
|
|
44
|
+
// Refresh automatic-sync status without discarding unsaved policy edits.
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (!active || setup || busy || !saved)
|
|
47
|
+
return;
|
|
48
|
+
let cancelled = false;
|
|
49
|
+
let timer;
|
|
50
|
+
const poll = async () => {
|
|
51
|
+
try {
|
|
52
|
+
const next = await api('/gist-sync');
|
|
53
|
+
if (!cancelled)
|
|
54
|
+
setSaved(next);
|
|
55
|
+
}
|
|
56
|
+
catch { /* Manual actions surface network errors. */ }
|
|
57
|
+
if (!cancelled)
|
|
58
|
+
timer = setTimeout(() => { void poll(); }, 10_000);
|
|
59
|
+
};
|
|
60
|
+
timer = setTimeout(() => { void poll(); }, 10_000);
|
|
61
|
+
return () => { cancelled = true; clearTimeout(timer); };
|
|
62
|
+
}, [active, setup, busy, Boolean(saved)]);
|
|
63
|
+
const persist = async (kind) => {
|
|
64
|
+
if (!saved || !policy || busy)
|
|
65
|
+
return;
|
|
66
|
+
setBusy(kind);
|
|
67
|
+
setError(undefined);
|
|
68
|
+
setNotice(undefined);
|
|
69
|
+
try {
|
|
70
|
+
const next = await configure(saved, policy);
|
|
71
|
+
setSaved(next);
|
|
72
|
+
if (kind === 'sync') {
|
|
73
|
+
const synced = await api('/gist-sync/run', { method: 'POST' });
|
|
74
|
+
setSaved(synced);
|
|
75
|
+
refreshWorkspace();
|
|
76
|
+
setNotice(syncResultLabel(synced.lastResult));
|
|
77
|
+
}
|
|
78
|
+
else
|
|
79
|
+
setNotice(t('client.gistSyncSettingsSaved'));
|
|
80
|
+
}
|
|
81
|
+
catch (reason) {
|
|
82
|
+
setError(message(reason));
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
setBusy(undefined);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const saveNetwork = async () => {
|
|
89
|
+
if (!settings || busy)
|
|
90
|
+
return;
|
|
91
|
+
setBusy('network');
|
|
92
|
+
setError(undefined);
|
|
93
|
+
setNotice(undefined);
|
|
94
|
+
try {
|
|
95
|
+
const current = await api('/settings');
|
|
96
|
+
setSettings(await api('/settings', { method: 'PUT', body: JSON.stringify({ ...current, githubProxy: settings.githubProxy ?? '' }) }));
|
|
97
|
+
const result = await api('/gist-sync/network/test', { method: 'POST' });
|
|
98
|
+
setNotice(t('client.githubReachable', [result.route === 'proxy' ? t('client.viaProxy') : t('client.direct')]));
|
|
99
|
+
}
|
|
100
|
+
catch (reason) {
|
|
101
|
+
setError(message(reason));
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
setBusy(undefined);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
const ready = saved?.tokenConfigured && saved.encryptionConfigured && !saved.authPaused;
|
|
108
|
+
const blocked = Boolean(busy || saved?.running || setup);
|
|
109
|
+
const dirty = saved && policy && JSON.stringify(policy) !== JSON.stringify(policyOf(saved));
|
|
110
|
+
return _jsxs("div", { className: "dsh-ssh-settings-pane dsh-ssh-sync-page", children: [_jsx("div", { className: "dsh-ssh-content-heading", children: _jsxs("div", { children: [_jsx("h1", { children: t('sync.title') }), _jsx("p", { children: t('sync.description') })] }) }), _jsxs("div", { className: "dsh-ssh-sync-layout", children: [_jsxs("aside", { className: "dsh-ssh-sync-methods", "aria-label": t('sync.methods'), children: [_jsx("h2", { children: t('sync.methods') }), syncMethods.map(method => _jsxs("button", { type: "button", className: `dsh-ssh-sync-method${method.available ? ' is-selected' : ''}`, disabled: !method.available, "aria-current": method.available ? 'page' : undefined, children: [_jsx("span", { className: "dsh-ssh-sync-method-icon", "aria-hidden": "true", children: _jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", children: _jsx("path", { d: method.id === 'github' ? 'M8 3H4v18h4M16 3h4v18h-4M14 7l-4 10' : 'M6 18a5 5 0 0 1-1-9.9 7 7 0 0 1 13.4 1.4A4.3 4.3 0 0 1 18 18Z' }) }) }), _jsxs("span", { children: [_jsx("strong", { children: method.name }), _jsx("small", { children: method.available ? t('sync.githubMethod') : t('sync.unavailable') })] })] }, method.id)), _jsx("p", { children: t('sync.methodsHint') })] }), _jsxs("div", { className: "dsh-ssh-sync-detail", children: [!saved && !error && _jsx("p", { role: "status", children: t('sync.loading') }), notice && _jsx("p", { className: "dsh-ssh-inline-success", role: "status", children: notice }), error && _jsxs("div", { className: "dsh-ssh-inline-error", role: "alert", children: [error, !saved && _jsx("button", { type: "button", className: "dsh-ssh-text-button", onClick: () => { void load(); }, children: t('session-defaults.retry') })] }), saved && policy && _jsxs(_Fragment, { children: [_jsxs("div", { className: "dsh-ssh-sync-overview", children: [_jsxs("div", { children: [_jsx("h2", { children: "GitHub Gist" }), _jsx("p", { children: t('sync.githubDescription') })] }), _jsx(SyncStatus, { view: saved })] }), _jsxs("section", { className: "dsh-ssh-sync-account", children: [_jsxs("div", { children: [_jsx("strong", { children: saved.authPaused ? t('client.checkGithubAuthorization') : saved.tokenConfigured ? t('client.connected2', [saved.githubLogin ?? 'GitHub']) : t('sync.notConnected') }), _jsx("p", { children: saved.tokenConfigured ? saved.encryptionConfigured ? t('sync.configuredHint') : t('sync.encryptionMissing') : t('sync.setupHint') })] }), _jsx("button", { type: "button", className: ready ? 'dsh-ssh-secondary-button' : 'dsh-ssh-primary-button', disabled: blocked, onClick: () => { setSetup(true); setNotice(undefined); setError(undefined); }, children: saved.tokenConfigured ? t('sync.manage') : t('sync.startSetup') })] }), saved.lastError && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: saved.lastError }), _jsxs("form", { onSubmit: event => { event.preventDefault(); void persist('save'); }, children: [_jsx("fieldset", { className: "dsh-ssh-sync-controls", disabled: blocked, children: _jsxs("section", { className: "dsh-ssh-sync-section", children: [_jsx("h3", { children: t('sync.behavior') }), _jsxs("label", { className: "dsh-ssh-switch-row dsh-ssh-auto-sync", children: [_jsxs("span", { children: [_jsx("strong", { children: t('client.autoSync') }), _jsx("small", { children: t('sync.autoHint') })] }), _jsx("input", { type: "checkbox", checked: policy.autoSync, onChange: event => setPolicy({ ...policy, autoSync: event.target.checked }) })] }), _jsx(Field, { label: t('sync.conflicts'), hint: t('sync.conflictsHint'), children: _jsxs("select", { value: policy.strategy, onChange: event => setPolicy({ ...policy, strategy: event.target.value }), children: [_jsx("option", { value: "smart", children: t('sync.smart') }), _jsx("option", { value: "local-first", children: t('client.localFirst') }), _jsx("option", { value: "cloud-first", children: t('client.cloudFirst') })] }) }), _jsx(Field, { label: t('client.backupsToKeep'), hint: t('sync.backupHint'), children: _jsx("input", { type: "number", min: "0", max: "50", required: true, step: "1", value: policy.backupRetention, onChange: event => setPolicy({ ...policy, backupRetention: Number(event.target.value) }) }) })] }) }), _jsxs("div", { className: "dsh-ssh-sync-footer", children: [_jsx("span", { role: "status", children: dirty ? t('sync.unsaved') : t('sync.saved') }), _jsxs("div", { children: [_jsx("button", { type: "submit", className: "dsh-ssh-secondary-button", disabled: blocked || !dirty, children: busy === 'save' ? t('client.saving2') : t('client.saveSyncSettings') }), _jsx("button", { type: "button", className: "dsh-ssh-primary-button", disabled: blocked || !ready, onClick: event => { if (event.currentTarget.form?.reportValidity())
|
|
111
|
+
void persist('sync'); }, children: busy === 'sync' || saved.running ? t('client.syncing') : t('client.syncNow') })] })] })] }), _jsxs("div", { className: "dsh-ssh-sync-record", children: [_jsxs("span", { children: [t('client.lastSync'), ": ", saved.lastSyncAt ? new Date(saved.lastSyncAt).toLocaleString() : t('client.neverSynced')] }), saved.gistUrl && _jsx("a", { href: saved.gistUrl, target: "_blank", rel: "noreferrer", children: t('sync.openCloud') })] })] }), _jsxs("details", { className: "dsh-ssh-sync-disclosure", children: [_jsx("summary", { children: t('sync.scope') }), _jsxs("div", { children: [_jsx("p", { children: t('sync.scopeHint') }), _jsx("p", { children: t('sync.privacyHint') }), _jsxs("p", { children: [t('client.keptLocalOnly'), ": ", t('client.sessionGrantsPortForwardingPublicBindsAndCommandLimits')] })] })] }), settings && _jsxs("details", { className: "dsh-ssh-sync-disclosure", children: [_jsx("summary", { children: t('sync.network') }), _jsxs("form", { onSubmit: event => { event.preventDefault(); void saveNetwork(); }, children: [_jsx(Field, { label: t('client.githubOutboundProxy'), hint: t('client.usedOnlyForOauthAndTheGistApiE'), children: _jsx("input", { maxLength: 2048, spellCheck: false, value: settings.githubProxy ?? '', onChange: event => setSettings(withGitHubProxy(settings, event.target.value)), placeholder: t('client.connectToGithubDirectly') }) }), _jsx("button", { type: "submit", className: "dsh-ssh-secondary-button", disabled: blocked, children: busy === 'network' ? t('client.testing') : t('sync.saveNetwork') })] })] })] })] }), active && setup && saved && _jsx(SyncSetupDialog, { initial: saved, onUpdated: setSaved, onClose: () => setSetup(false) })] });
|
|
112
|
+
}
|
|
113
|
+
function SyncSetupDialog({ initial, onUpdated, onClose }) {
|
|
114
|
+
useSshLocale();
|
|
115
|
+
const [saved, setSaved] = useState(initial);
|
|
116
|
+
const [step, setStep] = useState(1);
|
|
117
|
+
const [method, setMethod] = useState(initial.oauthClientId ? 'device' : 'token');
|
|
118
|
+
const [reauthorize, setReauthorize] = useState(!initial.tokenConfigured || initial.authPaused === true);
|
|
119
|
+
const [token, setToken] = useState('');
|
|
120
|
+
const [clientId, setClientId] = useState(initial.oauthClientId ?? '');
|
|
121
|
+
const [destination, setDestination] = useState(initial.gistId ? 'existing' : 'new');
|
|
122
|
+
const [gistId, setGistId] = useState(initial.gistId ?? '');
|
|
123
|
+
const [passphrase, setPassphrase] = useState('');
|
|
124
|
+
const [flow, setFlow] = useState();
|
|
125
|
+
const [busy, setBusy] = useState(false);
|
|
126
|
+
const [error, setError] = useState();
|
|
127
|
+
const [copied, setCopied] = useState(false);
|
|
128
|
+
const form = useRef(null);
|
|
129
|
+
const update = (value) => { setSaved(value); onUpdated(value); };
|
|
130
|
+
useEffect(() => {
|
|
131
|
+
if (!flow)
|
|
132
|
+
return;
|
|
133
|
+
let cancelled = false;
|
|
134
|
+
let timer;
|
|
135
|
+
const poll = async () => {
|
|
136
|
+
try {
|
|
137
|
+
if (Date.now() >= flow.expiresAt)
|
|
138
|
+
throw new Error(t('sync.expired'));
|
|
139
|
+
const status = await api('/gist-sync/oauth/poll', { method: 'POST', body: JSON.stringify({ id: flow.id }) });
|
|
140
|
+
if (cancelled)
|
|
141
|
+
return;
|
|
142
|
+
if (status.state === 'complete') {
|
|
143
|
+
const next = await api('/gist-sync');
|
|
144
|
+
if (cancelled)
|
|
145
|
+
return;
|
|
146
|
+
update(next);
|
|
147
|
+
setFlow(undefined);
|
|
148
|
+
setReauthorize(false);
|
|
149
|
+
setStep(2);
|
|
150
|
+
}
|
|
151
|
+
else
|
|
152
|
+
timer = setTimeout(() => { void poll(); }, Math.max(1_000, status.retryAfterMs));
|
|
153
|
+
}
|
|
154
|
+
catch (reason) {
|
|
155
|
+
if (!cancelled) {
|
|
156
|
+
setFlow(undefined);
|
|
157
|
+
setError(message(reason));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
timer = setTimeout(() => { void poll(); }, Math.max(1_000, flow.retryAfterMs));
|
|
162
|
+
return () => { cancelled = true; clearTimeout(timer); };
|
|
163
|
+
}, [flow?.id]);
|
|
164
|
+
const advance = async () => {
|
|
165
|
+
if (busy || flow || !form.current?.reportValidity())
|
|
166
|
+
return;
|
|
167
|
+
setError(undefined);
|
|
168
|
+
if (step === 2) {
|
|
169
|
+
setStep(3);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (step === 1 && saved.tokenConfigured && !reauthorize && !saved.authPaused) {
|
|
173
|
+
setStep(2);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
setBusy(true);
|
|
177
|
+
try {
|
|
178
|
+
if (step === 1) {
|
|
179
|
+
if (method === 'device') {
|
|
180
|
+
const next = await configure(saved, { oauthClientId: clientId.trim() });
|
|
181
|
+
update(next);
|
|
182
|
+
setFlow(await api('/gist-sync/oauth/start', { method: 'POST' }));
|
|
183
|
+
setCopied(false);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const next = await configure(saved, {}, { token: token.trim() });
|
|
187
|
+
update(next);
|
|
188
|
+
setToken('');
|
|
189
|
+
await api('/gist-sync/account/test', { method: 'POST' });
|
|
190
|
+
update(await api('/gist-sync'));
|
|
191
|
+
setReauthorize(false);
|
|
192
|
+
setStep(2);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const next = await configure(saved, { gistId: destination === 'existing' ? gistId.trim() : '' }, passphrase ? { encryptionPassphrase: passphrase } : {});
|
|
196
|
+
update(next);
|
|
197
|
+
setPassphrase('');
|
|
198
|
+
onClose();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch (reason) {
|
|
202
|
+
setError(message(reason));
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
setBusy(false);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
const disconnect = async () => {
|
|
209
|
+
setBusy(true);
|
|
210
|
+
setError(undefined);
|
|
211
|
+
try {
|
|
212
|
+
update(await api('/gist-sync/oauth/disconnect', { method: 'POST' }));
|
|
213
|
+
setReauthorize(true);
|
|
214
|
+
setToken('');
|
|
215
|
+
setFlow(undefined);
|
|
216
|
+
}
|
|
217
|
+
catch (reason) {
|
|
218
|
+
setError(message(reason));
|
|
219
|
+
}
|
|
220
|
+
finally {
|
|
221
|
+
setBusy(false);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
return _jsx(Dialog, { title: t('sync.setupTitle'), subtitle: t('sync.setupSubtitle'), className: "dsh-ssh-sync-dialog", dismissible: !busy, onClose: () => { if (!busy)
|
|
225
|
+
onClose(); }, children: _jsxs("form", { ref: form, className: "dsh-ssh-sync-wizard", onSubmit: event => { event.preventDefault(); void advance(); }, children: [error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsxs(Stepper, { step: step, onStepChange: next => { setStep(next); setError(undefined); }, onNext: () => { void advance(); }, busy: busy || Boolean(flow), backButtonText: t('sync.back'), nextButtonText: busy ? t('sync.processing') : step === 1 && reauthorize ? method === 'device' ? t('sync.authorize') : t('sync.verifyContinue') : t('sync.continue'), completeButtonText: busy ? t('client.saving2') : t('sync.complete'), children: [_jsxs(Step, { title: t('sync.account'), children: [_jsx("h3", { children: t('sync.accountHeading') }), _jsx("p", { children: t('sync.accountHint') }), saved.tokenConfigured && !reauthorize ? _jsxs("div", { className: "dsh-ssh-sync-connected", children: [_jsx("strong", { children: t('client.connected2', [saved.githubLogin ?? 'GitHub']) }), _jsx("p", { children: t('sync.keepAuth') }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: busy, onClick: () => setReauthorize(true), children: t('sync.changeAuth') }), _jsx("button", { type: "button", className: "dsh-ssh-text-button", disabled: busy, onClick: () => { void disconnect(); }, children: t('client.disconnect') })] }) : _jsxs(_Fragment, { children: [_jsxs("fieldset", { className: "dsh-ssh-sync-controls", disabled: busy || Boolean(flow), children: [_jsxs("div", { className: "dsh-ssh-sync-choice", role: "group", "aria-label": t('sync.authMethod'), children: [_jsx("button", { type: "button", "aria-pressed": method === 'token', onClick: () => { setMethod('token'); setToken(''); setError(undefined); }, children: t('sync.tokenMode') }), _jsx("button", { type: "button", "aria-pressed": method === 'device', onClick: () => { setMethod('device'); setToken(''); setError(undefined); }, children: t('sync.deviceMode') })] }), method === 'token' ? _jsxs(_Fragment, { children: [_jsxs("ol", { className: "dsh-ssh-sync-instructions", children: [_jsxs("li", { children: [_jsx("a", { href: "https://github.com/settings/tokens/new?scopes=gist&description=DSH%20SSH%20Sync", target: "_blank", rel: "noreferrer", children: t('sync.createToken') }), t('sync.tokenScope')] }), _jsx("li", { children: t('sync.tokenPaste') })] }), _jsx(Field, { label: t('sync.tokenLabel'), hint: t('sync.tokenHint'), children: _jsx(PasswordInput, { required: !saved.tokenConfigured || Boolean(saved.authPaused), autoComplete: "new-password", spellCheck: false, value: token, onChange: event => setToken(event.target.value), placeholder: saved.tokenConfigured ? t('client.savedLeaveBlankToKeepUnchanged') : 'ghp_…' }) })] }) : _jsxs(_Fragment, { children: [_jsxs("p", { children: [t('sync.deviceHelp'), " ", _jsx("a", { href: "https://github.com/settings/applications/new", target: "_blank", rel: "noreferrer", children: t('sync.createApp') })] }), _jsx(Field, { label: "GitHub OAuth Client ID", hint: t('client.enableDeviceFlowInTheGithubOauthAppNo'), children: _jsx("input", { required: true, maxLength: 128, spellCheck: false, value: clientId, onChange: event => setClientId(event.target.value), placeholder: "Ov23li\u2026" }) })] })] }), flow && _jsxs("div", { className: "dsh-ssh-sync-device", role: "status", children: [_jsx("p", { children: t('client.copyTheDeviceCodeThenGoToGithubTo') }), _jsxs("div", { className: "dsh-ssh-device-code-block", children: [_jsx("code", { children: flow.userCode }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => { void navigator.clipboard.writeText(flow.userCode).then(() => setCopied(true)).catch(() => setError(t('client.theBrowserBlockedAutomaticCopyingSelectTheDeviceCode'))); }, children: copied ? t('client.copied') : t('client.copyCode') })] }), _jsx("a", { className: "dsh-ssh-primary-button", href: flow.verificationUri, target: "_blank", rel: "noreferrer", children: t('client.goToGithubToAuthorize') }), _jsx("p", { children: t('client.theConnectionCompletesAutomaticallyOnceAuthorized') }), _jsx("button", { type: "button", className: "dsh-ssh-text-button", onClick: () => setFlow(undefined), children: t('sync.cancelAuth') })] })] }), _jsx("p", { className: "dsh-ssh-sync-footnote", children: t('sync.authSavedHint') })] }), _jsxs(Step, { title: t('sync.storage'), children: [_jsx("h3", { children: t('sync.storageHeading') }), _jsx("p", { children: t('sync.storageHint') }), _jsxs("div", { className: "dsh-ssh-sync-choice", role: "group", "aria-label": t('sync.storage'), children: [_jsx("button", { type: "button", "aria-pressed": destination === 'new', onClick: () => setDestination('new'), children: t('sync.newSpace') }), _jsx("button", { type: "button", "aria-pressed": destination === 'existing', onClick: () => setDestination('existing'), children: t('sync.existingSpace') })] }), destination === 'existing' ? _jsx(Field, { label: "Gist ID", hint: t('sync.gistHelp'), children: _jsx("input", { required: true, maxLength: 64, pattern: "[a-fA-F0-9]+", spellCheck: false, value: gistId, onChange: event => setGistId(event.target.value) }) }) : _jsx("p", { children: t('sync.newSpaceHint') }), _jsx(Field, { label: t('client.syncEncryptionPassword'), hint: saved.encryptionConfigured ? t('client.savedSecurelyEnterTheSamePasswordOnANew') : t('sync.passwordHint'), children: _jsx(PasswordInput, { required: !saved.encryptionConfigured, minLength: 6, maxLength: 512, autoComplete: "new-password", value: passphrase, onChange: event => setPassphrase(event.target.value), placeholder: saved.encryptionConfigured ? t('client.configured') : t('client.setASeparateEncryptionPassword') }) })] }), _jsxs(Step, { title: t('sync.review'), children: [_jsx("h3", { children: t('sync.reviewHeading') }), _jsx("p", { children: t('sync.reviewHint') }), _jsxs("dl", { className: "dsh-ssh-sync-review", children: [_jsxs("div", { children: [_jsx("dt", { children: t('sync.account') }), _jsx("dd", { children: saved.githubLogin ?? 'GitHub' })] }), _jsxs("div", { children: [_jsx("dt", { children: t('sync.storage') }), _jsx("dd", { children: destination === 'existing' ? gistId : t('sync.newSpace') })] }), _jsxs("div", { children: [_jsx("dt", { children: t('client.syncEncryptionPassword') }), _jsx("dd", { children: passphrase ? t('sync.passwordWillSave') : t('client.configured') })] }), _jsxs("div", { children: [_jsx("dt", { children: t('client.autoSync') }), _jsx("dd", { children: saved.autoSync ? t('sync.autoEnabled') : t('sync.manualEnabled') })] })] }), _jsx("p", { className: "dsh-ssh-sync-footnote", children: t('sync.privacyHint') })] })] })] }) });
|
|
226
|
+
}
|
|
227
|
+
function withGitHubProxy(view, value) {
|
|
228
|
+
if (value !== '')
|
|
229
|
+
return { ...view, githubProxy: value };
|
|
230
|
+
const { githubProxy: _githubProxy, ...rest } = view;
|
|
231
|
+
return rest;
|
|
232
|
+
}
|
|
233
|
+
function SyncStatus({ view }) {
|
|
234
|
+
useSshLocale();
|
|
235
|
+
const ready = view.tokenConfigured && view.encryptionConfigured;
|
|
236
|
+
const label = view.running ? t("client.syncing2") : view.lastError ? t("client.actionNeeded") : view.lastSyncAt === undefined ? ready ? t("client.waitingForFirstSync") : t("client.notConfigured") : t("client.lastSynced", [formatRelativeTime(view.lastSyncAt)]);
|
|
237
|
+
return _jsxs("span", { className: `dsh-ssh-sync-status${view.running ? ' is-running' : view.lastError ? ' is-error' : ready ? ' is-ready' : ''}`, role: "status", children: [_jsx("i", { "aria-hidden": "true" }), label] });
|
|
238
|
+
}
|
|
239
|
+
function syncResultLabel(result) {
|
|
240
|
+
return result === 'uploaded' ? t("client.localConfigUploaded") : result === 'downloaded' ? t("client.cloudConfigApplied") : result === 'merged' ? t("client.configsFromBothSidesMergedIntelligently") : t("client.configIsAlreadyUpToDate");
|
|
241
|
+
}
|
|
242
|
+
function formatRelativeTime(value) {
|
|
243
|
+
const elapsed = Math.max(0, Date.now() - value);
|
|
244
|
+
if (elapsed < 60_000)
|
|
245
|
+
return t("client.justNow");
|
|
246
|
+
if (elapsed < 3_600_000)
|
|
247
|
+
return t("client.minutesAgo", [Math.floor(elapsed / 60_000)]);
|
|
248
|
+
if (elapsed < 86_400_000)
|
|
249
|
+
return t("client.hoursAgo", [Math.floor(elapsed / 3_600_000)]);
|
|
250
|
+
return new Date(value).toLocaleString();
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=sync-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-panel.js","sourceRoot":"","sources":["../src/sync-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export declare function Step({ children }: {
|
|
3
|
+
title: string;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}): JSX.Element;
|
|
6
|
+
export default function Stepper({ children, step, onStepChange, onNext, busy, backButtonText, nextButtonText, completeButtonText }: {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
step: number;
|
|
9
|
+
onStepChange(step: number): void;
|
|
10
|
+
onNext(): void;
|
|
11
|
+
busy: boolean;
|
|
12
|
+
backButtonText: string;
|
|
13
|
+
nextButtonText: string;
|
|
14
|
+
completeButtonText: string;
|
|
15
|
+
}): JSX.Element;
|
|
16
|
+
//# sourceMappingURL=sync-stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-stepper.d.ts","sourceRoot":"","sources":["../src/sync-stepper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzF,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAEtF;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE;IAClI,QAAQ,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,IAAI,IAAI,CAAA;IACnF,IAAI,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAC1F,GAAG,GAAG,CAAC,OAAO,CAwCd"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Adapted from the React Bits Stepper supplied for this integration (see docs/third-party/react-bits.md).
|
|
3
|
+
// Uses the SSH theme, controlled steps and existing dialog focus management.
|
|
4
|
+
import { Children, isValidElement, useLayoutEffect, useRef } from 'react';
|
|
5
|
+
import { HugeiconsIcon } from '@hugeicons/react';
|
|
6
|
+
import { ArrowLeft01Icon, ArrowRight01Icon, Tick02Icon } from '@hugeicons/core-free-icons';
|
|
7
|
+
export function Step({ children }) {
|
|
8
|
+
return _jsx("div", { className: "dsh-ssh-stepper-step", children: children });
|
|
9
|
+
}
|
|
10
|
+
export default function Stepper({ children, step, onStepChange, onNext, busy, backButtonText, nextButtonText, completeButtonText }) {
|
|
11
|
+
const steps = Children.toArray(children).filter((isValidElement));
|
|
12
|
+
const trackRef = useRef(null);
|
|
13
|
+
const gliderRef = useRef(null);
|
|
14
|
+
const paneRef = useRef(null);
|
|
15
|
+
const previous = useRef(step);
|
|
16
|
+
useLayoutEffect(() => {
|
|
17
|
+
const track = trackRef.current, glider = gliderRef.current, pane = paneRef.current;
|
|
18
|
+
if (!track || !glider || !pane)
|
|
19
|
+
return;
|
|
20
|
+
const place = () => {
|
|
21
|
+
const segment = track.querySelector('[aria-current="step"]');
|
|
22
|
+
if (!segment)
|
|
23
|
+
return;
|
|
24
|
+
glider.style.transform = `translateX(${segment.offsetLeft}px)`;
|
|
25
|
+
glider.style.width = `${segment.offsetWidth}px`;
|
|
26
|
+
};
|
|
27
|
+
place();
|
|
28
|
+
const observer = new ResizeObserver(place);
|
|
29
|
+
observer.observe(track);
|
|
30
|
+
let animation;
|
|
31
|
+
if (previous.current !== step) {
|
|
32
|
+
pane.focus({ preventScroll: true });
|
|
33
|
+
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
|
34
|
+
animation = pane.animate([{ opacity: 0, transform: `translateX(${step > previous.current ? 18 : -18}px)` }, { opacity: 1, transform: 'none' }], { duration: 220, easing: 'cubic-bezier(0.22,1,0.36,1)' });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
previous.current = step;
|
|
38
|
+
return () => { observer.disconnect(); animation?.cancel(); };
|
|
39
|
+
}, [step]);
|
|
40
|
+
return _jsxs("div", { className: "dsh-ssh-stepper", children: [_jsxs("div", { className: "dsh-ssh-stepper-track", ref: trackRef, children: [_jsx("span", { className: "dsh-ssh-stepper-glider", ref: gliderRef, "aria-hidden": "true" }), steps.map((entry, index) => _jsxs("button", { type: "button", className: "dsh-ssh-stepper-segment", "aria-current": step === index + 1 ? 'step' : undefined, disabled: busy || index + 1 >= step, onClick: () => onStepChange(index + 1), children: [_jsx("span", { className: "dsh-ssh-stepper-badge", "data-complete": index + 1 < step || undefined, "aria-hidden": "true", children: index + 1 < step ? _jsx(HugeiconsIcon, { icon: Tick02Icon, size: 16 }) : index + 1 }), _jsx("span", { children: entry.props.title })] }, index))] }), _jsx("div", { ref: paneRef, tabIndex: -1, className: "dsh-ssh-stepper-pane", children: steps[step - 1] }), _jsxs("div", { className: "dsh-ssh-stepper-footer", children: [_jsxs("button", { type: "button", className: "dsh-ssh-secondary-button", style: { visibility: step <= 1 ? 'hidden' : undefined }, disabled: busy || step <= 1, onClick: () => onStepChange(step - 1), children: [_jsx(HugeiconsIcon, { icon: ArrowLeft01Icon, size: 16 }), backButtonText] }), _jsxs("button", { type: "button", className: "dsh-ssh-primary-button", disabled: busy, onClick: onNext, children: [step === steps.length ? completeButtonText : nextButtonText, _jsx(HugeiconsIcon, { icon: step === steps.length ? Tick02Icon : ArrowRight01Icon, size: 16 })] })] })] });
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sync-stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-stepper.js","sourceRoot":"","sources":["../src/sync-stepper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import type { Context } from '@deepseek-ai/cordis';
|
|
|
2
2
|
import type { SshProfile } from './domain.js';
|
|
3
3
|
import type { SshStore } from './store.js';
|
|
4
4
|
import type { SshConnector } from './connector.js';
|
|
5
|
+
import type { RegisterOperation } from './tool-entry.js';
|
|
5
6
|
/** Resolve only explicit identifiers; ambiguous numeric shortcuts never pick a host. */
|
|
6
7
|
export declare function resolveTemporaryHost(profiles: SshProfile[], target: string): SshProfile;
|
|
7
|
-
export declare function registerTemporaryAccess(ctx: Context, store: SshStore, connector: SshConnector): () => void;
|
|
8
|
+
export declare function registerTemporaryAccess(ctx: Context, store: SshStore, connector: SshConnector, register?: RegisterOperation): () => void;
|
|
8
9
|
//# sourceMappingURL=temporary-access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-access.d.ts","sourceRoot":"","sources":["../src/temporary-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"temporary-access.d.ts","sourceRoot":"","sources":["../src/temporary-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAQvF;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,GAAE,iBAAoD,GAAG,MAAM,IAAI,CAyF1K"}
|
package/lib/temporary-access.js
CHANGED
|
@@ -16,7 +16,7 @@ export function resolveTemporaryHost(profiles, target) {
|
|
|
16
16
|
throw new Error('主机标识不唯一,请指定完整 IP 或唯一主机名。');
|
|
17
17
|
return matches[0];
|
|
18
18
|
}
|
|
19
|
-
export function registerTemporaryAccess(ctx, store, connector) {
|
|
19
|
+
export function registerTemporaryAccess(ctx, store, connector, register = tool => ctx.tools.register(tool)) {
|
|
20
20
|
// No durable injection is changed. Cross-session leases require an exact board task.
|
|
21
21
|
const turns = new Map();
|
|
22
22
|
const pending = new Map();
|
|
@@ -51,7 +51,7 @@ export function registerTemporaryAccess(ctx, store, connector) {
|
|
|
51
51
|
ctx.provide('dshSshTemporaryAccess', { bind: tasks.bind.bind(tasks) }),
|
|
52
52
|
];
|
|
53
53
|
const output = { schema: { type: 'string' }, render: (_args, value) => [{ type: 'text', text: String(value) }] };
|
|
54
|
-
disposers.push(
|
|
54
|
+
disposers.push(register(defineTool({
|
|
55
55
|
name: 'ssh_request_temporary_access',
|
|
56
56
|
description: 'Request temporary SSH command access to a saved host explicitly authorized in the CURRENT HUMAN message. The plugin verifies the real message, not your claim of consent; no approval popup is needed. If consent is unclear, show the returned scope and ask the user in chat, then retry only after their reply. For delegation, FIRST create the board task with autoRun=false and an assignee, then pass taskId here; the user must authorize that recipient, or confirm the returned scope. Only after granted=true submit that same task. Without taskId access expires at this turn end. Task grants apply to one execution, at most 60 minutes, never to other tasks or reviewers. Use ssh_temporary_exec; do not change permanent mounts.',
|
|
57
57
|
parameters: { target: { type: 'string', required: true }, task: { type: 'string', required: true, description: 'The concrete task requested by the user.' }, taskId: { type: 'string', description: 'Optional exact planned board task ID for a designated executor. Create it with autoRun=false before requesting access.' } },
|
|
@@ -105,7 +105,7 @@ export function registerTemporaryAccess(ctx, store, connector) {
|
|
|
105
105
|
return JSON.stringify({ granted: true, authorization: confirmation ? 'human-confirmed-request' : 'current-human-message', profileId: profile.id, name: profile.name, host: profile.host, ...(target ? { taskId: target.taskId, companion: target.companionName } : {}), expires: target ? 'one-task-execution-max-60-minutes' : 'current-agent-turn-end', tool: 'ssh_temporary_exec' });
|
|
106
106
|
},
|
|
107
107
|
})));
|
|
108
|
-
disposers.push(
|
|
108
|
+
disposers.push(register(defineTool({
|
|
109
109
|
name: 'ssh_temporary_exec',
|
|
110
110
|
description: 'Execute a command using temporary SSH access verified from a human message, or a task-bound grant injected by the partner runtime. Does not change permanent mounts. Use cwd for the working directory. Expired grants must be authorized again; never assume another session shares access.',
|
|
111
111
|
parameters: { profileId: { type: 'string', required: true }, command: { type: 'string', required: true }, cwd: { type: 'string' }, timeoutMs: { type: 'integer' } },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporary-access.js","sourceRoot":"","sources":["../src/temporary-access.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"temporary-access.js","sourceRoot":"","sources":["../src/temporary-access.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ManagedSshConnection } from './connector.js';
|
|
2
|
+
/** Shares authentication only. Every lease still opens its own SSH channel. */
|
|
3
|
+
export declare class TerminalConnectionPool {
|
|
4
|
+
private readonly idleMs;
|
|
5
|
+
private readonly limit;
|
|
6
|
+
private readonly entries;
|
|
7
|
+
private readonly all;
|
|
8
|
+
private closed;
|
|
9
|
+
constructor(idleMs?: number, limit?: number);
|
|
10
|
+
acquire(key: string, open: (signal: AbortSignal) => Promise<ManagedSshConnection>, signal?: AbortSignal): Promise<ManagedSshConnection>;
|
|
11
|
+
/** Stop new reuse without interrupting shells that already own a lease. */
|
|
12
|
+
drain(): void;
|
|
13
|
+
close(): void;
|
|
14
|
+
private retire;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=terminal-connection-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-connection-pool.d.ts","sourceRoot":"","sources":["../src/terminal-connection-pool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAY1D,+EAA+E;AAC/E,qBAAa,sBAAsB;IAIrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAW,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmB;IACvC,OAAO,CAAC,MAAM,CAAQ;gBACO,MAAM,SAAS,EAAmB,KAAK,SAAK;IAEnE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0D7I,2EAA2E;IAC3E,KAAK,IAAI,IAAI;IACb,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,MAAM;CAUf"}
|