@lijian-ui/dsh-file-manager 0.2.3 → 0.2.4
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/LICENSE +38 -38
- package/README.i18n.yaml +6 -6
- package/README.md +66 -66
- package/README.zh.md +66 -66
- package/cordis.patch.yml +13 -13
- package/lib/client.js +27305 -270
- package/lib/client.js.map +1 -1
- package/lib/index.js +474 -42
- package/lib/tsconfig.client.tsbuildinfo +1 -1
- package/lib/tsconfig.host.tsbuildinfo +1 -1
- package/lib/types/client/file-source.d.ts +10 -0
- package/lib/types/client/file-source.d.ts.map +1 -1
- package/lib/types/client/fileType.d.ts +19 -4
- package/lib/types/client/fileType.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +3 -0
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/mount.d.ts +1 -1
- package/lib/types/client/mount.d.ts.map +1 -1
- package/lib/types/client/preview/PreviewPanel.d.ts +2 -1
- package/lib/types/client/preview/PreviewPanel.d.ts.map +1 -1
- package/lib/types/client/preview/PreviewToolbar.d.ts +3 -1
- package/lib/types/client/preview/PreviewToolbar.d.ts.map +1 -1
- package/lib/types/client/preview/content.d.ts +3 -1
- package/lib/types/client/preview/content.d.ts.map +1 -1
- package/lib/types/client/preview/office.d.ts +23 -0
- package/lib/types/client/preview/office.d.ts.map +1 -0
- package/lib/types/client/reference.d.ts +17 -0
- package/lib/types/client/reference.d.ts.map +1 -1
- package/lib/types/client/store.d.ts.map +1 -1
- package/lib/types/host/fs-service.d.ts.map +1 -1
- package/lib/types/host/office-preview.d.ts +13 -0
- package/lib/types/host/office-preview.d.ts.map +1 -0
- package/lib/types/host/routes.d.ts.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +19 -4
- package/src/client/FileManagerSettingsCard.tsx +117 -117
- package/src/client/PluginSettingsCard.tsx +337 -337
- package/src/client/chat/file-ref.ts +144 -144
- package/src/client/chat/mermaid-chat.tsx +102 -102
- package/src/client/chat/placeholder-hint.tsx +46 -46
- package/src/client/components/ExplorerPanel.tsx +534 -534
- package/src/client/components/FileIcon.tsx +46 -46
- package/src/client/components/ScmPanel.tsx +480 -480
- package/src/client/components/a11y.ts +20 -20
- package/src/client/components/icons.tsx +274 -274
- package/src/client/components/overlay.tsx +225 -225
- package/src/client/drag/DragFileInlay.tsx +89 -89
- package/src/client/drag/file-drag.ts +67 -67
- package/src/client/drag.ts +154 -154
- package/src/client/file-source.ts +34 -0
- package/src/client/fileType.ts +32 -5
- package/src/client/hooks/useResizableSplit.ts +91 -91
- package/src/client/hooks/useStore.ts +15 -15
- package/src/client/index.ts +42 -3
- package/src/client/layout.ts +523 -523
- package/src/client/locales.ts +6 -0
- package/src/client/maximize.ts +34 -34
- package/src/client/mount.tsx +2 -1
- package/src/client/persist.ts +194 -194
- package/src/client/picker/FilePickerModal.tsx +526 -526
- package/src/client/picker/file-picker.ts +86 -86
- package/src/client/preview/PreviewPanel.tsx +7 -1
- package/src/client/preview/PreviewTabs.tsx +159 -159
- package/src/client/preview/PreviewToolbar.tsx +3 -2
- package/src/client/preview/content.tsx +7 -2
- package/src/client/preview/markdown.ts +351 -351
- package/src/client/preview/mermaid.ts +274 -274
- package/src/client/preview/office.tsx +321 -0
- package/src/client/reference.ts +49 -0
- package/src/client/settings-card.module.css +316 -316
- package/src/client/settings-form.ts +451 -451
- package/src/client/store.ts +17 -12
- package/src/client/styles/drag.module.css +30 -30
- package/src/client/styles/explorer.module.css +371 -371
- package/src/client/styles/picker.module.css +344 -344
- package/src/client/styles/preview.module.css +3 -1
- package/src/client/styles/scm.module.css +380 -380
- package/src/client/styles/tokens.module.css +376 -371
- package/src/core/types.ts +162 -162
- package/src/host/fs-service.ts +7 -1
- package/src/host/gate.ts +73 -73
- package/src/host/git-runner.ts +116 -116
- package/src/host/git-service.ts +395 -395
- package/src/host/loopback.ts +63 -63
- package/src/host/office-preview.ts +399 -0
- package/src/host/poll-guard.ts +109 -109
- package/src/host/routes.ts +72 -1
- package/src/index.ts +3 -1
- package/src/mount-once.ts +48 -48
- package/lib/types/client/chat/AttachedFilesDock.d.ts +0 -51
- package/lib/types/client/chat/AttachedFilesDock.d.ts.map +0 -1
- package/lib/types/client/floating.d.ts +0 -27
- package/lib/types/client/floating.d.ts.map +0 -1
- package/lib/types/client/mention.d.ts +0 -44
- package/lib/types/client/mention.d.ts.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Office preview: renderers for Word / PPT / Excel. Word, PPT and editable
|
|
3
|
+
* .xlsx files are served as self-contained HTML by the host-side OfficeCLI
|
|
4
|
+
* binary and embedded in an iframe (read-only; `officecli view <file> html`
|
|
5
|
+
* renders original styling — fills, date/currency formats, merges — faithfully).
|
|
6
|
+
* Legacy xls/ods stay read-only HTML tables decoded with SheetJS. Streamed tabs
|
|
7
|
+
* carry the /filemgr/raw route URL in `content`; the bytes are fetched once and
|
|
8
|
+
* handed to the renderer. Any render error degrades to the download hint.
|
|
9
|
+
* @module dsh-filemgr/client/preview/office
|
|
10
|
+
*/
|
|
11
|
+
import { type ReactElement } from 'react';
|
|
12
|
+
import type { PreviewTabState } from '../store.ts';
|
|
13
|
+
/**
|
|
14
|
+
* Dispatch an office tab to its format renderer. `content` is the streamed
|
|
15
|
+
* raw-route URL; the bytes arrive before the renderer mounts, so each child
|
|
16
|
+
* sees a complete file.
|
|
17
|
+
*/
|
|
18
|
+
export declare function OfficeViewer({ tab, onInsertSheetReference }: {
|
|
19
|
+
tab: PreviewTabState;
|
|
20
|
+
/** Insert a 文件!Sheet!Range reference chip into the composer. */
|
|
21
|
+
onInsertSheetReference: (path: string, sheetName: string, range: string) => boolean;
|
|
22
|
+
}): ReactElement;
|
|
23
|
+
//# sourceMappingURL=office.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"office.d.ts","sourceRoot":"","sources":["../../../../src/client/preview/office.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAA4C,KAAK,YAAY,EAAE,MAAM,OAAO,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AA4ClD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,EAAE;IAC5D,GAAG,EAAE,eAAe,CAAA;IACpB,gEAAgE;IAChE,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CACpF,GAAG,YAAY,CAcf"}
|
|
@@ -67,5 +67,22 @@ export declare function insertFileReference(ctx: ClientContext, sessionId: Sessi
|
|
|
67
67
|
* @returns true on success.
|
|
68
68
|
*/
|
|
69
69
|
export declare function appendFileReferenceChip(ctx: ClientContext, sessionId: SessionId | undefined, ref: FileReference): boolean;
|
|
70
|
+
/** A live Excel cell selection captured from a read-only preview. */
|
|
71
|
+
export interface ExcelReference {
|
|
72
|
+
/** Worksheet name (from the preview's sheet tabs / cell data-path). */
|
|
73
|
+
sheetName: string;
|
|
74
|
+
/** A1 range, e.g. "B3" or "B3:F7". */
|
|
75
|
+
range: string;
|
|
76
|
+
}
|
|
77
|
+
/** The model text a sheet chip serializes to (`相对路径!Sheet名!Range`). */
|
|
78
|
+
export declare function formatSheetRefToken(path: string, ref: ExcelReference): string;
|
|
79
|
+
/**
|
|
80
|
+
* Append a sheet-selection chip at the draft end (the preview Excel "引用到对话"
|
|
81
|
+
* action). The `sheet` source's codec (file-source.ts) serializes the
|
|
82
|
+
* `相对路径!Sheet名!Range` token back verbatim — no click / copy behavior.
|
|
83
|
+
*
|
|
84
|
+
* @returns true when the bail was accepted.
|
|
85
|
+
*/
|
|
86
|
+
export declare function appendSheetChip(ctx: ClientContext, sessionId: SessionId | undefined, path: string, ref: ExcelReference): boolean;
|
|
70
87
|
export {};
|
|
71
88
|
//# sourceMappingURL=reference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/client/reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAEtF;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,UAAU,UAAU;IAClB,KAAK,EAAE;QAAE,WAAW,IAAI;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AACD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAAA;KAAE,CAAA;CAChD;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AA2BD,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAI7D;AAYD,gFAAgF;AAChF,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAezG;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAmBT;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,GAAG,EAAE,aAAa,GACjB,OAAO,CAcT"}
|
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/client/reference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAEtF;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,UAAU,UAAU;IAClB,KAAK,EAAE;QAAE,WAAW,IAAI;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AACD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAAA;KAAE,CAAA;CAChD;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AA2BD,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAI7D;AAYD,gFAAgF;AAChF,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAezG;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAmBT;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,GAAG,EAAE,aAAa,GACjB,OAAO,CAcT;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,cAAc,GAClB,OAAO,CAsBT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/client/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-service.d.ts","sourceRoot":"","sources":["../../../src/host/fs-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAW,UAAU,EAAa,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,cAAc,QAAS,CAAA;AAqEpC,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAsD1F;
|
|
1
|
+
{"version":3,"file":"fs-service.d.ts","sourceRoot":"","sources":["../../../src/host/fs-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAW,UAAU,EAAa,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxG,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,cAAc,QAAS,CAAA;AAqEpC,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAsD1F;AA6CD;;;;GAIG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAGtC,gFAAgF;IAChF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI1C;;;;;;OAMG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IA8BvE,mFAAmF;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC;IAgEvF;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC;IAkB1H,sFAAsF;IAChF,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC;IAyB1C;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,UAAU,CAAC;IA0B5F,6EAA6E;IACvE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,UAAU,CAAC;IAe1E,0EAA0E;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,UAAU,CAAC;IAe5E;;;OAGG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC;IASjG,oFAAoF;IAC9E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAuD3E,6EAA6E;IACvE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,UAAU,CAAC;CAiB5E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* /filemgr/office-preview: render Office documents (docx/pptx) to HTML via
|
|
3
|
+
* the installed officecli binary (server-side rendering with Microsoft Open XML SDK).
|
|
4
|
+
* The result is a self-contained HTML with base64 images, suitable for iframe embedding.
|
|
5
|
+
*
|
|
6
|
+
* This provides higher fidelity rendering than pure JS client-side libraries for
|
|
7
|
+
* complex PPTX documents (charts, 3D models, animations, advanced formatting).
|
|
8
|
+
* @module dsh-filemgr/host/office-preview
|
|
9
|
+
*/
|
|
10
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
11
|
+
/** Register the /filemgr/office-preview route on the web server. */
|
|
12
|
+
export declare function registerOfficePreviewRoute(ctx: Context): () => void;
|
|
13
|
+
//# sourceMappingURL=office-preview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"office-preview.d.ts","sourceRoot":"","sources":["../../../src/host/office-preview.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAqXlD,oEAAoE;AACpE,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,IAAI,CASnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/host/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAUlD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3E;AAED,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAIzE;
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/host/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAUlD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3E;AAED,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAIzE;AAsDD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,CAanD;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtF;AA8ED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,IAAI,CAihB5F"}
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAclD,uHAAuH;AACvH,eAAO,MAAM,MAAM,UAAmE,CAAA;AAEtF,kFAAkF;AAClF,eAAO,MAAM,oCAAoC,YAAY,CAAA;AAK7D,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,oxDAAke,CAAA;AAEzgB,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,kBAAsD,CAAA;AAExE,iBAAS,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,wBAA6B,GAAG,IAAI,CA4C5E"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lijian-ui/dsh-file-manager",
|
|
3
3
|
"description": "DSH web GUI right-panel system: a pixel-faithful re-implementation of FileManager's Explorer + Preview columns (file tree, filename search, git changes, multi-tab preview of 10+ formats) driven by real host-side fs/git services, hot-pluggable via a profile bundle without any dsh source changes",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"types": "lib/types/index.d.ts",
|
|
@@ -43,32 +43,47 @@
|
|
|
43
43
|
"react": "^18.2.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
+
"@agentbridges-ai/onlyoffice-browser": "^0.5.17",
|
|
47
|
+
"@aiden0z/pptx-renderer": "^1.2.4",
|
|
46
48
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
47
49
|
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
|
|
48
50
|
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
|
|
49
51
|
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6",
|
|
52
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "^0.1.0-rc.6",
|
|
50
53
|
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.6",
|
|
51
54
|
"@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.6",
|
|
52
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "^0.1.0-rc.6",
|
|
53
55
|
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
|
|
54
56
|
"@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.6",
|
|
55
57
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
|
|
56
58
|
"@deepseek-ai/dsh-subprocess": "^0.1.0-rc.6",
|
|
57
59
|
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.6",
|
|
58
60
|
"@deepseek-ai/dsh-workspace": "^0.1.0-rc.6",
|
|
59
|
-
"schemastery": "^3.18.0",
|
|
60
61
|
"@types/node": "^22.20.0",
|
|
62
|
+
"@types/pako": "^2.0.4",
|
|
61
63
|
"@types/react": "~18.3.1",
|
|
62
64
|
"@types/react-dom": "^18.3.5",
|
|
65
|
+
"buffer": "^6.0.3",
|
|
66
|
+
"docx-preview": "^0.3.2",
|
|
67
|
+
"fast-xml-parser": "^5.11.1",
|
|
68
|
+
"framer-motion": "^13.1.1",
|
|
69
|
+
"i18next": "^26.4.0",
|
|
63
70
|
"jsdom": "29.1.1",
|
|
71
|
+
"jspdf": "^4.2.1",
|
|
64
72
|
"lightningcss": "^1.32.0",
|
|
73
|
+
"lucide-react": "^1.38.0",
|
|
74
|
+
"mermaid": "11.16.1",
|
|
75
|
+
"pptxgenjs": "^4.0.1",
|
|
65
76
|
"react": "^18.3.1",
|
|
66
77
|
"react-dom": "^18.3.1",
|
|
78
|
+
"react-i18next": "^17.0.12",
|
|
79
|
+
"react-icons": "^5.7.0",
|
|
80
|
+
"rxjs": "^7.8.1",
|
|
81
|
+
"schemastery": "^3.18.0",
|
|
67
82
|
"tsdown": "0.22.2",
|
|
68
83
|
"typescript": "~5.7.2",
|
|
69
84
|
"vite-tsconfig-paths": "^6.1.1",
|
|
70
85
|
"vitest": "^4.1.8",
|
|
71
|
-
"
|
|
86
|
+
"xlsx": "^0.18.5"
|
|
72
87
|
},
|
|
73
88
|
"files": [
|
|
74
89
|
"lib",
|
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The filemgr settings card: the total on/off switch (issue #307).
|
|
3
|
-
* Registers into the `web-ui.plugin.item` slot the Web UI Plugins group
|
|
4
|
-
* renders, bound to the `filemgr` settings namespace through the family
|
|
5
|
-
* settings bridge (or the official settings scope when the deployment exposes
|
|
6
|
-
* the namespace directly). Turning the panel off unmounts the right-panel
|
|
7
|
-
* columns, the floating expand button, the /filemgr/* routes and the
|
|
8
|
-
* workspace fs watch + git polling behind them.
|
|
9
|
-
* @module @lijian-ui/dsh-file-manager/client/FileManagerSettingsCard
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import type { InjectFace, PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots'
|
|
13
|
-
import type { SettingsScope, SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client'
|
|
14
|
-
import { PluginSettingsCard, BooleanField } from './PluginSettingsCard.tsx'
|
|
15
|
-
import { CardForm, booleanField, type CardActions, type CardShell, type FieldState as CardFieldState } from './settings-form.ts'
|
|
16
|
-
|
|
17
|
-
/** The filemgr fields this card edits (the namespace's full schema). */
|
|
18
|
-
export interface FileManagerPanelSettings {
|
|
19
|
-
/** Whether the right-panel system (columns, floating button, routes, watch/polling) is mounted at all; default on. */
|
|
20
|
-
enabled?: boolean
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/** What the filemgr card renders. */
|
|
24
|
-
export interface FileManagerSettingsCardState extends CardShell {
|
|
25
|
-
enabled: CardFieldState
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** The registration-side face the card's slot entry injects. */
|
|
29
|
-
export interface FileManagerSettingsCardFace extends CardActions {
|
|
30
|
-
hooks: {
|
|
31
|
-
/** Card snapshot bound by the renderer as useFilemgrSettingsCard. */
|
|
32
|
-
filemgrSettingsCard: SnapshotStore<FileManagerSettingsCardState>
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/** Bridges the `filemgr` scope onto the card's staged form. */
|
|
37
|
-
export class FileManagerSettingsCardController {
|
|
38
|
-
private readonly form: CardForm<FileManagerPanelSettings>
|
|
39
|
-
private readonly store: SnapshotStore<FileManagerSettingsCardState>
|
|
40
|
-
|
|
41
|
-
/** @param scope - the bound settings scope for the `filemgr` namespace. */
|
|
42
|
-
constructor(scope: SettingsScope<FileManagerPanelSettings>) {
|
|
43
|
-
this.form = new CardForm(scope, [
|
|
44
|
-
booleanField('enabled'),
|
|
45
|
-
])
|
|
46
|
-
this.store = this.form.bind(() => this.projection())
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
private projection(): FileManagerSettingsCardState {
|
|
50
|
-
return {
|
|
51
|
-
...this.form.shell(),
|
|
52
|
-
enabled: this.form.field('enabled'),
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Build the face the card's slot registration injects.
|
|
58
|
-
* @returns the card's snapshot and its form actions.
|
|
59
|
-
*/
|
|
60
|
-
inject(): FileManagerSettingsCardFace {
|
|
61
|
-
return { hooks: { filemgrSettingsCard: this.store }, ...this.form.actions() }
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Release the card's scope subscription and bound stores; the slot
|
|
66
|
-
* disposer calls this on teardown.
|
|
67
|
-
*/
|
|
68
|
-
dispose(): void {
|
|
69
|
-
this.form.dispose()
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/** Props the renderer binds for the filemgr card. */
|
|
74
|
-
export type FileManagerSettingsCardProps =
|
|
75
|
-
PropsRuntime<'web-ui.plugin.item'>
|
|
76
|
-
& PropsLocale<'filemgr'>
|
|
77
|
-
& InjectFace<FileManagerSettingsCardFace>
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Render the filemgr card.
|
|
81
|
-
* @param props - locale copy, the card snapshot, and its form actions.
|
|
82
|
-
* @returns the card.
|
|
83
|
-
*/
|
|
84
|
-
export function FileManagerSettingsCard(props: FileManagerSettingsCardProps) {
|
|
85
|
-
const { t } = props
|
|
86
|
-
const state = props.useFilemgrSettingsCard(snapshot => snapshot)
|
|
87
|
-
const disabled = !state.writable
|
|
88
|
-
const fieldProps = {
|
|
89
|
-
overriddenLabel: t('settings.overridden'),
|
|
90
|
-
resetLabel: t('settings.reset'),
|
|
91
|
-
invalidLabel: t('settings.invalidNumber'),
|
|
92
|
-
disabled,
|
|
93
|
-
}
|
|
94
|
-
return (
|
|
95
|
-
<PluginSettingsCard
|
|
96
|
-
t={t}
|
|
97
|
-
titleKey="settings.title"
|
|
98
|
-
descriptionKey="settings.description"
|
|
99
|
-
state={state}
|
|
100
|
-
onSave={props.save}
|
|
101
|
-
onDiscard={props.discard}
|
|
102
|
-
>
|
|
103
|
-
<BooleanField
|
|
104
|
-
id="settings-filemgr-enabled"
|
|
105
|
-
label={t('settings.enabled')}
|
|
106
|
-
hint={t('settings.enabledHint')}
|
|
107
|
-
inheritLabel={t('settings.inherit')}
|
|
108
|
-
onLabel={t('settings.on')}
|
|
109
|
-
offLabel={t('settings.off')}
|
|
110
|
-
{...fieldProps}
|
|
111
|
-
{...state.enabled}
|
|
112
|
-
onEdit={(text) => { props.edit('enabled', text) }}
|
|
113
|
-
onReset={() => { props.resetField('enabled') }}
|
|
114
|
-
/>
|
|
115
|
-
</PluginSettingsCard>
|
|
116
|
-
)
|
|
117
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* The filemgr settings card: the total on/off switch (issue #307).
|
|
3
|
+
* Registers into the `web-ui.plugin.item` slot the Web UI Plugins group
|
|
4
|
+
* renders, bound to the `filemgr` settings namespace through the family
|
|
5
|
+
* settings bridge (or the official settings scope when the deployment exposes
|
|
6
|
+
* the namespace directly). Turning the panel off unmounts the right-panel
|
|
7
|
+
* columns, the floating expand button, the /filemgr/* routes and the
|
|
8
|
+
* workspace fs watch + git polling behind them.
|
|
9
|
+
* @module @lijian-ui/dsh-file-manager/client/FileManagerSettingsCard
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type { InjectFace, PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots'
|
|
13
|
+
import type { SettingsScope, SnapshotStore } from '@deepseek-ai/dsh-client-runtime/client'
|
|
14
|
+
import { PluginSettingsCard, BooleanField } from './PluginSettingsCard.tsx'
|
|
15
|
+
import { CardForm, booleanField, type CardActions, type CardShell, type FieldState as CardFieldState } from './settings-form.ts'
|
|
16
|
+
|
|
17
|
+
/** The filemgr fields this card edits (the namespace's full schema). */
|
|
18
|
+
export interface FileManagerPanelSettings {
|
|
19
|
+
/** Whether the right-panel system (columns, floating button, routes, watch/polling) is mounted at all; default on. */
|
|
20
|
+
enabled?: boolean
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** What the filemgr card renders. */
|
|
24
|
+
export interface FileManagerSettingsCardState extends CardShell {
|
|
25
|
+
enabled: CardFieldState
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** The registration-side face the card's slot entry injects. */
|
|
29
|
+
export interface FileManagerSettingsCardFace extends CardActions {
|
|
30
|
+
hooks: {
|
|
31
|
+
/** Card snapshot bound by the renderer as useFilemgrSettingsCard. */
|
|
32
|
+
filemgrSettingsCard: SnapshotStore<FileManagerSettingsCardState>
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Bridges the `filemgr` scope onto the card's staged form. */
|
|
37
|
+
export class FileManagerSettingsCardController {
|
|
38
|
+
private readonly form: CardForm<FileManagerPanelSettings>
|
|
39
|
+
private readonly store: SnapshotStore<FileManagerSettingsCardState>
|
|
40
|
+
|
|
41
|
+
/** @param scope - the bound settings scope for the `filemgr` namespace. */
|
|
42
|
+
constructor(scope: SettingsScope<FileManagerPanelSettings>) {
|
|
43
|
+
this.form = new CardForm(scope, [
|
|
44
|
+
booleanField('enabled'),
|
|
45
|
+
])
|
|
46
|
+
this.store = this.form.bind(() => this.projection())
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
private projection(): FileManagerSettingsCardState {
|
|
50
|
+
return {
|
|
51
|
+
...this.form.shell(),
|
|
52
|
+
enabled: this.form.field('enabled'),
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Build the face the card's slot registration injects.
|
|
58
|
+
* @returns the card's snapshot and its form actions.
|
|
59
|
+
*/
|
|
60
|
+
inject(): FileManagerSettingsCardFace {
|
|
61
|
+
return { hooks: { filemgrSettingsCard: this.store }, ...this.form.actions() }
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Release the card's scope subscription and bound stores; the slot
|
|
66
|
+
* disposer calls this on teardown.
|
|
67
|
+
*/
|
|
68
|
+
dispose(): void {
|
|
69
|
+
this.form.dispose()
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Props the renderer binds for the filemgr card. */
|
|
74
|
+
export type FileManagerSettingsCardProps =
|
|
75
|
+
PropsRuntime<'web-ui.plugin.item'>
|
|
76
|
+
& PropsLocale<'filemgr'>
|
|
77
|
+
& InjectFace<FileManagerSettingsCardFace>
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Render the filemgr card.
|
|
81
|
+
* @param props - locale copy, the card snapshot, and its form actions.
|
|
82
|
+
* @returns the card.
|
|
83
|
+
*/
|
|
84
|
+
export function FileManagerSettingsCard(props: FileManagerSettingsCardProps) {
|
|
85
|
+
const { t } = props
|
|
86
|
+
const state = props.useFilemgrSettingsCard(snapshot => snapshot)
|
|
87
|
+
const disabled = !state.writable
|
|
88
|
+
const fieldProps = {
|
|
89
|
+
overriddenLabel: t('settings.overridden'),
|
|
90
|
+
resetLabel: t('settings.reset'),
|
|
91
|
+
invalidLabel: t('settings.invalidNumber'),
|
|
92
|
+
disabled,
|
|
93
|
+
}
|
|
94
|
+
return (
|
|
95
|
+
<PluginSettingsCard
|
|
96
|
+
t={t}
|
|
97
|
+
titleKey="settings.title"
|
|
98
|
+
descriptionKey="settings.description"
|
|
99
|
+
state={state}
|
|
100
|
+
onSave={props.save}
|
|
101
|
+
onDiscard={props.discard}
|
|
102
|
+
>
|
|
103
|
+
<BooleanField
|
|
104
|
+
id="settings-filemgr-enabled"
|
|
105
|
+
label={t('settings.enabled')}
|
|
106
|
+
hint={t('settings.enabledHint')}
|
|
107
|
+
inheritLabel={t('settings.inherit')}
|
|
108
|
+
onLabel={t('settings.on')}
|
|
109
|
+
offLabel={t('settings.off')}
|
|
110
|
+
{...fieldProps}
|
|
111
|
+
{...state.enabled}
|
|
112
|
+
onEdit={(text) => { props.edit('enabled', text) }}
|
|
113
|
+
onReset={() => { props.resetField('enabled') }}
|
|
114
|
+
/>
|
|
115
|
+
</PluginSettingsCard>
|
|
116
|
+
)
|
|
117
|
+
}
|