@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.
Files changed (196) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/README.zh-CN.md +372 -0
  4. package/dist/audit/index.d.ts +9 -0
  5. package/dist/audit/index.d.ts.map +1 -0
  6. package/dist/audit/index.js +9 -0
  7. package/dist/audit/index.js.map +1 -0
  8. package/dist/audit/logger.d.ts +211 -0
  9. package/dist/audit/logger.d.ts.map +1 -0
  10. package/dist/audit/logger.js +268 -0
  11. package/dist/audit/logger.js.map +1 -0
  12. package/dist/audit/query.d.ts +164 -0
  13. package/dist/audit/query.d.ts.map +1 -0
  14. package/dist/audit/query.js +250 -0
  15. package/dist/audit/query.js.map +1 -0
  16. package/dist/conversation/context-builder.d.ts +119 -0
  17. package/dist/conversation/context-builder.d.ts.map +1 -0
  18. package/dist/conversation/context-builder.js +252 -0
  19. package/dist/conversation/context-builder.js.map +1 -0
  20. package/dist/conversation/index.d.ts +10 -0
  21. package/dist/conversation/index.d.ts.map +1 -0
  22. package/dist/conversation/index.js +10 -0
  23. package/dist/conversation/index.js.map +1 -0
  24. package/dist/conversation/message-store.d.ts +231 -0
  25. package/dist/conversation/message-store.d.ts.map +1 -0
  26. package/dist/conversation/message-store.js +404 -0
  27. package/dist/conversation/message-store.js.map +1 -0
  28. package/dist/conversation/session.d.ts +201 -0
  29. package/dist/conversation/session.d.ts.map +1 -0
  30. package/dist/conversation/session.js +285 -0
  31. package/dist/conversation/session.js.map +1 -0
  32. package/dist/core/agent.d.ts +277 -0
  33. package/dist/core/agent.d.ts.map +1 -0
  34. package/dist/core/agent.js +674 -0
  35. package/dist/core/agent.js.map +1 -0
  36. package/dist/core/agentic-loop.d.ts +98 -0
  37. package/dist/core/agentic-loop.d.ts.map +1 -0
  38. package/dist/core/agentic-loop.js +496 -0
  39. package/dist/core/agentic-loop.js.map +1 -0
  40. package/dist/core/index.d.ts +14 -0
  41. package/dist/core/index.d.ts.map +1 -0
  42. package/dist/core/index.js +14 -0
  43. package/dist/core/index.js.map +1 -0
  44. package/dist/core/intent-parser.d.ts +101 -0
  45. package/dist/core/intent-parser.d.ts.map +1 -0
  46. package/dist/core/intent-parser.js +221 -0
  47. package/dist/core/intent-parser.js.map +1 -0
  48. package/dist/core/plan-generator.d.ts +133 -0
  49. package/dist/core/plan-generator.d.ts.map +1 -0
  50. package/dist/core/plan-generator.js +294 -0
  51. package/dist/core/plan-generator.js.map +1 -0
  52. package/dist/core/plugin-manager.d.ts +120 -0
  53. package/dist/core/plugin-manager.d.ts.map +1 -0
  54. package/dist/core/plugin-manager.js +369 -0
  55. package/dist/core/plugin-manager.js.map +1 -0
  56. package/dist/core/response-handler.d.ts +141 -0
  57. package/dist/core/response-handler.d.ts.map +1 -0
  58. package/dist/core/response-handler.js +384 -0
  59. package/dist/core/response-handler.js.map +1 -0
  60. package/dist/core/tool-executor.d.ts +143 -0
  61. package/dist/core/tool-executor.d.ts.map +1 -0
  62. package/dist/core/tool-executor.js +354 -0
  63. package/dist/core/tool-executor.js.map +1 -0
  64. package/dist/core/tool-registry.d.ts +133 -0
  65. package/dist/core/tool-registry.d.ts.map +1 -0
  66. package/dist/core/tool-registry.js +252 -0
  67. package/dist/core/tool-registry.js.map +1 -0
  68. package/dist/index.d.ts +44 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +47 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/knowledge/chunker.d.ts +78 -0
  73. package/dist/knowledge/chunker.d.ts.map +1 -0
  74. package/dist/knowledge/chunker.js +233 -0
  75. package/dist/knowledge/chunker.js.map +1 -0
  76. package/dist/knowledge/embedder.d.ts +93 -0
  77. package/dist/knowledge/embedder.d.ts.map +1 -0
  78. package/dist/knowledge/embedder.js +205 -0
  79. package/dist/knowledge/embedder.js.map +1 -0
  80. package/dist/knowledge/index.d.ts +10 -0
  81. package/dist/knowledge/index.d.ts.map +1 -0
  82. package/dist/knowledge/index.js +11 -0
  83. package/dist/knowledge/index.js.map +1 -0
  84. package/dist/knowledge/loaders/index.d.ts +10 -0
  85. package/dist/knowledge/loaders/index.d.ts.map +1 -0
  86. package/dist/knowledge/loaders/index.js +10 -0
  87. package/dist/knowledge/loaders/index.js.map +1 -0
  88. package/dist/knowledge/loaders/markdown.d.ts +88 -0
  89. package/dist/knowledge/loaders/markdown.d.ts.map +1 -0
  90. package/dist/knowledge/loaders/markdown.js +205 -0
  91. package/dist/knowledge/loaders/markdown.js.map +1 -0
  92. package/dist/knowledge/loaders/yaml.d.ts +112 -0
  93. package/dist/knowledge/loaders/yaml.d.ts.map +1 -0
  94. package/dist/knowledge/loaders/yaml.js +368 -0
  95. package/dist/knowledge/loaders/yaml.js.map +1 -0
  96. package/dist/knowledge/retriever.d.ts +144 -0
  97. package/dist/knowledge/retriever.d.ts.map +1 -0
  98. package/dist/knowledge/retriever.js +399 -0
  99. package/dist/knowledge/retriever.js.map +1 -0
  100. package/dist/knowledge/store.d.ts +146 -0
  101. package/dist/knowledge/store.d.ts.map +1 -0
  102. package/dist/knowledge/store.js +420 -0
  103. package/dist/knowledge/store.js.map +1 -0
  104. package/dist/llm/adapter.d.ts +194 -0
  105. package/dist/llm/adapter.d.ts.map +1 -0
  106. package/dist/llm/adapter.js +42 -0
  107. package/dist/llm/adapter.js.map +1 -0
  108. package/dist/llm/adapters/anyrouter.d.ts +84 -0
  109. package/dist/llm/adapters/anyrouter.d.ts.map +1 -0
  110. package/dist/llm/adapters/anyrouter.js +372 -0
  111. package/dist/llm/adapters/anyrouter.js.map +1 -0
  112. package/dist/llm/adapters/claude.d.ts +66 -0
  113. package/dist/llm/adapters/claude.d.ts.map +1 -0
  114. package/dist/llm/adapters/claude.js +323 -0
  115. package/dist/llm/adapters/claude.js.map +1 -0
  116. package/dist/llm/adapters/index.d.ts +12 -0
  117. package/dist/llm/adapters/index.d.ts.map +1 -0
  118. package/dist/llm/adapters/index.js +12 -0
  119. package/dist/llm/adapters/index.js.map +1 -0
  120. package/dist/llm/adapters/mimo.d.ts +85 -0
  121. package/dist/llm/adapters/mimo.d.ts.map +1 -0
  122. package/dist/llm/adapters/mimo.js +316 -0
  123. package/dist/llm/adapters/mimo.js.map +1 -0
  124. package/dist/llm/adapters/openai.d.ts +53 -0
  125. package/dist/llm/adapters/openai.d.ts.map +1 -0
  126. package/dist/llm/adapters/openai.js +293 -0
  127. package/dist/llm/adapters/openai.js.map +1 -0
  128. package/dist/llm/adapters/qwen.d.ts +53 -0
  129. package/dist/llm/adapters/qwen.d.ts.map +1 -0
  130. package/dist/llm/adapters/qwen.js +299 -0
  131. package/dist/llm/adapters/qwen.js.map +1 -0
  132. package/dist/llm/adapters/siliconflow.d.ts +69 -0
  133. package/dist/llm/adapters/siliconflow.d.ts.map +1 -0
  134. package/dist/llm/adapters/siliconflow.js +331 -0
  135. package/dist/llm/adapters/siliconflow.js.map +1 -0
  136. package/dist/llm/index.d.ts +9 -0
  137. package/dist/llm/index.d.ts.map +1 -0
  138. package/dist/llm/index.js +12 -0
  139. package/dist/llm/index.js.map +1 -0
  140. package/dist/llm/manager.d.ts +97 -0
  141. package/dist/llm/manager.d.ts.map +1 -0
  142. package/dist/llm/manager.js +337 -0
  143. package/dist/llm/manager.js.map +1 -0
  144. package/dist/test-utils/arbitraries.d.ts +230 -0
  145. package/dist/test-utils/arbitraries.d.ts.map +1 -0
  146. package/dist/test-utils/arbitraries.js +280 -0
  147. package/dist/test-utils/arbitraries.js.map +1 -0
  148. package/dist/test-utils/cleanup.d.ts +184 -0
  149. package/dist/test-utils/cleanup.d.ts.map +1 -0
  150. package/dist/test-utils/cleanup.js +282 -0
  151. package/dist/test-utils/cleanup.js.map +1 -0
  152. package/dist/test-utils/config.d.ts +80 -0
  153. package/dist/test-utils/config.d.ts.map +1 -0
  154. package/dist/test-utils/config.js +94 -0
  155. package/dist/test-utils/config.js.map +1 -0
  156. package/dist/test-utils/index.d.ts +10 -0
  157. package/dist/test-utils/index.d.ts.map +1 -0
  158. package/dist/test-utils/index.js +36 -0
  159. package/dist/test-utils/index.js.map +1 -0
  160. package/dist/test-utils/mocks.d.ts +170 -0
  161. package/dist/test-utils/mocks.d.ts.map +1 -0
  162. package/dist/test-utils/mocks.js +281 -0
  163. package/dist/test-utils/mocks.js.map +1 -0
  164. package/dist/types/config.d.ts +170 -0
  165. package/dist/types/config.d.ts.map +1 -0
  166. package/dist/types/config.js +120 -0
  167. package/dist/types/config.js.map +1 -0
  168. package/dist/types/knowledge.d.ts +95 -0
  169. package/dist/types/knowledge.d.ts.map +1 -0
  170. package/dist/types/knowledge.js +7 -0
  171. package/dist/types/knowledge.js.map +1 -0
  172. package/dist/types/loop.d.ts +148 -0
  173. package/dist/types/loop.d.ts.map +1 -0
  174. package/dist/types/loop.js +16 -0
  175. package/dist/types/loop.js.map +1 -0
  176. package/dist/types/plugin.d.ts +137 -0
  177. package/dist/types/plugin.d.ts.map +1 -0
  178. package/dist/types/plugin.js +15 -0
  179. package/dist/types/plugin.js.map +1 -0
  180. package/dist/types/response.d.ts +186 -0
  181. package/dist/types/response.d.ts.map +1 -0
  182. package/dist/types/response.js +99 -0
  183. package/dist/types/response.js.map +1 -0
  184. package/dist/types/streaming.d.ts +478 -0
  185. package/dist/types/streaming.d.ts.map +1 -0
  186. package/dist/types/streaming.js +483 -0
  187. package/dist/types/streaming.js.map +1 -0
  188. package/dist/types/tool.d.ts +118 -0
  189. package/dist/types/tool.d.ts.map +1 -0
  190. package/dist/types/tool.js +42 -0
  191. package/dist/types/tool.js.map +1 -0
  192. package/dist/utils/error.d.ts +22 -0
  193. package/dist/utils/error.d.ts.map +1 -0
  194. package/dist/utils/error.js +36 -0
  195. package/dist/utils/error.js.map +1 -0
  196. package/package.json +102 -0
