@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.
Files changed (97) hide show
  1. package/ARCHITECTURE.md +4 -0
  2. package/README.md +3 -0
  3. package/docs/releases/1.12.0.md +15 -0
  4. package/docs/releases/1.13.0.md +15 -0
  5. package/docs/releases/1.14.0.md +10 -0
  6. package/docs/third-party/react-bits.md +29 -0
  7. package/docs/usage.md +28 -1
  8. package/lib/api.d.ts.map +1 -1
  9. package/lib/api.js +22 -0
  10. package/lib/api.js.map +1 -1
  11. package/lib/client-api.d.ts +3 -0
  12. package/lib/client-api.d.ts.map +1 -1
  13. package/lib/client-api.js.map +1 -1
  14. package/lib/client.d.ts.map +1 -1
  15. package/lib/client.js +291 -185
  16. package/lib/client.js.map +4 -4
  17. package/lib/config-backup-panel.d.ts +2 -0
  18. package/lib/config-backup-panel.d.ts.map +1 -0
  19. package/lib/config-backup-panel.js +74 -0
  20. package/lib/config-backup-panel.js.map +1 -0
  21. package/lib/config-backup.d.ts +6 -0
  22. package/lib/config-backup.d.ts.map +1 -0
  23. package/lib/config-backup.js +142 -0
  24. package/lib/config-backup.js.map +1 -0
  25. package/lib/config.d.ts +2 -0
  26. package/lib/config.d.ts.map +1 -1
  27. package/lib/config.js +4 -0
  28. package/lib/config.js.map +1 -1
  29. package/lib/connection-policy.d.ts +6 -0
  30. package/lib/connection-policy.d.ts.map +1 -0
  31. package/lib/connection-policy.js +10 -0
  32. package/lib/connection-policy.js.map +1 -0
  33. package/lib/connector.d.ts +9 -1
  34. package/lib/connector.d.ts.map +1 -1
  35. package/lib/connector.js +39 -7
  36. package/lib/connector.js.map +1 -1
  37. package/lib/credentials.d.ts +2 -0
  38. package/lib/credentials.d.ts.map +1 -1
  39. package/lib/credentials.js +5 -0
  40. package/lib/credentials.js.map +1 -1
  41. package/lib/domain.d.ts +4 -0
  42. package/lib/domain.d.ts.map +1 -1
  43. package/lib/domain.js +3 -0
  44. package/lib/domain.js.map +1 -1
  45. package/lib/file-transfer-tools.d.ts +2 -1
  46. package/lib/file-transfer-tools.d.ts.map +1 -1
  47. package/lib/file-transfer-tools.js +8 -6
  48. package/lib/file-transfer-tools.js.map +1 -1
  49. package/lib/gist-sync.d.ts +3 -1
  50. package/lib/gist-sync.d.ts.map +1 -1
  51. package/lib/gist-sync.js +10 -3
  52. package/lib/gist-sync.js.map +1 -1
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/index.js +3 -0
  55. package/lib/index.js.map +1 -1
  56. package/lib/locales/messages.d.ts +448 -0
  57. package/lib/locales/messages.d.ts.map +1 -1
  58. package/lib/locales/messages.js +112 -0
  59. package/lib/locales/messages.js.map +1 -1
  60. package/lib/profile-editor.d.ts.map +1 -1
  61. package/lib/profile-editor.js +9 -2
  62. package/lib/profile-editor.js.map +1 -1
  63. package/lib/settings-pane.d.ts +2 -0
  64. package/lib/settings-pane.d.ts.map +1 -0
  65. package/lib/settings-pane.js +54 -0
  66. package/lib/settings-pane.js.map +1 -0
  67. package/lib/ssh-channel.d.ts +4 -0
  68. package/lib/ssh-channel.d.ts.map +1 -0
  69. package/lib/ssh-channel.js +37 -0
  70. package/lib/ssh-channel.js.map +1 -0
  71. package/lib/sync-panel.d.ts +4 -0
  72. package/lib/sync-panel.d.ts.map +1 -0
  73. package/lib/sync-panel.js +252 -0
  74. package/lib/sync-panel.js.map +1 -0
  75. package/lib/sync-stepper.d.ts +16 -0
  76. package/lib/sync-stepper.d.ts.map +1 -0
  77. package/lib/sync-stepper.js +42 -0
  78. package/lib/sync-stepper.js.map +1 -0
  79. package/lib/temporary-access.d.ts +2 -1
  80. package/lib/temporary-access.d.ts.map +1 -1
  81. package/lib/temporary-access.js +3 -3
  82. package/lib/temporary-access.js.map +1 -1
  83. package/lib/terminal-connection-pool.d.ts +16 -0
  84. package/lib/terminal-connection-pool.d.ts.map +1 -0
  85. package/lib/terminal-connection-pool.js +111 -0
  86. package/lib/terminal-connection-pool.js.map +1 -0
  87. package/lib/terminal.d.ts.map +1 -1
  88. package/lib/terminal.js +11 -10
  89. package/lib/terminal.js.map +1 -1
  90. package/lib/tool-entry.d.ts +11 -0
  91. package/lib/tool-entry.d.ts.map +1 -0
  92. package/lib/tool-entry.js +64 -0
  93. package/lib/tool-entry.js.map +1 -0
  94. package/lib/tools.d.ts.map +1 -1
  95. package/lib/tools.js +10 -12
  96. package/lib/tools.js.map +1 -1
  97. package/package.json +4 -2
@@ -0,0 +1,4 @@
1
+ export declare function SyncPane({ active }: {
2
+ active: boolean;
3
+ }): JSX.Element;
4
+ //# sourceMappingURL=sync-panel.d.ts.map
@@ -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;AAMlD,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,GAAG,MAAM,IAAI,CAyF1G"}
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"}
@@ -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(ctx.tools.register(defineTool({
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(ctx.tools.register(defineTool({
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"}