@lemoncat7/dsh-knowledge 2.9.3 → 2.9.5
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 +4 -0
- package/docs/dsh-015-compatibility.md +21 -0
- package/docs/releases/2.9.5.md +11 -0
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +295 -743
- package/lib/client.js.map +4 -4
- package/lib/docked-panel-compat.d.ts +13 -0
- package/lib/docked-panel-compat.d.ts.map +1 -0
- package/lib/docked-panel-compat.js +116 -0
- package/lib/docked-panel-compat.js.map +1 -0
- package/lib/knowledge-activity-controller.d.ts.map +1 -1
- package/lib/knowledge-activity-controller.js +36 -0
- package/lib/knowledge-activity-controller.js.map +1 -1
- package/lib/knowledge-activity-state.d.ts +2 -2
- package/lib/knowledge-activity-state.d.ts.map +1 -1
- package/lib/knowledge-activity-state.js +5 -3
- package/lib/knowledge-activity-state.js.map +1 -1
- package/lib/main-panel-compat.d.ts +5 -0
- package/lib/main-panel-compat.d.ts.map +1 -0
- package/lib/main-panel-compat.js +38 -0
- package/lib/main-panel-compat.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
3
|
+
type PanelProps = PropsRuntime<'details'>;
|
|
4
|
+
/** The new host owns session persistence, docking and tab closure. */
|
|
5
|
+
export declare function supportsDockedPanels(ctx: Context): boolean;
|
|
6
|
+
export declare function createDockedPanel(ctx: Context, id: string, title: string, render: (props: PanelProps) => JSX.Element, notify: () => void): {
|
|
7
|
+
open(sessionId: string): void;
|
|
8
|
+
close(sessionId: string): void;
|
|
9
|
+
isOpen(sessionId: string): boolean;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=docked-panel-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docked-panel-compat.d.ts","sourceRoot":"","sources":["../src/docked-panel-compat.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAGpE,KAAK,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;AAMzC,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,EAC1C,MAAM,EAAE,MAAM,IAAI;oBAkDA,MAAM,GAAG,IAAI;qBAwBZ,MAAM,GAAG,IAAI;sBAMZ,MAAM,GAAG,OAAO;eAGvB,IAAI;EAQlB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
/** The new host owns session persistence, docking and tab closure. */
|
|
3
|
+
export function supportsDockedPanels(ctx) {
|
|
4
|
+
return typeof ctx.layout.selectPanel === 'function';
|
|
5
|
+
}
|
|
6
|
+
export function createDockedPanel(ctx, id, title, render, notify) {
|
|
7
|
+
const records = new Map();
|
|
8
|
+
let pending;
|
|
9
|
+
let frame;
|
|
10
|
+
let disposed = false;
|
|
11
|
+
let sidebar;
|
|
12
|
+
const cancel = () => {
|
|
13
|
+
if (frame !== undefined)
|
|
14
|
+
window.cancelAnimationFrame(frame);
|
|
15
|
+
frame = undefined;
|
|
16
|
+
pending = undefined;
|
|
17
|
+
};
|
|
18
|
+
function Body(props) {
|
|
19
|
+
const { tab } = props.useTabInfo();
|
|
20
|
+
const sessionId = String(props.sessionId);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
let entries = records.get(sessionId);
|
|
23
|
+
if (entries === undefined) {
|
|
24
|
+
entries = new Map();
|
|
25
|
+
records.set(sessionId, entries);
|
|
26
|
+
}
|
|
27
|
+
const entry = { visible: tab.visible, close: () => tab.actions.close() };
|
|
28
|
+
entries.set(tab.id, entry);
|
|
29
|
+
const remove = () => {
|
|
30
|
+
if (entries?.get(tab.id) !== entry)
|
|
31
|
+
return;
|
|
32
|
+
entries.delete(tab.id);
|
|
33
|
+
if (entries.size === 0)
|
|
34
|
+
records.delete(sessionId);
|
|
35
|
+
notify();
|
|
36
|
+
};
|
|
37
|
+
tab.signal.addEventListener('abort', remove, { once: true });
|
|
38
|
+
notify();
|
|
39
|
+
return () => {
|
|
40
|
+
tab.signal.removeEventListener('abort', remove);
|
|
41
|
+
remove();
|
|
42
|
+
};
|
|
43
|
+
}, [sessionId, tab.id, tab.visible, tab.signal]);
|
|
44
|
+
// Hidden tabs must not keep terminal polling and document fetching alive.
|
|
45
|
+
return tab.visible ? render(props) : null;
|
|
46
|
+
}
|
|
47
|
+
const fiber = ctx.inject(['sidebarRight', 'sidebarRightTabs'], child => {
|
|
48
|
+
sidebar = child.get('sidebarRight');
|
|
49
|
+
const registry = child.get('sidebarRightTabs');
|
|
50
|
+
const slots = child.slots;
|
|
51
|
+
child.effect(() => registry.register({ id, kind: id, title: () => title }), id + ': tab type');
|
|
52
|
+
child.effect(() => slots.inject('sidebar.right.pane.tab', () => slots.register({
|
|
53
|
+
name: 'sidebar.right.pane.tab', key: id,
|
|
54
|
+
}, Body)), id + ': tab body');
|
|
55
|
+
child.effect(() => () => { sidebar = undefined; }, id + ': tab service');
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
open(sessionId) {
|
|
59
|
+
cancel();
|
|
60
|
+
pending = sessionId;
|
|
61
|
+
// Closing a main panel remounts the conversation seat on the next commit.
|
|
62
|
+
// Do not issue a right-tab command against a stale/unmounted seat.
|
|
63
|
+
let attempts = 0;
|
|
64
|
+
const reveal = () => {
|
|
65
|
+
frame = undefined;
|
|
66
|
+
if (disposed || pending !== sessionId)
|
|
67
|
+
return;
|
|
68
|
+
const sessions = ctx.get('sessions');
|
|
69
|
+
if (String(sessions.list.getSnapshot().current) !== sessionId) {
|
|
70
|
+
cancel();
|
|
71
|
+
notify();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
if (sidebar === undefined)
|
|
76
|
+
throw new Error('Right sidebar is not ready');
|
|
77
|
+
sidebar.openTab(id);
|
|
78
|
+
pending = undefined;
|
|
79
|
+
notify();
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
if (++attempts < 30)
|
|
83
|
+
frame = window.requestAnimationFrame(reveal);
|
|
84
|
+
else {
|
|
85
|
+
cancel();
|
|
86
|
+
notify();
|
|
87
|
+
console.error(title + ': could not open sidebar', error);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
frame = window.requestAnimationFrame(reveal);
|
|
92
|
+
notify();
|
|
93
|
+
},
|
|
94
|
+
close(sessionId) {
|
|
95
|
+
if (pending === sessionId)
|
|
96
|
+
cancel();
|
|
97
|
+
for (const entry of [...(records.get(sessionId)?.values() ?? [])])
|
|
98
|
+
entry.close();
|
|
99
|
+
records.delete(sessionId);
|
|
100
|
+
notify();
|
|
101
|
+
},
|
|
102
|
+
isOpen(sessionId) {
|
|
103
|
+
return pending === sessionId || [...(records.get(sessionId)?.values() ?? [])].some(entry => entry.visible);
|
|
104
|
+
},
|
|
105
|
+
dispose() {
|
|
106
|
+
disposed = true;
|
|
107
|
+
cancel();
|
|
108
|
+
for (const entries of records.values())
|
|
109
|
+
for (const entry of [...entries.values()])
|
|
110
|
+
entry.close();
|
|
111
|
+
records.clear();
|
|
112
|
+
void fiber.dispose();
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=docked-panel-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docked-panel-compat.js","sourceRoot":"","sources":["../src/docked-panel-compat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-activity-controller.d.ts","sourceRoot":"","sources":["../src/knowledge-activity-controller.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"knowledge-activity-controller.d.ts","sourceRoot":"","sources":["../src/knowledge-activity-controller.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG1D,YAAY,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAA0B,KAAK,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAEvG,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;IACrE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACpD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IAClC,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,0BAA0B,CAAA;IACxD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,0BAA0B,GAAG,IAAI,CAAA;IACtE,aAAa,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACrD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3C,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE;IACP,UAAU,IAAI,IAAI,CAAA;IAClB,aAAa,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAA;CACtD,GACA,2BAA2B,CA2H7B"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { KnowledgeActivityPanel } from './knowledge-activity-panel.js';
|
|
3
3
|
import { KnowledgeActivityPresentation } from './knowledge-activity-presentation.js';
|
|
4
|
+
import { createDockedPanel, supportsDockedPanels } from './docked-panel-compat.js';
|
|
4
5
|
import { mergeActivitySelection } from './knowledge-activity-state.js';
|
|
5
6
|
export function createKnowledgeActivityController(ctx, options) {
|
|
7
|
+
if (supportsDockedPanels(ctx))
|
|
8
|
+
return createDockedKnowledgeController(ctx, options);
|
|
6
9
|
const runtime = ctx;
|
|
7
10
|
const listeners = new Set();
|
|
8
11
|
const states = new Map();
|
|
@@ -135,4 +138,37 @@ export function createKnowledgeActivityController(ctx, options) {
|
|
|
135
138
|
function normalizeSessionId(value) {
|
|
136
139
|
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
137
140
|
}
|
|
141
|
+
/** New hosts persist right-hand tabs per session; do not remount a global details slot. */
|
|
142
|
+
function createDockedKnowledgeController(ctx, options) {
|
|
143
|
+
const selections = new Map();
|
|
144
|
+
const listeners = new Set();
|
|
145
|
+
const notify = () => { for (const listener of listeners)
|
|
146
|
+
listener(); };
|
|
147
|
+
const current = () => normalizeSessionId(ctx.sessions.list.getSnapshot().current);
|
|
148
|
+
const panel = createDockedPanel(ctx, '@lemoncat7/dsh-knowledge/activity', '知识库', props => _jsx(KnowledgeActivityPanel, { ...props, controller: controller }), notify);
|
|
149
|
+
const controller = {
|
|
150
|
+
open(sessionId, selection) {
|
|
151
|
+
if (selection !== undefined)
|
|
152
|
+
controller.select(sessionId, selection);
|
|
153
|
+
options.beforeOpen();
|
|
154
|
+
panel.open(sessionId);
|
|
155
|
+
},
|
|
156
|
+
toggle(sessionId) { if (panel.isOpen(sessionId))
|
|
157
|
+
controller.close(sessionId);
|
|
158
|
+
else
|
|
159
|
+
controller.open(sessionId); },
|
|
160
|
+
close(sessionId) { const target = sessionId ?? current(); if (target !== undefined)
|
|
161
|
+
panel.close(target); },
|
|
162
|
+
isOpen: panel.isOpen,
|
|
163
|
+
selection: sessionId => selections.get(sessionId) ?? {},
|
|
164
|
+
select(sessionId, selection) {
|
|
165
|
+
selections.set(sessionId, mergeActivitySelection(selections.get(sessionId) ?? {}, selection));
|
|
166
|
+
notify();
|
|
167
|
+
},
|
|
168
|
+
openWorkspace(target) { controller.close(); options.openWorkspace(target); },
|
|
169
|
+
subscribe(listener) { listeners.add(listener); return () => { listeners.delete(listener); }; },
|
|
170
|
+
dispose() { panel.dispose(); selections.clear(); listeners.clear(); },
|
|
171
|
+
};
|
|
172
|
+
return controller;
|
|
173
|
+
}
|
|
138
174
|
//# sourceMappingURL=knowledge-activity-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-activity-controller.js","sourceRoot":"","sources":["../src/knowledge-activity-controller.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"knowledge-activity-controller.js","sourceRoot":"","sources":["../src/knowledge-activity-controller.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SessionListState } from '@deepseek-ai/dsh-api-session-controller/client';
|
|
2
|
-
/**
|
|
3
|
-
export declare function availableActivitySession(state: Pick<SessionListState, 'current' | 'byId'
|
|
2
|
+
/** Legacy details requires content; new docked tabs support a loaded blank session. */
|
|
3
|
+
export declare function availableActivitySession(state: Pick<SessionListState, 'current' | 'byId'>, docked?: boolean): string | undefined;
|
|
4
4
|
export interface KnowledgeActivitySelection {
|
|
5
5
|
mode?: 'knowledge' | 'notes';
|
|
6
6
|
knowledgeBaseId?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-activity-state.d.ts","sourceRoot":"","sources":["../src/knowledge-activity-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AAEtF,
|
|
1
|
+
{"version":3,"file":"knowledge-activity-state.d.ts","sourceRoot":"","sources":["../src/knowledge-activity-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAA;AAEtF,uFAAuF;AACvF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC,EAAE,MAAM,UAAQ,GAAG,MAAM,GAAG,SAAS,CAI9H;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,UAAU,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACnD;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,0BAA0B,EAAE,IAAI,EAAE,0BAA0B,GAAG,0BAA0B,CAMzI"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
export function availableActivitySession(state) {
|
|
1
|
+
/** Legacy details requires content; new docked tabs support a loaded blank session. */
|
|
2
|
+
export function availableActivitySession(state, docked = false) {
|
|
3
3
|
const current = state.current;
|
|
4
|
-
|
|
4
|
+
if (current === undefined || state.byId[current] === undefined)
|
|
5
|
+
return undefined;
|
|
6
|
+
return docked || state.byId[current]?.blank === false ? String(current) : undefined;
|
|
5
7
|
}
|
|
6
8
|
/** A base change cannot carry the previous base's document into the next view. */
|
|
7
9
|
export function mergeActivitySelection(previous, next) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-activity-state.js","sourceRoot":"","sources":["../src/knowledge-activity-state.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"knowledge-activity-state.js","sourceRoot":"","sources":["../src/knowledge-activity-state.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,MAAM,UAAU,wBAAwB,CAAC,KAAiD,EAAE,MAAM,GAAG,KAAK;IACxG,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAChF,OAAO,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrF,CAAC;AAWD,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CAAC,QAAoC,EAAE,IAAgC;IAC3G,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;IACvC,IAAI,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,eAAe,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;QAC9G,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;IAC/B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
3
|
+
/** Keep host-version differences at the navigation boundary, not in pages. */
|
|
4
|
+
export declare function registerMainPanel(ctx: Context, id: string, priority: number, render: (props: PropsRuntime<'conversation'>) => JSX.Element, onHidden?: () => void): () => void;
|
|
5
|
+
//# sourceMappingURL=main-panel-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-panel-compat.d.ts","sourceRoot":"","sources":["../src/main-panel-compat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAIpE,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,GAAG,CAAC,OAAO,EAC5D,QAAQ,GAAE,MAAM,IAAe,GAC9B,MAAM,IAAI,CA4BZ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
/** Keep host-version differences at the navigation boundary, not in pages. */
|
|
3
|
+
export function registerMainPanel(ctx, id, priority, render, onHidden = () => { }) {
|
|
4
|
+
const layout = ctx.layout;
|
|
5
|
+
if (typeof layout.selectPanel !== 'function') {
|
|
6
|
+
return ctx.slots.register({ name: 'conversation', priority }, render);
|
|
7
|
+
}
|
|
8
|
+
// 0.1.5 moves global panels from the session-scoped conversation seat to
|
|
9
|
+
// root-scoped keyed main entries. This cast is confined to the version bridge.
|
|
10
|
+
const slots = ctx.slots;
|
|
11
|
+
let disposed = false;
|
|
12
|
+
let generation = 0;
|
|
13
|
+
const Body = (props) => {
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const current = ++generation;
|
|
16
|
+
return () => {
|
|
17
|
+
// Ignore StrictMode's effect replay and our own explicit removal.
|
|
18
|
+
queueMicrotask(() => { if (!disposed && generation === current)
|
|
19
|
+
onHidden(); });
|
|
20
|
+
};
|
|
21
|
+
}, []);
|
|
22
|
+
return render(props);
|
|
23
|
+
};
|
|
24
|
+
const remove = slots.register({ name: 'main', key: id }, Body);
|
|
25
|
+
const dispose = () => { if (disposed)
|
|
26
|
+
return; disposed = true; remove(); };
|
|
27
|
+
try {
|
|
28
|
+
layout.selectPanel(id);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
dispose();
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
// The host retains registered keys and resets only a removed active key;
|
|
35
|
+
// never select null here, which could close another plugin's newer panel.
|
|
36
|
+
return dispose;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=main-panel-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-panel-compat.js","sourceRoot":"","sources":["../src/main-panel-compat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMjC,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAC/B,GAAY,EACZ,EAAU,EACV,QAAgB,EAChB,MAA4D,EAC5D,WAAuB,GAAG,EAAE,GAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAkE,CAAA;IACrF,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAA;IACvE,CAAC;IACD,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,KAEjB,CAAA;IACD,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,MAAM,IAAI,GAAG,CAAC,KAAmC,EAAe,EAAE;QAChE,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,EAAE,UAAU,CAAA;YAC5B,OAAO,GAAG,EAAE;gBACV,kEAAkE;gBAClE,cAAc,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,KAAK,OAAO;oBAAE,QAAQ,EAAE,CAAA,CAAC,CAAC,CAAC,CAAA;YAC/E,CAAC,CAAA;QACH,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,GAAS,EAAE,GAAG,IAAI,QAAQ;QAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC,CAAA;IAC/E,IAAI,CAAC;QAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;QAAC,MAAM,KAAK,CAAA;IAAC,CAAC;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-knowledge",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.5",
|
|
4
4
|
"description": "Local and remote knowledge bases for DeepSeek Harness, with scoped recall, controlled write-back, and a Web management console",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|