@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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;AA4DA,wBAOG"}
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 = resolveConfig(caps.config);
56
- if (!isStorageUri(cfg.outputDir)) {
57
- throw new Error(`outputDir 必须是 storage URI(如 workspace:/ 或 data:/docs),当前为 "${cfg.outputDir}"`);
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":"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"}
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.0",
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.13.0 <1.0.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.18.0"
41
+ "@aalis/core": "0.19.1"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@aalis/core": ">=0.18.0 <1.0.0"