universal-agent-memory 0.6.3 → 0.7.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.
@@ -174,6 +174,17 @@ export declare const BenchmarkResultSchema: z.ZodObject<{
174
174
  };
175
175
  }>;
176
176
  }, "strip", z.ZodTypeAny, {
177
+ summary: {
178
+ uamSuccessRate: number;
179
+ naiveSuccessRate: number;
180
+ uamAvgDuration: number;
181
+ naiveAvgDuration: number;
182
+ improvement: {
183
+ memoryQueries: number;
184
+ successDelta: number;
185
+ speedup: number;
186
+ };
187
+ };
177
188
  taskId: string;
178
189
  taskName: string;
179
190
  results: {
@@ -188,6 +199,7 @@ export declare const BenchmarkResultSchema: z.ZodObject<{
188
199
  memoryQueries?: number | undefined;
189
200
  tokensUsed?: number | undefined;
190
201
  }[];
202
+ }, {
191
203
  summary: {
192
204
  uamSuccessRate: number;
193
205
  naiveSuccessRate: number;
@@ -199,7 +211,6 @@ export declare const BenchmarkResultSchema: z.ZodObject<{
199
211
  speedup: number;
200
212
  };
201
213
  };
202
- }, {
203
214
  taskId: string;
204
215
  taskName: string;
205
216
  results: {
@@ -214,17 +225,6 @@ export declare const BenchmarkResultSchema: z.ZodObject<{
214
225
  memoryQueries?: number | undefined;
215
226
  tokensUsed?: number | undefined;
216
227
  }[];
217
- summary: {
218
- uamSuccessRate: number;
219
- naiveSuccessRate: number;
220
- uamAvgDuration: number;
221
- naiveAvgDuration: number;
222
- improvement: {
223
- memoryQueries: number;
224
- successDelta: number;
225
- speedup: number;
226
- };
227
- };
228
228
  }>;
229
229
  export type BenchmarkResult = z.infer<typeof BenchmarkResultSchema>;
230
230
  export declare const OverallBenchmarkStatsSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"execution-verifier.d.ts","sourceRoot":"","sources":["../../src/benchmarks/execution-verifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA8BD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAsG7B;AAkGD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CA2E5E,CAAC;AAEF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAiB7B"}
1
+ {"version":3,"file":"execution-verifier.d.ts","sourceRoot":"","sources":["../../src/benchmarks/execution-verifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA0ED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAyG7B;AAkGD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CA4E5E,CAAC;AAEF;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAiB7B"}
@@ -9,6 +9,44 @@ import { writeFileSync, existsSync, mkdirSync, rmSync } from 'fs';
9
9
  import { join } from 'path';
10
10
  import { randomUUID } from 'crypto';
11
11
  const SANDBOX_DIR = '/tmp/uam-sandbox';
12
+ /**
13
+ * Extract code from markdown code blocks
14
+ * Models often wrap code in ```typescript ... ``` or ```ts ... ```
15
+ */
16
+ function extractCodeFromMarkdown(response) {
17
+ // Try to extract code from markdown code blocks
18
+ const codeBlockPatterns = [
19
+ /```(?:typescript|ts)\n([\s\S]*?)```/gi,
20
+ /```(?:javascript|js)\n([\s\S]*?)```/gi,
21
+ /```(?:python|py)\n([\s\S]*?)```/gi,
22
+ /```(?:bash|sh|shell)\n([\s\S]*?)```/gi,
23
+ /```\n([\s\S]*?)```/gi, // Generic code block
24
+ ];
25
+ for (const pattern of codeBlockPatterns) {
26
+ const matches = [...response.matchAll(pattern)];
27
+ if (matches.length > 0) {
28
+ // Return all code blocks concatenated (some responses have multiple blocks)
29
+ return matches.map(m => m[1].trim()).join('\n\n');
30
+ }
31
+ }
32
+ // No code blocks found - check if response looks like raw code
33
+ const trimmed = response.trim();
34
+ // If it starts with typical code patterns, use as-is
35
+ const codeIndicators = [
36
+ /^(import|export|function|class|interface|type|const|let|var|async|def )/,
37
+ /^#!\//, // Shebang
38
+ /^\/\*\*/, // JSDoc
39
+ /^\/\//, // Comment
40
+ /^#[^!]/, // Python/shell comment (not shebang)
41
+ ];
42
+ for (const indicator of codeIndicators) {
43
+ if (indicator.test(trimmed)) {
44
+ return trimmed;
45
+ }
46
+ }
47
+ // Last resort: return as-is, let the compiler/interpreter fail with a clear error
48
+ return trimmed;
49
+ }
12
50
  /**
13
51
  * Create an isolated sandbox for code execution
14
52
  */
@@ -46,16 +84,18 @@ export async function verifyCodeExecution(code, config) {
46
84
  output: '',
47
85
  executionTimeMs: 0,
48
86
  };
87
+ // Extract code from markdown if wrapped
88
+ const cleanCode = extractCodeFromMarkdown(code);
49
89
  // If execution not required, just do pattern matching
50
90
  if (!config.requiresExecution) {
51
- return verifyPatterns(code, config.expectedPatterns || []);
91
+ return verifyPatterns(cleanCode, config.expectedPatterns || []);
52
92
  }
53
93
  const sandboxPath = createSandbox();
54
94
  try {
55
95
  // Write code to file
56
96
  const filename = getFilename(config.language);
57
97
  const filePath = join(sandboxPath, filename);
58
- writeFileSync(filePath, code, 'utf-8');
98
+ writeFileSync(filePath, cleanCode, 'utf-8');
59
99
  // Run setup commands if any
60
100
  if (config.setupCommands) {
61
101
  for (const cmd of config.setupCommands) {
@@ -111,7 +151,7 @@ export async function verifyCodeExecution(code, config) {
111
151
  }
112
152
  // Verify patterns if specified
113
153
  if (config.expectedPatterns && config.expectedPatterns.length > 0) {
114
- const patternResult = verifyPatterns(code, config.expectedPatterns);
154
+ const patternResult = verifyPatterns(cleanCode, config.expectedPatterns);
115
155
  if (!patternResult.success) {
116
156
  result.errors.push(...patternResult.errors);
117
157
  }
@@ -213,13 +253,14 @@ function getFilename(language) {
213
253
  export const TASK_VERIFICATION_CONFIGS = {
214
254
  'task-001-code-generation': {
215
255
  language: 'typescript',
216
- requiresExecution: true,
217
- testCases: [
218
- { input: '', expectedOutput: '0', description: 'empty array returns 0' },
219
- ],
220
- expectedPatterns: ['function calculateAverage', 'number[]', ': number'],
221
- setupCommands: [
222
- 'echo "const calculateAverage = (nums: number[]): number => nums.length === 0 ? 0 : nums.reduce((a,b) => a+b, 0) / nums.length; console.log(calculateAverage([]));" > solution.ts',
256
+ requiresExecution: false, // Pattern matching only - model output won't have test harness
257
+ testCases: [],
258
+ expectedPatterns: [
259
+ 'function calculateAverage',
260
+ 'number[]',
261
+ ': number',
262
+ 'length',
263
+ 'return',
223
264
  ],
224
265
  },
225
266
  'task-002-bug-fix': {
@@ -1 +1 @@
1
- {"version":3,"file":"execution-verifier.js","sourceRoot":"","sources":["../../src/benchmarks/execution-verifier.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AA2BpC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEvC;;GAEG;AACH,SAAS,aAAa;IACpB,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEjD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,IAAI,CAAC;QACH,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,MAA8B;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAuB;QACjC,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,KAAK;QACzB,QAAQ,EAAE,CAAC;QACX,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,CAAC;KACnB,CAAC;IAEF,sDAAsD;IACtD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvC,4BAA4B;QAC5B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,QAAQ,CAAC,GAAG,EAAE;wBACZ,GAAG,EAAE,WAAW;wBAChB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,QAAQ,CAAC,WAAW,QAAQ,mDAAmD,EAAE;oBAC/E,GAAG,EAAE,WAAW;oBAChB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;gBAC/D,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAChD,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAEjC,iBAAiB;QACjB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAElB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAE1D,IAAI,gBAAgB,KAAK,kBAAkB,EAAE,CAAC;oBAC5C,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,SAAS,QAAQ,CAAC,WAAW,IAAI,SAAS,gBAAgB,kBAAkB,WAAW,gBAAgB,GAAG,CAC3G,CAAC;gBACJ,CAAC;gBAED,MAAM,CAAC,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAExF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,cAAc,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAChD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,WAAmB,EACnB,QAA4C,EAC5C,QAAkB,EAClB,UAAkB,KAAK;IAEvB,MAAM,QAAQ,GAA2B;QACvC,YAAY,EAAE,QAAQ,WAAW,CAAC,YAAY,CAAC,EAAE;QACjD,YAAY,EAAE,QAAQ,WAAW,CAAC,YAAY,CAAC,EAAE;QACjD,QAAQ,EAAE,WAAW,WAAW,CAAC,QAAQ,CAAC,EAAE;QAC5C,OAAO,EAAE,QAAQ,WAAW,CAAC,OAAO,CAAC,EAAE;KACxC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;IAE1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YAC1C,GAAG,EAAE,WAAW;YAChB,OAAO;YACP,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,QAAkB;IACtD,MAAM,MAAM,GAAuB;QACjC,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,QAAQ,CAAC,MAAM;QACzB,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,CAAC;KACnB,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,OAAO,GAAG,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IACxD,MAAM,CAAC,OAAO,GAAG,UAAU,IAAI,GAAG,CAAC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,QAA4C;IAC/D,MAAM,UAAU,GAA2B;QACzC,YAAY,EAAE,aAAa;QAC3B,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,aAAa;KACvB,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA2C;IAC/E,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE;YACT,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,uBAAuB,EAAE;SACzE;QACD,gBAAgB,EAAE,CAAC,2BAA2B,EAAE,UAAU,EAAE,UAAU,CAAC;QACvE,aAAa,EAAE;YACb,kLAAkL;SACnL;KACF;IAED,kBAAkB,EAAE;QAClB,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,CAAC;KAC5E;IAED,8BAA8B,EAAE;QAC9B,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE;YAChB,qBAAqB;YACrB,qBAAqB;YACrB,oBAAoB;YACpB,yBAAyB;YACzB,KAAK;SACN;KACF;IAED,sBAAsB,EAAE;QACtB,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC;KAClE;IAED,yBAAyB,EAAE;QACzB,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,sBAAsB,CAAC;KACjF;IAED,4BAA4B,EAAE;QAC5B,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,CAAC,2BAA2B,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC;KAC3F;IAED,0BAA0B,EAAE;QAC1B,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE;YAChB,6BAA6B;YAC7B,mBAAmB;YACnB,WAAW;YACX,sBAAsB;YACtB,OAAO;YACP,KAAK;YACL,QAAQ;SACT;KACF;IAED,yBAAyB,EAAE;QACzB,QAAQ,EAAE,YAAY;QACtB,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,CAAC,+BAA+B,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;KAC1F;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,aAAqB;IAErB,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,yCAAyC;QACzC,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,EAAE;YAClC,kBAAkB,EAAE,IAAI;YACxB,QAAQ,EAAE,CAAC;YACX,WAAW,EAAE,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE;YAChE,MAAM,EAAE,EAAE;YACV,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"execution-verifier.js","sourceRoot":"","sources":["../../src/benchmarks/execution-verifier.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,13 @@ export { classifyTask, extractTaskEntities, getSuggestedMemoryQueries } from './
8
8
  export { retrieveDynamicMemoryContext } from './memory/dynamic-retrieval.js';
9
9
  export type { TaskClassification } from './memory/task-classifier.js';
10
10
  export type { DynamicMemoryContext, RetrievedMemory } from './memory/dynamic-retrieval.js';
11
+ export { compressMemoryEntry, compressMemoryBatch, summarizeMemories, estimateTokens, ContextBudget, } from './memory/context-compressor.js';
12
+ export type { CompressionResult, CompressorConfig } from './memory/context-compressor.js';
13
+ export { HierarchicalMemoryManager, getHierarchicalMemoryManager, calculateEffectiveImportance, } from './memory/hierarchical-memory.js';
14
+ export type { MemoryEntry, TieredMemory, HierarchicalConfig } from './memory/hierarchical-memory.js';
15
+ export { SpeculativeCache, getSpeculativeCache, } from './memory/speculative-cache.js';
16
+ export type { CacheEntry, CacheConfig } from './memory/speculative-cache.js';
17
+ export { MemoryConsolidator, getMemoryConsolidator, } from './memory/memory-consolidator.js';
18
+ export type { ConsolidationConfig, ConsolidationResult } from './memory/memory-consolidator.js';
19
+ export { ServerlessQdrantManager, getServerlessQdrantManager, initServerlessQdrant, } from './memory/serverless-qdrant.js';
11
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAG3F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErG,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGhG,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,+BAA+B,CAAC"}
package/dist/index.js CHANGED
@@ -7,4 +7,11 @@ export * from './tasks/index.js';
7
7
  export { getEmbeddingService, generateEmbedding, generateEmbeddings } from './memory/embeddings.js';
8
8
  export { classifyTask, extractTaskEntities, getSuggestedMemoryQueries } from './memory/task-classifier.js';
9
9
  export { retrieveDynamicMemoryContext } from './memory/dynamic-retrieval.js';
10
+ // New optimization modules
11
+ export { compressMemoryEntry, compressMemoryBatch, summarizeMemories, estimateTokens, ContextBudget, } from './memory/context-compressor.js';
12
+ export { HierarchicalMemoryManager, getHierarchicalMemoryManager, calculateEffectiveImportance, } from './memory/hierarchical-memory.js';
13
+ export { SpeculativeCache, getSpeculativeCache, } from './memory/speculative-cache.js';
14
+ export { MemoryConsolidator, getMemoryConsolidator, } from './memory/memory-consolidator.js';
15
+ // Serverless Qdrant
16
+ export { ServerlessQdrantManager, getServerlessQdrantManager, initServerlessQdrant, } from './memory/serverless-qdrant.js';
10
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAI7E,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAGzC,oBAAoB;AACpB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Context Compression Module for UAM
3
+ *
4
+ * Implements semantic compression to reduce token usage while preserving meaning.
5
+ * Based on Acon (Agent Context Optimization) and AgentCompress research.
6
+ */
7
+ export interface CompressionResult {
8
+ original: string;
9
+ compressed: string;
10
+ originalTokens: number;
11
+ compressedTokens: number;
12
+ tokenReduction: number;
13
+ preservedSemantics: number;
14
+ }
15
+ export interface CompressorConfig {
16
+ maxTokens: number;
17
+ minSemanticPreservation: number;
18
+ compressionLevel: 'light' | 'medium' | 'aggressive';
19
+ }
20
+ /**
21
+ * Estimate token count (rough approximation: ~4 chars per token)
22
+ */
23
+ export declare function estimateTokens(text: string): number;
24
+ /**
25
+ * Compress a single memory entry
26
+ */
27
+ export declare function compressMemoryEntry(content: string, config?: Partial<CompressorConfig>): CompressionResult;
28
+ /**
29
+ * Compress multiple memories into a consolidated context
30
+ */
31
+ export declare function compressMemoryBatch(memories: Array<{
32
+ content: string;
33
+ type: string;
34
+ importance?: number;
35
+ }>, config?: Partial<CompressorConfig>): CompressionResult;
36
+ /**
37
+ * Summarize old memories into a single compressed entry
38
+ */
39
+ export declare function summarizeMemories(memories: Array<{
40
+ content: string;
41
+ timestamp: string;
42
+ type: string;
43
+ }>, maxOutputTokens?: number): string;
44
+ /**
45
+ * Context budget manager
46
+ */
47
+ export declare class ContextBudget {
48
+ private maxTokens;
49
+ private usedTokens;
50
+ private sections;
51
+ constructor(maxTokens?: number);
52
+ allocate(section: string, content: string): {
53
+ content: string;
54
+ tokens: number;
55
+ truncated: boolean;
56
+ };
57
+ remaining(): number;
58
+ usage(): {
59
+ total: number;
60
+ used: number;
61
+ remaining: number;
62
+ sections: Record<string, number>;
63
+ };
64
+ reset(): void;
65
+ }
66
+ //# sourceMappingURL=context-compressor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compressor.d.ts","sourceRoot":"","sources":["../../src/memory/context-compressor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;CACrD;AAQD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,iBAAiB,CAqE9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvE,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACrC,iBAAiB,CA+CnB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrE,eAAe,GAAE,MAAY,GAC5B,MAAM,CAoCR;AAgED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAkC;gBAEtC,SAAS,GAAE,MAAc;IAIrC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE;IAsBnG,SAAS,IAAI,MAAM;IAInB,KAAK,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAS7F,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Context Compression Module for UAM
3
+ *
4
+ * Implements semantic compression to reduce token usage while preserving meaning.
5
+ * Based on Acon (Agent Context Optimization) and AgentCompress research.
6
+ */
7
+ const DEFAULT_CONFIG = {
8
+ maxTokens: 2000,
9
+ minSemanticPreservation: 0.85,
10
+ compressionLevel: 'medium',
11
+ };
12
+ /**
13
+ * Estimate token count (rough approximation: ~4 chars per token)
14
+ */
15
+ export function estimateTokens(text) {
16
+ return Math.ceil(text.length / 4);
17
+ }
18
+ /**
19
+ * Compress a single memory entry
20
+ */
21
+ export function compressMemoryEntry(content, config = {}) {
22
+ const cfg = { ...DEFAULT_CONFIG, ...config };
23
+ const originalTokens = estimateTokens(content);
24
+ if (originalTokens <= cfg.maxTokens / 4) {
25
+ return {
26
+ original: content,
27
+ compressed: content,
28
+ originalTokens,
29
+ compressedTokens: originalTokens,
30
+ tokenReduction: 0,
31
+ preservedSemantics: 1.0,
32
+ };
33
+ }
34
+ let compressed = content;
35
+ // Level 1: Remove redundant whitespace and formatting
36
+ compressed = compressed.replace(/\s+/g, ' ').trim();
37
+ compressed = compressed.replace(/\n{3,}/g, '\n\n');
38
+ // Level 2: Remove common filler phrases
39
+ if (cfg.compressionLevel !== 'light') {
40
+ const fillerPatterns = [
41
+ /\b(basically|essentially|actually|really|very|quite|somewhat|rather)\b/gi,
42
+ /\b(in order to)\b/gi,
43
+ /\b(it is worth noting that|it should be noted that)\b/gi,
44
+ /\b(as a matter of fact|in fact)\b/gi,
45
+ /\b(at the end of the day)\b/gi,
46
+ /\b(the fact that)\b/gi,
47
+ /\b(in this case|in that case)\b/gi,
48
+ ];
49
+ for (const pattern of fillerPatterns) {
50
+ compressed = compressed.replace(pattern, '');
51
+ }
52
+ }
53
+ // Level 3: Aggressive - truncate to key sentences
54
+ if (cfg.compressionLevel === 'aggressive') {
55
+ const sentences = compressed.split(/(?<=[.!?])\s+/);
56
+ const maxSentences = Math.max(3, Math.ceil(sentences.length * 0.4));
57
+ // Keep first sentence (context), middle sentences (key info), last sentence (conclusion)
58
+ if (sentences.length > maxSentences) {
59
+ const first = sentences.slice(0, 1);
60
+ const middle = sentences.slice(1, -1).slice(0, maxSentences - 2);
61
+ const last = sentences.slice(-1);
62
+ compressed = [...first, ...middle, ...last].join(' ');
63
+ }
64
+ }
65
+ // Clean up artifacts
66
+ compressed = compressed.replace(/\s{2,}/g, ' ').trim();
67
+ const compressedTokens = estimateTokens(compressed);
68
+ const tokenReduction = 1 - (compressedTokens / originalTokens);
69
+ // Estimate semantic preservation (based on compression ratio - rough heuristic)
70
+ const preservedSemantics = Math.max(0.7, 1 - (tokenReduction * 0.3));
71
+ return {
72
+ original: content,
73
+ compressed,
74
+ originalTokens,
75
+ compressedTokens,
76
+ tokenReduction,
77
+ preservedSemantics,
78
+ };
79
+ }
80
+ /**
81
+ * Compress multiple memories into a consolidated context
82
+ */
83
+ export function compressMemoryBatch(memories, config = {}) {
84
+ const cfg = { ...DEFAULT_CONFIG, ...config };
85
+ // Sort by importance (descending)
86
+ const sorted = [...memories].sort((a, b) => (b.importance || 5) - (a.importance || 5));
87
+ // Group by type for structured output
88
+ const grouped = {};
89
+ for (const mem of sorted) {
90
+ const type = mem.type || 'general';
91
+ if (!grouped[type])
92
+ grouped[type] = [];
93
+ grouped[type].push(mem.content);
94
+ }
95
+ // Build consolidated context
96
+ const sections = [];
97
+ const typeOrder = ['goal', 'action', 'observation', 'thought'];
98
+ for (const type of typeOrder) {
99
+ if (grouped[type] && grouped[type].length > 0) {
100
+ const compressed = grouped[type].map(c => compressMemoryEntry(c, cfg).compressed);
101
+ sections.push(`[${type.toUpperCase()}]\n${compressed.join('\n')}`);
102
+ }
103
+ }
104
+ // Add remaining types
105
+ for (const type of Object.keys(grouped)) {
106
+ if (!typeOrder.includes(type)) {
107
+ const compressed = grouped[type].map(c => compressMemoryEntry(c, cfg).compressed);
108
+ sections.push(`[${type.toUpperCase()}]\n${compressed.join('\n')}`);
109
+ }
110
+ }
111
+ const original = memories.map(m => m.content).join('\n');
112
+ const compressed = sections.join('\n\n');
113
+ const originalTokens = estimateTokens(original);
114
+ const compressedTokens = estimateTokens(compressed);
115
+ return {
116
+ original,
117
+ compressed,
118
+ originalTokens,
119
+ compressedTokens,
120
+ tokenReduction: 1 - (compressedTokens / originalTokens),
121
+ preservedSemantics: 0.9, // Batch compression preserves structure
122
+ };
123
+ }
124
+ /**
125
+ * Summarize old memories into a single compressed entry
126
+ */
127
+ export function summarizeMemories(memories, maxOutputTokens = 500) {
128
+ if (memories.length === 0)
129
+ return '';
130
+ // Group by type
131
+ const byType = {};
132
+ for (const mem of memories) {
133
+ if (!byType[mem.type])
134
+ byType[mem.type] = [];
135
+ byType[mem.type].push(mem.content);
136
+ }
137
+ // Create summary sections
138
+ const summaryParts = [];
139
+ for (const [type, contents] of Object.entries(byType)) {
140
+ // Deduplicate similar content
141
+ const unique = deduplicateContent(contents);
142
+ // Compress each unique entry
143
+ const compressed = unique.map(c => {
144
+ const result = compressMemoryEntry(c, { compressionLevel: 'aggressive' });
145
+ return result.compressed;
146
+ });
147
+ // Limit to most important entries
148
+ const maxPerType = Math.max(2, Math.floor(maxOutputTokens / (Object.keys(byType).length * 50)));
149
+ const limited = compressed.slice(0, maxPerType);
150
+ if (limited.length > 0) {
151
+ summaryParts.push(`${type}: ${limited.join('; ')}`);
152
+ }
153
+ }
154
+ const dateRange = getDateRange(memories.map(m => m.timestamp));
155
+ const header = `[Summary ${dateRange}]`;
156
+ return `${header}\n${summaryParts.join('\n')}`;
157
+ }
158
+ /**
159
+ * Deduplicate content using simple similarity check
160
+ */
161
+ function deduplicateContent(contents, threshold = 0.8) {
162
+ const unique = [];
163
+ for (const content of contents) {
164
+ const normalizedNew = content.toLowerCase().replace(/\s+/g, ' ').trim();
165
+ let isDuplicate = false;
166
+ for (const existing of unique) {
167
+ const normalizedExisting = existing.toLowerCase().replace(/\s+/g, ' ').trim();
168
+ const similarity = jaccardSimilarity(normalizedNew, normalizedExisting);
169
+ if (similarity > threshold) {
170
+ isDuplicate = true;
171
+ break;
172
+ }
173
+ }
174
+ if (!isDuplicate) {
175
+ unique.push(content);
176
+ }
177
+ }
178
+ return unique;
179
+ }
180
+ /**
181
+ * Calculate Jaccard similarity between two strings
182
+ */
183
+ function jaccardSimilarity(a, b) {
184
+ const setA = new Set(a.split(/\s+/));
185
+ const setB = new Set(b.split(/\s+/));
186
+ const intersection = new Set([...setA].filter(x => setB.has(x)));
187
+ const union = new Set([...setA, ...setB]);
188
+ return intersection.size / union.size;
189
+ }
190
+ /**
191
+ * Get date range string
192
+ */
193
+ function getDateRange(timestamps) {
194
+ if (timestamps.length === 0)
195
+ return 'unknown';
196
+ const dates = timestamps.map(t => new Date(t)).filter(d => !isNaN(d.getTime()));
197
+ if (dates.length === 0)
198
+ return 'unknown';
199
+ const min = new Date(Math.min(...dates.map(d => d.getTime())));
200
+ const max = new Date(Math.max(...dates.map(d => d.getTime())));
201
+ const formatDate = (d) => d.toISOString().split('T')[0];
202
+ if (formatDate(min) === formatDate(max)) {
203
+ return formatDate(min);
204
+ }
205
+ return `${formatDate(min)} to ${formatDate(max)}`;
206
+ }
207
+ /**
208
+ * Context budget manager
209
+ */
210
+ export class ContextBudget {
211
+ maxTokens;
212
+ usedTokens = 0;
213
+ sections = new Map();
214
+ constructor(maxTokens = 12000) {
215
+ this.maxTokens = maxTokens;
216
+ }
217
+ allocate(section, content) {
218
+ const tokens = estimateTokens(content);
219
+ const available = this.maxTokens - this.usedTokens;
220
+ if (tokens <= available) {
221
+ this.usedTokens += tokens;
222
+ this.sections.set(section, tokens);
223
+ return { content, tokens, truncated: false };
224
+ }
225
+ // Need to truncate
226
+ const targetTokens = Math.floor(available * 0.9);
227
+ const targetChars = targetTokens * 4;
228
+ const truncated = content.slice(0, targetChars) + '... [truncated]';
229
+ const actualTokens = estimateTokens(truncated);
230
+ this.usedTokens += actualTokens;
231
+ this.sections.set(section, actualTokens);
232
+ return { content: truncated, tokens: actualTokens, truncated: true };
233
+ }
234
+ remaining() {
235
+ return this.maxTokens - this.usedTokens;
236
+ }
237
+ usage() {
238
+ return {
239
+ total: this.maxTokens,
240
+ used: this.usedTokens,
241
+ remaining: this.remaining(),
242
+ sections: Object.fromEntries(this.sections),
243
+ };
244
+ }
245
+ reset() {
246
+ this.usedTokens = 0;
247
+ this.sections.clear();
248
+ }
249
+ }
250
+ //# sourceMappingURL=context-compressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../../src/memory/context-compressor.ts"],"names":[],"mappings":"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"}
@@ -40,8 +40,8 @@ export declare class LocalEmbeddingProvider implements EmbeddingProvider {
40
40
  embedBatch(texts: string[]): Promise<number[][]>;
41
41
  }
42
42
  /**
43
- * TF-IDF Fallback Provider
44
- * Simple keyword-based embeddings when no ML model is available
43
+ * Enhanced TF-IDF Fallback Provider with Word Vectors
44
+ * Improved keyword-based embeddings with semantic awareness
45
45
  */
46
46
  export declare class TFIDFEmbeddingProvider implements EmbeddingProvider {
47
47
  name: string;
@@ -49,14 +49,25 @@ export declare class TFIDFEmbeddingProvider implements EmbeddingProvider {
49
49
  private vocabulary;
50
50
  private idfScores;
51
51
  private documents;
52
+ private wordVectors;
53
+ constructor();
52
54
  isAvailable(): Promise<boolean>;
53
55
  embed(text: string): Promise<number[]>;
54
56
  embedBatch(texts: string[]): Promise<number[][]>;
55
57
  addDocument(text: string): void;
56
58
  private tokenize;
59
+ private isStopWord;
60
+ private getBigrams;
61
+ private hashString;
57
62
  private getTokenIndex;
58
63
  private updateIDF;
59
64
  private normalize;
65
+ /**
66
+ * Initialize semantic word clusters for domain-specific terms
67
+ * Words in the same cluster get similar vector contributions
68
+ */
69
+ private initializeSemanticClusters;
70
+ private generateClusterVector;
60
71
  }
61
72
  /**
62
73
  * Embedding Service - Main interface for UAM memory system
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/memory/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/memory/embeddings.ts"],"names":[],"mappings":"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"}