diffcat-cli 0.2.1 → 0.3.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.
Files changed (69) hide show
  1. package/README.md +34 -5
  2. package/connectors/workbuddy/cli.json +3 -3
  3. package/connectors/workbuddy/connector-meta.json +10 -4
  4. package/connectors/workbuddy/skills/diffcat/SKILL.md +39 -15
  5. package/connectors/workbuddy/skills/diffcat/references/knowledge.md +26 -0
  6. package/connectors/workbuddy/skills/diffcat/references/operations.md +12 -0
  7. package/connectors/workbuddy/skills/diffcat/references/safety.md +1 -1
  8. package/dist/capability-authorization.d.ts +23 -0
  9. package/dist/capability-authorization.js +36 -0
  10. package/dist/capability-authorization.js.map +1 -0
  11. package/dist/client.d.ts +4 -1
  12. package/dist/client.js +14 -0
  13. package/dist/client.js.map +1 -1
  14. package/dist/device-login.d.ts +0 -1
  15. package/dist/device-login.js +0 -2
  16. package/dist/device-login.js.map +1 -1
  17. package/dist/index.js +73 -40
  18. package/dist/index.js.map +1 -1
  19. package/dist/knowledge-store.d.ts +55 -0
  20. package/dist/knowledge-store.js +265 -0
  21. package/dist/knowledge-store.js.map +1 -0
  22. package/dist/knowledge-types.d.ts +47 -0
  23. package/dist/knowledge-types.js +2 -0
  24. package/dist/knowledge-types.js.map +1 -0
  25. package/dist/types.d.ts +18 -0
  26. package/knowledge/catalog.json +542 -0
  27. package/knowledge/topics/documents/consignment-reconciliation.md +7 -0
  28. package/knowledge/topics/documents/crowdfunding-order.md +7 -0
  29. package/knowledge/topics/documents/direct-order.md +7 -0
  30. package/knowledge/topics/documents/expense-request.md +7 -0
  31. package/knowledge/topics/documents/inbound-order.md +7 -0
  32. package/knowledge/topics/documents/invoice-request.md +7 -0
  33. package/knowledge/topics/documents/leave-request.md +7 -0
  34. package/knowledge/topics/documents/outbound-order.md +7 -0
  35. package/knowledge/topics/documents/purchase-request.md +7 -0
  36. package/knowledge/topics/documents/refund-request.md +7 -0
  37. package/knowledge/topics/documents/sales-order.md +17 -0
  38. package/knowledge/topics/documents/stocktake-order.md +7 -0
  39. package/knowledge/topics/documents/supply-entry-order.md +7 -0
  40. package/knowledge/topics/documents/supply-issue-request.md +7 -0
  41. package/knowledge/topics/documents/supply-purchase-request.md +7 -0
  42. package/knowledge/topics/documents/supply-stocktake-order.md +7 -0
  43. package/knowledge/topics/guides/document-drafts.md +13 -0
  44. package/knowledge/topics/guides/login-and-authorization.md +12 -0
  45. package/knowledge/topics/guides/master-data-and-query.md +13 -0
  46. package/knowledge/topics/guides/recovery.md +13 -0
  47. package/knowledge/topics/guides/workflow-tasks.md +12 -0
  48. package/knowledge/topics/modules/administration.md +12 -0
  49. package/knowledge/topics/modules/crowdfunding.md +14 -0
  50. package/knowledge/topics/modules/finance.md +14 -0
  51. package/knowledge/topics/modules/inventory.md +14 -0
  52. package/knowledge/topics/modules/operations.md +14 -0
  53. package/knowledge/topics/modules/organization.md +16 -0
  54. package/knowledge/topics/modules/partner.md +11 -0
  55. package/knowledge/topics/modules/project.md +17 -0
  56. package/knowledge/topics/modules/sales.md +15 -0
  57. package/knowledge/topics/overview/navigation.md +21 -0
  58. package/knowledge/topics/overview/system.md +14 -0
  59. package/knowledge/topics/troubleshooting/document-correction.md +16 -0
  60. package/knowledge/topics/troubleshooting/permission-and-not-found.md +12 -0
  61. package/knowledge/topics/troubleshooting/workflow-stuck.md +11 -0
  62. package/package.json +2 -1
  63. package/plugins/diffcat/.codex-plugin/plugin.json +7 -5
  64. package/plugins/diffcat/README.md +7 -1
  65. package/plugins/diffcat/skills/diffcat/SKILL.md +32 -7
  66. package/plugins/diffcat/skills/diffcat/agents/openai.yaml +2 -2
  67. package/plugins/diffcat/skills/diffcat/references/authentication.md +12 -5
  68. package/plugins/diffcat/skills/diffcat/references/capabilities.md +1 -0
  69. package/plugins/diffcat/skills/diffcat/references/knowledge.md +40 -0
