@lemoncat7/dsh-knowledge 1.1.5 → 2.0.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 (128) hide show
  1. package/README.md +24 -4
  2. package/docs/architecture.md +32 -6
  3. package/docs/requirements.md +10 -0
  4. package/lib/api.d.ts +2 -0
  5. package/lib/api.d.ts.map +1 -1
  6. package/lib/api.js +235 -13
  7. package/lib/api.js.map +1 -1
  8. package/lib/atomic-file.d.ts +16 -0
  9. package/lib/atomic-file.d.ts.map +1 -0
  10. package/lib/atomic-file.js +92 -0
  11. package/lib/atomic-file.js.map +1 -0
  12. package/lib/client.d.ts.map +1 -1
  13. package/lib/client.js +38 -35
  14. package/lib/client.js.map +2 -2
  15. package/lib/config.d.ts.map +1 -1
  16. package/lib/config.js +2 -5
  17. package/lib/config.js.map +1 -1
  18. package/lib/connection.d.ts.map +1 -1
  19. package/lib/connection.js +5 -15
  20. package/lib/connection.js.map +1 -1
  21. package/lib/content-safety.d.ts +12 -0
  22. package/lib/content-safety.d.ts.map +1 -0
  23. package/lib/content-safety.js +38 -0
  24. package/lib/content-safety.js.map +1 -0
  25. package/lib/documents/projection-queue.d.ts +10 -0
  26. package/lib/documents/projection-queue.d.ts.map +1 -0
  27. package/lib/documents/projection-queue.js +21 -0
  28. package/lib/documents/projection-queue.js.map +1 -0
  29. package/lib/documents/store.d.ts +4 -2
  30. package/lib/documents/store.d.ts.map +1 -1
  31. package/lib/documents/store.js +54 -73
  32. package/lib/documents/store.js.map +1 -1
  33. package/lib/domain.d.ts +13 -0
  34. package/lib/domain.d.ts.map +1 -1
  35. package/lib/domain.js.map +1 -1
  36. package/lib/extraction.d.ts.map +1 -1
  37. package/lib/extraction.js +18 -4
  38. package/lib/extraction.js.map +1 -1
  39. package/lib/index.d.ts +1 -0
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +91 -32
  42. package/lib/index.js.map +1 -1
  43. package/lib/knowledge-merge.d.ts +8 -0
  44. package/lib/knowledge-merge.d.ts.map +1 -0
  45. package/lib/knowledge-merge.js +19 -0
  46. package/lib/knowledge-merge.js.map +1 -0
  47. package/lib/local-provider.d.ts +26 -1
  48. package/lib/local-provider.d.ts.map +1 -1
  49. package/lib/local-provider.js +402 -63
  50. package/lib/local-provider.js.map +1 -1
  51. package/lib/management-proxy.d.ts.map +1 -1
  52. package/lib/management-proxy.js +22 -13
  53. package/lib/management-proxy.js.map +1 -1
  54. package/lib/note-reference-handle.d.ts +15 -0
  55. package/lib/note-reference-handle.d.ts.map +1 -0
  56. package/lib/note-reference-handle.js +54 -0
  57. package/lib/note-reference-handle.js.map +1 -0
  58. package/lib/note-reference-tools.d.ts +6 -0
  59. package/lib/note-reference-tools.d.ts.map +1 -0
  60. package/lib/note-reference-tools.js +119 -0
  61. package/lib/note-reference-tools.js.map +1 -0
  62. package/lib/note-tools.d.ts +6 -0
  63. package/lib/note-tools.d.ts.map +1 -0
  64. package/lib/note-tools.js +283 -0
  65. package/lib/note-tools.js.map +1 -0
  66. package/lib/notes/domain.d.ts +44 -0
  67. package/lib/notes/domain.d.ts.map +1 -0
  68. package/lib/notes/domain.js +38 -0
  69. package/lib/notes/domain.js.map +1 -0
  70. package/lib/notes/store.d.ts +39 -0
  71. package/lib/notes/store.d.ts.map +1 -0
  72. package/lib/notes/store.js +407 -0
  73. package/lib/notes/store.js.map +1 -0
  74. package/lib/provider.d.ts +17 -0
  75. package/lib/provider.d.ts.map +1 -1
  76. package/lib/remote-provider.d.ts +19 -0
  77. package/lib/remote-provider.d.ts.map +1 -1
  78. package/lib/remote-provider.js +172 -14
  79. package/lib/remote-provider.js.map +1 -1
  80. package/lib/remote-url.d.ts +2 -0
  81. package/lib/remote-url.d.ts.map +1 -0
  82. package/lib/remote-url.js +14 -0
  83. package/lib/remote-url.js.map +1 -0
  84. package/lib/runtime.d.ts +1 -0
  85. package/lib/runtime.d.ts.map +1 -1
  86. package/lib/runtime.js.map +1 -1
  87. package/lib/service-settings.d.ts.map +1 -1
  88. package/lib/service-settings.js +3 -10
  89. package/lib/service-settings.js.map +1 -1
  90. package/lib/theme-bridge.js +12 -12
  91. package/lib/theme-bridge.js.map +1 -1
  92. package/lib/tool-authorization.d.ts +14 -0
  93. package/lib/tool-authorization.d.ts.map +1 -0
  94. package/lib/tool-authorization.js +124 -0
  95. package/lib/tool-authorization.js.map +1 -0
  96. package/lib/tool-input.d.ts +6 -0
  97. package/lib/tool-input.d.ts.map +1 -0
  98. package/lib/tool-input.js +27 -0
  99. package/lib/tool-input.js.map +1 -0
  100. package/lib/tools.d.ts +2 -1
  101. package/lib/tools.d.ts.map +1 -1
  102. package/lib/tools.js +70 -177
  103. package/lib/tools.js.map +1 -1
  104. package/lib/tracking.d.ts +29 -0
  105. package/lib/tracking.d.ts.map +1 -0
  106. package/lib/tracking.js +141 -0
  107. package/lib/tracking.js.map +1 -0
  108. package/lib/web-change-review.d.ts +34 -0
  109. package/lib/web-change-review.d.ts.map +1 -0
  110. package/lib/web-change-review.js +147 -0
  111. package/lib/web-change-review.js.map +1 -0
  112. package/lib/web-markdown-preview.d.ts.map +1 -1
  113. package/lib/web-markdown-preview.js +10 -0
  114. package/lib/web-markdown-preview.js.map +1 -1
  115. package/lib/web-note-editor.d.ts +44 -0
  116. package/lib/web-note-editor.d.ts.map +1 -0
  117. package/lib/web-note-editor.js +118 -0
  118. package/lib/web-note-editor.js.map +1 -0
  119. package/lib/web.d.ts.map +1 -1
  120. package/lib/web.js +3 -1
  121. package/lib/web.js.map +1 -1
  122. package/package.json +12 -1
  123. package/web/app.js +1888 -154
  124. package/web/change-review.js +5 -0
  125. package/web/index.html +2 -0
  126. package/web/markdown-preview.js +8 -8
  127. package/web/note-editor.js +220 -0
  128. package/web/styles.css +599 -170
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-authorization.js","sourceRoot":"","sources":["../src/tool-authorization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AgentLike, ToolRunContextLike } from './runtime.js';
2
+ export declare function requireToolAgent(exec: ToolRunContextLike, family?: string): AgentLike;
3
+ export declare function toolRecord(value: unknown): Record<string, unknown>;
4
+ export declare function requiredToolString(value: unknown, name: string, maxLength: number): string;
5
+ export declare function optionalToolInteger(value: unknown, name: string, min: number, max: number): number | undefined;
6
+ //# sourceMappingURL=tool-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-input.d.ts","sourceRoot":"","sources":["../src/tool-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,SAAoB,GAAG,SAAS,CAGhG;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGlE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK1F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM9G"}
@@ -0,0 +1,27 @@
1
+ export function requireToolAgent(exec, family = 'knowledge tools') {
2
+ if (exec.agent === undefined)
3
+ throw new Error(`${family} require a calling DSH agent`);
4
+ return exec.agent;
5
+ }
6
+ export function toolRecord(value) {
7
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
8
+ throw new Error('tool arguments must be an object');
9
+ return value;
10
+ }
11
+ export function requiredToolString(value, name, maxLength) {
12
+ if (typeof value !== 'string' || value.trim().length === 0)
13
+ throw new Error(`${name} must be a non-empty string`);
14
+ const result = value.trim();
15
+ if (result.length > maxLength)
16
+ throw new Error(`${name} must contain at most ${maxLength} characters`);
17
+ return result;
18
+ }
19
+ export function optionalToolInteger(value, name, min, max) {
20
+ if (value === undefined)
21
+ return undefined;
22
+ if (!Number.isInteger(value) || Number(value) < min || Number(value) > max) {
23
+ throw new Error(`${name} must be an integer between ${min} and ${max}`);
24
+ }
25
+ return Number(value);
26
+ }
27
+ //# sourceMappingURL=tool-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-input.js","sourceRoot":"","sources":["../src/tool-input.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,IAAwB,EAAE,MAAM,GAAG,iBAAiB;IACnF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,8BAA8B,CAAC,CAAA;IACtF,OAAO,IAAI,CAAC,KAAK,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAC5H,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,IAAY,EAAE,SAAiB;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAA;IACjH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,yBAAyB,SAAS,aAAa,CAAC,CAAA;IACtG,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc,EAAE,IAAY,EAAE,GAAW,EAAE,GAAW;IACxF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+BAA+B,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC"}
package/lib/tools.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { KnowledgeProvider } from './provider.js';
2
2
  import { KnowledgeHandleCodec } from './retrieval.js';
