@agenticc/core 1.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.
- package/LICENSE +21 -0
- package/README.md +370 -0
- package/README.zh-CN.md +372 -0
- package/dist/audit/index.d.ts +9 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +9 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/logger.d.ts +211 -0
- package/dist/audit/logger.d.ts.map +1 -0
- package/dist/audit/logger.js +268 -0
- package/dist/audit/logger.js.map +1 -0
- package/dist/audit/query.d.ts +164 -0
- package/dist/audit/query.d.ts.map +1 -0
- package/dist/audit/query.js +250 -0
- package/dist/audit/query.js.map +1 -0
- package/dist/conversation/context-builder.d.ts +119 -0
- package/dist/conversation/context-builder.d.ts.map +1 -0
- package/dist/conversation/context-builder.js +252 -0
- package/dist/conversation/context-builder.js.map +1 -0
- package/dist/conversation/index.d.ts +10 -0
- package/dist/conversation/index.d.ts.map +1 -0
- package/dist/conversation/index.js +10 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/conversation/message-store.d.ts +231 -0
- package/dist/conversation/message-store.d.ts.map +1 -0
- package/dist/conversation/message-store.js +404 -0
- package/dist/conversation/message-store.js.map +1 -0
- package/dist/conversation/session.d.ts +201 -0
- package/dist/conversation/session.d.ts.map +1 -0
- package/dist/conversation/session.js +285 -0
- package/dist/conversation/session.js.map +1 -0
- package/dist/core/agent.d.ts +277 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +674 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/agentic-loop.d.ts +98 -0
- package/dist/core/agentic-loop.d.ts.map +1 -0
- package/dist/core/agentic-loop.js +496 -0
- package/dist/core/agentic-loop.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +14 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/intent-parser.d.ts +101 -0
- package/dist/core/intent-parser.d.ts.map +1 -0
- package/dist/core/intent-parser.js +221 -0
- package/dist/core/intent-parser.js.map +1 -0
- package/dist/core/plan-generator.d.ts +133 -0
- package/dist/core/plan-generator.d.ts.map +1 -0
- package/dist/core/plan-generator.js +294 -0
- package/dist/core/plan-generator.js.map +1 -0
- package/dist/core/plugin-manager.d.ts +120 -0
- package/dist/core/plugin-manager.d.ts.map +1 -0
- package/dist/core/plugin-manager.js +369 -0
- package/dist/core/plugin-manager.js.map +1 -0
- package/dist/core/response-handler.d.ts +141 -0
- package/dist/core/response-handler.d.ts.map +1 -0
- package/dist/core/response-handler.js +384 -0
- package/dist/core/response-handler.js.map +1 -0
- package/dist/core/tool-executor.d.ts +143 -0
- package/dist/core/tool-executor.d.ts.map +1 -0
- package/dist/core/tool-executor.js +354 -0
- package/dist/core/tool-executor.js.map +1 -0
- package/dist/core/tool-registry.d.ts +133 -0
- package/dist/core/tool-registry.d.ts.map +1 -0
- package/dist/core/tool-registry.js +252 -0
- package/dist/core/tool-registry.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/chunker.d.ts +78 -0
- package/dist/knowledge/chunker.d.ts.map +1 -0
- package/dist/knowledge/chunker.js +233 -0
- package/dist/knowledge/chunker.js.map +1 -0
- package/dist/knowledge/embedder.d.ts +93 -0
- package/dist/knowledge/embedder.d.ts.map +1 -0
- package/dist/knowledge/embedder.js +205 -0
- package/dist/knowledge/embedder.js.map +1 -0
- package/dist/knowledge/index.d.ts +10 -0
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +11 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/knowledge/loaders/index.d.ts +10 -0
- package/dist/knowledge/loaders/index.d.ts.map +1 -0
- package/dist/knowledge/loaders/index.js +10 -0
- package/dist/knowledge/loaders/index.js.map +1 -0
- package/dist/knowledge/loaders/markdown.d.ts +88 -0
- package/dist/knowledge/loaders/markdown.d.ts.map +1 -0
- package/dist/knowledge/loaders/markdown.js +205 -0
- package/dist/knowledge/loaders/markdown.js.map +1 -0
- package/dist/knowledge/loaders/yaml.d.ts +112 -0
- package/dist/knowledge/loaders/yaml.d.ts.map +1 -0
- package/dist/knowledge/loaders/yaml.js +368 -0
- package/dist/knowledge/loaders/yaml.js.map +1 -0
- package/dist/knowledge/retriever.d.ts +144 -0
- package/dist/knowledge/retriever.d.ts.map +1 -0
- package/dist/knowledge/retriever.js +399 -0
- package/dist/knowledge/retriever.js.map +1 -0
- package/dist/knowledge/store.d.ts +146 -0
- package/dist/knowledge/store.d.ts.map +1 -0
- package/dist/knowledge/store.js +420 -0
- package/dist/knowledge/store.js.map +1 -0
- package/dist/llm/adapter.d.ts +194 -0
- package/dist/llm/adapter.d.ts.map +1 -0
- package/dist/llm/adapter.js +42 -0
- package/dist/llm/adapter.js.map +1 -0
- package/dist/llm/adapters/anyrouter.d.ts +84 -0
- package/dist/llm/adapters/anyrouter.d.ts.map +1 -0
- package/dist/llm/adapters/anyrouter.js +372 -0
- package/dist/llm/adapters/anyrouter.js.map +1 -0
- package/dist/llm/adapters/claude.d.ts +66 -0
- package/dist/llm/adapters/claude.d.ts.map +1 -0
- package/dist/llm/adapters/claude.js +323 -0
- package/dist/llm/adapters/claude.js.map +1 -0
- package/dist/llm/adapters/index.d.ts +12 -0
- package/dist/llm/adapters/index.d.ts.map +1 -0
- package/dist/llm/adapters/index.js +12 -0
- package/dist/llm/adapters/index.js.map +1 -0
- package/dist/llm/adapters/mimo.d.ts +85 -0
- package/dist/llm/adapters/mimo.d.ts.map +1 -0
- package/dist/llm/adapters/mimo.js +316 -0
- package/dist/llm/adapters/mimo.js.map +1 -0
- package/dist/llm/adapters/openai.d.ts +53 -0
- package/dist/llm/adapters/openai.d.ts.map +1 -0
- package/dist/llm/adapters/openai.js +293 -0
- package/dist/llm/adapters/openai.js.map +1 -0
- package/dist/llm/adapters/qwen.d.ts +53 -0
- package/dist/llm/adapters/qwen.d.ts.map +1 -0
- package/dist/llm/adapters/qwen.js +299 -0
- package/dist/llm/adapters/qwen.js.map +1 -0
- package/dist/llm/adapters/siliconflow.d.ts +69 -0
- package/dist/llm/adapters/siliconflow.d.ts.map +1 -0
- package/dist/llm/adapters/siliconflow.js +331 -0
- package/dist/llm/adapters/siliconflow.js.map +1 -0
- package/dist/llm/index.d.ts +9 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +12 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/manager.d.ts +97 -0
- package/dist/llm/manager.d.ts.map +1 -0
- package/dist/llm/manager.js +337 -0
- package/dist/llm/manager.js.map +1 -0
- package/dist/test-utils/arbitraries.d.ts +230 -0
- package/dist/test-utils/arbitraries.d.ts.map +1 -0
- package/dist/test-utils/arbitraries.js +280 -0
- package/dist/test-utils/arbitraries.js.map +1 -0
- package/dist/test-utils/cleanup.d.ts +184 -0
- package/dist/test-utils/cleanup.d.ts.map +1 -0
- package/dist/test-utils/cleanup.js +282 -0
- package/dist/test-utils/cleanup.js.map +1 -0
- package/dist/test-utils/config.d.ts +80 -0
- package/dist/test-utils/config.d.ts.map +1 -0
- package/dist/test-utils/config.js +94 -0
- package/dist/test-utils/config.js.map +1 -0
- package/dist/test-utils/index.d.ts +10 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/index.js +36 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/test-utils/mocks.d.ts +170 -0
- package/dist/test-utils/mocks.d.ts.map +1 -0
- package/dist/test-utils/mocks.js +281 -0
- package/dist/test-utils/mocks.js.map +1 -0
- package/dist/types/config.d.ts +170 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +120 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/knowledge.d.ts +95 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +7 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/loop.d.ts +148 -0
- package/dist/types/loop.d.ts.map +1 -0
- package/dist/types/loop.js +16 -0
- package/dist/types/loop.js.map +1 -0
- package/dist/types/plugin.d.ts +137 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +15 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/response.d.ts +186 -0
- package/dist/types/response.d.ts.map +1 -0
- package/dist/types/response.js +99 -0
- package/dist/types/response.js.map +1 -0
- package/dist/types/streaming.d.ts +478 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +483 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/types/tool.d.ts +118 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +42 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/utils/error.d.ts +22 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +36 -0
- package/dist/utils/error.js.map +1 -0
- package/package.json +102 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../src/knowledge/chunker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedder Class
|
|
3
|
+
*
|
|
4
|
+
* Handles text embedding generation using LLM adapters.
|
|
5
|
+
* Includes caching for frequently used text embeddings.
|
|
6
|
+
*
|
|
7
|
+
* _Requirements: 3.5_
|
|
8
|
+
*/
|
|
9
|
+
import type { LLMManager } from '../llm/manager.js';
|
|
10
|
+
import type { EmbeddingResult } from '../llm/adapter.js';
|
|
11
|
+
/**
|
|
12
|
+
* Embedder configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface EmbedderConfig {
|
|
15
|
+
/** Maximum number of entries in the cache */
|
|
16
|
+
maxCacheSize?: number;
|
|
17
|
+
/** Cache TTL in milliseconds (default: 1 hour) */
|
|
18
|
+
cacheTTLMs?: number;
|
|
19
|
+
/** Expected embedding dimension (for validation) */
|
|
20
|
+
expectedDimension?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Embedder class for generating and caching text embeddings
|
|
24
|
+
*/
|
|
25
|
+
export declare class Embedder {
|
|
26
|
+
private llmManager;
|
|
27
|
+
private config;
|
|
28
|
+
private cache;
|
|
29
|
+
constructor(llmManager: LLMManager, config?: EmbedderConfig);
|
|
30
|
+
/**
|
|
31
|
+
* Generate embedding for text
|
|
32
|
+
* Uses cache if available and not expired
|
|
33
|
+
*/
|
|
34
|
+
embed(text: string): Promise<EmbeddingResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Generate embeddings for multiple texts
|
|
37
|
+
* Batches requests for efficiency
|
|
38
|
+
*/
|
|
39
|
+
embedBatch(texts: string[]): Promise<EmbeddingResult[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Check if embeddings are supported
|
|
42
|
+
*/
|
|
43
|
+
supportsEmbeddings(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Get the expected embedding dimension
|
|
46
|
+
*/
|
|
47
|
+
getExpectedDimension(): number;
|
|
48
|
+
/**
|
|
49
|
+
* Set the expected embedding dimension
|
|
50
|
+
*/
|
|
51
|
+
setExpectedDimension(dimension: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* Get cache statistics
|
|
54
|
+
*/
|
|
55
|
+
getCacheStats(): {
|
|
56
|
+
size: number;
|
|
57
|
+
maxSize: number;
|
|
58
|
+
hitRate: number;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Clear the embedding cache
|
|
62
|
+
*/
|
|
63
|
+
clearCache(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Preload embeddings for a list of texts
|
|
66
|
+
*/
|
|
67
|
+
preload(texts: string[]): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Normalize text for cache key generation
|
|
70
|
+
*/
|
|
71
|
+
private normalizeText;
|
|
72
|
+
/**
|
|
73
|
+
* Get entry from cache if valid
|
|
74
|
+
*/
|
|
75
|
+
private getFromCache;
|
|
76
|
+
/**
|
|
77
|
+
* Add entry to cache with LRU eviction
|
|
78
|
+
*/
|
|
79
|
+
private addToCache;
|
|
80
|
+
/**
|
|
81
|
+
* Evict least recently used entries
|
|
82
|
+
*/
|
|
83
|
+
private evictLRU;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Calculate cosine similarity between two embedding vectors
|
|
87
|
+
*/
|
|
88
|
+
export declare function cosineSimilarity(a: number[], b: number[]): number;
|
|
89
|
+
/**
|
|
90
|
+
* Calculate euclidean distance between two embedding vectors
|
|
91
|
+
*/
|
|
92
|
+
export declare function euclideanDistance(a: number[], b: number[]): number;
|
|
93
|
+
//# sourceMappingURL=embedder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/knowledge/embedder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAYzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,KAAK,CAAsC;gBAEvC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc;IAK3D;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiCnD;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAW7D;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACH,aAAa,IAAI;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB;IAgBD;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAoBjB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAsBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAYlE"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedder Class
|
|
3
|
+
*
|
|
4
|
+
* Handles text embedding generation using LLM adapters.
|
|
5
|
+
* Includes caching for frequently used text embeddings.
|
|
6
|
+
*
|
|
7
|
+
* _Requirements: 3.5_
|
|
8
|
+
*/
|
|
9
|
+
const DEFAULT_CONFIG = {
|
|
10
|
+
maxCacheSize: 1000,
|
|
11
|
+
cacheTTLMs: 60 * 60 * 1000, // 1 hour
|
|
12
|
+
expectedDimension: 1536, // OpenAI text-embedding-ada-002 dimension
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Embedder class for generating and caching text embeddings
|
|
16
|
+
*/
|
|
17
|
+
export class Embedder {
|
|
18
|
+
llmManager;
|
|
19
|
+
config;
|
|
20
|
+
cache = new Map();
|
|
21
|
+
constructor(llmManager, config) {
|
|
22
|
+
this.llmManager = llmManager;
|
|
23
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Generate embedding for text
|
|
27
|
+
* Uses cache if available and not expired
|
|
28
|
+
*/
|
|
29
|
+
async embed(text) {
|
|
30
|
+
// Normalize text for cache key
|
|
31
|
+
const cacheKey = this.normalizeText(text);
|
|
32
|
+
// Check cache
|
|
33
|
+
const cached = this.getFromCache(cacheKey);
|
|
34
|
+
if (cached) {
|
|
35
|
+
return {
|
|
36
|
+
embedding: cached.embedding,
|
|
37
|
+
tokenCount: cached.tokenCount,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// Generate new embedding
|
|
41
|
+
const result = await this.llmManager.embed(text);
|
|
42
|
+
// Validate dimension if configured
|
|
43
|
+
if (this.config.expectedDimension > 0 &&
|
|
44
|
+
result.embedding.length !== this.config.expectedDimension) {
|
|
45
|
+
console.warn(`Embedding dimension mismatch: expected ${this.config.expectedDimension}, ` +
|
|
46
|
+
`got ${result.embedding.length}`);
|
|
47
|
+
}
|
|
48
|
+
// Store in cache
|
|
49
|
+
this.addToCache(cacheKey, result);
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Generate embeddings for multiple texts
|
|
54
|
+
* Batches requests for efficiency
|
|
55
|
+
*/
|
|
56
|
+
async embedBatch(texts) {
|
|
57
|
+
const results = [];
|
|
58
|
+
for (const text of texts) {
|
|
59
|
+
const result = await this.embed(text);
|
|
60
|
+
results.push(result);
|
|
61
|
+
}
|
|
62
|
+
return results;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if embeddings are supported
|
|
66
|
+
*/
|
|
67
|
+
supportsEmbeddings() {
|
|
68
|
+
return this.llmManager.supportsEmbeddings();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the expected embedding dimension
|
|
72
|
+
*/
|
|
73
|
+
getExpectedDimension() {
|
|
74
|
+
return this.config.expectedDimension;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Set the expected embedding dimension
|
|
78
|
+
*/
|
|
79
|
+
setExpectedDimension(dimension) {
|
|
80
|
+
this.config.expectedDimension = dimension;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get cache statistics
|
|
84
|
+
*/
|
|
85
|
+
getCacheStats() {
|
|
86
|
+
let totalAccess = 0;
|
|
87
|
+
let cacheHits = 0;
|
|
88
|
+
for (const entry of this.cache.values()) {
|
|
89
|
+
totalAccess += entry.accessCount;
|
|
90
|
+
cacheHits += entry.accessCount - 1; // First access is a miss
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
size: this.cache.size,
|
|
94
|
+
maxSize: this.config.maxCacheSize,
|
|
95
|
+
hitRate: totalAccess > 0 ? cacheHits / totalAccess : 0,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Clear the embedding cache
|
|
100
|
+
*/
|
|
101
|
+
clearCache() {
|
|
102
|
+
this.cache.clear();
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Preload embeddings for a list of texts
|
|
106
|
+
*/
|
|
107
|
+
async preload(texts) {
|
|
108
|
+
await this.embedBatch(texts);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Normalize text for cache key generation
|
|
112
|
+
*/
|
|
113
|
+
normalizeText(text) {
|
|
114
|
+
return text.trim().toLowerCase();
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get entry from cache if valid
|
|
118
|
+
*/
|
|
119
|
+
getFromCache(key) {
|
|
120
|
+
const entry = this.cache.get(key);
|
|
121
|
+
if (!entry) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
// Check if expired
|
|
125
|
+
const now = Date.now();
|
|
126
|
+
if (now - entry.timestamp > this.config.cacheTTLMs) {
|
|
127
|
+
this.cache.delete(key);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
// Update access count
|
|
131
|
+
entry.accessCount++;
|
|
132
|
+
return entry;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Add entry to cache with LRU eviction
|
|
136
|
+
*/
|
|
137
|
+
addToCache(key, result) {
|
|
138
|
+
// Evict if at capacity
|
|
139
|
+
if (this.cache.size >= this.config.maxCacheSize) {
|
|
140
|
+
this.evictLRU();
|
|
141
|
+
}
|
|
142
|
+
this.cache.set(key, {
|
|
143
|
+
embedding: result.embedding,
|
|
144
|
+
tokenCount: result.tokenCount,
|
|
145
|
+
timestamp: Date.now(),
|
|
146
|
+
accessCount: 1,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Evict least recently used entries
|
|
151
|
+
*/
|
|
152
|
+
evictLRU() {
|
|
153
|
+
// Find entry with oldest timestamp and lowest access count
|
|
154
|
+
let oldestKey = null;
|
|
155
|
+
let oldestScore = Infinity;
|
|
156
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
157
|
+
// Score based on recency and access frequency
|
|
158
|
+
const age = Date.now() - entry.timestamp;
|
|
159
|
+
const score = entry.accessCount / (age + 1);
|
|
160
|
+
if (score < oldestScore) {
|
|
161
|
+
oldestScore = score;
|
|
162
|
+
oldestKey = key;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (oldestKey) {
|
|
166
|
+
this.cache.delete(oldestKey);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Calculate cosine similarity between two embedding vectors
|
|
172
|
+
*/
|
|
173
|
+
export function cosineSimilarity(a, b) {
|
|
174
|
+
if (a.length !== b.length) {
|
|
175
|
+
throw new Error(`Vector dimension mismatch: ${a.length} vs ${b.length}`);
|
|
176
|
+
}
|
|
177
|
+
let dotProduct = 0;
|
|
178
|
+
let normA = 0;
|
|
179
|
+
let normB = 0;
|
|
180
|
+
for (let i = 0; i < a.length; i++) {
|
|
181
|
+
dotProduct += a[i] * b[i];
|
|
182
|
+
normA += a[i] * a[i];
|
|
183
|
+
normB += b[i] * b[i];
|
|
184
|
+
}
|
|
185
|
+
const magnitude = Math.sqrt(normA) * Math.sqrt(normB);
|
|
186
|
+
if (magnitude === 0) {
|
|
187
|
+
return 0;
|
|
188
|
+
}
|
|
189
|
+
return dotProduct / magnitude;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Calculate euclidean distance between two embedding vectors
|
|
193
|
+
*/
|
|
194
|
+
export function euclideanDistance(a, b) {
|
|
195
|
+
if (a.length !== b.length) {
|
|
196
|
+
throw new Error(`Vector dimension mismatch: ${a.length} vs ${b.length}`);
|
|
197
|
+
}
|
|
198
|
+
let sum = 0;
|
|
199
|
+
for (let i = 0; i < a.length; i++) {
|
|
200
|
+
const diff = a[i] - b[i];
|
|
201
|
+
sum += diff * diff;
|
|
202
|
+
}
|
|
203
|
+
return Math.sqrt(sum);
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=embedder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/knowledge/embedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge System Module
|
|
3
|
+
*
|
|
4
|
+
* Exports knowledge storage, embedding, and retrieval components.
|
|
5
|
+
*/
|
|
6
|
+
export { KnowledgeStore, type KnowledgeStoreConfig } from './store.js';
|
|
7
|
+
export { Embedder, type EmbedderConfig, cosineSimilarity, euclideanDistance } from './embedder.js';
|
|
8
|
+
export { Retriever, type RetrieverConfig, type Intent } from './retriever.js';
|
|
9
|
+
export { MarkdownLoader, parseMarkdown, loadMarkdownDocument, loadMarkdownSections, type MarkdownSection, type MarkdownParseResult, type MarkdownLoaderOptions, YamlLoader, parseYaml, parseYamlDocument, loadYamlDocument, loadYamlByRootKeys, flattenYaml, yamlToText, type YamlNode, type YamlParseResult, type YamlLoaderOptions, } from './loaders/index.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/knowledge/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG9E,OAAO,EACL,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge System Module
|
|
3
|
+
*
|
|
4
|
+
* Exports knowledge storage, embedding, and retrieval components.
|
|
5
|
+
*/
|
|
6
|
+
export { KnowledgeStore } from './store.js';
|
|
7
|
+
export { Embedder, cosineSimilarity, euclideanDistance } from './embedder.js';
|
|
8
|
+
export { Retriever } from './retriever.js';
|
|
9
|
+
// Document Loaders
|
|
10
|
+
export { MarkdownLoader, parseMarkdown, loadMarkdownDocument, loadMarkdownSections, YamlLoader, parseYaml, parseYamlDocument, loadYamlDocument, loadYamlByRootKeys, flattenYaml, yamlToText, } from './loaders/index.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/knowledge/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAuB,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,SAAS,EAAqC,MAAM,gBAAgB,CAAC;AAE9E,mBAAmB;AACnB,OAAO,EACL,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EAIpB,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,UAAU,GAIX,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document Loaders
|
|
3
|
+
*
|
|
4
|
+
* Provides loaders for different document formats to import into the knowledge base.
|
|
5
|
+
*
|
|
6
|
+
* _Requirements: 3.1_
|
|
7
|
+
*/
|
|
8
|
+
export { MarkdownLoader, parseMarkdown, loadMarkdownDocument, loadMarkdownSections, type MarkdownSection, type MarkdownParseResult, type MarkdownLoaderOptions, } from './markdown.js';
|
|
9
|
+
export { YamlLoader, parseYaml, parseYamlDocument, loadYamlDocument, loadYamlByRootKeys, flattenYaml, yamlToText, type YamlNode, type YamlParseResult, type YamlLoaderOptions, } from './yaml.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/knowledge/loaders/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Document Loaders
|
|
3
|
+
*
|
|
4
|
+
* Provides loaders for different document formats to import into the knowledge base.
|
|
5
|
+
*
|
|
6
|
+
* _Requirements: 3.1_
|
|
7
|
+
*/
|
|
8
|
+
export { MarkdownLoader, parseMarkdown, loadMarkdownDocument, loadMarkdownSections, } from './markdown.js';
|
|
9
|
+
export { YamlLoader, parseYaml, parseYamlDocument, loadYamlDocument, loadYamlByRootKeys, flattenYaml, yamlToText, } from './yaml.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/knowledge/loaders/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,oBAAoB,GAIrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,UAAU,GAIX,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown Document Loader
|
|
3
|
+
*
|
|
4
|
+
* Parses Markdown files and extracts structured content for the knowledge base.
|
|
5
|
+
* Supports extracting titles, sections, and metadata from Markdown documents.
|
|
6
|
+
*
|
|
7
|
+
* _Requirements: 3.1_
|
|
8
|
+
*/
|
|
9
|
+
import type { DocumentInput } from '../../types/knowledge.js';
|
|
10
|
+
/**
|
|
11
|
+
* Parsed section from a Markdown document
|
|
12
|
+
*/
|
|
13
|
+
export interface MarkdownSection {
|
|
14
|
+
/** Section heading level (1-6) */
|
|
15
|
+
level: number;
|
|
16
|
+
/** Section title */
|
|
17
|
+
title: string;
|
|
18
|
+
/** Section content (without subsections) */
|
|
19
|
+
content: string;
|
|
20
|
+
/** Line number where section starts */
|
|
21
|
+
startLine: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Result of parsing a Markdown document
|
|
25
|
+
*/
|
|
26
|
+
export interface MarkdownParseResult {
|
|
27
|
+
/** Document title (from first H1 or filename) */
|
|
28
|
+
title: string;
|
|
29
|
+
/** Full document content */
|
|
30
|
+
content: string;
|
|
31
|
+
/** Extracted sections */
|
|
32
|
+
sections: MarkdownSection[];
|
|
33
|
+
/** Frontmatter metadata (if present) */
|
|
34
|
+
frontmatter?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Options for loading Markdown documents
|
|
38
|
+
*/
|
|
39
|
+
export interface MarkdownLoaderOptions {
|
|
40
|
+
/** Category for the document */
|
|
41
|
+
category: string;
|
|
42
|
+
/** Whether to split into sections (default: false) */
|
|
43
|
+
splitSections?: boolean;
|
|
44
|
+
/** Minimum section level to split on (default: 2) */
|
|
45
|
+
minSplitLevel?: number;
|
|
46
|
+
/** Maximum section level to split on (default: 3) */
|
|
47
|
+
maxSplitLevel?: number;
|
|
48
|
+
/** Custom title (overrides extracted title) */
|
|
49
|
+
title?: string;
|
|
50
|
+
/** Additional metadata to include */
|
|
51
|
+
metadata?: Record<string, unknown>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse a Markdown document
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseMarkdown(content: string): MarkdownParseResult;
|
|
57
|
+
/**
|
|
58
|
+
* Load a Markdown document as a single DocumentInput
|
|
59
|
+
*/
|
|
60
|
+
export declare function loadMarkdownDocument(content: string, options: MarkdownLoaderOptions): DocumentInput;
|
|
61
|
+
/**
|
|
62
|
+
* Load a Markdown document and split into multiple DocumentInputs by section
|
|
63
|
+
*/
|
|
64
|
+
export declare function loadMarkdownSections(content: string, options: MarkdownLoaderOptions): DocumentInput[];
|
|
65
|
+
/**
|
|
66
|
+
* Markdown Loader class for loading documents into the knowledge base
|
|
67
|
+
*/
|
|
68
|
+
export declare class MarkdownLoader {
|
|
69
|
+
private defaultCategory;
|
|
70
|
+
private defaultMetadata;
|
|
71
|
+
constructor(options?: {
|
|
72
|
+
defaultCategory?: string;
|
|
73
|
+
defaultMetadata?: Record<string, unknown>;
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Load a Markdown string as a document
|
|
77
|
+
*/
|
|
78
|
+
load(content: string, options?: Partial<MarkdownLoaderOptions>): DocumentInput;
|
|
79
|
+
/**
|
|
80
|
+
* Load a Markdown string and split into sections
|
|
81
|
+
*/
|
|
82
|
+
loadSections(content: string, options?: Partial<MarkdownLoaderOptions>): DocumentInput[];
|
|
83
|
+
/**
|
|
84
|
+
* Parse Markdown content without creating DocumentInput
|
|
85
|
+
*/
|
|
86
|
+
parse(content: string): MarkdownParseResult;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/knowledge/loaders/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAiHD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAgBlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,aAAa,CAcf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,qBAAqB,GAC7B,aAAa,EAAE,CA8BjB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAA0B;gBAErC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IAK7F;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,aAAa;IAQ9E;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,aAAa,EAAE;IAWxF;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;CAG5C"}
|