@@ -0,0 +1,368 @@
1
+ /**
2
+ * YAML Document Loader
3
+ *
4
+ * Parses YAML configuration files and converts them to searchable text
5
+ * for the knowledge base. Supports MythicMobs and other game configuration formats.
6
+ *
7
+ * _Requirements: 3.1_
8
+ */
9
+ /**
10
+ * Simple YAML parser for common configuration formats
11
+ * Handles basic YAML structures without external dependencies
12
+ */
13
+ export function parseYaml(content) {
14
+ const result = {};
15
+ const lines = content.split(/\r?\n/);
16
+ // Root item has special handling
17
+ const stack = [];
18
+ let currentObj = result;
19
+ let lastKey = null;
20
+ let lastKeyIndent = -1;
21
+ let lastKeyParent = result;
22
+ let multilineValue = [];
23
+ let isMultiline = false;
24
+ let multilineIndent = 0;
25
+ let multilineKey = null;
26
+ let multilineParent = null;
27
+ for (let i = 0; i < lines.length; i++) {
28
+ const line = lines[i];
29
+ // Skip empty lines and comments
30
+ if (line.trim() === '' || line.trim().startsWith('#')) {
31
+ if (isMultiline) {
32
+ multilineValue.push('');
33
+ }
34
+ continue;
35
+ }
36
+ // Calculate indentation
37
+ const indent = line.search(/\S/);
38
+ const trimmedLine = line.trim();
39
+ // Handle multiline strings
40
+ if (isMultiline) {
41
+ if (indent > multilineIndent) {
42
+ multilineValue.push(line.slice(multilineIndent + 2));
43
+ continue;
44
+ }
45
+ else {
46
+ // End of multiline - save to the correct parent
47
+ if (multilineKey && multilineParent) {
48
+ multilineParent[multilineKey] = multilineValue.join('\n').trim();
49
+ }
50
+ isMultiline = false;
51
+ multilineValue = [];
52
+ multilineKey = null;
53
+ multilineParent = null;
54
+ }
55
+ }
56
+ // Pop stack to correct level based on indentation
57
+ while (stack.length > 0 && stack[stack.length - 1].indent >= indent) {
58
+ stack.pop();
59
+ }
60
+ // Update currentObj based on stack
61
+ currentObj = stack.length > 0 ? stack[stack.length - 1].obj : result;
62
+ // Handle list items
63
+ if (trimmedLine.startsWith('- ')) {
64
+ const listValue = trimmedLine.slice(2).trim();
65
+ // Find the key for this list
66
+ // If we have a stack item at a lower indent, use its key
67
+ // Otherwise use lastKey
68
+ let listKey = null;
69
+ let listParent = result;
70
+ // Check if there's a stack item that should contain this list
71
+ for (let j = stack.length - 1; j >= 0; j--) {
72
+ if (stack[j].indent < indent) {
73
+ listKey = stack[j].key;
74
+ listParent = stack[j].parentObj;
75
+ break;
76
+ }
77
+ }
78
+ // If no stack item found, use lastKey if it's at a lower indent
79
+ if (!listKey && lastKey && lastKeyIndent < indent) {
80
+ listKey = lastKey;
81
+ listParent = lastKeyParent;
82
+ }
83
+ if (listKey && listParent[listKey] !== undefined) {
84
+ // Convert empty object to array if needed
85
+ if (typeof listParent[listKey] === 'object' &&
86
+ !Array.isArray(listParent[listKey]) &&
87
+ Object.keys(listParent[listKey]).length === 0) {
88
+ listParent[listKey] = [];
89
+ }
90
+ if (Array.isArray(listParent[listKey])) {
91
+ // Check if it's a key-value pair in the list item
92
+ const colonIndex = listValue.indexOf(':');
93
+ if (colonIndex > 0 && !listValue.startsWith('"') && !listValue.startsWith("'")) {
94
+ const itemKey = listValue.slice(0, colonIndex).trim();
95
+ const itemValue = listValue.slice(colonIndex + 1).trim();
96
+ const item = {};
97
+ item[itemKey] = parseValue(itemValue);
98
+ listParent[listKey].push(item);
99
+ }
100
+ else {
101
+ listParent[listKey].push(parseValue(listValue));
102
+ }
103
+ }
104
+ }
105
+ continue;
106
+ }
107
+ // Handle key-value pairs
108
+ const colonIndex = trimmedLine.indexOf(':');
109
+ if (colonIndex > 0) {
110
+ const key = trimmedLine.slice(0, colonIndex).trim();
111
+ const valueStr = trimmedLine.slice(colonIndex + 1).trim();
112
+ if (valueStr === '' || valueStr === '|' || valueStr === '>') {
113
+ // Nested object, array, or multiline string
114
+ if (valueStr === '|' || valueStr === '>') {
115
+ isMultiline = true;
116
+ multilineIndent = indent;
117
+ multilineValue = [];
118
+ multilineKey = key;
119
+ multilineParent = currentObj;
120
+ }
121
+ else {
122
+ // Could be object or array - create empty object for now
123
+ currentObj[key] = {};
124
+ stack.push({
125
+ obj: currentObj[key],
126
+ indent,
127
+ key,
128
+ parentObj: currentObj,
129
+ });
130
+ }
131
+ lastKey = key;
132
+ lastKeyIndent = indent;
133
+ lastKeyParent = currentObj;
134
+ }
135
+ else {
136
+ // Simple value
137
+ currentObj[key] = parseValue(valueStr);
138
+ lastKey = key;
139
+ lastKeyIndent = indent;
140
+ lastKeyParent = currentObj;
141
+ }
142
+ }
143
+ }
144
+ // Handle any remaining multiline content
145
+ if (isMultiline && multilineKey && multilineParent) {
146
+ multilineParent[multilineKey] = multilineValue.join('\n').trim();
147
+ }
148
+ return result;
149
+ }
150
+ /**
151
+ * Parse a YAML value string to appropriate type
152
+ */
153
+ function parseValue(value) {
154
+ // Remove quotes
155
+ if ((value.startsWith('"') && value.endsWith('"')) ||
156
+ (value.startsWith("'") && value.endsWith("'"))) {
157
+ return value.slice(1, -1);
158
+ }
159
+ // Boolean
160
+ if (value === 'true' || value === 'yes' || value === 'on')
161
+ return true;
162
+ if (value === 'false' || value === 'no' || value === 'off')
163
+ return false;
164
+ // Null
165
+ if (value === 'null' || value === '~' || value === '')
166
+ return null;
167
+ // Number
168
+ if (!isNaN(Number(value)) && value !== '') {
169
+ return Number(value);
170
+ }
171
+ // String
172
+ return value;
173
+ }
174
+ /**
175
+ * Flatten a YAML object into nodes with paths
176
+ */
177
+ export function flattenYaml(data, options) {
178
+ const nodes = [];
179
+ const maxDepth = options?.maxDepth ?? 10;
180
+ const includeArrayIndices = options?.includeArrayIndices ?? true;
181
+ function traverse(obj, path, depth) {
182
+ // Stop if we've exceeded max depth
183
+ if (depth >= maxDepth)
184
+ return;
185
+ if (obj === null || obj === undefined) {
186
+ return;
187
+ }
188
+ if (Array.isArray(obj)) {
189
+ obj.forEach((item, index) => {
190
+ const itemPath = includeArrayIndices ? `${path}[${index}]` : path;
191
+ if (typeof item === 'object' && item !== null) {
192
+ traverse(item, itemPath, depth + 1);
193
+ }
194
+ else {
195
+ nodes.push({
196
+ path: itemPath,
197
+ key: `[${index}]`,
198
+ value: item,
199
+ depth,
200
+ });
201
+ }
202
+ });
203
+ }
204
+ else if (typeof obj === 'object') {
205
+ for (const [key, value] of Object.entries(obj)) {
206
+ const newPath = path ? `${path}.${key}` : key;
207
+ nodes.push({
208
+ path: newPath,
209
+ key,
210
+ value,
211
+ depth,
212
+ });
213
+ if (typeof value === 'object' && value !== null) {
214
+ traverse(value, newPath, depth + 1);
215
+ }
216
+ }
217
+ }
218
+ }
219
+ traverse(data, '', 0);
220
+ return nodes;
221
+ }
222
+ /**
223
+ * Convert YAML data to human-readable text
224
+ */
225
+ export function yamlToText(data, indent = 0) {
226
+ const lines = [];
227
+ const prefix = ' '.repeat(indent);
228
+ for (const [key, value] of Object.entries(data)) {
229
+ if (value === null || value === undefined) {
230
+ lines.push(`${prefix}${key}: (empty)`);
231
+ }
232
+ else if (Array.isArray(value)) {
233
+ lines.push(`${prefix}${key}:`);
234
+ value.forEach((item, index) => {
235
+ if (typeof item === 'object' && item !== null) {
236
+ lines.push(`${prefix} - Item ${index + 1}:`);
237
+ lines.push(yamlToText(item, indent + 2));
238
+ }
239
+ else {
240
+ lines.push(`${prefix} - ${item}`);
241
+ }
242
+ });
243
+ }
244
+ else if (typeof value === 'object') {
245
+ lines.push(`${prefix}${key}:`);
246
+ lines.push(yamlToText(value, indent + 1));
247
+ }
248
+ else {
249
+ lines.push(`${prefix}${key}: ${value}`);
250
+ }
251
+ }
252
+ return lines.join('\n');
253
+ }
254
+ /**
255
+ * Parse a YAML document and extract structured information
256
+ */
257
+ export function parseYamlDocument(content, options) {
258
+ const data = parseYaml(content);
259
+ const nodes = flattenYaml(data, { maxDepth: options?.maxDepth });
260
+ const rootKeys = Object.keys(data);
261
+ const textContent = yamlToText(data);
262
+ return {
263
+ data,
264
+ nodes,
265
+ rootKeys,
266
+ textContent,
267
+ };
268
+ }
269
+ /**
270
+ * Load a YAML document as a single DocumentInput
271
+ */
272
+ export function loadYamlDocument(content, options) {
273
+ const parsed = parseYamlDocument(content, { maxDepth: options.maxDepth });
274
+ // Use custom formatter or default text representation
275
+ const textContent = options.textFormatter
276
+ ? options.textFormatter(parsed.data)
277
+ : parsed.textContent;
278
+ return {
279
+ category: options.category,
280
+ title: options.title ?? `YAML Configuration (${parsed.rootKeys.join(', ')})`,
281
+ content: textContent,
282
+ metadata: {
283
+ ...options.metadata,
284
+ sourceType: 'yaml',
285
+ rootKeys: parsed.rootKeys,
286
+ nodeCount: parsed.nodes.length,
287
+ rawData: parsed.data,
288
+ },
289
+ };
290
+ }
291
+ /**
292
+ * Load a YAML document and split by root keys
293
+ */
294
+ export function loadYamlByRootKeys(content, options) {
295
+ const parsed = parseYamlDocument(content, { maxDepth: options.maxDepth });
296
+ // If only one root key, return as single document
297
+ if (parsed.rootKeys.length <= 1) {
298
+ return [loadYamlDocument(content, options)];
299
+ }
300
+ // Create a document for each root key
301
+ return parsed.rootKeys.map((key) => {
302
+ const keyData = { [key]: parsed.data[key] };
303
+ const textContent = options.textFormatter
304
+ ? options.textFormatter(keyData)
305
+ : yamlToText(keyData);
306
+ return {
307
+ category: options.category,
308
+ title: options.title ? `${options.title} - ${key}` : key,
309
+ content: textContent,
310
+ metadata: {
311
+ ...options.metadata,
312
+ sourceType: 'yaml',
313
+ rootKey: key,
314
+ rawData: keyData,
315
+ },
316
+ };
317
+ });
318
+ }
319
+ /**
320
+ * YAML Loader class for loading documents into the knowledge base
321
+ */
322
+ export class YamlLoader {
323
+ defaultCategory;
324
+ defaultMetadata;
325
+ maxDepth;
326
+ constructor(options) {
327
+ this.defaultCategory = options?.defaultCategory ?? 'config';
328
+ this.defaultMetadata = options?.defaultMetadata ?? {};
329
+ this.maxDepth = options?.maxDepth ?? 10;
330
+ }
331
+ /**
332
+ * Load a YAML string as a document
333
+ */
334
+ load(content, options) {
335
+ return loadYamlDocument(content, {
336
+ category: options?.category ?? this.defaultCategory,
337
+ title: options?.title,
338
+ metadata: { ...this.defaultMetadata, ...options?.metadata },
339
+ maxDepth: options?.maxDepth ?? this.maxDepth,
340
+ textFormatter: options?.textFormatter,
341
+ });
342
+ }
343
+ /**
344
+ * Load a YAML string and split by root keys
345
+ */
346
+ loadByRootKeys(content, options) {
347
+ return loadYamlByRootKeys(content, {
348
+ category: options?.category ?? this.defaultCategory,
349
+ title: options?.title,
350
+ metadata: { ...this.defaultMetadata, ...options?.metadata },
351
+ maxDepth: options?.maxDepth ?? this.maxDepth,
352
+ textFormatter: options?.textFormatter,
353
+ });
354
+ }
355
+ /**
356
+ * Parse YAML content without creating DocumentInput
357
+ */
358
+ parse(content) {
359
+ return parseYamlDocument(content, { maxDepth: this.maxDepth });
360
+ }
361
+ /**
362
+ * Parse raw YAML to object
363
+ */
364
+ parseRaw(content) {
365
+ return parseYaml(content);
366
+ }
367
+ }
368
+ //# sourceMappingURL=yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../../src/knowledge/loaders/yaml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Knowledge Retriever
3
+ *
4
+ * Provides advanced retrieval capabilities including keyword search,
5
+ * semantic search, and hybrid search with knowledge sufficiency assessment.
6
+ *
7
+ * _Requirements: 3.2, 3.3, 3.4, 5.1, 5.2_
8
+ */
9
+ import type { SearchOptions, SearchResult, KnowledgeAssessment } from '../types/knowledge.js';
10
+ import type { KnowledgeStore } from './store.js';
11
+ import type { Embedder } from './embedder.js';
12
+ /**
13
+ * Retriever configuration
14
+ */
15
+ export interface RetrieverConfig {
16
+ /** Default number of results to return */
17
+ defaultTopK?: number;
18
+ /** Default minimum score threshold */
19
+ defaultMinScore?: number;
20
+ /** Weight for keyword search in hybrid mode (0-1) */
21
+ keywordWeight?: number;
22
+ /** Weight for semantic search in hybrid mode (0-1) */
23
+ semanticWeight?: number;
24
+ /** Minimum confidence threshold for sufficient knowledge */
25
+ sufficientThreshold?: number;
26
+ /** Minimum confidence threshold for ambiguous knowledge */
27
+ ambiguousThreshold?: number;
28
+ }
29
+ /**
30
+ * Intent information for knowledge assessment
31
+ */
32
+ export interface Intent {
33
+ /** The main action or query type */
34
+ action: string;
35
+ /** Key entities mentioned */
36
+ entities: string[];
37
+ /** Required knowledge topics */
38
+ requiredTopics?: string[];
39
+ }
40
+ /**
41
+ * Knowledge Retriever class
42
+ *
43
+ * Provides keyword, semantic, and hybrid search capabilities
44
+ * with knowledge sufficiency assessment.
45
+ */
46
+ export declare class Retriever {
47
+ private store;
48
+ private embedder?;
49
+ private config;
50
+ constructor(store: KnowledgeStore, embedder?: Embedder, config?: RetrieverConfig);
51
+ /**
52
+ * Search the knowledge base
53
+ *
54
+ * @param query - Search query string
55
+ * @param options - Search options
56
+ * @returns Array of search results sorted by relevance
57
+ */
58
+ search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
59
+ /**
60
+ * Keyword-based search using text matching
61
+ *
62
+ * Implements simple keyword matching with term frequency scoring.
63
+ * Supports category filtering.
64
+ *
65
+ * _Requirements: 3.4_
66
+ *
67
+ * @param query - Search query
68
+ * @param category - Optional category filter
69
+ * @returns Search results sorted by score descending
70
+ */
71
+ keywordSearch(query: string, category?: string): Promise<SearchResult[]>;
72
+ /**
73
+ * Perform keyword matching on documents
74
+ */
75
+ private performKeywordMatch;
76
+ /**
77
+ * Semantic search using embedding similarity
78
+ *
79
+ * Uses vector similarity to find semantically related documents.
80
+ * Falls back to keyword search if embedder is not available.
81
+ *
82
+ * _Requirements: 3.3_
83
+ *
84
+ * @param query - Search query
85
+ * @param category - Optional category filter
86
+ * @returns Search results sorted by score descending
87
+ */
88
+ semanticSearch(query: string, category?: string): Promise<SearchResult[]>;
89
+ /**
90
+ * Perform semantic matching on documents
91
+ */
92
+ private performSemanticMatch;
93
+ /**
94
+ * Hybrid search combining keyword and semantic results
95
+ *
96
+ * Merges results from both methods with configurable weights.
97
+ * Deduplicates and re-ranks results.
98
+ *
99
+ * _Requirements: 3.2_
100
+ *
101
+ * @param query - Search query
102
+ * @param category - Optional category filter
103
+ * @returns Search results sorted by combined score descending
104
+ */
105
+ hybridSearch(query: string, category?: string): Promise<SearchResult[]>;
106
+ /**
107
+ * Assess knowledge sufficiency for a given intent
108
+ *
109
+ * Evaluates whether the retrieved knowledge is sufficient
110
+ * to answer the user's query.
111
+ *
112
+ * _Requirements: 5.1, 5.2_
113
+ *
114
+ * @param results - Search results to assess
115
+ * @param intent - User intent information
116
+ * @returns Knowledge assessment with status and confidence
117
+ */
118
+ assessKnowledge(results: SearchResult[], intent: Intent): KnowledgeAssessment;
119
+ /**
120
+ * Find topics covered by search results
121
+ */
122
+ private findCoveredTopics;
123
+ /**
124
+ * Tokenize text into search terms
125
+ */
126
+ private tokenize;
127
+ /**
128
+ * Escape special regex characters
129
+ */
130
+ private escapeRegex;
131
+ /**
132
+ * Convert score to confidence level
133
+ */
134
+ private scoreToConfidence;
135
+ /**
136
+ * Get retriever configuration
137
+ */
138
+ getConfig(): Required<RetrieverConfig>;
139
+ /**
140
+ * Update retriever configuration
141
+ */
142
+ updateConfig(config: Partial<RetrieverConfig>): void;
143
+ }
144
+ //# sourceMappingURL=retriever.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retriever.d.ts","sourceRoot":"","sources":["../../src/knowledge/retriever.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EACZ,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAWD;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoBD;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,MAAM,CAA4B;gBAE9B,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,eAAe;IAMhF;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0B7E;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAc9E;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAmE3B;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA6B/E;;OAEG;YACW,oBAAoB;IAyClC;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA+C7E;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB;IA0E7E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,eAAe,CAAC;IAItC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;CAGrD"}