@lemoncat7/dsh-ssh 1.4.6 → 1.5.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 +5 -0
- package/README.md +12 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +33 -3
- package/lib/api.js.map +1 -1
- package/lib/client-api.d.ts +8 -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 +150 -45
- package/lib/client.js.map +4 -4
- package/lib/commands-panel.d.ts +4 -0
- package/lib/commands-panel.d.ts.map +1 -0
- package/lib/commands-panel.js +54 -0
- package/lib/commands-panel.js.map +1 -0
- package/lib/commands.d.ts +5 -0
- package/lib/commands.d.ts.map +1 -0
- package/lib/commands.js +29 -0
- package/lib/commands.js.map +1 -0
- package/lib/directory.d.ts.map +1 -1
- package/lib/directory.js +8 -0
- package/lib/directory.js.map +1 -1
- package/lib/domain.d.ts +9 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/gist-sync.d.ts +5 -1
- package/lib/gist-sync.d.ts.map +1 -1
- package/lib/gist-sync.js +69 -26
- package/lib/gist-sync.js.map +1 -1
- package/lib/project-mounts.d.ts +7 -0
- package/lib/project-mounts.d.ts.map +1 -0
- package/lib/project-mounts.js +19 -0
- package/lib/project-mounts.js.map +1 -0
- package/lib/remote-workspace-tree.d.ts +2 -0
- package/lib/remote-workspace-tree.d.ts.map +1 -1
- package/lib/remote-workspace-tree.js +8 -6
- package/lib/remote-workspace-tree.js.map +1 -1
- package/lib/resizable-split.d.ts +2 -1
- package/lib/resizable-split.d.ts.map +1 -1
- package/lib/resizable-split.js +2 -2
- package/lib/resizable-split.js.map +1 -1
- package/lib/session-access.d.ts +2 -0
- package/lib/session-access.d.ts.map +1 -1
- package/lib/session-access.js +56 -2
- package/lib/session-access.js.map +1 -1
- package/lib/sftp-client.d.ts.map +1 -1
- package/lib/sftp-client.js +3 -3
- package/lib/sftp-client.js.map +1 -1
- package/lib/store.d.ts +1 -0
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +4 -0
- package/lib/store.js.map +1 -1
- package/lib/terminal-layout.d.ts +10 -0
- package/lib/terminal-layout.d.ts.map +1 -0
- package/lib/terminal-layout.js +26 -0
- package/lib/terminal-layout.js.map +1 -0
- package/lib/terminal-session.d.ts +10 -0
- package/lib/terminal-session.d.ts.map +1 -0
- package/lib/terminal-session.js +150 -0
- package/lib/terminal-session.js.map +1 -0
- package/lib/terminal-transport.d.ts +1 -0
- package/lib/terminal-transport.d.ts.map +1 -1
- package/lib/terminal-transport.js +1 -1
- package/lib/terminal-transport.js.map +1 -1
- package/lib/terminal-workspace.d.ts +9 -0
- package/lib/terminal-workspace.d.ts.map +1 -0
- package/lib/terminal-workspace.js +70 -0
- package/lib/terminal-workspace.js.map +1 -0
- package/lib/terminal.d.ts +3 -1
- package/lib/terminal.d.ts.map +1 -1
- package/lib/terminal.js +22 -3
- package/lib/terminal.js.map +1 -1
- package/lib/tools.js +1 -0
- package/lib/tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands-panel.d.ts","sourceRoot":"","sources":["../src/commands-panel.tsx"],"names":[],"mappings":"AAMA,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAwC/G"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
|
+
import { IconEditOutline16, IconPlusOutline16, IconTrashOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
4
|
+
import { api } from './client-api.js';
|
|
5
|
+
import { Dialog, Field, errorMessage } from './ui-components.js';
|
|
6
|
+
export function CommandsPanel({ onChoose }) {
|
|
7
|
+
const [items, setItems] = useState([]);
|
|
8
|
+
const [query, setQuery] = useState('');
|
|
9
|
+
const [page, setPage] = useState(0);
|
|
10
|
+
const [loading, setLoading] = useState(true);
|
|
11
|
+
const [error, setError] = useState();
|
|
12
|
+
const [editing, setEditing] = useState();
|
|
13
|
+
const [deleting, setDeleting] = useState();
|
|
14
|
+
const [busy, setBusy] = useState(false);
|
|
15
|
+
const refresh = useCallback(async () => {
|
|
16
|
+
try {
|
|
17
|
+
setItems(await api('/commands'));
|
|
18
|
+
setError(undefined);
|
|
19
|
+
}
|
|
20
|
+
catch (reason) {
|
|
21
|
+
setError(errorMessage(reason));
|
|
22
|
+
}
|
|
23
|
+
finally {
|
|
24
|
+
setLoading(false);
|
|
25
|
+
}
|
|
26
|
+
}, []);
|
|
27
|
+
useEffect(() => { void refresh(); }, [refresh]);
|
|
28
|
+
const searchIndex = useMemo(() => items.map(item => ({ item, text: `${item.name}\n${item.command}`.toLocaleLowerCase() })), [items]);
|
|
29
|
+
const filtered = useMemo(() => {
|
|
30
|
+
const needle = query.toLocaleLowerCase();
|
|
31
|
+
return searchIndex.filter(entry => entry.text.includes(needle)).map(entry => entry.item);
|
|
32
|
+
}, [searchIndex, query]);
|
|
33
|
+
const currentPage = Math.min(page, Math.max(0, Math.ceil(filtered.length / 50) - 1));
|
|
34
|
+
const visible = filtered.slice(currentPage * 50, (currentPage + 1) * 50);
|
|
35
|
+
return _jsxs("div", { className: onChoose ? 'dsh-ssh-command-picker' : 'dsh-ssh-commands-pane', children: [!onChoose && _jsxs("header", { className: "dsh-ssh-content-heading", children: [_jsxs("div", { children: [_jsx("h1", { children: "\u5E38\u7528\u547D\u4EE4" }), _jsx("p", { children: "\u624B\u52A8\u8BB0\u5F55\uFF0C\u5728\u7EC8\u7AEF\u4E2D\u9009\u62E9\u5E76\u786E\u8BA4\u6267\u884C\u3002\u8BF7\u52FF\u4FDD\u5B58\u5BC6\u7801\u6216 Token\u3002" })] }), _jsxs("button", { type: "button", className: "dsh-ssh-primary-button", onClick: () => setEditing('new'), children: [_jsx(IconPlusOutline16, { size: 16 }), "\u65B0\u5EFA\u547D\u4EE4"] })] }), _jsxs("label", { className: "dsh-ssh-search", children: [_jsx("span", { className: "sr-only", children: "\u641C\u7D22\u547D\u4EE4" }), _jsx("input", { value: query, onChange: event => { setQuery(event.target.value); setPage(0); }, placeholder: "\u641C\u7D22\u540D\u79F0\u6216\u547D\u4EE4\u2026" })] }), error && _jsxs("p", { className: "dsh-ssh-inline-error", role: "alert", children: [error, _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => { void refresh(); }, children: "\u91CD\u8BD5" })] }), _jsx("div", { className: "dsh-ssh-command-list dsh-ssh-scroll-surface", children: loading ? _jsx("p", { role: "status", children: "\u6B63\u5728\u8BFB\u53D6\u547D\u4EE4\u2026" }) : filtered.length === 0 ? _jsx("p", { className: "dsh-ssh-command-empty", children: query ? '没有匹配的命令' : onChoose ? '还没有常用命令,请先到工作台的常用命令页面新建。' : '还没有常用命令,点击新建开始记录。' }) : visible.map(item => _jsxs("article", { "data-ssh-interactive": "row", className: "dsh-ssh-command-row", children: [_jsxs("div", { children: [_jsx("strong", { children: item.name }), _jsx("pre", { children: item.command })] }), _jsxs("div", { className: "dsh-ssh-heading-actions", children: [onChoose && _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => onChoose(item.command), children: "\u9009\u7528" }), !onChoose && _jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "dsh-ssh-icon-button", title: "\u7F16\u8F91\u547D\u4EE4", "aria-label": `编辑 ${item.name}`, onClick: () => setEditing(item), children: _jsx(IconEditOutline16, { size: 16 }) }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button is-danger", title: "\u5220\u9664\u547D\u4EE4", "aria-label": `删除 ${item.name}`, onClick: () => setDeleting(item), children: _jsx(IconTrashOutline16, { size: 16 }) })] })] })] }, item.id)) }), filtered.length > 50 && _jsxs("nav", { className: "dsh-ssh-command-pagination", "aria-label": "\u547D\u4EE4\u5206\u9875", children: [_jsxs("span", { children: [currentPage + 1, " / ", Math.ceil(filtered.length / 50), " \u9875 \u00B7 ", filtered.length, " \u6761"] }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: currentPage === 0, onClick: () => setPage(currentPage - 1), children: "\u4E0A\u4E00\u9875" }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: (currentPage + 1) * 50 >= filtered.length, onClick: () => setPage(currentPage + 1), children: "\u4E0B\u4E00\u9875" })] }), editing && _jsx(CommandEditor, { value: editing === 'new' ? undefined : editing, onClose: () => setEditing(undefined), onSaved: () => { setEditing(undefined); void refresh(); } }), deleting && _jsxs(Dialog, { title: "\u5220\u9664\u5E38\u7528\u547D\u4EE4", subtitle: deleting.name, onClose: () => { if (!busy)
|
|
36
|
+
setDeleting(undefined); }, children: [_jsx("p", { children: "\u4EC5\u5220\u9664\u8BB0\u5F55\uFF0C\u4E0D\u5F71\u54CD\u5DF2\u7ECF\u8FD0\u884C\u7684\u7EC8\u7AEF\u3002" }), _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: busy, onClick: () => setDeleting(undefined), children: "\u53D6\u6D88" }), _jsx("button", { type: "button", className: "dsh-ssh-danger-button", disabled: busy, onClick: () => {
|
|
37
|
+
setBusy(true);
|
|
38
|
+
void api(`/commands/${encodeURIComponent(deleting.id)}`, { method: 'DELETE' }).then(() => { setDeleting(undefined); return refresh(); }).catch(reason => setError(errorMessage(reason))).finally(() => setBusy(false));
|
|
39
|
+
}, children: busy ? '删除中…' : '删除' })] }), error && _jsx("p", { role: "alert", className: "dsh-ssh-inline-error", children: error })] })] });
|
|
40
|
+
}
|
|
41
|
+
function CommandEditor({ value, onClose, onSaved }) {
|
|
42
|
+
const [name, setName] = useState(value?.name ?? '');
|
|
43
|
+
const [command, setCommand] = useState(value?.command ?? '');
|
|
44
|
+
const [busy, setBusy] = useState(false);
|
|
45
|
+
const [error, setError] = useState();
|
|
46
|
+
return _jsx(Dialog, { title: value ? '编辑命令' : '新建命令', onClose: () => { if (!busy)
|
|
47
|
+
onClose(); }, children: _jsxs("form", { className: "dsh-ssh-form", onSubmit: event => {
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
setBusy(true);
|
|
50
|
+
setError(undefined);
|
|
51
|
+
void api(value ? `/commands/${encodeURIComponent(value.id)}` : '/commands', { method: value ? 'PUT' : 'POST', body: JSON.stringify({ name, command }) }).then(onSaved).catch(reason => setError(errorMessage(reason))).finally(() => setBusy(false));
|
|
52
|
+
}, children: [_jsx(Field, { label: "\u540D\u79F0", children: _jsx("input", { required: true, maxLength: 80, value: name, onChange: event => setName(event.target.value) }) }), _jsx(Field, { label: "\u547D\u4EE4", hint: "\u652F\u6301\u591A\u884C\u811A\u672C\uFF1B\u8BB0\u5F55\u4FDD\u5B58\u5728\u5F53\u524D DSH \u5B9E\u4F8B\uFF0C\u4E0D\u4F1A\u81EA\u52A8\u6267\u884C\u6216\u4E0A\u4F20\u5230 Gist\u3002", children: _jsx("textarea", { required: true, rows: 6, maxLength: 16000, value: command, onChange: event => setCommand(event.target.value) }) }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", disabled: busy, onClick: onClose, children: "\u53D6\u6D88" }), _jsx("button", { type: "submit", className: "dsh-ssh-primary-button", disabled: busy, children: busy ? '保存中…' : '保存' })] })] }) });
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=commands-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands-panel.js","sourceRoot":"","sources":["../src/commands-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SavedCommand } from './domain.js';
|
|
2
|
+
import type { SshStore } from './store.js';
|
|
3
|
+
export declare function commandDraft(value: unknown): Pick<SavedCommand, 'name' | 'command'>;
|
|
4
|
+
export declare function saveCommand(store: SshStore, value: unknown, id?: string): Promise<SavedCommand>;
|
|
5
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,CAOnF;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAYrG"}
|
package/lib/commands.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
export function commandDraft(value) {
|
|
3
|
+
if (typeof value !== 'object' || value === null)
|
|
4
|
+
throw invalid('命令内容无效');
|
|
5
|
+
const { name, command } = value;
|
|
6
|
+
if (typeof name !== 'string' || !name.trim() || name.trim().length > 80)
|
|
7
|
+
throw invalid('名称需为 1–80 个字符');
|
|
8
|
+
const normalized = typeof command === 'string' ? command.replace(/\r\n/g, '\n') : '';
|
|
9
|
+
if (!normalized.trim() || normalized.length > 16000 || /[\x00-\x08\x0b-\x1f\x7f]/.test(normalized))
|
|
10
|
+
throw invalid('命令需为 1–16000 个字符,不能包含终端控制字符');
|
|
11
|
+
return { name: name.trim(), command: normalized };
|
|
12
|
+
}
|
|
13
|
+
export async function saveCommand(store, value, id) {
|
|
14
|
+
const draft = commandDraft(value);
|
|
15
|
+
let saved;
|
|
16
|
+
await store.update(state => {
|
|
17
|
+
const commands = state.commands ??= [];
|
|
18
|
+
const previous = id === undefined ? undefined : commands.find(item => item.id === id);
|
|
19
|
+
if (id !== undefined && previous === undefined)
|
|
20
|
+
throw Object.assign(new Error('命令已删除,请刷新'), { status: 404 });
|
|
21
|
+
if (!previous && commands.length >= 500)
|
|
22
|
+
throw invalid('最多保存 500 条命令');
|
|
23
|
+
saved = { ...draft, id: previous?.id ?? randomUUID(), createdAt: previous?.createdAt ?? Date.now(), updatedAt: Date.now() };
|
|
24
|
+
state.commands = [...commands.filter(item => item.id !== saved.id), saved];
|
|
25
|
+
});
|
|
26
|
+
return saved;
|
|
27
|
+
}
|
|
28
|
+
function invalid(message) { return Object.assign(new Error(message), { status: 400 }); }
|
|
29
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAgC,CAAA;IAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IACvG,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACpF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAA;IAChJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAe,EAAE,KAAc,EAAE,EAAW;IAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,IAAI,KAAoB,CAAA;IACxB,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAA;QACtC,MAAM,QAAQ,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACrF,IAAI,EAAE,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5G,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG;YAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;QACtE,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QAC3H,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,IAAW,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA,CAAC,CAAC"}
|
package/lib/directory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAMrC,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO/D"}
|
package/lib/directory.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { executeSshCommand } from './exec.js';
|
|
2
|
+
import { mountedProjects } from './project-mounts.js';
|
|
2
3
|
const DIRECTORY_PROBE_TIMEOUT_MS = 10_000;
|
|
3
4
|
const DIRECTORY_PROBE_OUTPUT_CHARS = 8_192;
|
|
4
5
|
export function sessionDirectory(injection, profileId) {
|
|
@@ -25,6 +26,13 @@ export async function setSessionDirectory(store, connector, sessionId, profileId
|
|
|
25
26
|
if (current === undefined || !current.profileIds.includes(profileId))
|
|
26
27
|
throw new Error('SSH session injection changed while resolving the directory');
|
|
27
28
|
current.workingDirectories[profileId] = cwd;
|
|
29
|
+
const mounted = mountedProjects(current, profileId);
|
|
30
|
+
current.mountedProjectIds = { ...current.mountedProjectIds, [profileId]: mounted };
|
|
31
|
+
const matching = state.remoteProjects.find(project => project.profileId === profileId && project.path === cwd && mounted.includes(project.id));
|
|
32
|
+
if (matching)
|
|
33
|
+
current.workingProjectIds[profileId] = matching.id;
|
|
34
|
+
else
|
|
35
|
+
delete current.workingProjectIds[profileId];
|
|
28
36
|
current.updatedAt = Date.now();
|
|
29
37
|
});
|
|
30
38
|
return cwd;
|
package/lib/directory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
|
package/lib/domain.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ export interface SessionInjection {
|
|
|
84
84
|
requireCommandApproval: boolean;
|
|
85
85
|
workingDirectories: Record<string, string>;
|
|
86
86
|
workingProjectIds: Record<string, string>;
|
|
87
|
+
mountedProjectIds?: Record<string, string[]>;
|
|
87
88
|
updatedAt: number;
|
|
88
89
|
}
|
|
89
90
|
export type FtpProtocol = 'ftp' | 'ftps-explicit' | 'ftps-implicit';
|
|
@@ -148,8 +149,16 @@ export interface SshState {
|
|
|
148
149
|
proxyEntries: ProxyEntry[];
|
|
149
150
|
forwardRules: ForwardRule[];
|
|
150
151
|
injections: SessionInjection[];
|
|
152
|
+
commands?: SavedCommand[];
|
|
151
153
|
settings: SshSettings;
|
|
152
154
|
}
|
|
155
|
+
export interface SavedCommand {
|
|
156
|
+
id: string;
|
|
157
|
+
name: string;
|
|
158
|
+
command: string;
|
|
159
|
+
createdAt: number;
|
|
160
|
+
updatedAt: number;
|
|
161
|
+
}
|
|
153
162
|
export declare function normalizeFtpProfileDraft(value: unknown): FtpProfileDraft;
|
|
154
163
|
export interface RemoteProjectDraft {
|
|
155
164
|
name: string;
|
package/lib/domain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,CAAA;AAC9D,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAE1C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,WAAW,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;AAExD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,EAAE,QAAQ,GAAG,UAAU,CAAA;IACrC,mBAAmB,EAAE,OAAO,CAAA;IAC5B,UAAU,EAAE,MAAM,GAAG,UAAU,CAAA;IAC/B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,eAAe,GAAG,eAAe,CAAA;AACnE,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAElF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,WAAW,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,cAAc,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,QAAQ,EAAE,WAAW,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,OAAO,CAAA;IACxB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,aAAa,EAAE,CAAC,CAAA;IAChB,QAAQ,EAAE,UAAU,EAAE,CAAA;IACtB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,iBAAiB,EAAE,eAAe,EAAE,CAAA;IACpC,YAAY,EAAE,UAAU,EAAE,CAAA;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,UAAU,EAAE,gBAAgB,EAAE,CAAA;IAC9B,QAAQ,EAAE,WAAW,CAAA;CACtB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAsBxE;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,WAAW,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAoBlE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAQlF;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAUxE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAiBlE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAM9E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAYrE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAEhF;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpD"}
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
package/lib/domain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
|
package/lib/gist-sync.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export interface GistSyncView extends GistSyncSettings {
|
|
|
21
21
|
lastSyncAt?: number;
|
|
22
22
|
lastResult?: 'uploaded' | 'downloaded' | 'merged' | 'unchanged';
|
|
23
23
|
lastError?: string;
|
|
24
|
+
lastErrorAt?: number;
|
|
25
|
+
authPaused?: boolean;
|
|
24
26
|
gistUrl?: string;
|
|
25
27
|
githubLogin?: string;
|
|
26
28
|
cloudVersion?: string;
|
|
@@ -116,6 +118,7 @@ export declare class GistSyncService {
|
|
|
116
118
|
private pullTimer;
|
|
117
119
|
private applying;
|
|
118
120
|
private running;
|
|
121
|
+
private authGeneration;
|
|
119
122
|
private readonly oauth;
|
|
120
123
|
private constructor();
|
|
121
124
|
static open(store: SshStore, credentials: SshCredentialVault, vault: GistTokenVault, metadataPath: string, clientFactory?: (token: string) => GitHubGistClient): Promise<GistSyncService>;
|
|
@@ -132,10 +135,11 @@ export declare class GistSyncService {
|
|
|
132
135
|
startOAuth(): Promise<GitHubDeviceFlowStart>;
|
|
133
136
|
pollOAuth(id: string): Promise<GitHubDeviceFlowStatus>;
|
|
134
137
|
disconnectGitHub(): Promise<GistSyncView>;
|
|
135
|
-
sync(): Promise<GistSyncView>;
|
|
138
|
+
sync(automatic?: boolean): Promise<GistSyncView>;
|
|
136
139
|
private performSync;
|
|
137
140
|
private client;
|
|
138
141
|
private recordFailure;
|
|
142
|
+
private clearAuthFailure;
|
|
139
143
|
private encryptionPassphrase;
|
|
140
144
|
private writeMain;
|
|
141
145
|
private writeBackup;
|
package/lib/gist-sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gist-sync.d.ts","sourceRoot":"","sources":["../src/gist-sync.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,kBAAkB,EAAoB,MAAM,8BAA8B,CAAA;AACvG,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAA2B,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAE1H,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQrC,QAAA,MAAM,gBAAgB,6FAA8F,CAAA;AAEpH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,aAAa,GAAG,aAAa,CAAA;AACtE,KAAK,cAAc,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAErD,KAAK,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CAAA;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,eAAe,EAAE,OAAO,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,CAAC,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE;QACX,QAAQ,EAAE,UAAU,EAAE,CAAA;QACtB,WAAW,EAAE,UAAU,EAAE,CAAA;QACzB,cAAc,EAAE,aAAa,EAAE,CAAA;QAC/B,iBAAiB,EAAE,eAAe,EAAE,CAAA;QACpC,YAAY,EAAE,UAAU,EAAE,CAAA;KAC3B,CAAA;IACD,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC1D,OAAO,EAAE,qBAAqB,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,WAAW,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB;
|
|
1
|
+
{"version":3,"file":"gist-sync.d.ts","sourceRoot":"","sources":["../src/gist-sync.ts"],"names":[],"mappings":"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"}
|
package/lib/gist-sync.js
CHANGED
|
@@ -154,6 +154,7 @@ export class GistSyncService {
|
|
|
154
154
|
pullTimer;
|
|
155
155
|
applying = false;
|
|
156
156
|
running = false;
|
|
157
|
+
authGeneration = 0;
|
|
157
158
|
oauth;
|
|
158
159
|
constructor(store, credentials, vault, metadataPath, metadata, clientFactory, githubHttp) {
|
|
159
160
|
this.store = store;
|
|
@@ -165,9 +166,12 @@ export class GistSyncService {
|
|
|
165
166
|
this.metadata = metadata;
|
|
166
167
|
this.oauth = new GitHubDeviceAuthService(() => this.metadata.settings.oauthClientId, async (token) => {
|
|
167
168
|
const identity = await this.clientFactory(token).identify();
|
|
169
|
+
this.authGeneration++;
|
|
168
170
|
await this.vault.write({ token });
|
|
169
171
|
this.metadata.githubLogin = identity.login;
|
|
170
172
|
delete this.metadata.lastError;
|
|
173
|
+
delete this.metadata.lastErrorAt;
|
|
174
|
+
delete this.metadata.authPaused;
|
|
171
175
|
await this.persist();
|
|
172
176
|
return identity;
|
|
173
177
|
}, githubHttp.request);
|
|
@@ -216,6 +220,8 @@ export class GistSyncService {
|
|
|
216
220
|
...(this.metadata.lastSyncAt === undefined ? {} : { lastSyncAt: this.metadata.lastSyncAt }),
|
|
217
221
|
...(this.metadata.lastResult === undefined ? {} : { lastResult: this.metadata.lastResult }),
|
|
218
222
|
...(this.metadata.lastError === undefined ? {} : { lastError: this.metadata.lastError }),
|
|
223
|
+
...(this.metadata.lastErrorAt === undefined ? {} : { lastErrorAt: this.metadata.lastErrorAt }),
|
|
224
|
+
authPaused: this.metadata.authPaused === true,
|
|
219
225
|
...(settings.gistId === undefined ? {} : { gistUrl: `https://gist.github.com/${settings.gistId}` }),
|
|
220
226
|
...(this.metadata.githubLogin === undefined ? {} : { githubLogin: this.metadata.githubLogin }),
|
|
221
227
|
...(this.metadata.lastCloudVersion === undefined ? {} : { cloudVersion: this.metadata.lastCloudVersion }),
|
|
@@ -232,18 +238,23 @@ export class GistSyncService {
|
|
|
232
238
|
if (typeof input.encryptionPassphrase === 'string' && input.encryptionPassphrase.length > 0)
|
|
233
239
|
credentialUpdate.encryptionPassphrase = input.encryptionPassphrase;
|
|
234
240
|
if (Object.keys(credentialUpdate).length > 0) {
|
|
235
|
-
await this.vault.write(credentialUpdate);
|
|
236
241
|
if (credentialUpdate.token !== undefined)
|
|
242
|
+
this.authGeneration++;
|
|
243
|
+
await this.vault.write(credentialUpdate);
|
|
244
|
+
if (credentialUpdate.token !== undefined) {
|
|
237
245
|
delete this.metadata.githubLogin;
|
|
246
|
+
this.clearAuthFailure();
|
|
247
|
+
}
|
|
238
248
|
}
|
|
239
249
|
if (input.clearToken === true) {
|
|
250
|
+
this.authGeneration++;
|
|
240
251
|
await this.vault.clearToken();
|
|
241
252
|
delete this.metadata.githubLogin;
|
|
253
|
+
this.clearAuthFailure();
|
|
242
254
|
}
|
|
243
255
|
this.metadata.settings = settings;
|
|
244
256
|
if (previousGistId !== settings.gistId)
|
|
245
257
|
delete this.metadata.lastSyncedDigest;
|
|
246
|
-
delete this.metadata.lastError;
|
|
247
258
|
await this.persist();
|
|
248
259
|
this.configureAutomaticSync();
|
|
249
260
|
if (settings.autoSync)
|
|
@@ -251,6 +262,7 @@ export class GistSyncService {
|
|
|
251
262
|
return this.view();
|
|
252
263
|
}
|
|
253
264
|
async testConnection() {
|
|
265
|
+
const generation = this.authGeneration;
|
|
254
266
|
try {
|
|
255
267
|
const client = await this.client();
|
|
256
268
|
const identity = await client.identify();
|
|
@@ -265,32 +277,35 @@ export class GistSyncService {
|
|
|
265
277
|
await decryptSecretRecords(snapshot.secrets, await this.encryptionPassphrase());
|
|
266
278
|
}
|
|
267
279
|
}
|
|
268
|
-
this.
|
|
269
|
-
|
|
280
|
+
if (generation === this.authGeneration) {
|
|
281
|
+
this.metadata.githubLogin = identity.login;
|
|
282
|
+
this.clearAuthFailure();
|
|
283
|
+
}
|
|
270
284
|
await this.persist();
|
|
271
285
|
return { login: identity.login, ...(gistId === undefined ? {} : { gistId }) };
|
|
272
286
|
}
|
|
273
287
|
catch (error) {
|
|
274
|
-
throw await this.recordFailure(error);
|
|
288
|
+
throw await this.recordFailure(error, generation);
|
|
275
289
|
}
|
|
276
290
|
}
|
|
277
291
|
startOAuth() { return this.oauth.start(); }
|
|
278
292
|
pollOAuth(id) { return this.oauth.poll(id); }
|
|
279
293
|
async disconnectGitHub() {
|
|
294
|
+
this.authGeneration++;
|
|
280
295
|
await this.vault.clearToken();
|
|
281
296
|
delete this.metadata.githubLogin;
|
|
282
|
-
|
|
297
|
+
this.clearAuthFailure();
|
|
283
298
|
await this.persist();
|
|
284
299
|
return this.view();
|
|
285
300
|
}
|
|
286
|
-
sync() {
|
|
287
|
-
const operation = this.syncQueue.catch(() => undefined).then(() => this.performSync());
|
|
301
|
+
sync(automatic = false) {
|
|
302
|
+
const operation = this.syncQueue.catch(() => undefined).then(() => automatic && this.metadata.authPaused ? this.view() : this.performSync());
|
|
288
303
|
this.syncQueue = operation;
|
|
289
304
|
return operation;
|
|
290
305
|
}
|
|
291
306
|
async performSync() {
|
|
307
|
+
const generation = this.authGeneration;
|
|
292
308
|
this.running = true;
|
|
293
|
-
delete this.metadata.lastError;
|
|
294
309
|
try {
|
|
295
310
|
await this.persistQueue;
|
|
296
311
|
const client = await this.client();
|
|
@@ -301,7 +316,7 @@ export class GistSyncService {
|
|
|
301
316
|
if (gistId === undefined) {
|
|
302
317
|
const created = await client.create(serializeSnapshot(local));
|
|
303
318
|
this.metadata.settings = { ...this.metadata.settings, gistId: created.id };
|
|
304
|
-
this.complete(local, localDigest, 'uploaded', created.version);
|
|
319
|
+
this.complete(local, localDigest, 'uploaded', created.version, generation);
|
|
305
320
|
await this.persist();
|
|
306
321
|
return this.view();
|
|
307
322
|
}
|
|
@@ -309,7 +324,7 @@ export class GistSyncService {
|
|
|
309
324
|
const content = await client.content(gist);
|
|
310
325
|
if (content === undefined) {
|
|
311
326
|
gist = await client.update(gistId, { [MAIN_FILE]: { content: serializeSnapshot(local) } });
|
|
312
|
-
this.complete(local, localDigest, 'uploaded', gist.version);
|
|
327
|
+
this.complete(local, localDigest, 'uploaded', gist.version, generation);
|
|
313
328
|
await this.persist();
|
|
314
329
|
return this.view();
|
|
315
330
|
}
|
|
@@ -322,13 +337,13 @@ export class GistSyncService {
|
|
|
322
337
|
? 'remote'
|
|
323
338
|
: resolveSyncDecision(localDigest, remoteDigest, this.metadata.lastSyncedDigest, this.metadata.settings.strategy);
|
|
324
339
|
if (decision === 'unchanged') {
|
|
325
|
-
this.complete(remote, remoteDigest, 'unchanged', gist.version);
|
|
340
|
+
this.complete(remote, remoteDigest, 'unchanged', gist.version, generation);
|
|
326
341
|
}
|
|
327
342
|
else if (decision === 'remote') {
|
|
328
343
|
if (localDigest !== remoteDigest)
|
|
329
344
|
gist = await this.writeBackup(client, gist, local);
|
|
330
345
|
await this.apply(remote, passphrase);
|
|
331
|
-
this.complete(remote, remoteDigest, 'downloaded', gist.version);
|
|
346
|
+
this.complete(remote, remoteDigest, 'downloaded', gist.version, generation);
|
|
332
347
|
}
|
|
333
348
|
else {
|
|
334
349
|
const result = decision === 'merge' ? mergePortableSnapshots(local, remote, this.metadata.deviceId) : local;
|
|
@@ -338,13 +353,13 @@ export class GistSyncService {
|
|
|
338
353
|
}
|
|
339
354
|
if (localDigest !== resultDigest)
|
|
340
355
|
await this.apply(result, passphrase);
|
|
341
|
-
this.complete(result, resultDigest, decision === 'merge' ? 'merged' : 'uploaded', gist.version);
|
|
356
|
+
this.complete(result, resultDigest, decision === 'merge' ? 'merged' : 'uploaded', gist.version, generation);
|
|
342
357
|
}
|
|
343
358
|
await this.persist();
|
|
344
359
|
return this.view();
|
|
345
360
|
}
|
|
346
361
|
catch (error) {
|
|
347
|
-
throw await this.recordFailure(error);
|
|
362
|
+
throw await this.recordFailure(error, generation);
|
|
348
363
|
}
|
|
349
364
|
finally {
|
|
350
365
|
this.running = false;
|
|
@@ -356,19 +371,42 @@ export class GistSyncService {
|
|
|
356
371
|
throw new Error('GitHub 未连接,请先重新授权或保存有效 Token');
|
|
357
372
|
return this.clientFactory(token);
|
|
358
373
|
}
|
|
359
|
-
async recordFailure(error) {
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
if (
|
|
365
|
-
|
|
366
|
-
|
|
374
|
+
async recordFailure(error, generation) {
|
|
375
|
+
let failure = error instanceof Error ? error : new Error(String(error));
|
|
376
|
+
if (generation !== this.authGeneration)
|
|
377
|
+
return failure;
|
|
378
|
+
const token = await this.vault.readToken();
|
|
379
|
+
if (generation !== this.authGeneration)
|
|
380
|
+
return failure;
|
|
381
|
+
// Preserve the original diagnosis when a subsequent manual attempt has no token.
|
|
382
|
+
if (token === undefined && this.metadata.lastError !== undefined)
|
|
383
|
+
return new Error(this.metadata.lastError);
|
|
384
|
+
if (error instanceof GitHubApiError && error.status === 401 && token !== undefined) {
|
|
385
|
+
let paused = false;
|
|
386
|
+
try {
|
|
387
|
+
await this.clientFactory(token).identify();
|
|
388
|
+
failure = new Error('GitHub 请求返回 HTTP 401,但账号授权复核有效;凭据已保留,请重试', { cause: error });
|
|
389
|
+
}
|
|
390
|
+
catch (verificationError) {
|
|
391
|
+
paused = verificationError instanceof GitHubApiError && verificationError.status === 401;
|
|
392
|
+
failure = new Error(paused
|
|
393
|
+
? 'GitHub 授权复核返回 HTTP 401,自动同步已暂停;凭据已保留,请测试连接或重新连接 GitHub'
|
|
394
|
+
: `GitHub 请求返回 HTTP 401,授权复核未完成;凭据已保留,请重试。${verificationError instanceof Error ? verificationError.message : '复核请求失败'}`, { cause: error });
|
|
395
|
+
}
|
|
396
|
+
if (generation !== this.authGeneration)
|
|
397
|
+
return failure;
|
|
398
|
+
this.metadata.authPaused = paused;
|
|
367
399
|
}
|
|
368
400
|
this.metadata.lastError = failure.message;
|
|
401
|
+
this.metadata.lastErrorAt = Date.now();
|
|
369
402
|
await this.persist().catch(() => { });
|
|
370
403
|
return failure;
|
|
371
404
|
}
|
|
405
|
+
clearAuthFailure() {
|
|
406
|
+
delete this.metadata.lastError;
|
|
407
|
+
delete this.metadata.lastErrorAt;
|
|
408
|
+
delete this.metadata.authPaused;
|
|
409
|
+
}
|
|
372
410
|
async encryptionPassphrase() {
|
|
373
411
|
const passphrase = await this.vault.readEncryptionPassphrase();
|
|
374
412
|
if (passphrase === undefined)
|
|
@@ -450,14 +488,15 @@ export class GistSyncService {
|
|
|
450
488
|
await this.credentials.replaceProxyEntry(id, value);
|
|
451
489
|
}
|
|
452
490
|
}
|
|
453
|
-
complete(snapshot, digest, result, cloudVersion) {
|
|
491
|
+
complete(snapshot, digest, result, cloudVersion, generation) {
|
|
454
492
|
this.metadata.tombstones = structuredClone(snapshot.tombstones);
|
|
455
493
|
this.metadata.lastSyncedDigest = digest;
|
|
456
494
|
this.metadata.lastSyncAt = Date.now();
|
|
457
495
|
this.metadata.lastResult = result;
|
|
458
496
|
if (cloudVersion !== undefined)
|
|
459
497
|
this.metadata.lastCloudVersion = cloudVersion;
|
|
460
|
-
|
|
498
|
+
if (generation === this.authGeneration)
|
|
499
|
+
this.clearAuthFailure();
|
|
461
500
|
}
|
|
462
501
|
onStoreChanged(previous, next) {
|
|
463
502
|
if (this.applying)
|
|
@@ -502,10 +541,12 @@ export class GistSyncService {
|
|
|
502
541
|
this.pullTimer.unref?.();
|
|
503
542
|
}
|
|
504
543
|
async runAutomaticSync() {
|
|
544
|
+
if (this.metadata.authPaused)
|
|
545
|
+
return;
|
|
505
546
|
const configured = await this.vault.configured();
|
|
506
547
|
if (!configured.token || !configured.encryption)
|
|
507
548
|
return;
|
|
508
|
-
await this.sync();
|
|
549
|
+
await this.sync(true);
|
|
509
550
|
}
|
|
510
551
|
persist() {
|
|
511
552
|
const value = structuredClone(this.metadata);
|
|
@@ -667,6 +708,8 @@ async function readMetadata(path) {
|
|
|
667
708
|
...(typeof input.lastSyncAt === 'number' ? { lastSyncAt: input.lastSyncAt } : {}),
|
|
668
709
|
...(input.lastResult === 'uploaded' || input.lastResult === 'downloaded' || input.lastResult === 'merged' || input.lastResult === 'unchanged' ? { lastResult: input.lastResult } : {}),
|
|
669
710
|
...(typeof input.lastError === 'string' ? { lastError: input.lastError } : {}),
|
|
711
|
+
...(typeof input.lastErrorAt === 'number' && Number.isFinite(input.lastErrorAt) ? { lastErrorAt: input.lastErrorAt } : {}),
|
|
712
|
+
...(input.authPaused === true ? { authPaused: true } : {}),
|
|
670
713
|
...(typeof input.githubLogin === 'string' ? { githubLogin: text(input.githubLogin, 'githubLogin', 1, 100) } : {}),
|
|
671
714
|
...(typeof input.lastCloudVersion === 'string' ? { lastCloudVersion: revision(input.lastCloudVersion) } : {}),
|
|
672
715
|
};
|