package/dist/index.js CHANGED
@@ -9,8 +9,10 @@ import { deleteCredential, loadCredential } from './credential-store.js';
9
9
  import { DiffcatClient, errorMessage, parseResponse } from './client.js';
10
10
  import { DIFFCAT_PRODUCTION_ENDPOINTS } from './deployment.js';
11
11
  import { loginWithDeviceFlow } from './device-login.js';
12
+ import { requestCapabilityAuthorization } from './capability-authorization.js';
12
13
  import { parseJsonInput } from './json-input.js';
13
14
  import { writeJson } from './output.js';
15
+ import { KnowledgeStore } from './knowledge-store.js';
14
16
  const packageVersion = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version;
15
17
  const program = new Command()
16
18
  .name('diffcat')
@@ -56,45 +58,31 @@ setup
56
58
  const auth = program.command('auth').description('登录与凭据管理');
57
59
  auth
58
60
  .command('login')
59
- .description('通过 OAuth Device Flow 请求用户授权')
61
+ .description('通过 OAuth Device Flow 登录并建立长期设备连接')
60
62
  .option('--server <url>', 'Diffcat API 根地址', DIFFCAT_PRODUCTION_ENDPOINTS.api)
61
- .addOption(new Option('-c, --capability <id>', '请求的能力,可重复').argParser(collect).default([]))
62
- .addOption(new Option('--preset <id>', '请求服务端能力预设,可重复').argParser(collect).default([]))
63
63
  .option('--device-name <name>', '授权页显示的设备名称')
64
64
  .action(async (options) => {
65
65
  const server = normalizeServer(options.server);
66
- const requested = new Set(options.capability);
67
- if (options.preset.length > 0) {
68
- const catalog = await publicCatalog(server);
69
- for (const presetId of options.preset) {
70
- const preset = catalog.presets.find((item) => item.id === presetId);
71
- if (!preset)
72
- throw new Error(`未知能力预设:${presetId}`);
73
- for (const id of preset.capabilityIds)
74
- requested.add(id);
75
- }
76
- }
77
- if (requested.size === 0) {
78
- throw new Error('至少提供一个 --capability 或 --preset;CLI 不会默认申请整组权限');
79
- }
80
66
  output(await loginWithDeviceFlow({
81
67
  profile: globals().profile,
82
68
  server,
83
- capabilities: [...requested],
84
69
  deviceName: options.deviceName,
85
70
  }));
86
71
  });
87
72
  auth
88
73
  .command('status')
89
- .description('验证当前授权并显示能力范围')
74
+ .description('验证当前登录连接并显示能力范围')
90
75
  .action(async () => {
91
76
  const api = await client();
92
- const capabilities = await api.post('/agent/v1/capabilities/list', {});
93
- output({ ...api.getStatus(), capabilities: capabilities.list });
77
+ const [capabilities, grant] = await Promise.all([
78
+ api.post('/agent/v1/capabilities/list', {}),
79
+ api.currentGrant(),
80
+ ]);
81
+ output({ ...api.getStatus(), subject: grant.subject, capabilities: capabilities.list });
94
82
  });
95
83
  auth
96
84
  .command('logout')
