@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
@@ -1,10 +1,13 @@
1
+ import { normalizeRemoteKnowledgeUrl } from './remote-url.js';
2
+ const MAX_RESPONSE_BYTES = 10 * 1024 * 1024;
3
+ const MAX_NOTE_RESPONSE_BYTES = 64 * 1024 * 1024;
1
4
  export class RemoteKnowledgeProvider {
2
5
  options;
3
6
  mode = 'remote';
4
7
  baseUrl;
5
8
  constructor(options) {
6
9
  this.options = options;
7
- this.baseUrl = new URL(options.url.endsWith('/') ? options.url : `${options.url}/`);
10
+ this.baseUrl = normalizeRemoteKnowledgeUrl(options.url);
8
11
  }
9
12
  async getSettings(signal) {
10
13
  return this.request('settings', { signal });
@@ -148,6 +151,72 @@ export class RemoteKnowledgeProvider {
148
151
  async delete(id, signal) {
149
152
  await this.request(`entries/${encodeURIComponent(id)}`, { method: 'DELETE', signal });
150
153
  }
154
+ async listNotes(request = {}, signal) {
155
+ const params = new URLSearchParams({ limit: String(request.limit ?? 200) });
156
+ const query = request.query?.trim();
157
+ if (query)
158
+ params.set('q', query);
159
+ else if (request.parentId !== undefined && request.parentId !== null)
160
+ params.set('parentId', request.parentId);
161
+ else if (request.parentId === null)
162
+ params.set('parentId', '');
163
+ return this.request(`notes?${params}`, { signal });
164
+ }
165
+ async getNote(id, signal) {
166
+ try {
167
+ return await this.request(`notes/${encodeURIComponent(id)}`, { signal });
168
+ }
169
+ catch (error) {
170
+ if (error instanceof RemoteProviderError && error.status === 404)
171
+ return undefined;
172
+ throw error;
173
+ }
174
+ }
175
+ async readNote(id, signal) {
176
+ const node = await this.getNote(id, signal);
177
+ if (node === undefined)
178
+ throw new RemoteProviderError(`note node "${id}" was not found`, 404);
179
+ const content = await this.requestBytes(`notes/${encodeURIComponent(id)}/content`, { signal });
180
+ return { node, content };
181
+ }
182
+ async createNoteFolder(name, parentId = null, signal) {
183
+ return this.request('notes/folders', { method: 'POST', body: { name, parentId }, signal });
184
+ }
185
+ async createNoteDocument(name, parentId = null, content = '', signal) {
186
+ return this.request('notes/documents', { method: 'POST', body: { name, parentId, content }, signal });
187
+ }
188
+ async updateNoteContent(id, content, signal) {
189
+ const response = await this.requestBytes(`notes/${encodeURIComponent(id)}/content`, {
190
+ method: 'PUT', binaryBody: content, signal, accept: 'application/json',
191
+ });
192
+ return safeJson(new TextDecoder().decode(response));
193
+ }
194
+ async renameNote(id, name, signal) {
195
+ return this.request(`notes/${encodeURIComponent(id)}`, { method: 'PATCH', body: { name }, signal });
196
+ }
197
+ async moveNote(id, parentId, signal) {
198
+ return this.request(`notes/${encodeURIComponent(id)}`, { method: 'PATCH', body: { parentId }, signal });
199
+ }
200
+ async deleteNote(id, signal) {
201
+ await this.request(`notes/${encodeURIComponent(id)}`, { method: 'DELETE', signal });
202
+ }
203
+ async searchNotes(query, limit, signal) {
204
+ const params = new URLSearchParams({ q: query, limit: String(limit) });
205
+ return this.request(`notes?${params}`, { signal });
206
+ }
207
+ async listKnowledgeNoteReferences(knowledgeId, signal) {
208
+ return this.request(`entries/${encodeURIComponent(knowledgeId)}/note-references`, { signal });
209
+ }
210
+ async addKnowledgeNoteReference(knowledgeId, noteId, source, sourceSessionId, signal) {
211
+ return this.request(`entries/${encodeURIComponent(knowledgeId)}/note-references`, {
212
+ method: 'POST', body: { noteId, source, sourceSessionId }, signal,
213
+ });
214
+ }
215
+ async deleteKnowledgeNoteReference(knowledgeId, noteId, signal) {
216
+ await this.request(`entries/${encodeURIComponent(knowledgeId)}/note-references/${encodeURIComponent(noteId)}`, {
217
+ method: 'DELETE', signal,
218
+ });
219
+ }
151
220
  async propose(proposal, sourceKey, signal) {
152
221
  return this.request('candidates', { method: 'POST', body: { proposal, sourceKey }, signal });
153
222
  }
@@ -185,34 +254,116 @@ export class RemoteKnowledgeProvider {
185
254
  }
186
255
  async close() { }
187
256
  async request(path, options = {}) {
257
+ const response = await this.fetchResponse(path, options);
258
+ const text = await readBoundedResponse(response, MAX_RESPONSE_BYTES);
259
+ const payload = text.length === 0 ? undefined : safeJson(text);
260
+ if (!response.ok)
261
+ throw remoteResponseError(path, response.status, payload, text);
262
+ return payload;
263
+ }
264
+ async requestBytes(path, options = {}) {
265
+ const response = await this.fetchResponse(path, { ...options, accept: options.accept ?? 'application/octet-stream' });
266
+ if (!response.ok) {
267
+ const text = await readBoundedResponse(response, MAX_RESPONSE_BYTES);
268
+ let payload;
269
+ try {
270
+ payload = text.length === 0 ? undefined : safeJson(text);
271
+ }
272
+ catch {
273
+ payload = undefined;
274
+ }
275
+ throw remoteResponseError(path, response.status, payload, text);
276
+ }
277
+ return readBoundedBytes(response, MAX_NOTE_RESPONSE_BYTES);
278
+ }
279
+ async fetchResponse(path, options) {
280
+ if (options.body !== undefined && options.binaryBody !== undefined)
281
+ throw new Error('remote request cannot contain both JSON and binary bodies');
188
282
  const timeout = AbortSignal.timeout(this.options.timeoutMs);
189
283
  const signal = options.signal === undefined ? timeout : AbortSignal.any([options.signal, timeout]);
190
- let response;
191
284
  try {
192
- response = await fetch(new URL(path, this.baseUrl), {
285
+ return await fetch(new URL(path, this.baseUrl), {
193
286
  method: options.method ?? 'GET',
194
287
  headers: {
195
- accept: 'application/json',
288
+ accept: options.accept ?? 'application/json',
196
289
  authorization: `Bearer ${this.options.token}`,
197
290
  ...options.body === undefined ? {} : { 'content-type': 'application/json' },
291
+ ...options.binaryBody === undefined ? {} : { 'content-type': 'application/octet-stream' },
198
292
  },
199
- ...options.body === undefined ? {} : { body: JSON.stringify(options.body) },
293
+ ...options.body !== undefined
294
+ ? { body: JSON.stringify(options.body) }
295
+ : options.binaryBody !== undefined ? { body: Buffer.from(options.binaryBody) } : {},
200
296
  signal,
201
297
  });
202
298
  }
203
299
  catch (error) {
204
300
  throw new RemoteProviderError(`knowledge server request failed: ${error instanceof Error ? error.message : String(error)}`, 0);
205
301
  }
206
- const text = await response.text();
207
- const payload = text.length === 0 ? undefined : safeJson(text);
208
- if (!response.ok) {
209
- const detail = remoteErrorDetail(payload, text);
210
- const message = detail === undefined
211
- ? `knowledge server returned HTTP ${response.status} for ${path}`
212
- : `knowledge server rejected ${path}: ${detail}`;
213
- throw new RemoteProviderError(message, response.status);
302
+ }
303
+ }
304
+ async function readBoundedBytes(response, maximumBytes) {
305
+ const declared = Number(response.headers.get('content-length') ?? 0);
306
+ if (Number.isFinite(declared) && declared > maximumBytes) {
307
+ await response.body?.cancel().catch(() => { });
308
+ throw new RemoteProviderError('knowledge server response is too large', 502);
309
+ }
310
+ if (response.body === null)
311
+ return new Uint8Array();
312
+ const reader = response.body.getReader();
313
+ const chunks = [];
314
+ let size = 0;
315
+ try {
316
+ while (true) {
317
+ const chunk = await reader.read();
318
+ if (chunk.done)
319
+ break;
320
+ size += chunk.value.byteLength;
321
+ if (size > maximumBytes) {
322
+ await reader.cancel().catch(() => { });
323
+ throw new RemoteProviderError('knowledge server response is too large', 502);
324
+ }
325
+ chunks.push(chunk.value);
214
326
  }
215
- return payload;
327
+ }
328
+ finally {
329
+ reader.releaseLock();
330
+ }
331
+ const result = new Uint8Array(size);
332
+ let offset = 0;
333
+ for (const chunk of chunks) {
334
+ result.set(chunk, offset);
335
+ offset += chunk.byteLength;
336
+ }
337
+ return result;
338
+ }
339
+ async function readBoundedResponse(response, maximumBytes) {
340
+ const declared = Number(response.headers.get('content-length') ?? 0);
341
+ if (Number.isFinite(declared) && declared > maximumBytes) {
342
+ await response.body?.cancel().catch(() => { });
343
+ throw new RemoteProviderError('knowledge server response is too large', 502);
344
+ }
345
+ if (response.body === null)
346
+ return '';
347
+ const reader = response.body.getReader();
348
+ const decoder = new TextDecoder();
349
+ let size = 0;
350
+ let text = '';
351
+ try {
352
+ while (true) {
353
+ const chunk = await reader.read();
354
+ if (chunk.done)
355
+ break;
356
+ size += chunk.value.byteLength;
357
+ if (size > maximumBytes) {
358
+ await reader.cancel().catch(() => { });
359
+ throw new RemoteProviderError('knowledge server response is too large', 502);
360
+ }
361
+ text += decoder.decode(chunk.value, { stream: true });
362
+ }
363
+ return text + decoder.decode();
364
+ }
365
+ finally {
366
+ reader.releaseLock();
216
367
  }
217
368
  }
218
369
  export class RemoteProviderError extends Error {
@@ -246,4 +397,11 @@ function remoteErrorDetail(payload, text) {
246
397
  const compact = text.replace(/\s+/g, ' ').trim();
247
398
  return compact.length === 0 ? undefined : compact.slice(0, 500);
248
399
  }
400
+ function remoteResponseError(path, status, payload, text) {
401
+ const detail = remoteErrorDetail(payload, text);
402
+ const message = detail === undefined
403
+ ? `knowledge server returned HTTP ${status} for ${path}`
404
+ : `knowledge server rejected ${path}: ${detail}`;
405
+ return new RemoteProviderError(message, status);
406
+ }
249
407
  //# sourceMappingURL=remote-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-provider.js","sourceRoot":"","sources":["../src/remote-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-provider.js","sourceRoot":"","sources":["../src/remote-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function normalizeRemoteKnowledgeUrl(value: string): URL;
2
+ //# sourceMappingURL=remote-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-url.d.ts","sourceRoot":"","sources":["../src/remote-url.ts"],"names":[],"mappings":"AAAA,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAU9D"}
@@ -0,0 +1,14 @@
1
+ export function normalizeRemoteKnowledgeUrl(value) {
2
+ const url = new URL(value.trim());
3
+ const loopback = url.hostname === '127.0.0.1' || url.hostname === 'localhost' || url.hostname === '::1';
4
+ if (url.protocol !== 'https:' && !(url.protocol === 'http:' && loopback)) {
5
+ throw new Error('remote knowledge backend requires HTTPS (HTTP is allowed only for loopback testing)');
6
+ }
7
+ if (url.username || url.password)
8
+ throw new Error('remote knowledge URL must not contain credentials');
9
+ if (url.search || url.hash)
10
+ throw new Error('remote knowledge URL must not contain a query string or fragment');
11
+ url.pathname = `${url.pathname.replace(/\/+$/u, '')}/`;
12
+ return url;
13
+ }
14
+ //# sourceMappingURL=remote-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-url.js","sourceRoot":"","sources":["../src/remote-url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,2BAA2B,CAAC,KAAa;IACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAA;IACvG,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAA;IACxG,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACtG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IAC/G,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAA;IACtD,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/lib/runtime.d.ts CHANGED
@@ -134,6 +134,7 @@ export interface WebServerLike {
134
134
  export interface RuntimeContextLike {
135
135
  llm: LlmLike;
136
136
  tools: ToolRuntimeLike;
137
+ provide?(name: string, value: unknown): () => void;
137
138
  webServer?: WebServerLike;
138
139
  settings?: {
139
140
  register(namespace: string, schema: unknown, options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA0IxC,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,OAAO,OAAO,CAAC,OAAO;SACnB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;SACxE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;SAC9B,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;KACpE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA2IxC,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,OAAO,OAAO,CAAC,OAAO;SACnB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;SACxE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;SAC9B,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO;QACL,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;KACpE,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"service-settings.d.ts","sourceRoot":"","sources":["../src/service-settings.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,wBAAwB,GAAG,SAAS,CAiBlG;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS1G"}
1
+ {"version":3,"file":"service-settings.d.ts","sourceRoot":"","sources":["../src/service-settings.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE1F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,wBAAwB,GAAG,SAAS,CAiBlG;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1G"}
@@ -1,7 +1,7 @@
1
- import { randomUUID } from 'node:crypto';
2
1
  import { readFileSync } from 'node:fs';
3
- import { mkdir, rename, rm, writeFile } from 'node:fs/promises';
2
+ import { mkdir } from 'node:fs/promises';
4
3
  import { dirname } from 'node:path';
4
+ import { atomicWriteFile } from './atomic-file.js';
5
5
  export function serviceSettingsPath(connectionPath) {
6
6
  return connectionPath === undefined ? undefined : `${connectionPath}.service.json`;
7
7
  }
@@ -32,13 +32,6 @@ export function loadServiceSettings(path) {
32
32
  }
33
33
  export async function storeServiceSettings(path, settings) {
34
34
  await mkdir(dirname(path), { recursive: true, mode: 0o700 });
35
- const temporary = `${path}.${randomUUID()}.tmp`;
36
- try {
37
- await writeFile(temporary, `${JSON.stringify(settings, null, 2)}\n`, { encoding: 'utf8', mode: 0o600, flag: 'wx' });
38
- await rename(temporary, path);
39
- }
40
- finally {
41
- await rm(temporary, { force: true }).catch(() => { });
42
- }
35
+ await atomicWriteFile(path, `${JSON.stringify(settings, null, 2)}\n`, { mode: 0o600 });
43
36
  }
44
37
  //# sourceMappingURL=service-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-settings.js","sourceRoot":"","sources":["../src/service-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-settings.js","sourceRoot":"","sources":["../src/service-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAQlD,MAAM,UAAU,mBAAmB,CAAC,cAAkC;IACpE,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,cAAc,eAAe,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACxC,IAAI,KAAc,CAAA;IAClB,IAAI,CAAC;QAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAA;IAAC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAC/E,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QACxE,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACzH,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,KAA8F,CAAA;IAC7G,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAA;IACvC,IAAI,OAAO,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAChG,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3G,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAClG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IACjJ,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AAC1H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAkC;IACzF,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5D,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;AACxF,CAAC"}
@@ -26,22 +26,22 @@ const TOKEN_SOURCES = {
26
26
  };
27
27
  const FALLBACK_TOKENS = {
28
28
  light: {
29
- '--bg': '#f5f5f7', '--surface': '#ffffff', '--surface-raised': '#ffffff',
30
- '--surface-soft': '#f0f0f3', '--surface-hover': '#f5f5f8',
31
- '--text': '#1d1d1f', '--text-secondary': '#4c4c50', '--text-tertiary': '#6e6e73',
32
- '--border': '#dedee3', '--border-strong': '#c7c7cc',
33
- '--accent': '#086bd8', '--accent-hover': '#005ab8', '--accent-soft': '#e8f2ff', '--on-accent': '#ffffff',
29
+ '--bg': '#eef1f3', '--surface': '#f7f9fa', '--surface-raised': '#ffffff',
30
+ '--surface-soft': '#e8ecef', '--surface-hover': '#e3e8eb',
31
+ '--text': '#202629', '--text-secondary': '#4f595e', '--text-tertiary': '#667178',
32
+ '--border': '#d5dce0', '--border-strong': '#bcc6cb',
33
+ '--accent': '#4f7773', '--accent-hover': '#3e6561', '--accent-soft': '#dfeae8', '--on-accent': '#f8fbfa',
34
34
  '--success': '#18794e', '--success-soft': '#e8f5ee', '--warning': '#986800', '--warning-soft': '#fff4cf',
35
- '--danger': '#c9343a', '--danger-soft': '#fdebec', '--shadow': '0 18px 48px rgb(30 45 70 / 10%)',
35
+ '--danger': '#c9343a', '--danger-soft': '#fdebec', '--shadow': '0 1px 2px rgb(25 35 40 / 5%), 0 14px 36px rgb(25 35 40 / 9%)',
36
36
  },
37
37
  dark: {
38
- '--bg': '#101012', '--surface': '#1c1c1e', '--surface-raised': '#242426',
39
- '--surface-soft': '#2c2c2e', '--surface-hover': '#303033',
40
- '--text': '#f5f5f7', '--text-secondary': '#c7c7cc', '--text-tertiary': '#98989d',
41
- '--border': '#353538', '--border-strong': '#4a4a4f',
42
- '--accent': '#64a8ff', '--accent-hover': '#82b8ff', '--accent-soft': '#17365d', '--on-accent': '#0c1b2c',
38
+ '--bg': '#111719', '--surface': '#182022', '--surface-raised': '#20292c',
39
+ '--surface-soft': '#283235', '--surface-hover': '#303b3e',
40
+ '--text': '#edf2f1', '--text-secondary': '#bec9c7', '--text-tertiary': '#8e9b99',
41
+ '--border': '#334044', '--border-strong': '#48585c',
42
+ '--accent': '#78b5ad', '--accent-hover': '#91c8c1', '--accent-soft': '#213b39', '--on-accent': '#0d1e1b',
43
43
  '--success': '#62c596', '--success-soft': '#163a2a', '--warning': '#e7bc62', '--warning-soft': '#423414',
44
- '--danger': '#ff858a', '--danger-soft': '#4b2227', '--shadow': '0 16px 40px rgb(0 0 0 / 28%)',
44
+ '--danger': '#ff858a', '--danger-soft': '#4b2227', '--shadow': '0 2px 4px rgb(0 0 0 / 22%), 0 18px 46px rgb(0 0 0 / 32%)',
45
45
  },
46
46
  };
47
47
  /** Translate DSH's public semantic palette into the knowledge console's tokens. */
@@ -1 +1 @@
1
- {"version":3,"file":"theme-bridge.js","sourceRoot":"","sources":["../src/theme-bridge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,qCAAqC,CAAA;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,2CAA2C,CAAA;AACxF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAA;AAsBjD,MAAM,aAAa,GAAG;IACpB,MAAM,EAAE,CAAC,iCAAiC,EAAE,wBAAwB,EAAE,qBAAqB,CAAC;IAC5F,WAAW,EAAE,CAAC,4BAA4B,EAAE,wBAAwB,EAAE,wBAAwB,CAAC;IAC/F,kBAAkB,EAAE,CAAC,8BAA8B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,CAAC;IAClI,gBAAgB,EAAE,CAAC,+BAA+B,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,wBAAwB,CAAC;IACzI,iBAAiB,EAAE,CAAC,kCAAkC,EAAE,wBAAwB,CAAC;IACjF,QAAQ,EAAE,CAAC,2BAA2B,CAAC;IACvC,kBAAkB,EAAE,CAAC,6BAA6B,EAAE,kCAAkC,CAAC;IACvF,iBAAiB,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,CAAC;IAC9E,UAAU,EAAE,CAAC,uBAAuB,EAAE,6BAA6B,EAAE,uBAAuB,CAAC;IAC7F,iBAAiB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IACrE,UAAU,EAAE,CAAC,iCAAiC,EAAE,2BAA2B,CAAC;IAC5E,gBAAgB,EAAE,CAAC,kCAAkC,EAAE,2BAA2B,CAAC;IACnF,eAAe,EAAE,CAAC,mCAAmC,EAAE,yCAAyC,CAAC;IACjG,aAAa,EAAE,CAAC,sCAAsC,EAAE,kCAAkC,CAAC;IAC3F,WAAW,EAAE,CAAC,mCAAmC,CAAC;IAClD,gBAAgB,EAAE,CAAC,oCAAoC,CAAC;IACxD,WAAW,EAAE,CAAC,gCAAgC,EAAE,8BAA8B,CAAC;IAC/E,gBAAgB,EAAE,CAAC,iCAAiC,CAAC;IACrD,UAAU,EAAE,CAAC,iCAAiC,CAAC;IAC/C,eAAe,EAAE,CAAC,kCAAkC,CAAC;IACrD,UAAU,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;CAC5C,CAAA;AAEV,MAAM,eAAe,GAAmE;IACtF,KAAK,EAAE;QACL,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS;QACxE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QACzD,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QAChF,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QACnD,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;QACxG,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;QACxG,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,iCAAiC;KACjG;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS;QACxE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QACzD,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QAChF,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS;QACnD,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS;QACxG,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS;QACxG,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,8BAA8B;KAC9F;CACF,CAAA;AAED,mFAAmF;AACnF,MAAM,UAAU,wBAAwB,CACtC,QAA2B,EAC3B,QAA2B;IAE3B,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1E,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAE,CAAA;IACjF,CAAC;IACD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACxC,MAAM;KACP,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA2B,EAC3B,cAAgD,EAChD,OAA0B;IAE1B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAA;QAClD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAA;QACpD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,aAAa,CAAA;IACnF,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"theme-bridge.js","sourceRoot":"","sources":["../src/theme-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AgentLike } from './runtime.js';
2
+ export type KnowledgeBaseManagementOperation = 'create' | 'update';
3
+ export type KnowledgeNoteReferenceOperation = 'inspect' | 'add' | 'remove';
4
+ export type KnowledgeNoteOperation = 'inspect' | 'create' | 'update' | 'move' | 'delete';
5
+ /**
6
+ * Knowledge-base management is a persistent control-plane mutation. Tool
7
+ * descriptions help model routing, but the execution boundary independently
8
+ * verifies that the current direct user turn requested this exact operation.
9
+ */
10
+ export declare function assertExplicitKnowledgeBaseManagementRequest(agent: AgentLike, operation: KnowledgeBaseManagementOperation): void;
11
+ export declare function explicitlyRequestsKnowledgeBaseManagement(input: string, operation: KnowledgeBaseManagementOperation): boolean;
12
+ export declare function assertExplicitKnowledgeNoteReferenceRequest(agent: AgentLike, operation: KnowledgeNoteReferenceOperation): void;
13
+ export declare function assertExplicitKnowledgeNoteRequest(agent: AgentLike, operation: KnowledgeNoteOperation): void;
14
+ //# sourceMappingURL=tool-authorization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-authorization.d.ts","sourceRoot":"","sources":["../src/tool-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,cAAc,CAAA;AAE1D,MAAM,MAAM,gCAAgC,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAClE,MAAM,MAAM,+BAA+B,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAA;AAC1E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExF;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,gCAAgC,GAC1C,IAAI,CAKN;AAED,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,gCAAgC,GAC1C,OAAO,CAMT;AAED,wBAAgB,2CAA2C,CACzD,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,+BAA+B,GACzC,IAAI,CAMN;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAM5G"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Knowledge-base management is a persistent control-plane mutation. Tool
3
+ * descriptions help model routing, but the execution boundary independently
4
+ * verifies that the current direct user turn requested this exact operation.
5
+ */
6
+ export function assertExplicitKnowledgeBaseManagementRequest(agent, operation) {
7
+ const text = currentDirectUserText(agent);
8
+ if (!explicitlyRequestsKnowledgeBaseManagement(text, operation)) {
9
+ throw new Error(`knowledge_base_${operation} requires an explicit request in the current direct user message`);
10
+ }
11
+ }
12
+ export function explicitlyRequestsKnowledgeBaseManagement(input, operation) {
13
+ const text = input.normalize('NFKC').toLocaleLowerCase('zh-CN').trim();
14
+ if (text.length === 0)
15
+ return false;
16
+ const clauses = text.split(/[。!?!?;;\n,,]+/u).map(clause => clause.trim()).filter(Boolean);
17
+ return clauses.some(clause => !deniesKnowledgeBaseMutation(clause, operation)
18
+ && clauseRequestsKnowledgeBaseManagement(clause, operation));
19
+ }
20
+ export function assertExplicitKnowledgeNoteReferenceRequest(agent, operation) {
21
+ const text = currentDirectUserText(agent).normalize('NFKC').toLocaleLowerCase('zh-CN').trim();
22
+ const clauses = text.split(/[。!?!?;;\n,,]+/u).map(clause => clause.trim()).filter(Boolean);
23
+ if (!clauses.some(clause => clauseRequestsKnowledgeNoteReference(clause, operation))) {
24
+ throw new Error(`knowledge note reference ${operation} requires an explicit request in the current direct user message`);
25
+ }
26
+ }
27
+ export function assertExplicitKnowledgeNoteRequest(agent, operation) {
28
+ const text = currentDirectUserText(agent).normalize('NFKC').toLocaleLowerCase('zh-CN').trim();
29
+ const clauses = text.split(/[。!?!?;;\n,,]+/u).map(clause => clause.trim()).filter(Boolean);
30
+ if (!clauses.some(clause => clauseRequestsKnowledgeNote(clause, operation))) {
31
+ throw new Error(`knowledge_note_${operation} requires an explicit request in the current direct user message`);
32
+ }
33
+ }
34
+ function clauseRequestsKnowledgeBaseManagement(text, operation) {
35
+ if (operation === 'create') {
36
+ return /(?:创建|新建|建立|新增|加一个|建一个|开一个|創建).{0,16}(?:知识库|知識庫)/iu.test(text)
37
+ || /(?:知识库|知識庫).{0,16}(?:创建|新建|建立|新增|創建)/iu.test(text)
38
+ || /(?:create|make|set\s*up)\s+(?:(?:a|an|the|new)\s+){0,2}(?:knowledge\s*(?:base|store)|memory\s*(?:base|store))/iu.test(text)
39
+ || /add\s+(?:(?:a|an|the|new)\s+){0,2}(?:knowledge\s*(?:base|store)|memory\s*(?:base|store))/iu.test(text);
40
+ }
41
+ return /(?:修改|更新|编辑|调整|更改|改成|改为|重命名|换名|设置|切换|清除|移除|删除|添加).{0,24}(?:知识库|知識庫)/iu.test(text)
42
+ || /(?:知识库|知識庫).{0,28}(?:修改|更新|编辑|调整|更改|改成|改为|重命名|换名|设置|切换|清除|移除|删除|添加|改一下|改下|編輯|調整)/iu.test(text)
43
+ || /(?:update|edit|modify|rename|change|configure|clear)\s+(?:(?:a|an|the|this|that)\s+){0,2}(?:knowledge\s*(?:base|store)|memory\s*(?:base|store))/iu.test(text)
44
+ || /(?:knowledge\s*(?:base|store)|memory\s*(?:base|store)).{0,40}(?:update|edit|modify|rename|change|configure|clear|remove|set)/iu.test(text);
45
+ }
46
+ function currentDirectUserText(agent) {
47
+ let turnStart = -1;
48
+ for (let index = agent.session.events.length - 1; index >= 0; index -= 1) {
49
+ if (agent.session.events[index]?.type === 'turn/start') {
50
+ turnStart = index;
51
+ break;
52
+ }
53
+ }
54
+ return agent.session.events.slice(turnStart + 1)
55
+ .filter(event => event.type === 'user/message')
56
+ .map(event => event.data)
57
+ .filter(message => message.source?.kind === 'user')
58
+ .flatMap(message => message.content ?? [])
59
+ .filter(block => block.type === 'text' && typeof block.text === 'string')
60
+ .map(block => block.text ?? '')
61
+ .join('\n');
62
+ }
63
+ function clauseRequestsKnowledgeNoteReference(text, operation) {
64
+ const subject = /(?:知识|知識|knowledge).{0,28}(?:笔记|筆記|note)|(?:笔记|筆記|note).{0,28}(?:知识|知識|knowledge)/iu.test(text);
65
+ if (!subject)
66
+ return false;
67
+ if (operation === 'inspect')
68
+ return /(?:引用|关联|關聯|连接|連接|link|reference|associate|attach)/iu.test(text);
69
+ if (operation === 'add') {
70
+ if (/(?:不要|别|取消|移除|删除|解除|do\s+not|don't|remove|delete|detach|unlink).{0,20}(?:引用|关联|link|reference|attach)/iu.test(text))
71
+ return false;
72
+ return /(?:引用|关联|關聯|连接|連接|绑定|綁定|加上|添加|link|reference|associate|attach)/iu.test(text);
73
+ }
74
+ return /(?:取消|移除|删除|解除|不再).{0,20}(?:引用|关联|關聯|连接|連接|绑定|link|reference|associate|attach)|(?:remove|delete|detach|unlink).{0,24}(?:note|reference|link)/iu.test(text);
75
+ }
76
+ function clauseRequestsKnowledgeNote(text, operation) {
77
+ const subject = /(?:笔记|筆記|notes?|notebook)/iu;
78
+ if (!subject.test(text))
79
+ return false;
80
+ if (operation === 'inspect') {
81
+ return /(?:查看|读取|读一下|打开|搜索|查找|找一下|列出|浏览|检查|内容|引用|关联|连接|绑定|创建|新建|建立|添加|写入|记录|修改|更新|编辑|追加|重命名|改名|移动|整理|删除|移除|read|open|search|find|list|browse|inspect|reference|link|attach|create|add|write|record|update|edit|append|rename|move|delete|remove)/iu.test(text);
82
+ }
83
+ if (deniesKnowledgeNoteMutation(text, operation))
84
+ return false;
85
+ if (operation === 'create') {
86
+ return /(?:创建|新建|建立|新增|加一个|建一个|写一篇|记一篇|记录一篇|create|add|make|write|record).{0,24}(?:笔记|筆記|notes?|notebook)/iu.test(text)
87
+ || /(?:笔记|筆記|notes?|notebook).{0,24}(?:创建|新建|建立|新增|写入|记录|create|add|make|write|record)/iu.test(text);
88
+ }
89
+ if (operation === 'update') {
90
+ return /(?:修改|更新|编辑|追加|补充|写入|改写|替换|重命名|改名|update|edit|append|write|replace|rename).{0,28}(?:笔记|筆記|notes?|notebook)/iu.test(text)
91
+ || /(?:笔记|筆記|notes?|notebook).{0,28}(?:修改|更新|编辑|追加|补充|写入|改写|替换|重命名|改名|update|edit|append|write|replace|rename)/iu.test(text);
92
+ }
93
+ if (operation === 'move') {
94
+ return /(?:移动|挪到|放到|整理到|move|relocate).{0,28}(?:笔记|筆記|notes?|notebook)/iu.test(text)
95
+ || /(?:笔记|筆記|notes?|notebook).{0,28}(?:移动|挪到|放到|整理到|move|relocate)/iu.test(text);
96
+ }
97
+ return /(?:删除|移除|清理|delete|remove).{0,28}(?:笔记|筆記|notes?|notebook)/iu.test(text)
98
+ || /(?:笔记|筆記|notes?|notebook).{0,28}(?:删除|移除|清理|delete|remove)/iu.test(text);
99
+ }
100
+ function deniesKnowledgeNoteMutation(text, operation) {
101
+ const verbs = {
102
+ create: '(?:创建|新建|建立|新增|写入|记录|create|add|make|write|record)',
103
+ update: '(?:修改|更新|编辑|追加|补充|写入|改写|替换|重命名|改名|update|edit|append|write|replace|rename)',
104
+ move: '(?:移动|挪到|放到|整理到|move|relocate)',
105
+ delete: '(?:删除|移除|清理|delete|remove)',
106
+ };
107
+ const denial = '(?:不要|别|无需|不需要|禁止|取消|停止|do\\s+not|don\'t|never|no\\s+need\\s+to|stop)';
108
+ const subject = '(?:笔记|筆記|notes?|notebook)';
109
+ const verb = verbs[operation];
110
+ return new RegExp(`${denial}.{0,24}${verb}.{0,24}${subject}`, 'iu').test(text)
111
+ || new RegExp(`${denial}.{0,24}${subject}.{0,24}${verb}`, 'iu').test(text);
112
+ }
113
+ function deniesKnowledgeBaseMutation(text, operation) {
114
+ const verb = operation === 'create'
115
+ ? '(?:创建|新建|建立|新增|創建|create|add|make|set\\s*up)'
116
+ : '(?:修改|更新|编辑|调整|更改|改名|重命名|设置|切换|清除|移除|删除|添加|update|edit|modify|rename|change|configure|clear|remove|set)';
117
+ const base = '(?:知识库|知識庫|knowledge\\s*(?:base|store)|memory\\s*(?:base|store))';
118
+ const denial = '(?:不要|别|无需|不需要|禁止|取消|别再|暫停|停止|do\\s+not|don\'t|never|no\\s+need\\s+to|stop)';
119
+ return new RegExp(`${denial}.{0,24}${verb}.{0,24}${base}`, 'iu').test(text)
120
+ || new RegExp(`${denial}.{0,24}${base}.{0,24}${verb}`, 'iu').test(text)
121
+ || new RegExp(`${base}.{0,24}${denial}.{0,24}${verb}`, 'iu').test(text)
122
+ || new RegExp(`${verb}.{0,24}${denial}.{0,24}${base}`, 'iu').test(text);
123
+ }
124
+ //# sourceMappingURL=tool-authorization.js.map