@compresr/sdk 1.5.3 → 1.6.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/README.md +35 -0
- package/dist/cjs/agents/engine.d.ts +30 -0
- package/dist/cjs/agents/engine.d.ts.map +1 -1
- package/dist/cjs/agents/engine.js +127 -9
- package/dist/cjs/agents/engine.js.map +1 -1
- package/dist/cjs/agents/research/agent.d.ts +80 -0
- package/dist/cjs/agents/research/agent.d.ts.map +1 -0
- package/dist/cjs/agents/research/agent.js +329 -0
- package/dist/cjs/agents/research/agent.js.map +1 -0
- package/dist/cjs/agents/research/facade.d.ts +22 -0
- package/dist/cjs/agents/research/facade.d.ts.map +1 -0
- package/dist/cjs/agents/research/facade.js +90 -0
- package/dist/cjs/agents/research/facade.js.map +1 -0
- package/dist/cjs/agents/research/index.d.ts +16 -0
- package/dist/cjs/agents/research/index.d.ts.map +1 -0
- package/dist/cjs/agents/research/index.js +19 -0
- package/dist/cjs/agents/research/index.js.map +1 -0
- package/dist/cjs/agents/research/parser.d.ts +9 -0
- package/dist/cjs/agents/research/parser.d.ts.map +1 -0
- package/dist/cjs/agents/research/parser.js +42 -0
- package/dist/cjs/agents/research/parser.js.map +1 -0
- package/dist/cjs/agents/research/prompts.d.ts +6 -0
- package/dist/cjs/agents/research/prompts.d.ts.map +1 -0
- package/dist/cjs/agents/research/prompts.js +36 -0
- package/dist/cjs/agents/research/prompts.js.map +1 -0
- package/dist/cjs/agents/research/types.d.ts +32 -0
- package/dist/cjs/agents/research/types.d.ts.map +1 -0
- package/dist/cjs/agents/research/types.js +4 -0
- package/dist/cjs/agents/research/types.js.map +1 -0
- package/dist/cjs/agents/tools/web-search.js.map +1 -1
- package/dist/cjs/clients/compression.d.ts +22 -0
- package/dist/cjs/clients/compression.d.ts.map +1 -1
- package/dist/cjs/clients/compression.js +34 -6
- package/dist/cjs/clients/compression.js.map +1 -1
- package/dist/cjs/config/constants.d.ts +0 -1
- package/dist/cjs/config/constants.d.ts.map +1 -1
- package/dist/cjs/config/constants.js +1 -2
- package/dist/cjs/config/constants.js.map +1 -1
- package/dist/cjs/config/index.d.ts +1 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +1 -2
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/http/client.d.ts.map +1 -1
- package/dist/cjs/http/client.js +1 -1
- package/dist/cjs/http/client.js.map +1 -1
- package/dist/cjs/integrations/langchain/middleware.js.map +1 -1
- package/dist/cjs/integrations/langchain/retriever.js +1 -1
- package/dist/cjs/integrations/langchain/retriever.js.map +1 -1
- package/dist/cjs/integrations/langgraph/nodes.js.map +1 -1
- package/dist/cjs/integrations/llamaindex/postprocessor.js +2 -2
- package/dist/cjs/integrations/llamaindex/postprocessor.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/agents/engine.d.ts +30 -0
- package/dist/esm/agents/engine.d.ts.map +1 -1
- package/dist/esm/agents/engine.js +127 -9
- package/dist/esm/agents/engine.js.map +1 -1
- package/dist/esm/agents/research/agent.d.ts +80 -0
- package/dist/esm/agents/research/agent.d.ts.map +1 -0
- package/dist/esm/agents/research/agent.js +292 -0
- package/dist/esm/agents/research/agent.js.map +1 -0
- package/dist/esm/agents/research/facade.d.ts +22 -0
- package/dist/esm/agents/research/facade.d.ts.map +1 -0
- package/dist/esm/agents/research/facade.js +53 -0
- package/dist/esm/agents/research/facade.js.map +1 -0
- package/dist/esm/agents/research/index.d.ts +16 -0
- package/dist/esm/agents/research/index.d.ts.map +1 -0
- package/dist/esm/agents/research/index.js +12 -0
- package/dist/esm/agents/research/index.js.map +1 -0
- package/dist/esm/agents/research/parser.d.ts +9 -0
- package/dist/esm/agents/research/parser.d.ts.map +1 -0
- package/dist/esm/agents/research/parser.js +39 -0
- package/dist/esm/agents/research/parser.js.map +1 -0
- package/dist/esm/agents/research/prompts.d.ts +6 -0
- package/dist/esm/agents/research/prompts.d.ts.map +1 -0
- package/dist/esm/agents/research/prompts.js +33 -0
- package/dist/esm/agents/research/prompts.js.map +1 -0
- package/dist/esm/agents/research/types.d.ts +32 -0
- package/dist/esm/agents/research/types.d.ts.map +1 -0
- package/dist/esm/agents/research/types.js +3 -0
- package/dist/esm/agents/research/types.js.map +1 -0
- package/dist/esm/agents/tools/web-search.js.map +1 -1
- package/dist/esm/clients/compression.d.ts +22 -0
- package/dist/esm/clients/compression.d.ts.map +1 -1
- package/dist/esm/clients/compression.js +34 -6
- package/dist/esm/clients/compression.js.map +1 -1
- package/dist/esm/config/constants.d.ts +0 -1
- package/dist/esm/config/constants.d.ts.map +1 -1
- package/dist/esm/config/constants.js +0 -1
- package/dist/esm/config/constants.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/http/client.d.ts.map +1 -1
- package/dist/esm/http/client.js +2 -2
- package/dist/esm/http/client.js.map +1 -1
- package/dist/esm/integrations/langchain/middleware.js.map +1 -1
- package/dist/esm/integrations/langchain/retriever.js +1 -1
- package/dist/esm/integrations/langchain/retriever.js.map +1 -1
- package/dist/esm/integrations/langgraph/nodes.js.map +1 -1
- package/dist/esm/integrations/llamaindex/postprocessor.js +2 -2
- package/dist/esm/integrations/llamaindex/postprocessor.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +10 -7
package/README.md
CHANGED
|
@@ -205,6 +205,41 @@ that Compresr can't read — so it can't compress them either. Use
|
|
|
205
205
|
`WebSearchTool.tavily` / `WebSearchTool.brave` if you want compressible
|
|
206
206
|
search output in the agent loop.
|
|
207
207
|
|
|
208
|
+
## Research agent
|
|
209
|
+
|
|
210
|
+
`client.research.run(question)` runs a multi-step web-research loop with
|
|
211
|
+
per-snippet `latte_v1` compression on tool results and multi-provider prompt
|
|
212
|
+
caching. Loop structure adapted from Perplexity `search_evals` (MIT).
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
import { CompressionClient } from "@compresr/sdk";
|
|
216
|
+
|
|
217
|
+
const client = new CompressionClient({
|
|
218
|
+
apiKey: "cmp_...",
|
|
219
|
+
llm: "anthropic:claude-sonnet-4-6",
|
|
220
|
+
llmApiKey: "sk-ant-...",
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
const result = await client.research.run(
|
|
224
|
+
"What was the latest stable Python version released in 2025?",
|
|
225
|
+
{ search: "tavily", maxSteps: 10 } // "tavily" | "brave" | a LangChain tool
|
|
226
|
+
);
|
|
227
|
+
|
|
228
|
+
console.log(result.answer); // parsed Exact Answer field
|
|
229
|
+
console.log(result.explanation); // parsed Explanation field
|
|
230
|
+
console.log(result.confidence); // parsed 0-1 confidence
|
|
231
|
+
console.log(result.citations); // ReadonlyArray<{ url: string }>
|
|
232
|
+
console.log(result.usage.cache_read_tokens, result.usage.calls);
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Single-shot mode: `await client.research.search(question)` runs one search +
|
|
236
|
+
a forced final answer (equivalent to `run(..., { maxSteps: 2 })`).
|
|
237
|
+
|
|
238
|
+
The agent respects all the prompt-cache options on `CompressionClient`
|
|
239
|
+
(`enablePromptCache`, `promptCacheTtl`, `openaiPromptCacheKey`). Tavily /
|
|
240
|
+
Brave keys are read from `TAVILY_API_KEY` / `BRAVE_SEARCH_API_KEY` (falls
|
|
241
|
+
back to `BRAVE_API_KEY`).
|
|
242
|
+
|
|
208
243
|
## Framework integrations
|
|
209
244
|
|
|
210
245
|
Optional peer dependencies — install only what you use:
|
|
@@ -44,6 +44,17 @@ export interface CompresrEngineOptions {
|
|
|
44
44
|
llm: string;
|
|
45
45
|
llmApiKey?: string;
|
|
46
46
|
policy?: CompressionPolicyOptions;
|
|
47
|
+
/** Provider-aware prompt caching. Anthropic: wires middleware. OpenAI:
|
|
48
|
+
* attaches prompt_cache_key + retention mapping. Gemini: no-op for now. */
|
|
49
|
+
enablePromptCache?: boolean;
|
|
50
|
+
/** Cache TTL: "5m" or "1h". Anthropic ephemeral TTL; OpenAI maps "1h" -> "24h"
|
|
51
|
+
* retention. Default: "5m". */
|
|
52
|
+
promptCacheTtl?: '5m' | '1h';
|
|
53
|
+
/** Anthropic: skip caching until conversation has at least this many messages. */
|
|
54
|
+
promptCacheMinMessages?: number;
|
|
55
|
+
/** OpenAI routing key — improves cache hit rate when multiple clients share a
|
|
56
|
+
* backend. Ignored for non-OpenAI providers. */
|
|
57
|
+
openaiPromptCacheKey?: string;
|
|
47
58
|
}
|
|
48
59
|
export interface RunOptions {
|
|
49
60
|
messages: ReadonlyArray<unknown>;
|
|
@@ -93,6 +104,10 @@ export declare class CompresrEngine {
|
|
|
93
104
|
private readonly llmApiKey?;
|
|
94
105
|
private readonly policy;
|
|
95
106
|
private readonly chatModels;
|
|
107
|
+
private readonly enablePromptCache;
|
|
108
|
+
private readonly promptCacheTtl;
|
|
109
|
+
private readonly promptCacheMinMessages;
|
|
110
|
+
private readonly openaiPromptCacheKey?;
|
|
96
111
|
constructor(options: CompresrEngineOptions);
|
|
97
112
|
/**
|
|
98
113
|
* Back-compat alias for ``defaultModelName`` — returns the constructor
|
|
@@ -100,8 +115,23 @@ export declare class CompresrEngine {
|
|
|
100
115
|
* provider ``llm`` spec.
|
|
101
116
|
*/
|
|
102
117
|
get modelName(): string | undefined;
|
|
118
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
119
|
+
_getChatModel(modelName: string): Promise<unknown>;
|
|
120
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
121
|
+
get _compresrClient(): CompressionClient;
|
|
122
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
123
|
+
_resolveModel(model?: string): string;
|
|
124
|
+
/** @internal — read by ResearchAgent for manual cache_control stamping. */
|
|
125
|
+
get _promptCacheConfig(): {
|
|
126
|
+
readonly enabled: boolean;
|
|
127
|
+
readonly ttl: '5m' | '1h';
|
|
128
|
+
readonly minMessages: number;
|
|
129
|
+
};
|
|
103
130
|
private getChatModel;
|
|
131
|
+
private openaiCacheModelKwargs;
|
|
104
132
|
private buildMiddleware;
|
|
133
|
+
/** Anthropic prompt-cache middleware when enabled. Silent no-op on older langchain. */
|
|
134
|
+
private maybeBuildCacheMiddleware;
|
|
105
135
|
private buildAgent;
|
|
106
136
|
/**
|
|
107
137
|
* Pull every option whose key lives in :data:`LLM_BIND_OPTIONS` and return a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAuCzB;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAChC;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B,CAiCA;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,iBAAiB,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,7 +135,7 @@ async function importLangChain() {
|
|
|
135
135
|
try {
|
|
136
136
|
mod = (await Promise.resolve().then(() => __importStar(require('langchain'))));
|
|
137
137
|
}
|
|
138
|
-
catch
|
|
138
|
+
catch {
|
|
139
139
|
throw new index_js_1.CompresrError('CompresrEngine requires langchain>=1.0. Install with: ' +
|
|
140
140
|
'npm install langchain @langchain/core', 'missing_peer_dependency');
|
|
141
141
|
}
|
|
@@ -324,6 +324,14 @@ const USAGE_NUMERIC_KEYS = [
|
|
|
324
324
|
'cache_read_input_tokens',
|
|
325
325
|
'cache_creation_input_tokens',
|
|
326
326
|
];
|
|
327
|
+
// Provider-specific cache-read aliases under input_token_details.
|
|
328
|
+
const INPUT_DETAILS_CACHE_READ_ALIASES = [
|
|
329
|
+
'cached_tokens',
|
|
330
|
+
'cache_read',
|
|
331
|
+
'priority_cache_read',
|
|
332
|
+
'flex_cache_read',
|
|
333
|
+
'cached_content_token_count',
|
|
334
|
+
];
|
|
327
335
|
function aggregateUsage(messages) {
|
|
328
336
|
const total = {};
|
|
329
337
|
for (const k of USAGE_NUMERIC_KEYS)
|
|
@@ -352,10 +360,26 @@ function aggregateUsage(messages) {
|
|
|
352
360
|
const details = rawPer?.['input_token_details'];
|
|
353
361
|
if (details && typeof details === 'object') {
|
|
354
362
|
const d = details;
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
363
|
+
let msgCacheRead = 0;
|
|
364
|
+
for (const alias of INPUT_DETAILS_CACHE_READ_ALIASES) {
|
|
365
|
+
const v = d[alias];
|
|
366
|
+
if (typeof v === 'number')
|
|
367
|
+
msgCacheRead += v;
|
|
368
|
+
}
|
|
369
|
+
// langchain-anthropic zeroes cache_creation when ttl-specific keys are set.
|
|
370
|
+
const ttl5m = typeof d['ephemeral_5m_input_tokens'] === 'number' ? (d['ephemeral_5m_input_tokens']) : 0;
|
|
371
|
+
const ttl1h = typeof d['ephemeral_1h_input_tokens'] === 'number' ? (d['ephemeral_1h_input_tokens']) : 0;
|
|
372
|
+
const ttlWrites = ttl5m + ttl1h;
|
|
373
|
+
const genericCreate = typeof d['cache_creation'] === 'number' ? (d['cache_creation']) : 0;
|
|
374
|
+
const msgCacheCreate = ttlWrites > 0 ? ttlWrites : genericCreate;
|
|
375
|
+
total['cache_read_input_tokens'] += msgCacheRead;
|
|
376
|
+
total['cache_creation_input_tokens'] += msgCacheCreate;
|
|
377
|
+
// langchain-anthropic 1.x inflates input_tokens to fresh+read+create.
|
|
378
|
+
const thisInput = typeof rawPer?.['input_tokens'] === 'number' ? (rawPer['input_tokens']) : 0;
|
|
379
|
+
if ((msgCacheRead > 0 || msgCacheCreate > 0) && thisInput > 0) {
|
|
380
|
+
const overcount = msgCacheRead + msgCacheCreate;
|
|
381
|
+
total['input_tokens'] -= Math.min(overcount, thisInput);
|
|
382
|
+
}
|
|
359
383
|
}
|
|
360
384
|
}
|
|
361
385
|
for (const [k, v] of Object.entries(per)) {
|
|
@@ -368,6 +392,26 @@ function aggregateUsage(messages) {
|
|
|
368
392
|
total['ai_message_count'] = aiMessageCount;
|
|
369
393
|
return total;
|
|
370
394
|
}
|
|
395
|
+
function toolName(t) {
|
|
396
|
+
const n = t?.name;
|
|
397
|
+
if (typeof n === 'string')
|
|
398
|
+
return n;
|
|
399
|
+
if (t && typeof t === 'object' && typeof t['name'] === 'string') {
|
|
400
|
+
return t['name'];
|
|
401
|
+
}
|
|
402
|
+
return '';
|
|
403
|
+
}
|
|
404
|
+
function sortedToolsForCache(tools) {
|
|
405
|
+
const indexed = tools.map((t, i) => ({ t, i }));
|
|
406
|
+
indexed.sort((a, b) => {
|
|
407
|
+
const an = toolName(a.t);
|
|
408
|
+
const bn = toolName(b.t);
|
|
409
|
+
if (an !== bn)
|
|
410
|
+
return an < bn ? -1 : 1;
|
|
411
|
+
return a.i - b.i;
|
|
412
|
+
});
|
|
413
|
+
return indexed.map(({ t }) => t);
|
|
414
|
+
}
|
|
371
415
|
function lastAiMessage(messages) {
|
|
372
416
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
373
417
|
const msg = messages[i];
|
|
@@ -392,6 +436,10 @@ class CompresrEngine {
|
|
|
392
436
|
llmApiKey;
|
|
393
437
|
policy;
|
|
394
438
|
chatModels = new Map();
|
|
439
|
+
enablePromptCache;
|
|
440
|
+
promptCacheTtl;
|
|
441
|
+
promptCacheMinMessages;
|
|
442
|
+
openaiPromptCacheKey;
|
|
395
443
|
constructor(options) {
|
|
396
444
|
const { provider, modelName } = parseLlmSpec(options.llm);
|
|
397
445
|
if (!KNOWN_PROVIDERS.has(provider)) {
|
|
@@ -406,6 +454,12 @@ class CompresrEngine {
|
|
|
406
454
|
this.llmApiKey = options.llmApiKey;
|
|
407
455
|
}
|
|
408
456
|
this.policy = resolvePolicy(options.policy);
|
|
457
|
+
this.enablePromptCache = options.enablePromptCache ?? true;
|
|
458
|
+
this.promptCacheTtl = options.promptCacheTtl ?? '5m';
|
|
459
|
+
this.promptCacheMinMessages = options.promptCacheMinMessages ?? 2;
|
|
460
|
+
if (options.openaiPromptCacheKey !== undefined) {
|
|
461
|
+
this.openaiPromptCacheKey = options.openaiPromptCacheKey;
|
|
462
|
+
}
|
|
409
463
|
}
|
|
410
464
|
/**
|
|
411
465
|
* Back-compat alias for ``defaultModelName`` — returns the constructor
|
|
@@ -415,6 +469,30 @@ class CompresrEngine {
|
|
|
415
469
|
get modelName() {
|
|
416
470
|
return this.defaultModelName;
|
|
417
471
|
}
|
|
472
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
473
|
+
async _getChatModel(modelName) {
|
|
474
|
+
return this.getChatModel(modelName);
|
|
475
|
+
}
|
|
476
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
477
|
+
get _compresrClient() {
|
|
478
|
+
return this.compresrClient;
|
|
479
|
+
}
|
|
480
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
481
|
+
_resolveModel(model) {
|
|
482
|
+
const effective = model ?? this.defaultModelName;
|
|
483
|
+
if (!effective) {
|
|
484
|
+
throw new Error("model is required — set it on the client (llm: 'anthropic:claude-...') or pass it to .research.run({ model: '...' }).");
|
|
485
|
+
}
|
|
486
|
+
return effective;
|
|
487
|
+
}
|
|
488
|
+
/** @internal — read by ResearchAgent for manual cache_control stamping. */
|
|
489
|
+
get _promptCacheConfig() {
|
|
490
|
+
return {
|
|
491
|
+
enabled: this.enablePromptCache,
|
|
492
|
+
ttl: this.promptCacheTtl,
|
|
493
|
+
minMessages: this.promptCacheMinMessages,
|
|
494
|
+
};
|
|
495
|
+
}
|
|
418
496
|
async getChatModel(modelName, extraKwargs) {
|
|
419
497
|
// LangChain.js's bind_tools strips a prior chat.bind(...)'s kwargs, so
|
|
420
498
|
// we bake the per-call knobs (maxTokens, temperature, …) into the chat-
|
|
@@ -427,6 +505,13 @@ class CompresrEngine {
|
|
|
427
505
|
const kwargs = { ...(extraKwargs ?? {}) };
|
|
428
506
|
if (this.llmApiKey !== undefined)
|
|
429
507
|
kwargs['apiKey'] = this.llmApiKey;
|
|
508
|
+
if (this.provider === 'openai' && this.enablePromptCache) {
|
|
509
|
+
const openaiExtra = this.openaiCacheModelKwargs();
|
|
510
|
+
if (Object.keys(openaiExtra).length > 0) {
|
|
511
|
+
const existing = kwargs['modelKwargs'] ?? {};
|
|
512
|
+
kwargs['modelKwargs'] = { ...existing, ...openaiExtra };
|
|
513
|
+
}
|
|
514
|
+
}
|
|
430
515
|
let chat;
|
|
431
516
|
if (this.provider === 'openai') {
|
|
432
517
|
try {
|
|
@@ -445,6 +530,16 @@ class CompresrEngine {
|
|
|
445
530
|
this.chatModels.set(cacheKey, chat);
|
|
446
531
|
return chat;
|
|
447
532
|
}
|
|
533
|
+
openaiCacheModelKwargs() {
|
|
534
|
+
const out = {};
|
|
535
|
+
if (this.openaiPromptCacheKey)
|
|
536
|
+
out['prompt_cache_key'] = this.openaiPromptCacheKey;
|
|
537
|
+
// Only set the retention override when caller asked for "1h" (24h tier);
|
|
538
|
+
// default "5m" leaves OpenAI's server default ("in_memory") untouched.
|
|
539
|
+
if (this.promptCacheTtl === '1h')
|
|
540
|
+
out['prompt_cache_retention'] = '24h';
|
|
541
|
+
return out;
|
|
542
|
+
}
|
|
448
543
|
async buildMiddleware() {
|
|
449
544
|
// Lazy-load the existing langchain middleware so importing the engine
|
|
450
545
|
// doesn't drag in @langchain/core at module load.
|
|
@@ -464,16 +559,39 @@ class CompresrEngine {
|
|
|
464
559
|
if (this.policy.ignoreTools !== undefined) {
|
|
465
560
|
mwOpts['ignoreTools'] = this.policy.ignoreTools;
|
|
466
561
|
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
562
|
+
const mw = [compresrToolMiddleware(mwOpts)];
|
|
563
|
+
const cacheMw = await this.maybeBuildCacheMiddleware();
|
|
564
|
+
if (cacheMw !== null) {
|
|
565
|
+
// AFTER compresrToolMiddleware so cache markers stamp post-compression content.
|
|
566
|
+
mw.push(cacheMw);
|
|
567
|
+
}
|
|
568
|
+
return mw;
|
|
569
|
+
}
|
|
570
|
+
/** Anthropic prompt-cache middleware when enabled. Silent no-op on older langchain. */
|
|
571
|
+
async maybeBuildCacheMiddleware() {
|
|
572
|
+
if (!this.enablePromptCache || this.provider !== 'anthropic')
|
|
573
|
+
return null;
|
|
574
|
+
try {
|
|
575
|
+
const mod = (await Promise.resolve().then(() => __importStar(require('langchain'))));
|
|
576
|
+
const factory = mod.anthropicPromptCachingMiddleware;
|
|
577
|
+
if (typeof factory !== 'function')
|
|
578
|
+
return null;
|
|
579
|
+
return factory({
|
|
580
|
+
ttl: this.promptCacheTtl,
|
|
581
|
+
minMessagesToCache: this.promptCacheMinMessages,
|
|
582
|
+
unsupportedModelBehavior: 'ignore',
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
catch {
|
|
586
|
+
return null;
|
|
587
|
+
}
|
|
470
588
|
}
|
|
471
589
|
async buildAgent(chat, tools, system) {
|
|
472
590
|
const { createAgent } = await importLangChain();
|
|
473
591
|
const middleware = await this.buildMiddleware();
|
|
474
592
|
const params = {
|
|
475
593
|
model: chat,
|
|
476
|
-
tools:
|
|
594
|
+
tools: sortedToolsForCache(tools),
|
|
477
595
|
middleware,
|
|
478
596
|
};
|
|
479
597
|
if (system !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agents/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ResearchAgent` — strict-output ReAct loop with per-snippet compression.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the Python implementation in `compresr/agents/research/agent.py`.
|
|
5
|
+
* Bypasses `_Engine.run` so we can set `tool_choice` per step and compress
|
|
6
|
+
* each tool result before it enters the conversation.
|
|
7
|
+
*/
|
|
8
|
+
import type { ResearchResult } from './types.js';
|
|
9
|
+
interface CompresrClientLike {
|
|
10
|
+
compress(opts: {
|
|
11
|
+
context: string;
|
|
12
|
+
query?: string;
|
|
13
|
+
compressionModelName?: string;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
data?: {
|
|
16
|
+
compressedContext?: string;
|
|
17
|
+
compressed_context?: string;
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
interface ChatModelLike {
|
|
22
|
+
bindTools(tools: ReadonlyArray<unknown>, options: {
|
|
23
|
+
tool_choice: string;
|
|
24
|
+
}): {
|
|
25
|
+
invoke(messages: unknown[]): Promise<unknown>;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
interface SearchToolLike {
|
|
29
|
+
name?: string;
|
|
30
|
+
invoke(args: Record<string, unknown>): Promise<unknown>;
|
|
31
|
+
}
|
|
32
|
+
interface ResearchEngine {
|
|
33
|
+
readonly provider: string;
|
|
34
|
+
readonly defaultModelName?: string;
|
|
35
|
+
_resolveModel(model?: string): string;
|
|
36
|
+
_getChatModel(modelName: string): Promise<ChatModelLike>;
|
|
37
|
+
readonly _compresrClient: CompresrClientLike;
|
|
38
|
+
readonly _promptCacheConfig: {
|
|
39
|
+
readonly enabled: boolean;
|
|
40
|
+
readonly ttl: '5m' | '1h';
|
|
41
|
+
readonly minMessages: number;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export interface ResearchAgentOptions {
|
|
45
|
+
engine: ResearchEngine;
|
|
46
|
+
searchTool: SearchToolLike;
|
|
47
|
+
maxSteps?: number;
|
|
48
|
+
systemPrompt?: string;
|
|
49
|
+
compressSnippets?: boolean;
|
|
50
|
+
compressionModel?: string;
|
|
51
|
+
minCompressTokens?: number;
|
|
52
|
+
maxContextTokens?: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ResearchRunOptions {
|
|
55
|
+
model?: string;
|
|
56
|
+
}
|
|
57
|
+
export declare class ResearchAgent {
|
|
58
|
+
private readonly engine;
|
|
59
|
+
private readonly searchTool;
|
|
60
|
+
private readonly maxSteps;
|
|
61
|
+
private readonly systemPrompt;
|
|
62
|
+
private readonly compressSnippets;
|
|
63
|
+
private readonly compressionModel;
|
|
64
|
+
private readonly minCompressTokens;
|
|
65
|
+
private readonly maxContextTokens;
|
|
66
|
+
constructor(options: ResearchAgentOptions);
|
|
67
|
+
run(question: string, runOptions?: ResearchRunOptions): Promise<ResearchResult>;
|
|
68
|
+
/**
|
|
69
|
+
* Mirrors AnthropicPromptCachingMiddleware for the bypass path — research
|
|
70
|
+
* doesn't go through createAgent so we stamp cache_control manually.
|
|
71
|
+
*/
|
|
72
|
+
private applyCacheControl;
|
|
73
|
+
private invokeSearch;
|
|
74
|
+
private compress;
|
|
75
|
+
private maybeTruncate;
|
|
76
|
+
private aggregateUsage;
|
|
77
|
+
private collectCitations;
|
|
78
|
+
}
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../../src/agents/research/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAY,cAAc,EAAuB,MAAM,YAAY,CAAC;AAEhF,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC;QACV,IAAI,CAAC,EAAE;YAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACpE,CAAC,CAAC;CACJ;AAED,UAAU,aAAa;IACrB,SAAS,CACP,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC/B;QAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;CACtD;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD;AAED,UAAU,cAAc;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AAwBD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,OAAO,EAAE,oBAAoB;IAWnC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,kBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAyFzF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;YAmCX,YAAY;YAcZ,QAAQ;IAiBtB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,gBAAgB;CAazB"}
|