@aalis/plugin-office 0.11.0 → 0.11.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/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -24
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AAmDA,wBAOG"}
|
package/dist/index.js
CHANGED
|
@@ -2,43 +2,45 @@ import { createProcessGateway, processService } from '@aalis/api-process';
|
|
|
2
2
|
import { createStorageGateway, isStorageUri, storage } from '@aalis/api-storage';
|
|
3
3
|
import { tools, withToolGroups } from '@aalis/api-tools';
|
|
4
4
|
import { config, definePlugin, lifecycle, logger, optional } from '@aalis/core';
|
|
5
|
+
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
5
6
|
import { DocSessionManager } from './session.js';
|
|
6
7
|
import { registerDocxTools } from './tools/docx.js';
|
|
7
8
|
import { registerPdfTools } from './tools/pdf.js';
|
|
8
9
|
import { registerPptTools } from './tools/pptx.js';
|
|
9
10
|
import { registerExcelTools } from './tools/xlsx.js';
|
|
10
|
-
const configSchema = {
|
|
11
|
+
const configSchema = defineConfig({
|
|
11
12
|
outputDir: {
|
|
12
13
|
type: 'string',
|
|
13
14
|
label: '输出目录',
|
|
14
15
|
description: '文档保存目录(storage URI,如 workspace:/ 或 data:/docs)。',
|
|
15
16
|
default: 'workspace:/',
|
|
17
|
+
onInvalid: 'error',
|
|
16
18
|
},
|
|
17
19
|
docx: {
|
|
18
20
|
label: 'Word 文档',
|
|
19
21
|
fields: {
|
|
20
|
-
enabled: { type: 'boolean', label: '启用 Word 工具', default: true },
|
|
22
|
+
enabled: { type: 'boolean', label: '启用 Word 工具', default: true, onInvalid: 'error' },
|
|
21
23
|
},
|
|
22
24
|
},
|
|
23
25
|
xlsx: {
|
|
24
26
|
label: 'Excel 工作簿',
|
|
25
27
|
fields: {
|
|
26
|
-
enabled: { type: 'boolean', label: '启用 Excel 工具', default: true },
|
|
28
|
+
enabled: { type: 'boolean', label: '启用 Excel 工具', default: true, onInvalid: 'error' },
|
|
27
29
|
},
|
|
28
30
|
},
|
|
29
31
|
pptx: {
|
|
30
32
|
label: 'PPT 演示文稿',
|
|
31
33
|
fields: {
|
|
32
|
-
enabled: { type: 'boolean', label: '启用 PPT 工具', default: true },
|
|
34
|
+
enabled: { type: 'boolean', label: '启用 PPT 工具', default: true, onInvalid: 'error' },
|
|
33
35
|
},
|
|
34
36
|
},
|
|
35
37
|
pdf: {
|
|
36
38
|
label: 'PDF 文档',
|
|
37
39
|
fields: {
|
|
38
|
-
enabled: { type: 'boolean', label: '启用 PDF 工具', default: true },
|
|
40
|
+
enabled: { type: 'boolean', label: '启用 PDF 工具', default: true, onInvalid: 'error' },
|
|
39
41
|
},
|
|
40
42
|
},
|
|
41
|
-
};
|
|
43
|
+
});
|
|
42
44
|
// ===== 插件入口 =====
|
|
43
45
|
// process 只被 pdf_convert 用到(调 LibreOffice),缺它其余工具照常工作,故 optional。
|
|
44
46
|
const uses = { tools, storage, processService: optional(processService), logger, lifecycle, config };
|
|
@@ -52,12 +54,12 @@ export default definePlugin({
|
|
|
52
54
|
});
|
|
53
55
|
function registerOffice(caps) {
|
|
54
56
|
const { logger } = caps;
|
|
55
|
-
const cfg =
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
const cfg = parseConfig(configSchema, caps.config, logger);
|
|
58
|
+
const outputUri = cfg.outputDir || configSchema.outputDir.default;
|
|
59
|
+
if (!isStorageUri(outputUri)) {
|
|
60
|
+
throw new Error(`outputDir 必须是 storage URI(如 workspace:/ 或 data:/docs),当前为 "${outputUri}"`);
|
|
58
61
|
}
|
|
59
62
|
const storage = createStorageGateway(caps.storage);
|
|
60
|
-
const outputUri = cfg.outputDir;
|
|
61
63
|
const sessions = new DocSessionManager();
|
|
62
64
|
caps.tools.registerGroup({
|
|
63
65
|
name: 'office',
|
|
@@ -87,18 +89,4 @@ function registerOffice(caps) {
|
|
|
87
89
|
caps.lifecycle.onDispose(() => sessions.clear());
|
|
88
90
|
logger.info(`Office 文档工具插件已启动 (输出 URI: ${outputUri})`);
|
|
89
91
|
}
|
|
90
|
-
// ===== 辅助函数 =====
|
|
91
|
-
function resolveConfig(config) {
|
|
92
|
-
const docx = config.docx;
|
|
93
|
-
const xlsx = config.xlsx;
|
|
94
|
-
const pptx = config.pptx;
|
|
95
|
-
const pdf = config.pdf;
|
|
96
|
-
return {
|
|
97
|
-
outputDir: String(config.outputDir || 'workspace:/'),
|
|
98
|
-
docx: { enabled: docx?.enabled !== false },
|
|
99
|
-
xlsx: { enabled: xlsx?.enabled !== false },
|
|
100
|
-
pptx: { enabled: pptx?.enabled !== false },
|
|
101
|
-
pdf: { enabled: pdf?.enabled !== false },
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
92
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAgB,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-office",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
27
|
+
"@aalis/schema-config": ">=0.14.0 <1.0.0",
|
|
28
28
|
"@aalis/api-process": ">=0.8.0 <1.0.0",
|
|
29
29
|
"@aalis/api-storage": ">=0.7.0 <1.0.0",
|
|
30
30
|
"@aalis/api-tools": ">=0.10.0 <1.0.0",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^22.0.0",
|
|
40
40
|
"typescript": "^5.7.0",
|
|
41
|
-
"@aalis/core": "0.
|
|
41
|
+
"@aalis/core": "0.19.1"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@aalis/core": ">=0.18.0 <1.0.0"
|