97
- .description('撤销当前授权并删除系统凭据')
85
+ .description('断开当前登录连接并删除系统凭据')
98
86
  .action(async () => {
99
87
  const profile = globals().profile;
100
88
  const config = await getProfileConfig(profile);
@@ -104,35 +92,23 @@ auth
104
92
  }
105
93
  const credential = loadCredential(config.keyringAccount);
106
94
  if (credential) {
95
+ const api = await DiffcatClient.load(profile);
96
+ await api.post('/agent/v1/grant/revoke', {});
107
97
  await withProfileLock(profile, async () => {
108
- const latest = loadCredential(config.keyringAccount);
109
- if (!latest)
110
- return;
111
- const response = await fetch(buildServerUrl(config.server, '/agent/v1/oauth/revoke'), {
112
- method: 'POST',
113
- headers: { 'Content-Type': 'application/json' },
114
- body: JSON.stringify({
115
- token: latest.refreshToken,
116
- client_id: 'diffcat-cli',
117
- }),
118
- });
119
- const payload = await parseResponse(response);
120
- if (!response.ok)
121
- throw new Error(errorMessage(payload, response.status));
122
98
  deleteCredential(config.keyringAccount);
123
99
  });
124
100
  }
125
101
  await saveProfileConfig(profile, null);
126
102
  output({ profile, authenticated: false, revoked: true });
127
103
  });
128
- const grant = program.command('grant').description('查看或撤销当前 CLI 授权');
104
+ const grant = program.command('grant').description('查看或断开当前 CLI 连接');
129
105
  grant
130
106
  .command('list')
131
- .description('查看当前 DPoP 授权')
107
+ .description('查看当前 DPoP 连接与已授权能力')
132
108
  .action(async () => output(await (await client()).post('/agent/v1/grant/current', {})));
133
109
  grant
134
110
  .command('revoke')
135
- .description('撤销当前 DPoP 授权')
111
+ .description('断开当前 DPoP 连接')
136
112
  .action(async () => {
137
113
  const api = await client();
138
114
  const result = await api.post('/agent/v1/grant/revoke', {});
@@ -144,6 +120,23 @@ grant
144
120
  output(result);
145
121
  });
146
122
  const capability = program.command('capability').description('能力发现与通用调用');
123
+ capability
124
+ .command('request')
125
+ .description('登录后申请一个或多个能力,并在 Diffcat 网页确认')
126
+ .addOption(new Option('-c, --capability <id>', '请求的能力,可重复').argParser(collect).default([]))
127
+ .addOption(new Option('--preset <id>', '请求服务端能力预设,可重复').argParser(collect).default([]))
128
+ .option('--all-read', '一次申请服务端目录中的全部只读能力', false)
129
+ .action(async (options) => {
130
+ const presetIds = [...options.preset, ...(options.allRead ? ['all-read'] : [])];
131
+ if (options.capability.length === 0 && presetIds.length === 0) {
132
+ throw new Error('至少提供一个 --capability、--preset 或 --all-read');
133
+ }
134
+ output(await requestCapabilityAuthorization({
135
+ client: await client(),
136
+ capabilityIds: options.capability,
137
+ presetIds,
138
+ }));
139
+ });
147
140
  capability
148
141
  .command('list')
149
142
  .action(async () => output(await (await client()).post('/agent/v1/capabilities/list', {})));
@@ -164,6 +157,46 @@ capability
164
157
  .description('登录前查看服务端完整能力目录、分组与预设')
165
158
  .option('--server <url>', 'Diffcat API 根地址', DIFFCAT_PRODUCTION_ENDPOINTS.api)
166
159
  .action(async (options) => output(await publicCatalog(normalizeServer(options.server))));
160
+ const knowledge = program.command('knowledge').description('查询 DiffCat 功能、流程与操作知识');
161
+ async function authenticatedKnowledgeStore() {
162
+ const api = await client();
163
+ await api.currentGrant();
164
+ return new KnowledgeStore();
165
+ }
166
+ knowledge
167
+ .command('outline')
168
+ .description('查看知识入口大纲')
169
+ .action(async () => output((await authenticatedKnowledgeStore()).outline()));
170
+ knowledge
171
+ .command('search <query>')
172
+ .description('检索知识主题并返回摘要')
173
+ .option('--limit <count>', '最多返回 1 到 10 条', '5')
174
+ .action(async (query, options) => {
175
+ const limit = Number(options.limit);
176
+ if (!Number.isInteger(limit) || limit < 1 || limit > 10) {
177
+ throw new Error('--limit 必须是 1 到 10 的整数');
178
+ }
179
+ output((await authenticatedKnowledgeStore()).search(query, limit));
180
+ });
181
+ knowledge
182
+ .command('get <topic-id>')
183
+ .description('按主题编号加载完整知识章节')
184
+ .action(async (topicId) => output((await authenticatedKnowledgeStore()).get(topicId)));
185
+ knowledge
186
+ .command('flow <flow-code>')
187
+ .description('查询当前已发布流程并合并节点职责说明')
188
+ .action(async (flowCode) => {
189
+ const api = await client();
190
+ await api.currentGrant();
191
+ const result = await api.invoke('knowledge.flows.read', {
192
+ action: 'get',
193
+ key: flowCode,
194
+ });
195
+ if (result.status === 'succeeded' && result.result) {
196
+ result.result = new KnowledgeStore().mergePublishedFlow(result.result);
197
+ }
198
+ output(result);
199
+ });
167
200
  const resource = program.command('resource').description('通用基础资料查询');
