@lemoncat7/dsh-partner 1.13.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -2
- package/docs/architecture.md +3 -0
- package/docs/releases/1.14.0.md +24 -0
- package/docs/releases/1.14.1.md +11 -0
- package/lib/agent-runtime.d.ts +23 -2
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +45 -282
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api.js +34 -2
- package/lib/api.js.map +1 -1
- package/lib/autonomy.d.ts.map +1 -1
- package/lib/autonomy.js +13 -5
- package/lib/autonomy.js.map +1 -1
- package/lib/client-api.d.ts +8 -1
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.js +1790 -1402
- package/lib/client.js.map +4 -4
- package/lib/companions/session-recovery.d.ts +7 -0
- package/lib/companions/session-recovery.d.ts.map +1 -0
- package/lib/companions/session-recovery.js +22 -0
- package/lib/companions/session-recovery.js.map +1 -0
- package/lib/concern-domain.d.ts +9 -0
- package/lib/concern-domain.d.ts.map +1 -1
- package/lib/concern-domain.js.map +1 -1
- package/lib/concern-recording.d.ts +20 -0
- package/lib/concern-recording.d.ts.map +1 -0
- package/lib/concern-recording.js +37 -0
- package/lib/concern-recording.js.map +1 -0
- package/lib/concern-store.d.ts +20 -1
- package/lib/concern-store.d.ts.map +1 -1
- package/lib/concern-store.js +170 -1
- package/lib/concern-store.js.map +1 -1
- package/lib/heartbeat.d.ts +16 -0
- package/lib/heartbeat.d.ts.map +1 -1
- package/lib/heartbeat.js +97 -9
- package/lib/heartbeat.js.map +1 -1
- package/lib/memory-errors.d.ts +6 -0
- package/lib/memory-errors.d.ts.map +1 -0
- package/lib/memory-errors.js +12 -0
- package/lib/memory-errors.js.map +1 -0
- package/lib/memory-journal.js +4 -4
- package/lib/memory-journal.js.map +1 -1
- package/lib/memory-reflection.d.ts.map +1 -1
- package/lib/memory-reflection.js +11 -3
- package/lib/memory-reflection.js.map +1 -1
- package/lib/memory-store.d.ts +4 -0
- package/lib/memory-store.d.ts.map +1 -1
- package/lib/memory-store.js +11 -3
- package/lib/memory-store.js.map +1 -1
- package/lib/observation-budget.d.ts +9 -0
- package/lib/observation-budget.d.ts.map +1 -0
- package/lib/observation-budget.js +9 -0
- package/lib/observation-budget.js.map +1 -0
- package/lib/observation-errors.d.ts +21 -0
- package/lib/observation-errors.d.ts.map +1 -0
- package/lib/observation-errors.js +36 -0
- package/lib/observation-errors.js.map +1 -0
- package/lib/observation-executor.d.ts +7 -0
- package/lib/observation-executor.d.ts.map +1 -0
- package/lib/observation-executor.js +23 -0
- package/lib/observation-executor.js.map +1 -0
- package/lib/observation-loop.d.ts +17 -0
- package/lib/observation-loop.d.ts.map +1 -0
- package/lib/observation-loop.js +180 -0
- package/lib/observation-loop.js.map +1 -0
- package/lib/recording-snapshot.d.ts +11 -0
- package/lib/recording-snapshot.d.ts.map +1 -0
- package/lib/recording-snapshot.js +19 -0
- package/lib/recording-snapshot.js.map +1 -0
- package/lib/ui/memory/concern-board.d.ts +4 -2
- package/lib/ui/memory/concern-board.d.ts.map +1 -1
- package/lib/ui/memory/concern-board.js +17 -6
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts +12 -0
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -0
- package/lib/ui/memory/concern-deletion.js +43 -0
- package/lib/ui/memory/concern-deletion.js.map +1 -0
- package/lib/ui/memory/concern-editor.d.ts +8 -0
- package/lib/ui/memory/concern-editor.d.ts.map +1 -0
- package/lib/ui/memory/concern-editor.js +37 -0
- package/lib/ui/memory/concern-editor.js.map +1 -0
- package/lib/ui/memory/concern-panel.d.ts.map +1 -1
- package/lib/ui/memory/concern-panel.js +51 -12
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/lib/ui/memory/concern-record-fields.d.ts +10 -0
- package/lib/ui/memory/concern-record-fields.d.ts.map +1 -0
- package/lib/ui/memory/concern-record-fields.js +7 -0
- package/lib/ui/memory/concern-record-fields.js.map +1 -0
- package/lib/ui/memory/job-feedback.d.ts +5 -0
- package/lib/ui/memory/job-feedback.d.ts.map +1 -0
- package/lib/ui/memory/job-feedback.js +7 -0
- package/lib/ui/memory/job-feedback.js.map +1 -0
- package/lib/ui/memory/memory-panel.d.ts.map +1 -1
- package/lib/ui/memory/memory-panel.js +4 -2
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/memory/record-target-picker.d.ts +7 -0
- package/lib/ui/memory/record-target-picker.d.ts.map +1 -0
- package/lib/ui/memory/record-target-picker.js +33 -0
- package/lib/ui/memory/record-target-picker.js.map +1 -0
- package/lib/ui/memory/types.d.ts +4 -0
- package/lib/ui/memory/types.d.ts.map +1 -1
- package/package.json +3 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useRef, useState } from 'react';
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { IconRefreshOutline16 } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
4
4
|
import { api } from '../../client-api.js';
|
|
5
5
|
import { WorkspaceHero, WorkspaceNotice, CollectionEmpty, errorMessage } from '../workspace-components.js';
|
|
@@ -13,13 +13,48 @@ export function ConcernPanel({ companion, snapshot, onChanged }) {
|
|
|
13
13
|
const [settings, setSettings] = useState(false);
|
|
14
14
|
const [value, setValue] = useState('');
|
|
15
15
|
const [busy, setBusy] = useState(false);
|
|
16
|
+
const [checking, setChecking] = useState(false);
|
|
17
|
+
const awaitingCheck = useRef(false);
|
|
18
|
+
const refresh = useRef({ onChanged, reload: resource.reload });
|
|
19
|
+
refresh.current = { onChanged, reload: resource.reload };
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
let disposed = false;
|
|
22
|
+
let timer;
|
|
23
|
+
const controller = new AbortController();
|
|
24
|
+
awaitingCheck.current = false;
|
|
25
|
+
setChecking(false);
|
|
26
|
+
const poll = async () => {
|
|
27
|
+
try {
|
|
28
|
+
if (document.hidden)
|
|
29
|
+
return;
|
|
30
|
+
const status = await api(`${base}/heartbeat/status`, { signal: controller.signal });
|
|
31
|
+
if (disposed)
|
|
32
|
+
return;
|
|
33
|
+
setChecking(status.running);
|
|
34
|
+
if (awaitingCheck.current && !status.running) {
|
|
35
|
+
awaitingCheck.current = false;
|
|
36
|
+
setNotice(status.result?.reason ?? (status.result?.sent ? '检查完成,已发送提醒' : '检查已结束,请查看关注活动'));
|
|
37
|
+
await Promise.all([refresh.current.onChanged(), refresh.current.reload()]);
|
|
38
|
+
}
|
|
39
|
+
if (status.running)
|
|
40
|
+
awaitingCheck.current = true;
|
|
41
|
+
}
|
|
42
|
+
catch { /* A transient status failure must not restart a background task. */ }
|
|
43
|
+
finally {
|
|
44
|
+
if (!disposed)
|
|
45
|
+
timer = setTimeout(() => { void poll(); }, 3000);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
void poll();
|
|
49
|
+
return () => { disposed = true; controller.abort(); clearTimeout(timer); };
|
|
50
|
+
}, [base]);
|
|
16
51
|
const lock = useRef(false);
|
|
17
52
|
const [notice, setNotice] = useState();
|
|
18
53
|
const [error, setError] = useState();
|
|
19
54
|
const heartbeat = snapshot.heartbeatStates.find(item => item.companionId === companion.id);
|
|
20
55
|
const run = async (action) => {
|
|
21
56
|
if (lock.current)
|
|
22
|
-
return;
|
|
57
|
+
return false;
|
|
23
58
|
lock.current = true;
|
|
24
59
|
setBusy(true);
|
|
25
60
|
setError(undefined);
|
|
@@ -27,9 +62,11 @@ export function ConcernPanel({ companion, snapshot, onChanged }) {
|
|
|
27
62
|
try {
|
|
28
63
|
setNotice(await action());
|
|
29
64
|
await resource.reload();
|
|
65
|
+
return true;
|
|
30
66
|
}
|
|
31
67
|
catch (reason) {
|
|
32
68
|
setError(errorMessage(reason));
|
|
69
|
+
return false;
|
|
33
70
|
}
|
|
34
71
|
finally {
|
|
35
72
|
lock.current = false;
|
|
@@ -38,9 +75,13 @@ export function ConcernPanel({ companion, snapshot, onChanged }) {
|
|
|
38
75
|
};
|
|
39
76
|
const check = (concernId) => {
|
|
40
77
|
void run(async () => {
|
|
78
|
+
if (checking)
|
|
79
|
+
return '心跳正在执行,请等待本轮结果';
|
|
41
80
|
const result = await api(`${base}/heartbeat/trigger`, { method: 'POST', body: JSON.stringify(concernId ? { concernId } : {}) });
|
|
81
|
+
setChecking(result.running);
|
|
82
|
+
awaitingCheck.current = result.running;
|
|
42
83
|
await onChanged();
|
|
43
|
-
return result.
|
|
84
|
+
return result.reason ?? '已开始后台检查,可离开此页面,结果会保留在关注活动中';
|
|
44
85
|
});
|
|
45
86
|
};
|
|
46
87
|
const act = (item, action) => {
|
|
@@ -49,14 +90,12 @@ export function ConcernPanel({ companion, snapshot, onChanged }) {
|
|
|
49
90
|
return ({ watch: '已恢复留意', ignore: '不再关注这件事', prioritize: '已提高关注', resolve: '已标记解决' })[action];
|
|
50
91
|
});
|
|
51
92
|
};
|
|
52
|
-
return _jsxs("div", { className: "dsh-partner-memory-page is-concerns", children: [_jsx(WorkspaceHero, { eyebrow: "ONGOING WATCHES", title: "\u6301\u7EED\u5173\u6CE8", detail: "\u53EA\u7559\u610F\u9700\u8981\u7EE7\u7EED\u89C2\u5BDF\u7684\u4E8B\uFF0C\u6709\u503C\u5F97\u544A\u8BC9\u4F60\u7684\u53D8\u5316\u65F6\u518D\u51FA\u73B0\u3002", actions: _jsxs(_Fragment, { children: [_jsx("button", { type: "button", disabled: busy, onClick: () => check(), children:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
});
|
|
60
|
-
} }), settings && _jsx(AutomationSettings, { companion: companion, kind: "heartbeat", close: () => setSettings(false), onChanged: onChanged })] });
|
|
93
|
+
return _jsxs("div", { className: "dsh-partner-memory-page is-concerns", children: [_jsx(WorkspaceHero, { eyebrow: "ONGOING WATCHES", title: "\u6301\u7EED\u5173\u6CE8", detail: "\u53EA\u7559\u610F\u9700\u8981\u7EE7\u7EED\u89C2\u5BDF\u7684\u4E8B\uFF0C\u6709\u503C\u5F97\u544A\u8BC9\u4F60\u7684\u53D8\u5316\u65F6\u518D\u51FA\u73B0\u3002", actions: _jsxs(_Fragment, { children: [_jsx("button", { type: "button", disabled: busy || checking, "aria-busy": checking, onClick: () => check(), children: checking ? '后台检查中…' : '检查到期项' }), _jsx("button", { type: "button", onClick: () => setSettings(true), children: "\u5173\u6CE8\u8BBE\u7F6E" })] }) }), _jsxs("div", { className: "dsh-partner-memory-status", children: [_jsx("span", { children: companion.automation.heartbeat.enabled ? '持续感知已开启' : '持续感知已暂停' }), _jsxs("small", { children: ["\u6700\u8FD1\u68C0\u67E5\uFF1A", heartbeat?.lastCheckedAt ? relativeTime(heartbeat.lastCheckedAt) : '尚未', " \u00B7 \u4ECA\u65E5\u63D0\u9192 ", heartbeat?.sentCount ?? 0, " \u6B21"] }), _jsx("button", { type: "button", disabled: resource.loading, "aria-label": "\u5237\u65B0\u5173\u6CE8", onClick: () => { void resource.reload(); }, children: _jsx(IconRefreshOutline16, { size: 16 }) })] }), (error || resource.error || heartbeat?.lastError) && _jsx(WorkspaceNotice, { children: error || resource.error || heartbeat?.lastError }), notice && _jsx(WorkspaceNotice, { kind: "success", children: notice }), !resource.data ? _jsx(CollectionEmpty, { title: resource.error ? '关注读取失败' : '正在读取关注', action: resource.error ? _jsx("button", { type: "button", onClick: () => { void resource.reload(); }, children: "\u91CD\u8BD5" }) : undefined }) : _jsx(ConcernBoard, { companionId: companion.id, activity: resource.data, onEdited: resource.reload, value: value, busy: busy || checking, onValue: setValue, onCheck: item => check(item.id), onAct: act, onAdd: (recordTarget, reason) => run(async () => {
|
|
94
|
+
if (!value.trim())
|
|
95
|
+
return '请填写需要持续关注的事情';
|
|
96
|
+
await api(`${base}/concerns`, { method: 'POST', body: JSON.stringify({ subject: value.trim(), reason, recordTarget }) });
|
|
97
|
+
setValue('');
|
|
98
|
+
return '已加入持续关注';
|
|
99
|
+
}) }), settings && _jsx(AutomationSettings, { companion: companion, kind: "heartbeat", close: () => setSettings(false), onChanged: onChanged })] });
|
|
61
100
|
}
|
|
62
101
|
//# sourceMappingURL=concern-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concern-panel.js","sourceRoot":"","sources":["../../../src/ui/memory/concern-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"concern-panel.js","sourceRoot":"","sources":["../../../src/ui/memory/concern-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ConcernRecordTargetView } from '../../client-api.js';
|
|
2
|
+
/** Shared by creation and editing, so recording semantics stay consistent. */
|
|
3
|
+
export declare function ConcernRecordFields({ companionId, reason, onReason, target, onTarget }: {
|
|
4
|
+
companionId: string;
|
|
5
|
+
reason: string;
|
|
6
|
+
onReason(value: string): void;
|
|
7
|
+
target: ConcernRecordTargetView | undefined;
|
|
8
|
+
onTarget(value?: ConcernRecordTargetView): void;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=concern-record-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concern-record-fields.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/concern-record-fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AAGhE,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,EAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC,EAAE;IACrF,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAClE,MAAM,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAA;CAC7F,2CAKA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { RecordTargetPicker } from './record-target-picker.js';
|
|
3
|
+
/** Shared by creation and editing, so recording semantics stay consistent. */
|
|
4
|
+
export function ConcernRecordFields({ companionId, reason, onReason, target, onTarget }) {
|
|
5
|
+
return _jsxs(_Fragment, { children: [_jsxs("label", { children: [_jsx("span", { children: "\u6267\u884C\u8BF4\u660E\u4E0E\u8BB0\u5F55\u683C\u5F0F" }), _jsx("textarea", { rows: 5, value: reason, maxLength: 800, onChange: event => onReason(event.target.value), placeholder: "\u4F8B\u5982\uFF1A\u6309\u7167\u5173\u8054\u6587\u6863\u68C0\u67E5\uFF1B\u7ED3\u679C\u6309\u65E5\u671F\u6574\u7406\u6210\u8868\u683C\uFF0C\u66F4\u65B0\u5BF9\u5E94\u6761\u76EE\uFF0C\u4FDD\u7559\u4EBA\u5DE5\u5907\u6CE8\u3002" }), _jsx("small", { children: "\u8BF4\u660E\u5982\u4F55\u68C0\u67E5\u3001\u4F55\u65F6\u63D0\u9192\uFF0C\u4EE5\u53CA\u7ED3\u679C\u5982\u4F55\u6574\u7406\u3002\u53EF\u7559\u7A7A\uFF0C\u6700\u591A 800 \u5B57\u3002" })] }), _jsx(RecordTargetPicker, { companionId: companionId, value: target, onChange: onTarget })] });
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=concern-record-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concern-record-fields.js","sourceRoot":"","sources":["../../../src/ui/memory/concern-record-fields.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAA;AAE5D,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,EAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAGnF;IACC,OAAO,8BACL,4BAAO,oFAAsB,EAAA,mBAAU,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAC,gOAAuC,GAAG,EAAA,kNAAiD,IAAQ,EAC/O,KAAC,kBAAkB,IAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAI,IAClF,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-feedback.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/job-feedback.tsx"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,EAAE;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,kDAGlF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export function MemoryJobFeedback({ status, error }) {
|
|
3
|
+
if (!error)
|
|
4
|
+
return null;
|
|
5
|
+
return _jsxs("small", { className: "dsh-partner-memory-job-error", children: ["\u4E0A\u6B21\u5931\u8D25\uFF1A", error, status === 'processing' ? '(当前正在重试,本轮尚未结束)' : ''] });
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=job-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-feedback.js","sourceRoot":"","sources":["../../../src/ui/memory/job-feedback.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,iBAAiB,CAAC,EAAC,MAAM,EAAE,KAAK,EAAmC;IACjF,IAAG,CAAC,KAAK;QAAC,OAAO,IAAI,CAAA;IACrB,OAAO,iBAAO,SAAS,EAAC,8BAA8B,+CAAO,KAAK,EAAE,MAAM,KAAG,YAAY,CAAA,CAAC,CAAA,iBAAiB,CAAA,CAAC,CAAA,EAAE,IAAS,CAAA;AACzH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-panel.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/memory-panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAM,KAAK,aAAa,EAAE,KAAK,eAAe,EAAC,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"memory-panel.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/memory-panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAM,KAAK,aAAa,EAAE,KAAK,eAAe,EAAC,MAAM,qBAAqB,CAAA;AAQjF,wBAAgB,WAAW,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAC,EAAE;IACrG,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3H,GAAG,GAAG,CAAC,OAAO,CAqCd"}
|
|
@@ -6,6 +6,7 @@ import { WorkspaceHero, WorkspaceNotice, CollectionEmpty, errorMessage } from '.
|
|
|
6
6
|
import { MemoryLibrary } from './memory-library.js';
|
|
7
7
|
import { AutomationSettings } from './automation-settings.js';
|
|
8
8
|
import { useMemoryResource } from './use-memory-resource.js';
|
|
9
|
+
import { MemoryJobFeedback } from './job-feedback.js';
|
|
9
10
|
export function MemoryPanel({ companion, snapshot, openSession, startSession, renewSession, onChanged }) {
|
|
10
11
|
const sessions = snapshot.sessions.filter(item => item.companionId === companion.id).sort((a, b) => Number(b.kind === 'local') - Number(a.kind === 'local') || b.lastMessageAt - a.lastMessageAt);
|
|
11
12
|
const [requestedScope, setScope] = useState('');
|
|
@@ -41,8 +42,9 @@ export function MemoryPanel({ companion, snapshot, openSession, startSession, re
|
|
|
41
42
|
setBusy(false);
|
|
42
43
|
}
|
|
43
44
|
};
|
|
44
|
-
const retries = layers.data?.jobs.filter(job => job.status === 'retrying').length ?? 0;
|
|
45
|
+
const retries = layers.data?.retryCount ?? layers.data?.jobs.filter(job => job.status === 'retrying').length ?? 0;
|
|
46
|
+
const [showAllJobs, setShowAllJobs] = useState(false);
|
|
45
47
|
const scopes = collection.data?.profiles ?? [];
|
|
46
|
-
return _jsxs("div", { className: "dsh-partner-memory-page", children: [_jsx(WorkspaceHero, { eyebrow: "MEMORY & CONTEXT", title: "\u8BB0\u5FC6\u5E93", detail: "\u77E5\u9053\u8BB0\u4F4F\u4E86\u4EC0\u4E48\u3001\u4F9D\u636E\u662F\u4EC0\u4E48\uFF0C\u4E5F\u80FD\u7EA0\u6B63\u5DF2\u7ECF\u8FC7\u65F6\u7684\u7406\u89E3\u3002", actions: _jsx("button", { type: "button", onClick: () => setSettings(true), children: "\u8BB0\u5FC6\u8BBE\u7F6E" }) }), _jsxs("div", { className: "dsh-partner-memory-context", children: [_jsxs("label", { children: [_jsx("span", { children: "\u5F53\u524D\u8054\u7CFB\u4EBA" }), _jsxs("select", { "aria-label": "\u5F53\u524D\u8054\u7CFB\u4EBA", value: scopeId, onChange: event => { setScope(event.target.value); setError(undefined); setNotice(undefined); }, children: [!scopes.length && _jsx("option", { value: scopeId, children: scopeId ? '本地对话' : '暂无联系人' }), scopes.map(profile => _jsx("option", { value: profile.scopeId, children: sessions.some(session => session.kind === 'local' && `${session.channelId}:${session.userId}` === profile.scopeId) ? '本地对话' : profile.label }, profile.scopeId))] })] }), _jsx("span", { className: "dsh-partner-memory-badge", children: companion.automation.memory.enabled ? '学习已开启' : '学习已暂停' }), _jsx("button", { type: "button", "aria-label": "\u5237\u65B0\u8BB0\u5FC6", disabled: collection.loading || layers.loading, onClick: () => { void reload(); }, children: _jsx(IconRefreshOutline16, { size: 16 }) })] }), (error || collection.error || layers.error) && _jsx(WorkspaceNotice, { children: error || collection.error || layers.error }), notice && _jsx(WorkspaceNotice, { kind: "success", children: notice }), !!layers.data?.jobs.length && _jsxs("details", { className: "dsh-partner-memory-jobs", children: [_jsxs("summary", { children: [
|
|
48
|
+
return _jsxs("div", { className: "dsh-partner-memory-page", children: [_jsx(WorkspaceHero, { eyebrow: "MEMORY & CONTEXT", title: "\u8BB0\u5FC6\u5E93", detail: "\u77E5\u9053\u8BB0\u4F4F\u4E86\u4EC0\u4E48\u3001\u4F9D\u636E\u662F\u4EC0\u4E48\uFF0C\u4E5F\u80FD\u7EA0\u6B63\u5DF2\u7ECF\u8FC7\u65F6\u7684\u7406\u89E3\u3002", actions: _jsx("button", { type: "button", onClick: () => setSettings(true), children: "\u8BB0\u5FC6\u8BBE\u7F6E" }) }), _jsxs("div", { className: "dsh-partner-memory-context", children: [_jsxs("label", { children: [_jsx("span", { children: "\u5F53\u524D\u8054\u7CFB\u4EBA" }), _jsxs("select", { "aria-label": "\u5F53\u524D\u8054\u7CFB\u4EBA", value: scopeId, onChange: event => { setScope(event.target.value); setError(undefined); setNotice(undefined); }, children: [!scopes.length && _jsx("option", { value: scopeId, children: scopeId ? '本地对话' : '暂无联系人' }), scopes.map(profile => _jsx("option", { value: profile.scopeId, children: sessions.some(session => session.kind === 'local' && `${session.channelId}:${session.userId}` === profile.scopeId) ? '本地对话' : profile.label }, profile.scopeId))] })] }), _jsx("span", { className: "dsh-partner-memory-badge", children: companion.automation.memory.enabled ? '学习已开启' : '学习已暂停' }), _jsx("button", { type: "button", "aria-label": "\u5237\u65B0\u8BB0\u5FC6", disabled: collection.loading || layers.loading, onClick: () => { void reload(); }, children: _jsx(IconRefreshOutline16, { size: 16 }) })] }), (error || collection.error || layers.error) && _jsx(WorkspaceNotice, { children: error || collection.error || layers.error }), notice && _jsx(WorkspaceNotice, { kind: "success", children: notice }), !!layers.data?.jobs.length && _jsxs("details", { className: "dsh-partner-memory-jobs", children: [_jsxs("summary", { children: [layers.data.jobCount ?? layers.data.jobs.length, " \u9879\u5C1A\u672A\u6574\u7406 \u00B7 ", retries, " \u9879\u5931\u8D25\u91CD\u8BD5", _jsx("small", { children: "\u539F\u59CB\u5BF9\u8BDD\u5DF2\u4FDD\u5B58\uFF0C\u4E0D\u5F71\u54CD\u7EE7\u7EED\u804A\u5929" })] }), _jsxs("div", { children: [layers.data.jobs.slice(0, showAllJobs ? 100 : 10).map(job => _jsxs("div", { children: [_jsxs("span", { children: [job.at && _jsx("small", { children: new Date(job.at).toLocaleString() }), job.status === 'processing' ? '正在整理' : job.status === 'retrying' ? `已失败 ${job.attempts} 次 · 下次 ${new Date(job.nextAt).toLocaleTimeString()}` : '等待执行,无需重复提交', _jsx(MemoryJobFeedback, { status: job.status, ...(job.error ? { error: job.error } : {}) }), job.attempts >= 3 && job.status === 'retrying' && _jsx("small", { children: "\u9000\u907F\u671F\u95F4\u5141\u8BB8\u540E\u7EED\u4EFB\u52A1\u7EE7\u7EED\u6574\u7406" })] }), job.status === 'retrying' && _jsx("button", { type: "button", disabled: busy, onClick: () => { void run(async () => { await api(`${base}/memory/jobs/${encodeURIComponent(job.id)}?${new URLSearchParams({ scopeId })}`, { method: 'POST' }); }, '已安排重试,当前执行结束后处理'); }, children: "\u91CD\u65B0\u6392\u961F" })] }, job.id)), layers.data.jobs.length > 10 && _jsx("button", { type: "button", onClick: () => setShowAllJobs(!showAllJobs), children: showAllJobs ? '收起' : '显示更多任务' }), (layers.data.jobCount ?? 0) > 100 && _jsx("p", { children: "\u4EC5\u5C55\u793A\u6700\u65E9100\u9879\uFF0C\u5B8C\u6210\u540E\u81EA\u52A8\u8865\u5145\u540E\u7EED\u4EFB\u52A1\u3002" })] })] }), !collection.data ? _jsx(CollectionEmpty, { title: collection.error ? '记忆读取失败' : '正在读取记忆', action: collection.error ? _jsx("button", { type: "button", onClick: () => { void reload(); }, children: "\u91CD\u8BD5" }) : undefined }) : _jsx(MemoryLibrary, { companionId: companion.id, scopeId: scopeId, collection: collection.data, layers: layers.data, changed: reload }, scopeId), _jsxs("details", { className: "dsh-partner-memory-record is-sessions", children: [_jsxs("summary", { children: ["\u4F19\u4F34\u4F1A\u8BDD ", _jsx("small", { children: sessions.length })] }), _jsxs("div", { children: [sessions.map(session => _jsxs("div", { className: "dsh-partner-memory-session", children: [_jsxs("span", { children: [_jsx("strong", { children: session.kind === 'local' ? '本地对话' : `渠道联系人 · ${session.userId.slice(-6)}` }), _jsx("small", { children: session.archived ? '已归档' : '可继续对话' })] }), _jsx("button", { type: "button", disabled: busy, onClick: () => { void run(() => session.archived ? renewSession(session.id) : openSession(session.id, session.sessionId), session.archived ? '新会话已创建' : '会话已打开'); }, children: session.archived ? '新建会话' : '打开会话' })] }, session.id)), !sessions.length && _jsx("button", { type: "button", disabled: busy, onClick: () => { void run(() => startSession(companion.id), '会话已创建'); }, children: "\u5F00\u59CB\u5BF9\u8BDD" })] })] }), settings && _jsx(AutomationSettings, { companion: companion, kind: "memory", close: () => setSettings(false), onChanged: async () => { await onChanged(); await reload(); } })] });
|
|
47
49
|
}
|
|
48
50
|
//# sourceMappingURL=memory-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-panel.js","sourceRoot":"","sources":["../../../src/ui/memory/memory-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAC,GAAG,EAA2C,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAC,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,4BAA4B,CAAA;AACxG,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"memory-panel.js","sourceRoot":"","sources":["../../../src/ui/memory/memory-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ConcernRecordTargetView } from '../../client-api.js';
|
|
2
|
+
export declare function RecordTargetPicker({ companionId, value, onChange }: {
|
|
3
|
+
companionId: string;
|
|
4
|
+
value: ConcernRecordTargetView | undefined;
|
|
5
|
+
onChange(value?: ConcernRecordTargetView): void;
|
|
6
|
+
}): JSX.Element;
|
|
7
|
+
//# sourceMappingURL=record-target-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-target-picker.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/record-target-picker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAEvE,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IACnE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAA;CACjH,GAAG,GAAG,CAAC,OAAO,CA4Bd"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useId, useState } from 'react';
|
|
3
|
+
import { api } from '../../client-api.js';
|
|
4
|
+
export function RecordTargetPicker({ companionId, value, onChange }) {
|
|
5
|
+
const [query, setQuery] = useState('');
|
|
6
|
+
const [open, setOpen] = useState(false);
|
|
7
|
+
const [items, setItems] = useState([]);
|
|
8
|
+
const [error, setError] = useState('');
|
|
9
|
+
const [loading, setLoading] = useState(false);
|
|
10
|
+
const hint = useId();
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!open)
|
|
13
|
+
return;
|
|
14
|
+
const controller = new AbortController();
|
|
15
|
+
setLoading(true);
|
|
16
|
+
setError('');
|
|
17
|
+
const timer = window.setTimeout(() => {
|
|
18
|
+
api(`/companions/${encodeURIComponent(companionId)}/recording-sources?q=${encodeURIComponent(query)}`, { signal: controller.signal })
|
|
19
|
+
.then(result => { if (!controller.signal.aborted)
|
|
20
|
+
setItems(result.items); })
|
|
21
|
+
.catch(() => { if (!controller.signal.aborted) {
|
|
22
|
+
setItems([]);
|
|
23
|
+
setError('记录位置加载失败,请重新搜索');
|
|
24
|
+
} })
|
|
25
|
+
.finally(() => { if (!controller.signal.aborted)
|
|
26
|
+
setLoading(false); });
|
|
27
|
+
}, 180);
|
|
28
|
+
return () => { window.clearTimeout(timer); controller.abort(); };
|
|
29
|
+
}, [companionId, query, open]);
|
|
30
|
+
return _jsxs("section", { className: "dsh-partner-record-picker", "aria-label": "\u9700\u8981\u8BB0\u5F55\u7684\u5730\u65B9", children: [_jsxs("label", { children: [_jsx("span", { children: "\u9700\u8981\u8BB0\u5F55\u7684\u5730\u65B9 \u00B7 \u53EF\u9009" }), _jsx("input", { value: query, "aria-describedby": hint, placeholder: value ? `${value.kind === 'note' ? '笔记' : '文件'} · ${value.label}` : '搜索现有本地文件或笔记文档', onFocus: () => setOpen(true), onChange: event => { setQuery(event.target.value); setOpen(true); }, onKeyDown: event => { if (event.key === 'Escape')
|
|
31
|
+
setOpen(false); } })] }), _jsx("small", { id: hint, className: "dsh-partner-concern-compose-hint", children: "\u7559\u7A7A\uFF1A\u89C2\u5BDF\u7ED3\u679C\u4FDD\u5B58\u5728\u4F19\u4F34\u5185\u90E8\u8BB0\u5F55\uFF0C\u4E0D\u521B\u5EFA\u6587\u6863\u3002\u9009\u62E9\u540E\uFF1A\u53E6\u5916\u6574\u7406\u5230\u6B64\u6587\u4EF6\u6216\u7B14\u8BB0\uFF1B\u68C0\u67E5\u4F9D\u636E\u59CB\u7EC8\u53EA\u8BFB\u3002" }), value && _jsxs("p", { className: "dsh-partner-record-selection", children: ["\u5DF2\u9009\u62E9\uFF1A", value.label, _jsx("button", { type: "button", onClick: () => { onChange(undefined); setQuery(''); }, children: "\u53D6\u6D88\u8BB0\u5F55" })] }), open && _jsxs("div", { className: "dsh-partner-record-options", "aria-label": "\u53EF\u9009\u8BB0\u5F55\u4F4D\u7F6E", children: [loading ? _jsx("p", { role: "status", children: "\u6B63\u5728\u67E5\u627E\u2026" }) : error ? _jsx("p", { role: "alert", children: error }) : items.length === 0 ? _jsx("p", { children: "\u6CA1\u6709\u53EF\u7528\u4F4D\u7F6E\uFF0C\u8BF7\u5148\u521B\u5EFA\u6587\u4EF6\u6216\u7B14\u8BB0\u3002" }) : items.map(item => _jsxs("button", { type: "button", "aria-pressed": value?.kind === item.kind && value.locator === item.locator, onClick: () => { onChange(item); setQuery(''); setOpen(false); }, children: [_jsx("small", { children: item.kind === 'file' ? '本地文件' : '笔记文档' }), _jsx("span", { children: item.label })] }, `${item.kind}:${item.locator}`)), _jsx("button", { type: "button", onClick: () => setOpen(false), children: "\u6536\u8D77\u5019\u9009" })] })] });
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=record-target-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-target-picker.js","sourceRoot":"","sources":["../../../src/ui/memory/record-target-picker.tsx"],"names":[],"mappings":"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"}
|
package/lib/ui/memory/types.d.ts
CHANGED
|
@@ -26,11 +26,15 @@ export interface ExperienceView {
|
|
|
26
26
|
export interface MemoryLayers {
|
|
27
27
|
scenes: SceneView[];
|
|
28
28
|
experiences: ExperienceView[];
|
|
29
|
+
jobCount?: number;
|
|
30
|
+
retryCount?: number;
|
|
29
31
|
jobs: Array<{
|
|
30
32
|
id: string;
|
|
31
33
|
status: string;
|
|
32
34
|
attempts: number;
|
|
33
35
|
nextAt: number;
|
|
36
|
+
at?: number;
|
|
37
|
+
error?: string;
|
|
34
38
|
}>;
|
|
35
39
|
}
|
|
36
40
|
export interface HistoryTurn {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AACjG,MAAM,WAAW,gBAAgB;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAA;CAAC;AACnI,MAAM,WAAW,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;AAC/G,MAAM,WAAW,cAAc;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;AAC7M,MAAM,WAAW,YAAY;IAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAA;AACjG,MAAM,WAAW,gBAAgB;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAA;CAAC;AACnI,MAAM,WAAW,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;AAC/G,MAAM,WAAW,cAAc;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;AAC7M,MAAM,WAAW,YAAY;IAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,WAAW,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC;AACpO,MAAM,WAAW,WAAW;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC;AACtF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAA;AAC7G,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAuE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-partner",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.1",
|
|
4
4
|
"description": "Long-lived AI companions with WeChat channel routing for DeepSeek Harness",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
"docs/architecture.md",
|
|
34
34
|
"docs/memory-quality.md",
|
|
35
35
|
"docs/releases/1.12.0.md",
|
|
36
|
+
"docs/releases/1.14.0.md",
|
|
37
|
+
"docs/releases/1.14.1.md",
|
|
36
38
|
"docs/THIRD_PARTY_LICENSES.md",
|
|
37
39
|
"README.md",
|
|
38
40
|
"LICENSE"
|