@compresr/sdk 1.5.4 → 1.6.1
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 +67 -0
- package/dist/cjs/agents/engine.d.ts.map +1 -1
- package/dist/cjs/agents/engine.js +262 -9
- package/dist/cjs/agents/engine.js.map +1 -1
- package/dist/cjs/agents/research/agent.d.ts +112 -0
- package/dist/cjs/agents/research/agent.d.ts.map +1 -0
- package/dist/cjs/agents/research/agent.js +342 -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/clients/compression.d.ts +22 -0
- package/dist/cjs/clients/compression.d.ts.map +1 -1
- package/dist/cjs/clients/compression.js +32 -0
- package/dist/cjs/clients/compression.js.map +1 -1
- package/dist/esm/agents/engine.d.ts +67 -0
- package/dist/esm/agents/engine.d.ts.map +1 -1
- package/dist/esm/agents/engine.js +259 -8
- package/dist/esm/agents/engine.js.map +1 -1
- package/dist/esm/agents/research/agent.d.ts +112 -0
- package/dist/esm/agents/research/agent.d.ts.map +1 -0
- package/dist/esm/agents/research/agent.js +305 -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/clients/compression.d.ts +22 -0
- package/dist/esm/clients/compression.d.ts.map +1 -1
- package/dist/esm/clients/compression.js +32 -0
- package/dist/esm/clients/compression.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,82 @@ import { getLogger } from '../logger.js';
|
|
|
3
3
|
import { DEFAULT_MIN_TOKENS, DEFAULT_MODEL, DEFAULT_POLICY, DEFAULT_RATIO, } from '../integrations/_shared/index.js';
|
|
4
4
|
import { defaultCompresrStats, } from './normalized.js';
|
|
5
5
|
const KNOWN_PROVIDERS = new Set(['anthropic', 'openai', 'google_genai']);
|
|
6
|
+
/**
|
|
7
|
+
* Tool names produced by ``WebSearchTool.tavily(...)`` and ``WebSearchTool.brave(...)``.
|
|
8
|
+
*
|
|
9
|
+
* When the generic-agent path (``client.messages.create`` / ``chat.completions.create``
|
|
10
|
+
* / ``client.run``) is invoked with **exactly one** tool whose ``.name`` matches one
|
|
11
|
+
* of these, the engine silently routes the call through the deep-research loop
|
|
12
|
+
* instead of the standard ``createAgent`` middleware path. The caller still
|
|
13
|
+
* receives their facade's expected response shape; only the loop semantics
|
|
14
|
+
* change (``tool_choice="none"`` on the final step, per-snippet compression
|
|
15
|
+
* against the live query, 10-step cap, manual Anthropic ``cache_control``).
|
|
16
|
+
*
|
|
17
|
+
* Detection is by name because ``WebSearchTool`` returns a LangChain
|
|
18
|
+
* ``StructuredTool`` — not a custom subclass — so ``instanceof`` would always
|
|
19
|
+
* be ``false``.
|
|
20
|
+
*/
|
|
21
|
+
export const WEB_SEARCH_TOOL_NAMES = new Set([
|
|
22
|
+
'tavily_search',
|
|
23
|
+
'brave_search',
|
|
24
|
+
]);
|
|
25
|
+
/** True when ``tools`` is exactly one Compresr-built web-search tool. */
|
|
26
|
+
export function isSoloWebSearch(tools) {
|
|
27
|
+
if (tools.length !== 1)
|
|
28
|
+
return false;
|
|
29
|
+
const name = tools[0]?.name;
|
|
30
|
+
return typeof name === 'string' && WEB_SEARCH_TOOL_NAMES.has(name);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Pull the last user-role message text out of a facade-shaped chain.
|
|
34
|
+
*
|
|
35
|
+
* Supports plain dicts (Anthropic / OpenAI style) and any object with a
|
|
36
|
+
* ``content`` field. Falls back to the first message's content when no
|
|
37
|
+
* explicit user message is found, and to ``""`` on empty input.
|
|
38
|
+
*/
|
|
39
|
+
export function extractLastUserText(messages) {
|
|
40
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
41
|
+
const msg = messages[i];
|
|
42
|
+
const role = msg?.role ?? msg?.type;
|
|
43
|
+
if ((role === 'user' || role === 'human') && msg?.content !== undefined) {
|
|
44
|
+
return contentTextAny(msg.content);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (messages.length > 0) {
|
|
48
|
+
const first = messages[0];
|
|
49
|
+
return contentTextAny(first?.content);
|
|
50
|
+
}
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
function contentTextAny(content) {
|
|
54
|
+
if (typeof content === 'string')
|
|
55
|
+
return content;
|
|
56
|
+
if (Array.isArray(content)) {
|
|
57
|
+
const parts = [];
|
|
58
|
+
for (const block of content) {
|
|
59
|
+
if (block && typeof block === 'object') {
|
|
60
|
+
const t = block.text;
|
|
61
|
+
if (typeof t === 'string')
|
|
62
|
+
parts.push(t);
|
|
63
|
+
}
|
|
64
|
+
else if (typeof block === 'string') {
|
|
65
|
+
parts.push(block);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return parts.join('');
|
|
69
|
+
}
|
|
70
|
+
if (content === undefined || content === null)
|
|
71
|
+
return '';
|
|
72
|
+
if (typeof content === 'number' || typeof content === 'boolean')
|
|
73
|
+
return String(content);
|
|
74
|
+
// Avoid the default ``[object Object]`` stringification for arbitrary objects.
|
|
75
|
+
try {
|
|
76
|
+
return JSON.stringify(content);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
6
82
|
/** Stable JSON for cache keying — sort object keys so {a:1,b:2} and {b:2,a:1}
|
|
7
83
|
* produce the same string. */
|
|
8
84
|
function stableStringify(value) {
|
|
@@ -286,6 +362,14 @@ const USAGE_NUMERIC_KEYS = [
|
|
|
286
362
|
'cache_read_input_tokens',
|
|
287
363
|
'cache_creation_input_tokens',
|
|
288
364
|
];
|
|
365
|
+
// Provider-specific cache-read aliases under input_token_details.
|
|
366
|
+
const INPUT_DETAILS_CACHE_READ_ALIASES = [
|
|
367
|
+
'cached_tokens',
|
|
368
|
+
'cache_read',
|
|
369
|
+
'priority_cache_read',
|
|
370
|
+
'flex_cache_read',
|
|
371
|
+
'cached_content_token_count',
|
|
372
|
+
];
|
|
289
373
|
function aggregateUsage(messages) {
|
|
290
374
|
const total = {};
|
|
291
375
|
for (const k of USAGE_NUMERIC_KEYS)
|
|
@@ -314,10 +398,26 @@ function aggregateUsage(messages) {
|
|
|
314
398
|
const details = rawPer?.['input_token_details'];
|
|
315
399
|
if (details && typeof details === 'object') {
|
|
316
400
|
const d = details;
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
401
|
+
let msgCacheRead = 0;
|
|
402
|
+
for (const alias of INPUT_DETAILS_CACHE_READ_ALIASES) {
|
|
403
|
+
const v = d[alias];
|
|
404
|
+
if (typeof v === 'number')
|
|
405
|
+
msgCacheRead += v;
|
|
406
|
+
}
|
|
407
|
+
// langchain-anthropic zeroes cache_creation when ttl-specific keys are set.
|
|
408
|
+
const ttl5m = typeof d['ephemeral_5m_input_tokens'] === 'number' ? (d['ephemeral_5m_input_tokens']) : 0;
|
|
409
|
+
const ttl1h = typeof d['ephemeral_1h_input_tokens'] === 'number' ? (d['ephemeral_1h_input_tokens']) : 0;
|
|
410
|
+
const ttlWrites = ttl5m + ttl1h;
|
|
411
|
+
const genericCreate = typeof d['cache_creation'] === 'number' ? (d['cache_creation']) : 0;
|
|
412
|
+
const msgCacheCreate = ttlWrites > 0 ? ttlWrites : genericCreate;
|
|
413
|
+
total['cache_read_input_tokens'] += msgCacheRead;
|
|
414
|
+
total['cache_creation_input_tokens'] += msgCacheCreate;
|
|
415
|
+
// langchain-anthropic 1.x inflates input_tokens to fresh+read+create.
|
|
416
|
+
const thisInput = typeof rawPer?.['input_tokens'] === 'number' ? (rawPer['input_tokens']) : 0;
|
|
417
|
+
if ((msgCacheRead > 0 || msgCacheCreate > 0) && thisInput > 0) {
|
|
418
|
+
const overcount = msgCacheRead + msgCacheCreate;
|
|
419
|
+
total['input_tokens'] -= Math.min(overcount, thisInput);
|
|
420
|
+
}
|
|
321
421
|
}
|
|
322
422
|
}
|
|
323
423
|
for (const [k, v] of Object.entries(per)) {
|
|
@@ -330,6 +430,26 @@ function aggregateUsage(messages) {
|
|
|
330
430
|
total['ai_message_count'] = aiMessageCount;
|
|
331
431
|
return total;
|
|
332
432
|
}
|
|
433
|
+
function toolName(t) {
|
|
434
|
+
const n = t?.name;
|
|
435
|
+
if (typeof n === 'string')
|
|
436
|
+
return n;
|
|
437
|
+
if (t && typeof t === 'object' && typeof t['name'] === 'string') {
|
|
438
|
+
return t['name'];
|
|
439
|
+
}
|
|
440
|
+
return '';
|
|
441
|
+
}
|
|
442
|
+
function sortedToolsForCache(tools) {
|
|
443
|
+
const indexed = tools.map((t, i) => ({ t, i }));
|
|
444
|
+
indexed.sort((a, b) => {
|
|
445
|
+
const an = toolName(a.t);
|
|
446
|
+
const bn = toolName(b.t);
|
|
447
|
+
if (an !== bn)
|
|
448
|
+
return an < bn ? -1 : 1;
|
|
449
|
+
return a.i - b.i;
|
|
450
|
+
});
|
|
451
|
+
return indexed.map(({ t }) => t);
|
|
452
|
+
}
|
|
333
453
|
function lastAiMessage(messages) {
|
|
334
454
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
335
455
|
const msg = messages[i];
|
|
@@ -354,6 +474,10 @@ export class CompresrEngine {
|
|
|
354
474
|
llmApiKey;
|
|
355
475
|
policy;
|
|
356
476
|
chatModels = new Map();
|
|
477
|
+
enablePromptCache;
|
|
478
|
+
promptCacheTtl;
|
|
479
|
+
promptCacheMinMessages;
|
|
480
|
+
openaiPromptCacheKey;
|
|
357
481
|
constructor(options) {
|
|
358
482
|
const { provider, modelName } = parseLlmSpec(options.llm);
|
|
359
483
|
if (!KNOWN_PROVIDERS.has(provider)) {
|
|
@@ -368,6 +492,12 @@ export class CompresrEngine {
|
|
|
368
492
|
this.llmApiKey = options.llmApiKey;
|
|
369
493
|
}
|
|
370
494
|
this.policy = resolvePolicy(options.policy);
|
|
495
|
+
this.enablePromptCache = options.enablePromptCache ?? true;
|
|
496
|
+
this.promptCacheTtl = options.promptCacheTtl ?? '5m';
|
|
497
|
+
this.promptCacheMinMessages = options.promptCacheMinMessages ?? 2;
|
|
498
|
+
if (options.openaiPromptCacheKey !== undefined) {
|
|
499
|
+
this.openaiPromptCacheKey = options.openaiPromptCacheKey;
|
|
500
|
+
}
|
|
371
501
|
}
|
|
372
502
|
/**
|
|
373
503
|
* Back-compat alias for ``defaultModelName`` — returns the constructor
|
|
@@ -377,6 +507,30 @@ export class CompresrEngine {
|
|
|
377
507
|
get modelName() {
|
|
378
508
|
return this.defaultModelName;
|
|
379
509
|
}
|
|
510
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
511
|
+
async _getChatModel(modelName) {
|
|
512
|
+
return this.getChatModel(modelName);
|
|
513
|
+
}
|
|
514
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
515
|
+
get _compresrClient() {
|
|
516
|
+
return this.compresrClient;
|
|
517
|
+
}
|
|
518
|
+
/** @internal — used by ResearchAgent. Not part of the stable public API. */
|
|
519
|
+
_resolveModel(model) {
|
|
520
|
+
const effective = model ?? this.defaultModelName;
|
|
521
|
+
if (!effective) {
|
|
522
|
+
throw new Error("model is required — set it on the client (llm: 'anthropic:claude-...') or pass it to .research.run({ model: '...' }).");
|
|
523
|
+
}
|
|
524
|
+
return effective;
|
|
525
|
+
}
|
|
526
|
+
/** @internal — read by ResearchAgent for manual cache_control stamping. */
|
|
527
|
+
get _promptCacheConfig() {
|
|
528
|
+
return {
|
|
529
|
+
enabled: this.enablePromptCache,
|
|
530
|
+
ttl: this.promptCacheTtl,
|
|
531
|
+
minMessages: this.promptCacheMinMessages,
|
|
532
|
+
};
|
|
533
|
+
}
|
|
380
534
|
async getChatModel(modelName, extraKwargs) {
|
|
381
535
|
// LangChain.js's bind_tools strips a prior chat.bind(...)'s kwargs, so
|
|
382
536
|
// we bake the per-call knobs (maxTokens, temperature, …) into the chat-
|
|
@@ -389,6 +543,13 @@ export class CompresrEngine {
|
|
|
389
543
|
const kwargs = { ...(extraKwargs ?? {}) };
|
|
390
544
|
if (this.llmApiKey !== undefined)
|
|
391
545
|
kwargs['apiKey'] = this.llmApiKey;
|
|
546
|
+
if (this.provider === 'openai' && this.enablePromptCache) {
|
|
547
|
+
const openaiExtra = this.openaiCacheModelKwargs();
|
|
548
|
+
if (Object.keys(openaiExtra).length > 0) {
|
|
549
|
+
const existing = kwargs['modelKwargs'] ?? {};
|
|
550
|
+
kwargs['modelKwargs'] = { ...existing, ...openaiExtra };
|
|
551
|
+
}
|
|
552
|
+
}
|
|
392
553
|
let chat;
|
|
393
554
|
if (this.provider === 'openai') {
|
|
394
555
|
try {
|
|
@@ -407,6 +568,16 @@ export class CompresrEngine {
|
|
|
407
568
|
this.chatModels.set(cacheKey, chat);
|
|
408
569
|
return chat;
|
|
409
570
|
}
|
|
571
|
+
openaiCacheModelKwargs() {
|
|
572
|
+
const out = {};
|
|
573
|
+
if (this.openaiPromptCacheKey)
|
|
574
|
+
out['prompt_cache_key'] = this.openaiPromptCacheKey;
|
|
575
|
+
// Only set the retention override when caller asked for "1h" (24h tier);
|
|
576
|
+
// default "5m" leaves OpenAI's server default ("in_memory") untouched.
|
|
577
|
+
if (this.promptCacheTtl === '1h')
|
|
578
|
+
out['prompt_cache_retention'] = '24h';
|
|
579
|
+
return out;
|
|
580
|
+
}
|
|
410
581
|
async buildMiddleware() {
|
|
411
582
|
// Lazy-load the existing langchain middleware so importing the engine
|
|
412
583
|
// doesn't drag in @langchain/core at module load.
|
|
@@ -426,16 +597,39 @@ export class CompresrEngine {
|
|
|
426
597
|
if (this.policy.ignoreTools !== undefined) {
|
|
427
598
|
mwOpts['ignoreTools'] = this.policy.ignoreTools;
|
|
428
599
|
}
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
600
|
+
const mw = [compresrToolMiddleware(mwOpts)];
|
|
601
|
+
const cacheMw = await this.maybeBuildCacheMiddleware();
|
|
602
|
+
if (cacheMw !== null) {
|
|
603
|
+
// AFTER compresrToolMiddleware so cache markers stamp post-compression content.
|
|
604
|
+
mw.push(cacheMw);
|
|
605
|
+
}
|
|
606
|
+
return mw;
|
|
607
|
+
}
|
|
608
|
+
/** Anthropic prompt-cache middleware when enabled. Silent no-op on older langchain. */
|
|
609
|
+
async maybeBuildCacheMiddleware() {
|
|
610
|
+
if (!this.enablePromptCache || this.provider !== 'anthropic')
|
|
611
|
+
return null;
|
|
612
|
+
try {
|
|
613
|
+
const mod = (await import('langchain'));
|
|
614
|
+
const factory = mod.anthropicPromptCachingMiddleware;
|
|
615
|
+
if (typeof factory !== 'function')
|
|
616
|
+
return null;
|
|
617
|
+
return factory({
|
|
618
|
+
ttl: this.promptCacheTtl,
|
|
619
|
+
minMessagesToCache: this.promptCacheMinMessages,
|
|
620
|
+
unsupportedModelBehavior: 'ignore',
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
catch {
|
|
624
|
+
return null;
|
|
625
|
+
}
|
|
432
626
|
}
|
|
433
627
|
async buildAgent(chat, tools, system) {
|
|
434
628
|
const { createAgent } = await importLangChain();
|
|
435
629
|
const middleware = await this.buildMiddleware();
|
|
436
630
|
const params = {
|
|
437
631
|
model: chat,
|
|
438
|
-
tools:
|
|
632
|
+
tools: sortedToolsForCache(tools),
|
|
439
633
|
middleware,
|
|
440
634
|
};
|
|
441
635
|
if (system !== undefined)
|
|
@@ -491,6 +685,17 @@ export class CompresrEngine {
|
|
|
491
685
|
}
|
|
492
686
|
const tools = options.tools ?? [];
|
|
493
687
|
const bindOptions = this.extractBindOptions(options);
|
|
688
|
+
// Auto-route: solo WebSearchTool -> deep-research loop, with the caller's
|
|
689
|
+
// facade shape preserved by feeding the message chain through ``normalize``.
|
|
690
|
+
if (isSoloWebSearch(tools)) {
|
|
691
|
+
return this.runViaResearchLoop({
|
|
692
|
+
messages: options.messages,
|
|
693
|
+
searchTool: tools[0],
|
|
694
|
+
system: options.system,
|
|
695
|
+
model: effectiveModel,
|
|
696
|
+
bindKwargs: Object.keys(bindOptions).length > 0 ? bindOptions : undefined,
|
|
697
|
+
});
|
|
698
|
+
}
|
|
494
699
|
// Bake LLM knobs into the chat-model constructor (not chat.bind(...))
|
|
495
700
|
// so they survive create_agent's internal bind_tools call. Per-knob
|
|
496
701
|
// combinations are cached separately.
|
|
@@ -515,6 +720,52 @@ export class CompresrEngine {
|
|
|
515
720
|
}
|
|
516
721
|
return this.normalize(result);
|
|
517
722
|
}
|
|
723
|
+
/**
|
|
724
|
+
* Auto-route handler for solo-WebSearchTool calls.
|
|
725
|
+
*
|
|
726
|
+
* Constructs a {@link ResearchAgent}, runs its strict-output loop against
|
|
727
|
+
* the last user message, then feeds the resulting message chain back through
|
|
728
|
+
* {@link normalize} so each facade still gets its expected shape.
|
|
729
|
+
*
|
|
730
|
+
* The caller's ``system`` wins when supplied as a non-empty string; otherwise
|
|
731
|
+
* the research-agent default prompt is used.
|
|
732
|
+
*/
|
|
733
|
+
async runViaResearchLoop(params) {
|
|
734
|
+
const { ResearchAgent } = await import('./research/agent.js');
|
|
735
|
+
const question = extractLastUserText(params.messages);
|
|
736
|
+
const systemPrompt = typeof params.system === 'string' && params.system.trim().length > 0
|
|
737
|
+
? params.system
|
|
738
|
+
: undefined;
|
|
739
|
+
// Tools-aware ``_getChatModel`` shim: the loop calls ``_getChatModel(modelName)``
|
|
740
|
+
// with no extra kwargs, but if the caller passed per-call knobs (maxTokens,
|
|
741
|
+
// temperature, …) we want them baked into the chat-model constructor too.
|
|
742
|
+
// Use a sub-engine wrapper that pre-binds those kwargs.
|
|
743
|
+
// ``ResearchEngine`` is a structural-only contract over the engine — the
|
|
744
|
+
// real ``CompressionClient.data`` is nullable while ``ResearchEngine``'s
|
|
745
|
+
// ``CompresrClientLike`` treats it as optional. The two shapes are
|
|
746
|
+
// functionally compatible (the research agent never observes ``null``
|
|
747
|
+
// separately from ``undefined``); the ``unknown`` bridge is the cleanest
|
|
748
|
+
// way to express that without weakening either contract.
|
|
749
|
+
const engineForLoop = params.bindKwargs
|
|
750
|
+
? {
|
|
751
|
+
provider: this.provider,
|
|
752
|
+
...(this.defaultModelName !== undefined
|
|
753
|
+
? { defaultModelName: this.defaultModelName }
|
|
754
|
+
: {}),
|
|
755
|
+
_resolveModel: (m) => this._resolveModel(m),
|
|
756
|
+
_getChatModel: (modelName) => this.getChatModel(modelName, params.bindKwargs),
|
|
757
|
+
_compresrClient: this._compresrClient,
|
|
758
|
+
_promptCacheConfig: this._promptCacheConfig,
|
|
759
|
+
}
|
|
760
|
+
: this;
|
|
761
|
+
const agent = new ResearchAgent({
|
|
762
|
+
engine: engineForLoop,
|
|
763
|
+
searchTool: params.searchTool,
|
|
764
|
+
...(systemPrompt !== undefined ? { systemPrompt } : {}),
|
|
765
|
+
});
|
|
766
|
+
const state = await agent._runLoop(question, { model: params.model });
|
|
767
|
+
return this.normalize({ messages: state.messages });
|
|
768
|
+
}
|
|
518
769
|
normalize(agentResult) {
|
|
519
770
|
const messages = agentResult && typeof agentResult === 'object'
|
|
520
771
|
? (agentResult.messages ?? [])
|
|
@@ -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,112 @@
|
|
|
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, Step } 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
|
+
export interface ChatModelLike {
|
|
22
|
+
bindTools(tools: ReadonlyArray<unknown>, options: {
|
|
23
|
+
tool_choice: string;
|
|
24
|
+
}): {
|
|
25
|
+
invoke(messages: unknown[]): Promise<unknown>;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface SearchToolLike {
|
|
29
|
+
name?: string;
|
|
30
|
+
invoke(args: Record<string, unknown>): Promise<unknown>;
|
|
31
|
+
}
|
|
32
|
+
export 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
|
+
interface AIMessageLike {
|
|
45
|
+
content?: unknown;
|
|
46
|
+
tool_calls?: ReadonlyArray<{
|
|
47
|
+
id?: string;
|
|
48
|
+
name?: string;
|
|
49
|
+
args?: Record<string, unknown>;
|
|
50
|
+
}>;
|
|
51
|
+
usage_metadata?: Record<string, unknown>;
|
|
52
|
+
}
|
|
53
|
+
export interface ResearchAgentOptions {
|
|
54
|
+
engine: ResearchEngine;
|
|
55
|
+
searchTool: SearchToolLike;
|
|
56
|
+
maxSteps?: number;
|
|
57
|
+
systemPrompt?: string;
|
|
58
|
+
compressSnippets?: boolean;
|
|
59
|
+
compressionModel?: string;
|
|
60
|
+
minCompressTokens?: number;
|
|
61
|
+
maxContextTokens?: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ResearchRunOptions {
|
|
64
|
+
model?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Internal result of {@link ResearchAgent._runLoop}.
|
|
68
|
+
*
|
|
69
|
+
* Exposed to the engine's solo-WebSearchTool fast-path so it can feed the
|
|
70
|
+
* raw message chain to {@link CompresrEngine._normalize}, while {@link ResearchAgent.run}
|
|
71
|
+
* keeps producing a typed {@link ResearchResult}.
|
|
72
|
+
*/
|
|
73
|
+
export interface ResearchLoopState {
|
|
74
|
+
messages: unknown[];
|
|
75
|
+
aiHistory: AIMessageLike[];
|
|
76
|
+
trajectory: Step[];
|
|
77
|
+
lastAi: AIMessageLike | null;
|
|
78
|
+
}
|
|
79
|
+
export declare class ResearchAgent {
|
|
80
|
+
private readonly engine;
|
|
81
|
+
private readonly searchTool;
|
|
82
|
+
private readonly maxSteps;
|
|
83
|
+
private readonly systemPrompt;
|
|
84
|
+
private readonly compressSnippets;
|
|
85
|
+
private readonly compressionModel;
|
|
86
|
+
private readonly minCompressTokens;
|
|
87
|
+
private readonly maxContextTokens;
|
|
88
|
+
constructor(options: ResearchAgentOptions);
|
|
89
|
+
run(question: string, runOptions?: ResearchRunOptions): Promise<ResearchResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Execute the strict-output ReAct loop and return raw state.
|
|
92
|
+
*
|
|
93
|
+
* Shared by {@link run} (which parses ``ResearchResult``) and the engine's
|
|
94
|
+
* solo-WebSearchTool fast-path (which feeds ``state.messages`` into
|
|
95
|
+
* the engine's normalizer).
|
|
96
|
+
*
|
|
97
|
+
* @internal — public for the engine's fast-path; not a stable surface.
|
|
98
|
+
*/
|
|
99
|
+
_runLoop(question: string, runOptions?: ResearchRunOptions): Promise<ResearchLoopState>;
|
|
100
|
+
/**
|
|
101
|
+
* Mirrors AnthropicPromptCachingMiddleware for the bypass path — research
|
|
102
|
+
* doesn't go through createAgent so we stamp cache_control manually.
|
|
103
|
+
*/
|
|
104
|
+
private applyCacheControl;
|
|
105
|
+
private invokeSearch;
|
|
106
|
+
private compress;
|
|
107
|
+
private maybeTruncate;
|
|
108
|
+
private aggregateUsage;
|
|
109
|
+
private collectCitations;
|
|
110
|
+
}
|
|
111
|
+
export {};
|
|
112
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../../src/agents/research/agent.ts"],"names":[],"mappings":"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"}
|