3
3
  import type { RuntimeContextLike } from './runtime.js';
4
+ import type { KnowledgeNoteHandleCodec } from './note-reference-handle.js';
4
5
  /** Register scoped retrieval tools and explicit knowledge-base management tools. */
5
- export declare function registerKnowledgeTools(ctx: RuntimeContextLike, provider: KnowledgeProvider, codec: KnowledgeHandleCodec): void;
6
+ export declare function registerKnowledgeTools(ctx: RuntimeContextLike, provider: KnowledgeProvider, codec: KnowledgeHandleCodec, noteCodec: KnowledgeNoteHandleCodec): void;
6
7
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAWtD,OAAO,EAIL,oBAAoB,EAOrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAa,kBAAkB,EAA0C,MAAM,cAAc,CAAA;AAOzG,oFAAoF;AACpF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,oBAAoB,GAC1B,IAAI,CAMN"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAOtD,OAAO,EAIL,oBAAoB,EAMrB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAsB,kBAAkB,EAA0C,MAAM,cAAc,CAAA;AAGlH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAO1E,oFAAoF;AACpF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,wBAAwB,GAClC,IAAI,CAQN"}
package/lib/tools.js CHANGED
@@ -1,141 +1,21 @@
1
- import { isKnowledgeType, normalizeTags, } from './domain.js';
2
- import { formatKnowledgeEntry, formatKnowledgeBaseMatches, formatSearchResults, readMountedKnowledge, resolveKnowledgeMounts, resolveRecallMounts, searchMountedKnowledgeBases, searchMountedKnowledge, selectMounts, } from './retrieval.js';
1
+ import { normalizeTags, } from './domain.js';
2
+ import { formatKnowledgeEntry, formatKnowledgeBaseMatches, formatSearchResults, readMountedKnowledge, resolveRecallMounts, searchMountedKnowledgeBases, searchMountedKnowledge, selectMounts, } from './retrieval.js';
3
+ import { assertExplicitKnowledgeBaseManagementRequest } from './tool-authorization.js';
4
+ import { registerKnowledgeNoteReferenceTools } from './note-reference-tools.js';
5
+ import { registerKnowledgeNoteTools } from './note-tools.js';
3
6
  const textOutput = {
4
7
  schema: { type: 'string' },
5
8
  render: (_args, value) => [{ type: 'text', text: String(value) }],
6
9
  };