168
201
  resource
169
202
  .command('list <resource>')
@@ -283,7 +316,7 @@ operation
283
316
  idempotencyKey: pending.idempotencyKey,
284
317
  }));
285
318
  });
286
- program.addHelpText('after', `\n示例:\n diffcat auth login -c pm.projects.read\n diffcat project list --query '{"pageSize":20}'\n diffcat capability invoke flow.tasks.read --input '{"action":"list"}'\n`);
319
+ program.addHelpText('after', `\n示例:\n diffcat auth login\n diffcat capability request -c pm.projects.read\n diffcat capability request --all-read\n diffcat project list --query '{"pageSize":20}'\n`);
287
320
  program.parseAsync().catch((error) => {
288
321
  writeJson({
289
322
  success: false,
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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"}
@@ -0,0 +1,55 @@
1
+ import type { KnowledgeCatalog, KnowledgeSearchMatch, PublishedFlowKnowledge } from './knowledge-types.js';
2
+ export declare class KnowledgeStore {
3
+ readonly catalog: KnowledgeCatalog;
4
+ private readonly topicById;
5
+ constructor(catalog?: KnowledgeCatalog);
6
+ static loadCatalog(): KnowledgeCatalog;
7
+ validate(): string[];
8
+ outline(): {
9
+ knowledgeVersion: string;
10
+ categories: {
11
+ topics: {
12
+ id: string;
13
+ title: string;
14
+ summary: string;
15
+ parentId: string | null;
16
+ relatedTopicIds: string[];
17
+ }[];
18
+ id: string;
19
+ title: string;
20
+ description: string;
21
+ }[];
22
+ };
23
+ get(topicId: string): {
24
+ knowledgeVersion: string;
25
+ topic: {
26
+ metadata: {
27
+ id: string;
28
+ title: string;
29
+ summary: string;
30
+ category: string;
31
+ parentId?: string;
32
+ relatedTopicIds: string[];
33
+ keywords: string[];
34
+ aliases: string[];
35
+ path: string;
36
+ resourceNames?: string[];
37
+ menuCodes?: string[];
38
+ flowCode?: string;
39
+ updatedAt: string;
40
+ };
41
+ content: string;
42
+ relatedTopics: {
43
+ id: string;
44
+ title: string;
45
+ summary: string;
46
+ }[];
47
+ };
48
+ };
49
+ search(query: string, limit?: number): {
50
+ knowledgeVersion: string;
51
+ query: string;
52
+ matches: KnowledgeSearchMatch[];
53
+ };
54
+ mergePublishedFlow(flow: PublishedFlowKnowledge): PublishedFlowKnowledge;
55
+ }
@@ -0,0 +1,265 @@
1
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
2
+ import { extname, relative, resolve, sep } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ const knowledgeRoot = fileURLToPath(new URL('../knowledge/', import.meta.url));
5
+ const catalogPath = resolve(knowledgeRoot, 'catalog.json');
6
+ const segmenter = new Intl.Segmenter('zh-CN', { granularity: 'word' });
7
+ function normalize(value) {
8
+ return value.normalize('NFKC').toLocaleLowerCase('zh-CN').trim();
9
+ }
10
+ function tokens(value) {
11
+ const normalized = normalize(value);
12
+ const result = new Set();
13
+ for (const part of segmenter.segment(normalized)) {
14
+ if (part.isWordLike && part.segment.trim())
15
+ result.add(part.segment.trim());
16
+ }
17
+ for (const run of normalized.match(/[\p{Script=Han}]{2,}/gu) ?? []) {
18
+ result.add(run);
19
+ for (let index = 0; index < run.length - 1; index += 1) {
20
+ result.add(run.slice(index, index + 2));
21
+ }
22
+ }
23
+ for (const word of normalized.match(/[a-z0-9._:-]+/g) ?? [])
24
+ result.add(word);
25
+ return [...result];
26
+ }
27
+ function safeTopicPath(topicPath) {
28
+ const resolved = resolve(knowledgeRoot, topicPath);
29
+ const prefix = knowledgeRoot.endsWith(sep) ? knowledgeRoot : `${knowledgeRoot}${sep}`;
30
+ if (!resolved.startsWith(prefix) || extname(resolved).toLowerCase() !== '.md') {
31
+ throw new Error(`知识主题路径不安全:${topicPath}`);
32
+ }
33
+ return resolved;
34
+ }
35
+ function collectMarkdownFiles(directory) {
36
+ const files = [];
37
+ for (const entry of readdirSync(directory)) {
38
+ const path = resolve(directory, entry);
39
+ if (statSync(path).isDirectory())
40
+ files.push(...collectMarkdownFiles(path));
41
+ else if (extname(path).toLowerCase() === '.md') {
42
+ files.push(relative(knowledgeRoot, path).split(sep).join('/'));
43
+ }
44
+ }
45
+ return files;
46
+ }
47
+ function extractHeadings(content) {
48
+ return [...content.matchAll(/^#{1,4}\s+(.+)$/gm)].map((match) => match[1].trim());
49
+ }
50
+ function plainText(content) {
51
+ return content
52
+ .replace(/```[\s\S]*?```/g, ' ')
53
+ .replace(/[`*_>#|\[\]()]/g, ' ')
54
+ .replace(/\s+/g, ' ')
55
+ .trim();
56
+ }
57
+ function snippet(content, queryTokens) {
58
+ const plain = plainText(content);
59
+ const normalized = normalize(plain);
60
+ const positions = queryTokens
61
+ .map((token) => normalized.indexOf(token))
62
+ .filter((position) => position >= 0);
63
+ const start = positions.length ? Math.max(0, Math.min(...positions) - 70) : 0;
64
+ const prefix = start > 0 ? '…' : '';
65
+ const suffix = start + 220 < plain.length ? '…' : '';
66
+ return `${prefix}${plain.slice(start, start + 220).trim()}${suffix}`;
67
+ }
68
+ function scoreTopic(topic, content, query, queryTokens) {
69
+ const normalizedQuery = normalize(query);
70
+ const id = normalize(topic.id);
71
+ const title = normalize(topic.title);
72
+ const aliases = topic.aliases.map(normalize);
73
+ const keywords = topic.keywords.map(normalize);
74
+ const headings = extractHeadings(content).map(normalize);
75
+ const body = normalize(content);
76
+ let score = 0;
77
+ if (id === normalizedQuery)
78
+ score += 240;
79
+ if (title === normalizedQuery)
80
+ score += 220;
81
+ if (aliases.includes(normalizedQuery))
82
+ score += 200;
83
+ if (id.includes(normalizedQuery))
84
+ score += 100;
85
+ if (title.includes(normalizedQuery))
86
+ score += 90;
87
+ if (aliases.some((value) => value.includes(normalizedQuery)))
88
+ score += 80;
89
+ if (keywords.some((value) => value.includes(normalizedQuery)))
90
+ score += 70;
91
+ for (const token of queryTokens) {
92
+ if (id.includes(token))
93
+ score += 24;
94
+ if (title.includes(token))
95
+ score += 20;
96
+ if (aliases.some((value) => value.includes(token)))
97
+ score += 16;
98
+ if (keywords.some((value) => value.includes(token)))
99
+ score += 12;
100
+ if (headings.some((value) => value.includes(token)))
101
+ score += 8;
102
+ if (body.includes(token))
103
+ score += 2;
104
+ }
105
+ return score;
106
+ }
107
+ function nodeTypeResponsibility(type) {
108
+ switch (type) {
109
+ case 'START':
110
+ return '流程自动开始,不需要人工办理。';
111
+ case 'BRANCH':
112
+ return '系统按当前流程条件选择后续路径。';
113
+ case 'APPROVAL':
114
+ return '指定办理人审核单据并作出通过或驳回决定。';
115
+ case 'HANDLE':
116
+ return '指定办理人完成该节点要求的业务处理。';
117
+ case 'WAIT':
118
+ return '等待关联业务事件完成后由系统继续流转。';
119
+ case 'END':
120
+ return '流程自动结束。';
121
+ default:
122
+ return '按当前流程配置完成该节点的业务职责。';
123
+ }
124
+ }
125
+ export class KnowledgeStore {
126
+ catalog;
127
+ topicById;
128
+ constructor(catalog = KnowledgeStore.loadCatalog()) {
129
+ this.catalog = catalog;
130
+ this.topicById = new Map(catalog.topics.map((topic) => [topic.id, topic]));
131
+ }
132
+ static loadCatalog() {
133
+ return JSON.parse(readFileSync(catalogPath, 'utf8'));
134
+ }
135
+ validate() {
136
+ const errors = [];
137
+ const categoryIds = new Set(this.catalog.categories.map((item) => item.id));
138
+ const topicIds = new Set();
139
+ const paths = new Set();
140
+ if (this.catalog.schemaVersion !== 1)
141
+ errors.push('不支持的知识目录版本');
142
+ for (const topic of this.catalog.topics) {
143
+ if (topicIds.has(topic.id))
144
+ errors.push(`重复主题编号:${topic.id}`);
145
+ topicIds.add(topic.id);
146
+ if (!categoryIds.has(topic.category))
147
+ errors.push(`未知主题分类:${topic.id}`);
148
+ if (paths.has(topic.path))
149
+ errors.push(`重复正文路径:${topic.path}`);
150
+ paths.add(topic.path);
151
+ try {
152
+ readFileSync(safeTopicPath(topic.path), 'utf8');
153
+ }
154
+ catch (error) {
155
+ errors.push(error instanceof Error ? error.message : String(error));
156
+ }
157
+ }
158
+ for (const topic of this.catalog.topics) {
159
+ if (topic.parentId && !topicIds.has(topic.parentId)) {
160
+ errors.push(`父主题不存在:${topic.id} -> ${topic.parentId}`);
161
+ }
162
+ for (const relatedId of topic.relatedTopicIds) {
163
+ if (!topicIds.has(relatedId))
164
+ errors.push(`关联主题不存在:${topic.id} -> ${relatedId}`);
165
+ }
166
+ }
167
+ for (const file of collectMarkdownFiles(knowledgeRoot)) {
168
+ if (!paths.has(file))
169
+ errors.push(`正文未登记:${file}`);
170
+ }
171
+ return errors;
172
+ }
173
+ outline() {
174
+ return {
175
+ knowledgeVersion: this.catalog.knowledgeVersion,
176
+ categories: this.catalog.categories.map((category) => ({
177
+ ...category,
178
+ topics: this.catalog.topics
179
+ .filter((topic) => topic.category === category.id)
180
+ .map((topic) => ({
181
+ id: topic.id,
182
+ title: topic.title,
183
+ summary: topic.summary,
184
+ parentId: topic.parentId ?? null,
185
+ relatedTopicIds: topic.relatedTopicIds,
186
+ })),
187
+ })),
188
+ };
189
+ }
190
+ get(topicId) {
191
+ const topic = this.topicById.get(topicId);
192
+ if (!topic)
193
+ throw new Error(`知识主题不存在:${topicId}`);
194
+ const { nodeResponsibilities: _nodeResponsibilities, ...metadata } = topic;
195
+ return {
196
+ knowledgeVersion: this.catalog.knowledgeVersion,
197
+ topic: {
198
+ metadata,
199
+ content: readFileSync(safeTopicPath(topic.path), 'utf8'),
200
+ relatedTopics: topic.relatedTopicIds
201
+ .map((id) => this.topicById.get(id))
202
+ .filter((item) => Boolean(item))
203
+ .map((item) => ({ id: item.id, title: item.title, summary: item.summary })),
204
+ },
205
+ };
206
+ }
207
+ search(query, limit = 5) {
208
+ const normalizedQuery = normalize(query);
209
+ if (!normalizedQuery)
210
+ throw new Error('知识检索内容不能为空');
211
+ const safeLimit = Math.max(1, Math.min(10, Math.trunc(limit)));
212
+ const queryTokens = tokens(query);
213
+ const matches = [];
214
+ for (const topic of this.catalog.topics) {
215
+ const content = readFileSync(safeTopicPath(topic.path), 'utf8');
216
+ const score = scoreTopic(topic, content, query, queryTokens);
217
+ if (score <= 0)
218
+ continue;
219
+ const matchedHeadings = extractHeadings(content)
220
+ .filter((heading) => {
221
+ const value = normalize(heading);
222
+ return queryTokens.some((token) => value.includes(token));
223
+ })
224
+ .slice(0, 3);
225
+ matches.push({
226
+ id: topic.id,
227
+ title: topic.title,
228
+ summary: topic.summary,
229
+ category: topic.category,
230
+ score,
231
+ matchedHeadings,
232
+ snippet: snippet(content, queryTokens),
233
+ relatedTopicIds: topic.relatedTopicIds,
234
+ });
235
+ }
236
+ matches.sort((left, right) => right.score - left.score ||
237
+ left.title.localeCompare(right.title, 'zh-CN') ||
238
+ left.id.localeCompare(right.id));
239
+ return {
240
+ knowledgeVersion: this.catalog.knowledgeVersion,
241
+ query,
242
+ matches: matches.slice(0, safeLimit),
243
+ };
244
+ }
245
+ mergePublishedFlow(flow) {
246
+ const topic = this.catalog.topics.find((item) => item.flowCode?.toUpperCase() === flow.code.toUpperCase());
247
+ const responsibilities = topic?.nodeResponsibilities ?? {};
248
+ return {
249
+ ...flow,
250
+ nodes: flow.nodes.map((node) => {
251
+ const nodeCode = typeof node.nodeCode === 'string' ? node.nodeCode : '';
252
+ const current = typeof node.responsibility === 'string' ? node.responsibility.trim() : '';
253
+ const bundled = responsibilities[nodeCode]?.trim() ?? '';
254
+ const responsibility = current || bundled || nodeTypeResponsibility(node.nodeType);
255
+ const responsibilitySource = current
256
+ ? 'published_flow'
257
+ : bundled
258
+ ? 'bundled_knowledge'
259
+ : 'node_type_fallback';
260
+ return { ...node, responsibility, responsibilitySource };
261
+ }),
262
+ };
263
+ }
264
+ }
265
+ //# sourceMappingURL=knowledge-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-store.js","sourceRoot":"","sources":["../src/knowledge-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export interface KnowledgeCategory {
2
+ id: string;
3
+ title: string;
4
+ description: string;
5
+ }
6
+ export interface KnowledgeTopicMetadata {
7
+ id: string;
8
+ title: string;
9
+ summary: string;
10
+ category: string;
11
+ parentId?: string;
12
+ relatedTopicIds: string[];
13
+ keywords: string[];
14
+ aliases: string[];
15
+ path: string;
16
+ resourceNames?: string[];
17
+ menuCodes?: string[];
18
+ flowCode?: string;
19
+ updatedAt: string;
20
+ nodeResponsibilities?: Record<string, string>;
21
+ }
22
+ export interface KnowledgeCatalog {
23
+ schemaVersion: 1;
24
+ knowledgeVersion: string;
25
+ updatedAt: string;
26
+ categories: KnowledgeCategory[];
27
+ topics: KnowledgeTopicMetadata[];
28
+ }
29
+ export interface KnowledgeSearchMatch {
30
+ id: string;
31
+ title: string;
32
+ summary: string;
33
+ category: string;
34
+ score: number;
35
+ matchedHeadings: string[];
36
+ snippet: string;
37
+ relatedTopicIds: string[];
38
+ }
39
+ export interface PublishedFlowKnowledge {
40
+ code: string;
41
+ title: string;
42
+ entityName: string;
43
+ versionNo: number;
44
+ publishedAt: string | null;
45
+ nodes: Array<Record<string, unknown>>;
46
+ edges: Array<Record<string, unknown>>;
47
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=knowledge-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge-types.js","sourceRoot":"","sources":["../src/knowledge-types.ts"],"names":[],"mappings":""}