@lemoncat7/dsh-knowledge 1.2.0 → 2.1.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/README.md +22 -2
- package/docs/architecture.md +30 -4
- package/docs/requirements.md +10 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +194 -1
- package/lib/api.js.map +1 -1
- package/lib/atomic-file.d.ts +1 -1
- package/lib/atomic-file.d.ts.map +1 -1
- package/lib/atomic-file.js +0 -1
- package/lib/atomic-file.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +48 -82
- package/lib/client.js.map +2 -2
- package/lib/content-safety.d.ts +12 -0
- package/lib/content-safety.d.ts.map +1 -0
- package/lib/content-safety.js +38 -0
- package/lib/content-safety.js.map +1 -0
- package/lib/domain.d.ts +13 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/extraction.d.ts.map +1 -1
- package/lib/extraction.js +8 -2
- package/lib/extraction.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -1
- package/lib/index.js.map +1 -1
- package/lib/local-provider.d.ts +24 -1
- package/lib/local-provider.d.ts.map +1 -1
- package/lib/local-provider.js +302 -2
- package/lib/local-provider.js.map +1 -1
- package/lib/management-proxy.d.ts.map +1 -1
- package/lib/management-proxy.js +22 -13
- package/lib/management-proxy.js.map +1 -1
- package/lib/note-reference-handle.d.ts +15 -0
- package/lib/note-reference-handle.d.ts.map +1 -0
- package/lib/note-reference-handle.js +54 -0
- package/lib/note-reference-handle.js.map +1 -0
- package/lib/note-reference-tools.d.ts +6 -0
- package/lib/note-reference-tools.d.ts.map +1 -0
- package/lib/note-reference-tools.js +119 -0
- package/lib/note-reference-tools.js.map +1 -0
- package/lib/note-tools.d.ts +6 -0
- package/lib/note-tools.d.ts.map +1 -0
- package/lib/note-tools.js +283 -0
- package/lib/note-tools.js.map +1 -0
- package/lib/notes/domain.d.ts +44 -0
- package/lib/notes/domain.d.ts.map +1 -0
- package/lib/notes/domain.js +38 -0
- package/lib/notes/domain.js.map +1 -0
- package/lib/notes/store.d.ts +39 -0
- package/lib/notes/store.d.ts.map +1 -0
- package/lib/notes/store.js +407 -0
- package/lib/notes/store.js.map +1 -0
- package/lib/provider.d.ts +17 -0
- package/lib/provider.d.ts.map +1 -1
- package/lib/remote-provider.d.ts +19 -0
- package/lib/remote-provider.d.ts.map +1 -1
- package/lib/remote-provider.js +139 -13
- package/lib/remote-provider.js.map +1 -1
- package/lib/runtime.d.ts +1 -0
- package/lib/runtime.d.ts.map +1 -1
- package/lib/runtime.js.map +1 -1
- package/lib/theme-bridge.d.ts +2 -2
- package/lib/theme-bridge.d.ts.map +1 -1
- package/lib/theme-bridge.js +24 -57
- package/lib/theme-bridge.js.map +1 -1
- package/lib/tool-authorization.d.ts +14 -0
- package/lib/tool-authorization.d.ts.map +1 -0
- package/lib/tool-authorization.js +124 -0
- package/lib/tool-authorization.js.map +1 -0
- package/lib/tool-input.d.ts +6 -0
- package/lib/tool-input.d.ts.map +1 -0
- package/lib/tool-input.js +27 -0
- package/lib/tool-input.js.map +1 -0
- package/lib/tools.d.ts +2 -1
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +29 -179
- package/lib/tools.js.map +1 -1
- package/lib/tracking.d.ts +29 -0
- package/lib/tracking.d.ts.map +1 -0
- package/lib/tracking.js +141 -0
- package/lib/tracking.js.map +1 -0
- package/lib/web-markdown-preview.d.ts.map +1 -1
- package/lib/web-markdown-preview.js +10 -0
- package/lib/web-markdown-preview.js.map +1 -1
- package/lib/web-note-editor.d.ts +44 -0
- package/lib/web-note-editor.d.ts.map +1 -0
- package/lib/web-note-editor.js +118 -0
- package/lib/web-note-editor.js.map +1 -0
- package/lib/web-workspace-effects.d.ts +13 -0
- package/lib/web-workspace-effects.d.ts.map +1 -0
- package/lib/web-workspace-effects.js +340 -0
- package/lib/web-workspace-effects.js.map +1 -0
- package/lib/web.d.ts.map +1 -1
- package/lib/web.js +3 -1
- package/lib/web.js.map +1 -1
- package/package.json +12 -1
- package/web/app.js +1670 -93
- package/web/index.html +2 -0
- package/web/markdown-preview.js +8 -8
- package/web/note-editor.js +220 -0
- package/web/styles.css +845 -182
- package/web/workspace-effects.js +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-markdown-preview.js","sourceRoot":"","sources":["../src/web-markdown-preview.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;CACd,CAAC,CAAA;AAEF,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/I,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"web-markdown-preview.js","sourceRoot":"","sources":["../src/web-markdown-preview.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;CACd,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,2FAA2F,CAAA;AACrH,MAAM,iBAAiB,GAAG,gCAAgC,CAAA;AAE1D,2FAA2F;AAC3F,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/I,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,mBAAmB,EAAE,KAAK;QAC1B,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QAC5B,kBAAkB,EAAE,iBAAiB;KACtC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IACnD,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACpE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YACpC,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAA;IAClC,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type JSONContent } from '@tiptap/core';
|
|
2
|
+
export interface MarkdownEditorOptions {
|
|
3
|
+
host: HTMLElement;
|
|
4
|
+
markdown: string;
|
|
5
|
+
label: string;
|
|
6
|
+
onChange(markdown: string): void;
|
|
7
|
+
onSave(): void;
|
|
8
|
+
}
|
|
9
|
+
export interface MarkdownEditorHandle {
|
|
10
|
+
getMarkdown(): string;
|
|
11
|
+
focus(): void;
|
|
12
|
+
insertMarkdown(markdown: string): void;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
}
|
|
15
|
+
export interface PlainTextEditorOptions {
|
|
16
|
+
host: HTMLElement;
|
|
17
|
+
text: string;
|
|
18
|
+
label: string;
|
|
19
|
+
onChange(text: string): void;
|
|
20
|
+
onSave(): void;
|
|
21
|
+
}
|
|
22
|
+
export interface PlainTextEditorHandle {
|
|
23
|
+
focus(): void;
|
|
24
|
+
destroy(): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Mount a Markdown-native rich text editor into the notes workspace.
|
|
28
|
+
*
|
|
29
|
+
* The management application owns loading and persistence. This module owns
|
|
30
|
+
* only Markdown parsing, editing and serialization so its lifecycle remains
|
|
31
|
+
* independent from the surrounding vanilla DOM renderer.
|
|
32
|
+
*/
|
|
33
|
+
export declare function createMarkdownEditor(options: MarkdownEditorOptions): MarkdownEditorHandle;
|
|
34
|
+
/**
|
|
35
|
+
* Mount a document-shaped plain-text editor.
|
|
36
|
+
*
|
|
37
|
+
* Each stored line is represented by one paragraph node. Visual wrapping stays
|
|
38
|
+
* inside that paragraph, so the UI can number logical lines without measuring
|
|
39
|
+
* rendered text or interfering with the browser selection.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createPlainTextEditor(options: PlainTextEditorOptions): PlainTextEditorHandle;
|
|
42
|
+
export declare function plainTextToDocument(text: string): JSONContent;
|
|
43
|
+
export declare function plainTextFromDocument(document: JSONContent): string;
|
|
44
|
+
//# sourceMappingURL=web-note-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-note-editor.d.ts","sourceRoot":"","sources":["../src/web-note-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAYvD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,MAAM,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,IAAI,MAAM,CAAA;IACrB,KAAK,IAAI,IAAI,CAAA;IACb,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,IAAI,IAAI,CAAA;IACb,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CA8CzF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAgC5F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAQ7D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAInE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { Editor } from '@tiptap/core';
|
|
2
|
+
import Document from '@tiptap/extension-document';
|
|
3
|
+
import Image from '@tiptap/extension-image';
|
|
4
|
+
import Paragraph from '@tiptap/extension-paragraph';
|
|
5
|
+
import { TableKit } from '@tiptap/extension-table';
|
|
6
|
+
import TaskItem from '@tiptap/extension-task-item';
|
|
7
|
+
import TaskList from '@tiptap/extension-task-list';
|
|
8
|
+
import Text from '@tiptap/extension-text';
|
|
9
|
+
import { UndoRedo } from '@tiptap/extensions';
|
|
10
|
+
import { Markdown } from '@tiptap/markdown';
|
|
11
|
+
import StarterKit from '@tiptap/starter-kit';
|
|
12
|
+
/**
|
|
13
|
+
* Mount a Markdown-native rich text editor into the notes workspace.
|
|
14
|
+
*
|
|
15
|
+
* The management application owns loading and persistence. This module owns
|
|
16
|
+
* only Markdown parsing, editing and serialization so its lifecycle remains
|
|
17
|
+
* independent from the surrounding vanilla DOM renderer.
|
|
18
|
+
*/
|
|
19
|
+
export function createMarkdownEditor(options) {
|
|
20
|
+
const editor = new Editor({
|
|
21
|
+
element: options.host,
|
|
22
|
+
content: options.markdown,
|
|
23
|
+
contentType: 'markdown',
|
|
24
|
+
extensions: [
|
|
25
|
+
StarterKit.configure({
|
|
26
|
+
link: {
|
|
27
|
+
autolink: true,
|
|
28
|
+
openOnClick: false,
|
|
29
|
+
HTMLAttributes: { rel: 'noopener noreferrer' },
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
32
|
+
Markdown,
|
|
33
|
+
Image.configure({ allowBase64: false, inline: false }),
|
|
34
|
+
TableKit.configure({ table: { resizable: false } }),
|
|
35
|
+
TaskList,
|
|
36
|
+
TaskItem.configure({ nested: true }),
|
|
37
|
+
],
|
|
38
|
+
editorProps: {
|
|
39
|
+
attributes: {
|
|
40
|
+
class: 'notes-live-editor-surface',
|
|
41
|
+
role: 'textbox',
|
|
42
|
+
'aria-label': options.label,
|
|
43
|
+
'aria-multiline': 'true',
|
|
44
|
+
spellcheck: 'false',
|
|
45
|
+
},
|
|
46
|
+
handleKeyDown: (_view, event) => {
|
|
47
|
+
if (!(event.metaKey || event.ctrlKey) || event.key.toLocaleLowerCase() !== 's')
|
|
48
|
+
return false;
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
options.onSave();
|
|
51
|
+
return true;
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
onUpdate: ({ editor: current }) => options.onChange(current.getMarkdown()),
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
getMarkdown: () => editor.getMarkdown(),
|
|
58
|
+
focus: () => editor.commands.focus(),
|
|
59
|
+
insertMarkdown: markdown => {
|
|
60
|
+
editor.commands.insertContent(markdown, { contentType: 'markdown' });
|
|
61
|
+
editor.commands.focus();
|
|
62
|
+
},
|
|
63
|
+
destroy: () => editor.destroy(),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Mount a document-shaped plain-text editor.
|
|
68
|
+
*
|
|
69
|
+
* Each stored line is represented by one paragraph node. Visual wrapping stays
|
|
70
|
+
* inside that paragraph, so the UI can number logical lines without measuring
|
|
71
|
+
* rendered text or interfering with the browser selection.
|
|
72
|
+
*/
|
|
73
|
+
export function createPlainTextEditor(options) {
|
|
74
|
+
const editor = new Editor({
|
|
75
|
+
element: options.host,
|
|
76
|
+
content: plainTextToDocument(options.text),
|
|
77
|
+
extensions: [
|
|
78
|
+
Document.extend({ content: 'paragraph*' }),
|
|
79
|
+
Paragraph,
|
|
80
|
+
Text,
|
|
81
|
+
UndoRedo,
|
|
82
|
+
],
|
|
83
|
+
editorProps: {
|
|
84
|
+
attributes: {
|
|
85
|
+
class: 'notes-plain-editor-surface',
|
|
86
|
+
role: 'textbox',
|
|
87
|
+
'aria-label': options.label,
|
|
88
|
+
'aria-multiline': 'true',
|
|
89
|
+
spellcheck: 'false',
|
|
90
|
+
},
|
|
91
|
+
handleKeyDown: (_view, event) => {
|
|
92
|
+
if (!(event.metaKey || event.ctrlKey) || event.key.toLocaleLowerCase() !== 's')
|
|
93
|
+
return false;
|
|
94
|
+
event.preventDefault();
|
|
95
|
+
options.onSave();
|
|
96
|
+
return true;
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
onUpdate: ({ editor: current }) => options.onChange(plainTextFromDocument(current.getJSON())),
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
focus: () => editor.commands.focus(),
|
|
103
|
+
destroy: () => editor.destroy(),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
export function plainTextToDocument(text) {
|
|
107
|
+
return {
|
|
108
|
+
type: 'doc',
|
|
109
|
+
content: text.replace(/\r\n?/g, '\n').split('\n').map(line => ({
|
|
110
|
+
type: 'paragraph',
|
|
111
|
+
...line ? { content: [{ type: 'text', text: line }] } : {},
|
|
112
|
+
})),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
export function plainTextFromDocument(document) {
|
|
116
|
+
return (document.content ?? []).map(paragraph => (paragraph.content ?? []).map(node => node.text ?? '').join('')).join('\n');
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=web-note-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-note-editor.js","sourceRoot":"","sources":["../src/web-note-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface WorkspaceEffectsApi {
|
|
2
|
+
refresh(root?: ParentNode): void;
|
|
3
|
+
destroy(): void;
|
|
4
|
+
}
|
|
5
|
+
declare global {
|
|
6
|
+
interface Window {
|
|
7
|
+
DshKnowledgeEffects?: WorkspaceEffectsApi;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
declare function refresh(root?: ParentNode): void;
|
|
11
|
+
declare function destroy(): void;
|
|
12
|
+
export { destroy, refresh };
|
|
13
|
+
//# sourceMappingURL=web-workspace-effects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-workspace-effects.d.ts","sourceRoot":"","sources":["../src/web-workspace-effects.ts"],"names":[],"mappings":"AAyCA,UAAU,mBAAmB;IAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,OAAO,IAAI,IAAI,CAAA;CAChB;AAQD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;KAC1C;CACF;AA0QD,iBAAS,OAAO,CAAC,IAAI,GAAE,UAAqB,GAAG,IAAI,CAMlD;AAED,iBAAS,OAAO,IAAI,IAAI,CAuBvB;AAKD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA"}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
|
|
2
|
+
const GLASS_SURFACE_SELECTOR = [
|
|
3
|
+
'.sidebar',
|
|
4
|
+
'.topbar',
|
|
5
|
+
'.note-tree-panel',
|
|
6
|
+
'.notes-browser',
|
|
7
|
+
'.notes-content-header',
|
|
8
|
+
'.notes-document-toolbar',
|
|
9
|
+
'.note-editor-toolbar',
|
|
10
|
+
'.dialog',
|
|
11
|
+
].join(',');
|
|
12
|
+
const BORDER_SURFACE_SELECTOR = [
|
|
13
|
+
'.login-card',
|
|
14
|
+
'.panel',
|
|
15
|
+
'.mount-table',
|
|
16
|
+
'.note-workspace',
|
|
17
|
+
'.notes-workspace',
|
|
18
|
+
'.dialog',
|
|
19
|
+
].join(',');
|
|
20
|
+
const GLARE_SURFACE_SELECTOR = [
|
|
21
|
+
'.button',
|
|
22
|
+
'.nav-button',
|
|
23
|
+
'.tab',
|
|
24
|
+
'.pane-toggle-button',
|
|
25
|
+
'.note-tree-base',
|
|
26
|
+
'.note-tree-document',
|
|
27
|
+
'.note-tree-new',
|
|
28
|
+
'.notes-tree-row',
|
|
29
|
+
'.notes-search-row',
|
|
30
|
+
'.notes-file-main',
|
|
31
|
+
].join(',');
|
|
32
|
+
const ANIMATED_LIST_SELECTOR = [
|
|
33
|
+
'.note-tree',
|
|
34
|
+
'.notes-tree',
|
|
35
|
+
'.base-grid',
|
|
36
|
+
'.mount-table',
|
|
37
|
+
].join(',');
|
|
38
|
+
const MOTION_ITEM_SELECTOR = '[data-knowledge-motion-key]';
|
|
39
|
+
const MOTION_REPLAY_COOLDOWN = 700;
|
|
40
|
+
const EDGE_RESPONSE_RANGE = 38;
|
|
41
|
+
const glassSurfaces = new Map();
|
|
42
|
+
const borderSurfaces = new Map();
|
|
43
|
+
const animatedLists = new Map();
|
|
44
|
+
const motionPlayedAt = new Map();
|
|
45
|
+
let filterSequence = 0;
|
|
46
|
+
let filterBank;
|
|
47
|
+
const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
48
|
+
const reducedTransparency = window.matchMedia('(prefers-reduced-transparency: reduce)');
|
|
49
|
+
function queryIncludingRoot(root, selector) {
|
|
50
|
+
const matches = Array.from(root.querySelectorAll(selector));
|
|
51
|
+
if (root instanceof HTMLElement && root.matches(selector))
|
|
52
|
+
matches.unshift(root);
|
|
53
|
+
return matches;
|
|
54
|
+
}
|
|
55
|
+
function ensureFilterBank() {
|
|
56
|
+
if (filterBank?.isConnected)
|
|
57
|
+
return filterBank;
|
|
58
|
+
filterBank = document.createElementNS(SVG_NAMESPACE, 'svg');
|
|
59
|
+
filterBank.classList.add('knowledge-glass-filter-bank');
|
|
60
|
+
filterBank.setAttribute('aria-hidden', 'true');
|
|
61
|
+
filterBank.setAttribute('focusable', 'false');
|
|
62
|
+
document.body.append(filterBank);
|
|
63
|
+
return filterBank;
|
|
64
|
+
}
|
|
65
|
+
function createSvgElement(name, attributes) {
|
|
66
|
+
const node = document.createElementNS(SVG_NAMESPACE, name);
|
|
67
|
+
for (const [key, value] of Object.entries(attributes))
|
|
68
|
+
node.setAttribute(key, value);
|
|
69
|
+
return node;
|
|
70
|
+
}
|
|
71
|
+
function createGlassFilter(id) {
|
|
72
|
+
const filter = createSvgElement('filter', {
|
|
73
|
+
id,
|
|
74
|
+
x: '0%', y: '0%', width: '100%', height: '100%',
|
|
75
|
+
'color-interpolation-filters': 'sRGB',
|
|
76
|
+
});
|
|
77
|
+
const image = createSvgElement('feImage', {
|
|
78
|
+
x: '0', y: '0', width: '100%', height: '100%', preserveAspectRatio: 'none', result: 'map',
|
|
79
|
+
});
|
|
80
|
+
filter.append(image, createSvgElement('feGaussianBlur', { in: 'SourceGraphic', stdDeviation: '6', result: 'frosted' }));
|
|
81
|
+
filter.append(createSvgElement('feDisplacementMap', {
|
|
82
|
+
in: 'frosted', in2: 'map', scale: '-16',
|
|
83
|
+
xChannelSelector: 'R', yChannelSelector: 'G', result: 'refracted',
|
|
84
|
+
}), createSvgElement('feGaussianBlur', { in: 'refracted', stdDeviation: '.12' }));
|
|
85
|
+
return { filter, image };
|
|
86
|
+
}
|
|
87
|
+
function supportsSvgBackdropFilters() {
|
|
88
|
+
if (reducedTransparency.matches)
|
|
89
|
+
return false;
|
|
90
|
+
const userAgent = navigator.userAgent;
|
|
91
|
+
if (/Firefox/i.test(userAgent) || (/Safari/i.test(userAgent) && !/(Chrome|Chromium|CriOS)/i.test(userAgent)))
|
|
92
|
+
return false;
|
|
93
|
+
return CSS.supports?.('backdrop-filter', 'url(#knowledge-glass-support)')
|
|
94
|
+
|| CSS.supports?.('-webkit-backdrop-filter', 'url(#knowledge-glass-support)')
|
|
95
|
+
|| false;
|
|
96
|
+
}
|
|
97
|
+
function resolvedRadius(surface, width, height) {
|
|
98
|
+
const parsed = Number.parseFloat(getComputedStyle(surface).borderTopLeftRadius);
|
|
99
|
+
if (Number.isFinite(parsed))
|
|
100
|
+
return Math.max(0, Math.min(parsed, Math.min(width, height) / 2));
|
|
101
|
+
return Math.min(width, height) * .16;
|
|
102
|
+
}
|
|
103
|
+
function displacementMap(width, height, radius) {
|
|
104
|
+
const edge = Math.min(12, Math.max(4, Math.min(width, height) * .08));
|
|
105
|
+
const map = `<svg viewBox="0 0 ${width} ${height}" xmlns="${SVG_NAMESPACE}">
|
|
106
|
+
<defs>
|
|
107
|
+
<clipPath id="shape"><rect width="${width}" height="${height}" rx="${radius}"/></clipPath>
|
|
108
|
+
<linearGradient id="left" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="rgb(92 128 128)"/><stop offset="100%" stop-color="rgb(128 128 128)"/></linearGradient>
|
|
109
|
+
<linearGradient id="right" x1="0%" y1="0%" x2="100%" y2="0%"><stop offset="0%" stop-color="rgb(128 128 128)"/><stop offset="100%" stop-color="rgb(164 128 128)"/></linearGradient>
|
|
110
|
+
<linearGradient id="top" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="rgb(128 92 128)"/><stop offset="100%" stop-color="rgb(128 128 128)"/></linearGradient>
|
|
111
|
+
<linearGradient id="bottom" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="rgb(128 128 128)"/><stop offset="100%" stop-color="rgb(128 164 128)"/></linearGradient>
|
|
112
|
+
</defs>
|
|
113
|
+
<g clip-path="url(#shape)">
|
|
114
|
+
<rect width="${width}" height="${height}" fill="rgb(128 128 128)"/>
|
|
115
|
+
<rect width="${edge}" height="${height}" fill="url(#left)"/>
|
|
116
|
+
<rect x="${width - edge}" width="${edge}" height="${height}" fill="url(#right)"/>
|
|
117
|
+
<rect width="${width}" height="${edge}" fill="url(#top)"/>
|
|
118
|
+
<rect y="${height - edge}" width="${width}" height="${edge}" fill="url(#bottom)"/>
|
|
119
|
+
</g>
|
|
120
|
+
</svg>`;
|
|
121
|
+
return `data:image/svg+xml,${encodeURIComponent(map)}`;
|
|
122
|
+
}
|
|
123
|
+
function installGlassSurface(surface) {
|
|
124
|
+
if (glassSurfaces.has(surface))
|
|
125
|
+
return;
|
|
126
|
+
surface.classList.add('knowledge-glass-surface');
|
|
127
|
+
if (!supportsSvgBackdropFilters()) {
|
|
128
|
+
surface.dataset.knowledgeGlass = 'fallback';
|
|
129
|
+
glassSurfaces.set(surface, { filter: undefined, observer: undefined, frame: 0 });
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const id = `knowledge-glass-filter-${++filterSequence}`;
|
|
133
|
+
const { filter, image } = createGlassFilter(id);
|
|
134
|
+
ensureFilterBank().append(filter);
|
|
135
|
+
surface.dataset.knowledgeGlass = 'svg';
|
|
136
|
+
surface.style.setProperty('--knowledge-glass-filter', `url(#${id})`);
|
|
137
|
+
const record = { filter, observer: undefined, frame: 0 };
|
|
138
|
+
const update = () => {
|
|
139
|
+
record.frame = 0;
|
|
140
|
+
if (!surface.isConnected)
|
|
141
|
+
return;
|
|
142
|
+
const rect = surface.getBoundingClientRect();
|
|
143
|
+
const width = Math.max(1, Math.round(rect.width));
|
|
144
|
+
const height = Math.max(1, Math.round(rect.height));
|
|
145
|
+
image.setAttribute('href', displacementMap(width, height, resolvedRadius(surface, width, height)));
|
|
146
|
+
};
|
|
147
|
+
const scheduleUpdate = () => {
|
|
148
|
+
if (record.frame === 0)
|
|
149
|
+
record.frame = requestAnimationFrame(update);
|
|
150
|
+
};
|
|
151
|
+
record.observer = typeof ResizeObserver === 'undefined' ? undefined : new ResizeObserver(scheduleUpdate);
|
|
152
|
+
record.observer?.observe(surface);
|
|
153
|
+
record.frame = requestAnimationFrame(update);
|
|
154
|
+
glassSurfaces.set(surface, record);
|
|
155
|
+
}
|
|
156
|
+
function installBorderSurface(surface) {
|
|
157
|
+
if (borderSurfaces.has(surface))
|
|
158
|
+
return;
|
|
159
|
+
surface.classList.add('knowledge-border-surface');
|
|
160
|
+
let frame = 0;
|
|
161
|
+
let pointer;
|
|
162
|
+
const paint = () => {
|
|
163
|
+
frame = 0;
|
|
164
|
+
if (pointer === undefined || !surface.isConnected)
|
|
165
|
+
return;
|
|
166
|
+
const rect = surface.getBoundingClientRect();
|
|
167
|
+
const x = Math.min(rect.width, Math.max(0, pointer.x - rect.left));
|
|
168
|
+
const y = Math.min(rect.height, Math.max(0, pointer.y - rect.top));
|
|
169
|
+
const edgeDistance = Math.min(x, rect.width - x, y, rect.height - y);
|
|
170
|
+
const proximity = Math.min(1, Math.max(0, 1 - edgeDistance / EDGE_RESPONSE_RANGE));
|
|
171
|
+
const angle = Math.atan2(y - rect.height / 2, x - rect.width / 2) * (180 / Math.PI) + 90;
|
|
172
|
+
surface.style.setProperty('--knowledge-border-proximity', proximity.toFixed(3));
|
|
173
|
+
surface.style.setProperty('--knowledge-border-angle', `${angle.toFixed(2)}deg`);
|
|
174
|
+
};
|
|
175
|
+
const move = (event) => {
|
|
176
|
+
pointer = { x: event.clientX, y: event.clientY };
|
|
177
|
+
if (frame === 0)
|
|
178
|
+
frame = requestAnimationFrame(paint);
|
|
179
|
+
};
|
|
180
|
+
const leave = () => {
|
|
181
|
+
pointer = undefined;
|
|
182
|
+
surface.style.setProperty('--knowledge-border-proximity', '0');
|
|
183
|
+
};
|
|
184
|
+
surface.addEventListener('pointermove', move, { passive: true });
|
|
185
|
+
surface.addEventListener('pointerleave', leave, { passive: true });
|
|
186
|
+
borderSurfaces.set(surface, () => {
|
|
187
|
+
if (frame !== 0)
|
|
188
|
+
cancelAnimationFrame(frame);
|
|
189
|
+
surface.removeEventListener('pointermove', move);
|
|
190
|
+
surface.removeEventListener('pointerleave', leave);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
function motionWasJustPlayed(item, now) {
|
|
194
|
+
const key = item.dataset.knowledgeMotionKey;
|
|
195
|
+
if (key === undefined)
|
|
196
|
+
return false;
|
|
197
|
+
const playedAt = motionPlayedAt.get(key);
|
|
198
|
+
return playedAt !== undefined && now - playedAt < MOTION_REPLAY_COOLDOWN;
|
|
199
|
+
}
|
|
200
|
+
function rememberMotionPlay(item, now) {
|
|
201
|
+
const key = item.dataset.knowledgeMotionKey;
|
|
202
|
+
if (key === undefined)
|
|
203
|
+
return;
|
|
204
|
+
motionPlayedAt.set(key, now);
|
|
205
|
+
if (motionPlayedAt.size <= 4_000)
|
|
206
|
+
return;
|
|
207
|
+
const oldestKey = motionPlayedAt.keys().next().value;
|
|
208
|
+
if (oldestKey !== undefined)
|
|
209
|
+
motionPlayedAt.delete(oldestKey);
|
|
210
|
+
}
|
|
211
|
+
function updateScrollEdges(list) {
|
|
212
|
+
const remaining = list.scrollHeight - list.clientHeight - list.scrollTop;
|
|
213
|
+
list.dataset.scrollTop = String(list.scrollTop <= 2);
|
|
214
|
+
list.dataset.scrollBottom = String(remaining <= 2);
|
|
215
|
+
}
|
|
216
|
+
function installAnimatedList(list) {
|
|
217
|
+
if (animatedLists.has(list))
|
|
218
|
+
return;
|
|
219
|
+
const isCardGrid = list.matches('.base-grid');
|
|
220
|
+
list.classList.add('knowledge-animated-list');
|
|
221
|
+
list.dataset.knowledgeListLayout = isCardGrid ? 'grid' : 'scroll';
|
|
222
|
+
updateScrollEdges(list);
|
|
223
|
+
const onScroll = () => updateScrollEdges(list);
|
|
224
|
+
list.addEventListener('scroll', onScroll, { passive: true });
|
|
225
|
+
const items = Array.from(list.querySelectorAll(MOTION_ITEM_SELECTOR));
|
|
226
|
+
if (reducedMotion.matches || typeof IntersectionObserver === 'undefined') {
|
|
227
|
+
for (const item of items)
|
|
228
|
+
item.classList.add('knowledge-list-reveal', 'is-visible');
|
|
229
|
+
animatedLists.set(list, () => list.removeEventListener('scroll', onScroll));
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const observerRoot = list.scrollHeight - list.clientHeight > 2 ? list : null;
|
|
233
|
+
const observer = new IntersectionObserver(entries => {
|
|
234
|
+
const entering = entries
|
|
235
|
+
.filter(entry => entry.isIntersecting)
|
|
236
|
+
.sort((left, right) => left.boundingClientRect.top - right.boundingClientRect.top);
|
|
237
|
+
const now = performance.now();
|
|
238
|
+
entering.forEach((entry, index) => {
|
|
239
|
+
const item = entry.target;
|
|
240
|
+
const stagger = isCardGrid ? 52 : 38;
|
|
241
|
+
item.style.setProperty('--knowledge-list-delay', `${Math.min(index, 7) * stagger}ms`);
|
|
242
|
+
item.classList.add('is-visible');
|
|
243
|
+
rememberMotionPlay(item, now);
|
|
244
|
+
});
|
|
245
|
+
for (const entry of entries) {
|
|
246
|
+
if (entry.isIntersecting)
|
|
247
|
+
continue;
|
|
248
|
+
const item = entry.target;
|
|
249
|
+
item.classList.remove('is-visible');
|
|
250
|
+
item.style.setProperty('--knowledge-list-delay', '0ms');
|
|
251
|
+
}
|
|
252
|
+
}, { root: observerRoot, threshold: .12, rootMargin: '-4px 0px' });
|
|
253
|
+
const now = performance.now();
|
|
254
|
+
for (const item of items) {
|
|
255
|
+
item.classList.add('knowledge-list-reveal');
|
|
256
|
+
if (!isCardGrid && motionWasJustPlayed(item, now))
|
|
257
|
+
item.classList.add('is-visible');
|
|
258
|
+
}
|
|
259
|
+
let prepareFrame = 0;
|
|
260
|
+
let settleFrame = 0;
|
|
261
|
+
prepareFrame = requestAnimationFrame(() => {
|
|
262
|
+
prepareFrame = 0;
|
|
263
|
+
settleFrame = requestAnimationFrame(() => {
|
|
264
|
+
settleFrame = 0;
|
|
265
|
+
for (const item of items)
|
|
266
|
+
observer.observe(item);
|
|
267
|
+
});
|
|
268
|
+
});
|
|
269
|
+
animatedLists.set(list, () => {
|
|
270
|
+
if (prepareFrame !== 0)
|
|
271
|
+
cancelAnimationFrame(prepareFrame);
|
|
272
|
+
if (settleFrame !== 0)
|
|
273
|
+
cancelAnimationFrame(settleFrame);
|
|
274
|
+
observer.disconnect();
|
|
275
|
+
list.removeEventListener('scroll', onScroll);
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
function cleanupDisconnected() {
|
|
279
|
+
for (const [surface, record] of glassSurfaces) {
|
|
280
|
+
if (surface.isConnected)
|
|
281
|
+
continue;
|
|
282
|
+
if (record.frame !== 0)
|
|
283
|
+
cancelAnimationFrame(record.frame);
|
|
284
|
+
record.observer?.disconnect();
|
|
285
|
+
record.filter?.remove();
|
|
286
|
+
glassSurfaces.delete(surface);
|
|
287
|
+
}
|
|
288
|
+
for (const [surface, cleanup] of borderSurfaces) {
|
|
289
|
+
if (surface.isConnected)
|
|
290
|
+
continue;
|
|
291
|
+
cleanup();
|
|
292
|
+
borderSurfaces.delete(surface);
|
|
293
|
+
}
|
|
294
|
+
for (const [list, cleanup] of animatedLists) {
|
|
295
|
+
if (list.isConnected)
|
|
296
|
+
continue;
|
|
297
|
+
cleanup();
|
|
298
|
+
animatedLists.delete(list);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
function refresh(root = document) {
|
|
302
|
+
cleanupDisconnected();
|
|
303
|
+
for (const surface of queryIncludingRoot(root, GLASS_SURFACE_SELECTOR))
|
|
304
|
+
installGlassSurface(surface);
|
|
305
|
+
for (const surface of queryIncludingRoot(root, BORDER_SURFACE_SELECTOR))
|
|
306
|
+
installBorderSurface(surface);
|
|
307
|
+
for (const surface of queryIncludingRoot(root, GLARE_SURFACE_SELECTOR))
|
|
308
|
+
surface.classList.add('knowledge-glare-surface');
|
|
309
|
+
for (const list of queryIncludingRoot(root, ANIMATED_LIST_SELECTOR))
|
|
310
|
+
installAnimatedList(list);
|
|
311
|
+
}
|
|
312
|
+
function destroy() {
|
|
313
|
+
for (const [surface, record] of glassSurfaces) {
|
|
314
|
+
if (record.frame !== 0)
|
|
315
|
+
cancelAnimationFrame(record.frame);
|
|
316
|
+
record.observer?.disconnect();
|
|
317
|
+
record.filter?.remove();
|
|
318
|
+
surface.classList.remove('knowledge-glass-surface');
|
|
319
|
+
surface.removeAttribute('data-knowledge-glass');
|
|
320
|
+
surface.style.removeProperty('--knowledge-glass-filter');
|
|
321
|
+
}
|
|
322
|
+
for (const [surface, cleanup] of borderSurfaces) {
|
|
323
|
+
cleanup();
|
|
324
|
+
surface.classList.remove('knowledge-border-surface');
|
|
325
|
+
}
|
|
326
|
+
for (const [list, cleanup] of animatedLists) {
|
|
327
|
+
cleanup();
|
|
328
|
+
list.classList.remove('knowledge-animated-list');
|
|
329
|
+
}
|
|
330
|
+
glassSurfaces.clear();
|
|
331
|
+
borderSurfaces.clear();
|
|
332
|
+
animatedLists.clear();
|
|
333
|
+
motionPlayedAt.clear();
|
|
334
|
+
filterBank?.remove();
|
|
335
|
+
filterBank = undefined;
|
|
336
|
+
}
|
|
337
|
+
window.DshKnowledgeEffects?.destroy();
|
|
338
|
+
window.DshKnowledgeEffects = { refresh, destroy };
|
|
339
|
+
export { destroy, refresh };
|
|
340
|
+
//# sourceMappingURL=web-workspace-effects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-workspace-effects.js","sourceRoot":"","sources":["../src/web-workspace-effects.ts"],"names":[],"mappings":"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"}
|
package/lib/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAqBtD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAQ,GAAG,aAAwB,EAC7C,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,IAAI,CAaZ"}
|
package/lib/web.js
CHANGED
|
@@ -4,6 +4,8 @@ const STATIC_ASSETS = new Map([
|
|
|
4
4
|
['app.js', loadAsset('../web/app.js', 'text/javascript; charset=utf-8')],
|
|
5
5
|
['change-review.js', loadAsset('../web/change-review.js', 'text/javascript; charset=utf-8')],
|
|
6
6
|
['markdown-preview.js', loadAsset('../web/markdown-preview.js', 'text/javascript; charset=utf-8')],
|
|
7
|
+
['note-editor.js', loadAsset('../web/note-editor.js', 'text/javascript; charset=utf-8')],
|
|
8
|
+
['workspace-effects.js', loadAsset('../web/workspace-effects.js', 'text/javascript; charset=utf-8')],
|
|
7
9
|
['styles.css', loadAsset('../web/styles.css', 'text/css; charset=utf-8')],
|
|
8
10
|
]);
|
|
9
11
|
const ASSET_VERSION = createHash('sha256')
|
|
@@ -58,7 +60,7 @@ function sendAsset(res, method, asset, embedded = false) {
|
|
|
58
60
|
res.end(method === 'HEAD' ? undefined : asset.body);
|
|
59
61
|
}
|
|
60
62
|
function securityHeaders(embedded = false) {
|
|
61
|
-
const policy = "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'none'; form-action 'self'";
|
|
63
|
+
const policy = "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data: blob:; frame-src blob:; connect-src 'self'; font-src 'self'; object-src 'none'; base-uri 'none'; form-action 'self'";
|
|
62
64
|
return {
|
|
63
65
|
'content-security-policy': embedded ? policy : `${policy}; frame-ancestors 'self'`,
|
|
64
66
|
'referrer-policy': 'no-referrer',
|
package/lib/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-knowledge",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.0",
|
|
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",
|
|
@@ -82,6 +82,17 @@
|
|
|
82
82
|
"@deepseek-ai/dsh-client-ui-sidebar": "0.1.1-rc.2",
|
|
83
83
|
"@deepseek-ai/dsh-client-ui-slots": "0.1.1-rc.2",
|
|
84
84
|
"@deepseek-ai/dsh-client-ui-theme": "0.1.1-rc.2",
|
|
85
|
+
"@tiptap/core": "^3.30.5",
|
|
86
|
+
"@tiptap/extension-document": "^3.30.5",
|
|
87
|
+
"@tiptap/extension-image": "^3.30.5",
|
|
88
|
+
"@tiptap/extension-paragraph": "^3.30.5",
|
|
89
|
+
"@tiptap/extension-table": "^3.30.5",
|
|
90
|
+
"@tiptap/extension-task-item": "^3.30.5",
|
|
91
|
+
"@tiptap/extension-task-list": "^3.30.5",
|
|
92
|
+
"@tiptap/extension-text": "^3.30.5",
|
|
93
|
+
"@tiptap/extensions": "^3.30.5",
|
|
94
|
+
"@tiptap/markdown": "^3.30.5",
|
|
95
|
+
"@tiptap/starter-kit": "^3.30.5",
|
|
85
96
|
"@types/node": "^24.0.0",
|
|
86
97
|
"@types/react": "18.3.28",
|
|
87
98
|
"dompurify": "^3.4.14",
|