7
10
  /** Register scoped retrieval tools and explicit knowledge-base management tools. */
8
- export function registerKnowledgeTools(ctx, provider, codec) {
11
+ export function registerKnowledgeTools(ctx, provider, codec, noteCodec) {
9
12
  ctx.tools.register(searchKnowledgeBaseTool(provider));
10
13
  ctx.tools.register(searchTool(provider, codec));
11
14
  ctx.tools.register(readTool(provider, codec));
12
- ctx.tools.register(createKnowledgeBaseTool(provider));
13
- ctx.tools.register(updateKnowledgeBaseTool(provider));
14
- }
15
- function writeTool(provider, codec) {
16
- return {
17
- name: 'knowledge_write',
18
- description: 'Use ONLY when the current direct user message explicitly asks to save, remember, record, or write content into a knowledge base. Normal durable findings are handled automatically after the answer and MUST NOT trigger this tool. Persist explicit requests as topic documents in a writable mounted base. Search first and pass the matching document handle; send only new Markdown material. Never mention this tool, its result, automatic write-back, or any write refusal in the assistant answer.',
19
- parameters: {
20
- type: 'object',
21
- additionalProperties: false,
22
- properties: {
23
- handle: { type: 'string', description: 'For an update: exact signed handle returned by knowledge_search.' },
24
- base: { type: 'string', description: 'For a new document: exact writable mounted knowledge-base id or name. Optional only when exactly one writable base is mounted.' },
25
- title: { type: 'string', description: 'Stable subject document title, not an individual fact title. For a GitHub repository prefer owner/repository. Required only for a genuinely new document.' },
26
- content: { type: 'string', description: 'Only the NEW Markdown sections or paragraphs for the topic document. Group related findings, and do not repeat existing content or include session narration.' },
27
- type: { type: 'string', enum: ['preference', 'fact', 'decision', 'procedure', 'lesson'], description: 'Knowledge type. Required for new knowledge; existing type is preserved on update.' },
28
- tags: { type: 'array', items: { type: 'string' }, maxItems: 32 },
29
- scope: { type: 'string', enum: ['global', 'project'], description: 'Scope for new knowledge. Project uses the current workspace; default is global.' },
30
- },
31
- required: ['content'],
32
- },
33
- output: textOutput,
34
- isConcurrencySafe: () => false,
35
- async execute(raw, exec) {
36
- const agent = requireAgent(exec);
37
- if (!currentUserExplicitlyRequestsKnowledgeWrite(agent)) {
38
- return JSON.stringify({
39
- outcome: 'not-needed',
40
- instruction: 'Continue the substantive answer silently. Do not mention knowledge_write, this result, automatic write-back, persistence, or any refusal in the assistant answer.',
41
- });
42
- }
43
- const args = asRecord(raw);
44
- const content = requireNonEmptyString(args.content, 'content', 50_000);
45
- const handle = optionalString(args.handle, 'handle', 4096);
46
- const allMounts = await resolveKnowledgeMounts(provider, agent, exec.signal);
47
- const writableMounts = allMounts.filter(mount => mount.writeMode !== 'none');
48
- if (writableMounts.length === 0)
49
- throw new Error('no writable knowledge base is mounted in this session');
50
- let mount;
51
- let targetId;
52
- let current = undefined;
53
- if (handle !== undefined) {
54
- const resolved = await readMountedKnowledge(provider, agent, handle, codec, exec.signal);
55
- mount = resolved.mount;
56
- current = resolved.entry;
57
- targetId = resolved.entry.id;
58
- if (mount.writeMode === 'none')
59
- throw new Error('the knowledge base addressed by this handle is mounted read-only');
60
- }
61
- else {
62
- mount = selectWritableMount(writableMounts, optionalString(args.base, 'base', 200));
63
- }
64
- const scope = current?.scope ?? parseWriteScope(args.scope, agent.session.header.cwd);
65
- const type = current?.type ?? parseWriteType(args.type);
66
- const title = current?.title ?? requireNonEmptyString(args.title, 'title', 200);
67
- const turn = currentTurn(agent);
68
- const draft = {
69
- knowledgeBaseId: mount.knowledgeBaseId,
70
- title,
71
- body: content,
72
- type,
73
- tags: normalizeTags([
74
- ...mount.base.defaultTags,
75
- ...mount.includeTags,
76
- ...optionalStringArray(args.tags, 'tags', 32, 100),
77
- ]).filter(tag => !mount.excludeTags.includes(tag)),
78
- scope,
79
- confidence: .95,
80
- source: {
81
- sessionId: agent.session.id,
82
- ...turn === undefined ? {} : { turn },
83
- },
84
- };
85
- const proposal = {
86
- action: targetId === undefined ? 'create' : 'update',
87
- ...targetId === undefined ? {} : { targetId },
88
- draft,
89
- reason: 'Persisted through the scoped knowledge_write tool.',
90
- };
91
- const sourceKey = `knowledge-write:${agent.session.id}`;
92
- if (mount.writeMode === 'audit') {
93
- const candidate = await provider.propose(proposal, sourceKey, exec.signal);
94
- return JSON.stringify({
95
- storage: provider.mode,
96
- outcome: 'pending-review',
97
- knowledgeBase: { id: mount.knowledgeBaseId, name: mount.base.name },
98
- candidateId: candidate.id,
99
- }, null, 2);
100
- }
101
- const result = await provider.writeDirect(proposal, sourceKey, exec.signal);
102
- return JSON.stringify({
103
- storage: provider.mode,
104
- outcome: result.outcome,
105
- knowledgeBase: { id: mount.knowledgeBaseId, name: mount.base.name },
106
- ...result.entry === undefined ? {} : { document: { id: result.entry.id, title: result.entry.title } },
107
- ...result.candidate?.status === 'pending' ? { candidateId: result.candidate.id } : {},
108
- }, null, 2);
109
- },
110
- };
111
- }
112
- function currentUserExplicitlyRequestsKnowledgeWrite(agent) {
113
- let turnStart = -1;
114
- for (let index = agent.session.events.length - 1; index >= 0; index -= 1) {
115
- if (agent.session.events[index]?.type === 'turn/start') {
116
- turnStart = index;
117
- break;
118
- }
119
- }
120
- const text = agent.session.events.slice(turnStart + 1)
121
- .filter(event => event.type === 'user/message')
122
- .map(event => event.data)
123
- .filter(message => message.source?.kind === 'user')
124
- .flatMap(message => message.content ?? [])
125
- .filter(block => block.type === 'text' && typeof block.text === 'string')
126
- .map(block => block.text)
127
- .join('\n')
128
- .normalize('NFKC')
129
- .toLocaleLowerCase('zh-CN');
130
- if (text.length === 0)
131
- return false;
132
- if (/(?:不要|别|无需|不需要|禁止|取消).{0,12}(?:写入|回写|存入|保存|收录|记录|记住|加入|添加|沉淀).{0,12}知识库/iu.test(text))
133
- return false;
134
- if (/(?:do\s+not|don't|never|no\s+need\s+to).{0,24}(?:write|save|store|record|remember|add|persist).{0,24}(?:knowledge|memory)/iu.test(text))
135
- return false;
136
- return /(?:请|麻烦|帮我|把|将).{0,80}(?:写入|回写|存入|保存到|保存进|收录到|记录到|记到|加入|添加到|沉淀到).{0,40}知识库/iu.test(text)
137
- || /(?:请|麻烦|帮我).{0,20}(?:记住|记下来|记录下来|保存下来)(?:这|该|上述|以上|当前|刚才|它|内容|结论|信息)/iu.test(text)
138
- || /(?:please\s+)?(?:write|save|store|record|remember|add|persist).{0,60}(?:to|in|into)?\s*(?:the\s+)?(?:knowledge\s*(?:base|store)|memory)/iu.test(text);
15
+ ctx.tools.register(createKnowledgeBaseTool(provider, ctx.llm));
16
+ ctx.tools.register(updateKnowledgeBaseTool(provider, ctx.llm));
17
+ registerKnowledgeNoteTools(ctx, provider, noteCodec);
18
+ registerKnowledgeNoteReferenceTools(ctx, provider, codec, noteCodec);
139
19
  }
140
20
  function searchKnowledgeBaseTool(provider) {
141
21
  return {
@@ -164,7 +44,7 @@ function searchKnowledgeBaseTool(provider) {
164
44
  },
165
45
  };
166
46
  }
167
- function createKnowledgeBaseTool(provider) {
47
+ function createKnowledgeBaseTool(provider, llm) {
168
48
  return {
169
49
  name: 'knowledge_base_create',
170
50
  description: 'Create a knowledge base only when the user explicitly asks. The tool always uses the currently active knowledge provider and reports whether it created the base in local or remote storage; it never guesses, falls back, copies, or synchronizes. Creating a base does not mount it to the current project or session.',
@@ -176,19 +56,32 @@ function createKnowledgeBaseTool(provider) {
176
56
  description: { type: 'string', description: 'Routing description used to decide whether conversations belong in this base, at most 2000 characters.' },
177
57
  defaultTags: { type: 'array', items: { type: 'string' }, maxItems: 32 },
178
58
  extractionInstructions: { type: 'string', description: 'Additional write-back rules, at most 4000 characters.' },
59
+ writebackPolicy: { type: 'string', enum: ['conservative', 'proactive'], description: 'Write-back strictness; defaults to conservative.' },
60
+ writebackProvider: { type: 'string', description: 'Optional dedicated write-back provider. Must be supplied together with writebackModel.' },
61
+ writebackModel: { type: 'string', description: 'Optional dedicated write-back model. Must be supplied together with writebackProvider.' },
179
62
  },
180
63
  required: ['name'],
181
64
  },
182
65
  output: textOutput,
183
66
  async execute(raw, exec) {
184
- requireAgent(exec);
67
+ const agent = requireAgent(exec);
68
+ assertExplicitKnowledgeBaseManagementRequest(agent, 'create');
185
69
  const args = asRecord(raw);
70
+ const writebackProvider = optionalString(args.writebackProvider, 'writebackProvider', 100);
71
+ const writebackModel = optionalString(args.writebackModel, 'writebackModel', 200);
72
+ if ((writebackProvider === undefined) !== (writebackModel === undefined)) {
73
+ throw new Error('writebackProvider and writebackModel must be configured together');
74
+ }
75
+ if (writebackProvider !== undefined && writebackModel !== undefined) {
76
+ await validateWritebackRoute(llm, writebackProvider, writebackModel, exec.signal);
77
+ }
186
78
  const draft = {
187
79
  name: requireNonEmptyString(args.name, 'name', 100),
188
80
  description: optionalTrimmedString(args.description, 'description', 2000) ?? '',
189
81
  defaultTags: normalizeTags(optionalStringArray(args.defaultTags, 'defaultTags', 32, 100)),
190
82
  extractionInstructions: optionalTrimmedString(args.extractionInstructions, 'extractionInstructions', 4000) ?? '',
191
- writebackPolicy: 'conservative',
83
+ writebackPolicy: parseWritebackPolicy(args.writebackPolicy) ?? 'conservative',
84
+ ...writebackProvider === undefined || writebackModel === undefined ? {} : { writebackProvider, writebackModel },
192
85
  };
193
86
  const storage = provider.mode;
194
87
  const base = await provider.createKnowledgeBase(draft, exec.signal);
@@ -196,7 +89,7 @@ function createKnowledgeBaseTool(provider) {
196
89
  },
197
90
  };
198
91
  }
199
- function updateKnowledgeBaseTool(provider) {
92
+ function updateKnowledgeBaseTool(provider, llm) {
200
93
  return {
201
94
  name: 'knowledge_base_update',
202
95
  description: 'Modify an existing knowledge base only when the user explicitly asks. Identify it by exact id or name. The tool always updates the currently active local or remote provider and reports the actual destination; it never moves or synchronizes the base and does not change project/session mounts.',
@@ -209,12 +102,17 @@ function updateKnowledgeBaseTool(provider) {
209
102
  description: { type: 'string', description: 'New routing description; an empty string clears it.' },
210
103
  defaultTags: { type: 'array', items: { type: 'string' }, maxItems: 32, description: 'Replacement default-tag list.' },
211
104
  extractionInstructions: { type: 'string', description: 'New write-back rules; an empty string clears them.' },
105
+ writebackPolicy: { type: 'string', enum: ['conservative', 'proactive'], description: 'Replacement write-back strictness.' },
106
+ writebackProvider: { type: 'string', description: 'Replacement dedicated provider. Must be supplied together with writebackModel.' },
107
+ writebackModel: { type: 'string', description: 'Replacement dedicated model. Must be supplied together with writebackProvider.' },
108
+ useCurrentSessionModel: { type: 'boolean', description: 'Set true to clear the dedicated model and follow each current conversation model.' },
212
109
  },
213
110
  required: ['base'],
214
111
  },
215
112
  output: textOutput,
216
113
  async execute(raw, exec) {
217
- requireAgent(exec);
114
+ const agent = requireAgent(exec);
115
+ assertExplicitKnowledgeBaseManagementRequest(agent, 'update');
218
116
  const args = asRecord(raw);
219
117
  const requestedBase = requireNonEmptyString(args.base, 'base', 200);
220
118
  const storage = provider.mode;
@@ -229,6 +127,29 @@ function updateKnowledgeBaseTool(provider) {
229
127
  if (args.extractionInstructions !== undefined) {
230
128
  patch.extractionInstructions = optionalTrimmedString(args.extractionInstructions, 'extractionInstructions', 4000);
231
129
  }
130
+ const writebackPolicy = parseWritebackPolicy(args.writebackPolicy);
131
+ if (writebackPolicy !== undefined)
132
+ patch.writebackPolicy = writebackPolicy;
133
+ const writebackProvider = optionalString(args.writebackProvider, 'writebackProvider', 100);
134
+ const writebackModel = optionalString(args.writebackModel, 'writebackModel', 200);
135
+ if ((writebackProvider === undefined) !== (writebackModel === undefined)) {
136
+ throw new Error('writebackProvider and writebackModel must be configured together');
137
+ }
138
+ if (args.useCurrentSessionModel !== undefined && typeof args.useCurrentSessionModel !== 'boolean') {
139
+ throw new Error('useCurrentSessionModel must be a boolean');
140
+ }
141
+ if (args.useCurrentSessionModel === true && writebackProvider !== undefined) {
142
+ throw new Error('useCurrentSessionModel cannot be combined with a dedicated write-back model');
143
+ }
144
+ if (args.useCurrentSessionModel === true) {
145
+ patch.writebackProvider = null;
146
+ patch.writebackModel = null;
147
+ }
148
+ else if (writebackProvider !== undefined && writebackModel !== undefined) {
149
+ await validateWritebackRoute(llm, writebackProvider, writebackModel, exec.signal);
150
+ patch.writebackProvider = writebackProvider;
151
+ patch.writebackModel = writebackModel;
152
+ }
232
153
  if (Object.keys(patch).length === 0)
233
154
  throw new Error('knowledge_base_update requires at least one field to modify');
234
155
  if (provider.mode !== storage)
@@ -295,44 +216,14 @@ function readTool(provider, codec) {
295
216
  },
296
217
  };
297
218
  }
298
- function selectWritableMount(mounts, requested) {
299
- if (requested === undefined) {
300
- if (mounts.length === 1)
301
- return mounts[0];
302
- throw new Error(`multiple writable knowledge bases are mounted (${mounts.map(mount => mount.base.name).join(', ')}); specify one with base`);
303
- }
304
- const folded = requested.toLocaleLowerCase('zh-CN');
305
- const matches = mounts.filter(mount => mount.knowledgeBaseId === requested
306
- || mount.base.name.toLocaleLowerCase('zh-CN') === folded);
307
- if (matches.length === 0)
308
- throw new Error(`knowledge base ${JSON.stringify(requested)} is not mounted for write-back`);
309
- if (matches.length > 1)
310
- throw new Error(`knowledge base ${JSON.stringify(requested)} is ambiguous; use its exact id`);
311
- return matches[0];
312
- }
313
- function parseWriteScope(value, projectId) {
314
- if (value === undefined || value === 'global')
315
- return { kind: 'global' };
316
- if (value !== 'project')
317
- throw new Error('scope must be global or project');
318
- if (projectId === undefined || projectId.trim().length === 0) {
319
- throw new Error('project scope requires a current workspace');
219
+ function parseWritebackPolicy(value) {
220
+ if (value === undefined)
221
+ return undefined;
222
+ if (value !== 'conservative' && value !== 'proactive') {
223
+ throw new Error('writebackPolicy must be conservative or proactive');
320
224
  }
321
- return { kind: 'project', id: projectId };
322
- }
323
- function parseWriteType(value) {
324
- if (!isKnowledgeType(value))
325
- throw new Error('type is required for new knowledge and must be preference, fact, decision, procedure, or lesson');
326
225
  return value;
327
226
  }
328
- function currentTurn(agent) {
329
- for (let index = agent.session.events.length - 1; index >= 0; index -= 1) {
330
- const event = agent.session.events[index];
331
- if (event?.type === 'turn/start' && typeof event.data.turn === 'number')
332
- return event.data.turn;
333
- }
334
- return undefined;
335
- }
336
227
  async function resolveKnowledgeBase(provider, requested, signal) {
337
228
  const folded = requested.toLocaleLowerCase('zh-CN');
338
229
  const matches = (await provider.listKnowledgeBases(signal)).filter(base => base.id === requested
@@ -343,6 +234,15 @@ async function resolveKnowledgeBase(provider, requested, signal) {
343
234
  throw new Error(`knowledge base ${JSON.stringify(requested)} is ambiguous; use its exact id`);
344
235
  return matches[0];
345
236
  }
237
+ async function validateWritebackRoute(llm, provider, model, signal) {
238
+ try {
239
+ await llm.resolveModelInfo(provider, model, signal);
240
+ }
241
+ catch (error) {
242
+ const detail = error instanceof Error ? error.message : String(error);
243
+ throw new Error(`write-back model ${provider}/${model} is unavailable: ${detail}`);
244
+ }
245
+ }
346
246
  function formatKnowledgeBaseMutation(storage, operation, base) {
347
247
  return JSON.stringify({
348
248
  storage,
@@ -395,13 +295,6 @@ function optionalTrimmedString(value, name, maxLength) {
395
295
  throw new Error(`${name} must contain at most ${maxLength} characters`);
396
296
  return result;
397
297
  }
398
- function optionalBoolean(value, name) {
399
- if (value === undefined)
400
- return undefined;
401
- if (typeof value !== 'boolean')
402
- throw new Error(`${name} must be a boolean`);
403
- return value;
404
- }
405
298
  function optionalStringArray(value, name, maxItems, maxLength) {
406
299
  if (value === undefined)
407
300
  return [];
package/lib/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { KnowledgeProvider } from './provider.js';
2
+ import type { AgentLike } from './runtime.js';
3
+ export declare const KNOWLEDGE_TRACKING_SERVICE = "dshKnowledgeTracking";
4
+ export interface KnowledgeTrackingInput {
5
+ id: string;
6
+ subject: string;
7
+ event: string;
8
+ evidence: string;
9
+ source: string;
10
+ reference?: string;
11
+ at: number;
12
+ }
13
+ export interface KnowledgeTrackingResult {
14
+ storage: 'knowledge' | 'local';
15
+ outcome: 'written' | 'pending-review' | 'not-mounted' | 'not-writable' | 'ambiguous';
16
+ knowledgeBaseId?: string;
17
+ }
18
+ export interface KnowledgeTrackingSource {
19
+ kind: 'knowledge';
20
+ label: string;
21
+ detail: string;
22
+ token: string;
23
+ }
24
+ export interface KnowledgeTrackingService {
25
+ record(agent: AgentLike, input: KnowledgeTrackingInput, signal?: AbortSignal): Promise<KnowledgeTrackingResult>;
26
+ list(agent: AgentLike, query?: string, limit?: number, signal?: AbortSignal): Promise<KnowledgeTrackingSource[]>;
27
+ }
28
+ export declare function createKnowledgeTrackingService(provider: KnowledgeProvider): KnowledgeTrackingService;
29
+ //# sourceMappingURL=tracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../src/tracking.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,eAAO,MAAM,0BAA0B,yBAAyB,CAAA;AAEhE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAA;IAC9B,OAAO,EAAE,SAAS,GAAG,gBAAgB,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,CAAA;IACpF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC/G,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAA;CACjH;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,wBAAwB,CAmEpG"}