@cogitator-ai/core 0.15.0 → 0.17.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/dist/cogitator/initializers.d.ts +4 -0
- package/dist/cogitator/initializers.d.ts.map +1 -1
- package/dist/cogitator/initializers.js +13 -0
- package/dist/cogitator/initializers.js.map +1 -1
- package/dist/cogitator/message-builder.d.ts +8 -1
- package/dist/cogitator/message-builder.d.ts.map +1 -1
- package/dist/cogitator/message-builder.js +63 -4
- package/dist/cogitator/message-builder.js.map +1 -1
- package/dist/cogitator.d.ts.map +1 -1
- package/dist/cogitator.js +10 -1
- package/dist/cogitator.js.map +1 -1
- package/dist/context/context-manager.d.ts +16 -0
- package/dist/context/context-manager.d.ts.map +1 -0
- package/dist/context/context-manager.js +113 -0
- package/dist/context/context-manager.js.map +1 -0
- package/dist/context/index.d.ts +4 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +3 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/strategies/hybrid.d.ts +9 -0
- package/dist/context/strategies/hybrid.d.ts.map +1 -0
- package/dist/context/strategies/hybrid.js +38 -0
- package/dist/context/strategies/hybrid.js.map +1 -0
- package/dist/context/strategies/index.d.ts +6 -0
- package/dist/context/strategies/index.d.ts.map +1 -0
- package/dist/context/strategies/index.js +6 -0
- package/dist/context/strategies/index.js.map +1 -0
- package/dist/context/strategies/sliding-window.d.ts +8 -0
- package/dist/context/strategies/sliding-window.d.ts.map +1 -0
- package/dist/context/strategies/sliding-window.js +120 -0
- package/dist/context/strategies/sliding-window.js.map +1 -0
- package/dist/context/strategies/summarize.d.ts +9 -0
- package/dist/context/strategies/summarize.d.ts.map +1 -0
- package/dist/context/strategies/summarize.js +142 -0
- package/dist/context/strategies/summarize.js.map +1 -0
- package/dist/context/strategies/token-utils.d.ts +5 -0
- package/dist/context/strategies/token-utils.d.ts.map +1 -0
- package/dist/context/strategies/token-utils.js +23 -0
- package/dist/context/strategies/token-utils.js.map +1 -0
- package/dist/context/strategies/truncate.d.ts +6 -0
- package/dist/context/strategies/truncate.d.ts.map +1 -0
- package/dist/context/strategies/truncate.js +61 -0
- package/dist/context/strategies/truncate.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/llm/bedrock.d.ts.map +1 -1
- package/dist/llm/bedrock.js +22 -12
- package/dist/llm/bedrock.js.map +1 -1
- package/dist/llm/ollama.d.ts.map +1 -1
- package/dist/llm/ollama.js +14 -8
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/plugin.d.ts +1 -3
- package/dist/llm/plugin.d.ts.map +1 -1
- package/dist/llm/plugin.js.map +1 -1
- package/dist/security/patterns.js +2 -2
- package/dist/security/patterns.js.map +1 -1
- package/dist/security/prompt-injection-detector.d.ts +1 -2
- package/dist/security/prompt-injection-detector.d.ts.map +1 -1
- package/dist/security/prompt-injection-detector.js.map +1 -1
- package/dist/tools/audio-generate.d.ts +25 -0
- package/dist/tools/audio-generate.d.ts.map +1 -0
- package/dist/tools/audio-generate.js +82 -0
- package/dist/tools/audio-generate.js.map +1 -0
- package/dist/tools/audio-transcribe.d.ts +27 -0
- package/dist/tools/audio-transcribe.d.ts.map +1 -0
- package/dist/tools/audio-transcribe.js +71 -0
- package/dist/tools/audio-transcribe.js.map +1 -0
- package/dist/tools/datetime.d.ts +1 -1
- package/dist/tools/filesystem.d.ts +2 -2
- package/dist/tools/http.d.ts +1 -1
- package/dist/tools/image-analyze.d.ts +56 -0
- package/dist/tools/image-analyze.d.ts.map +1 -0
- package/dist/tools/image-analyze.js +72 -0
- package/dist/tools/image-analyze.js.map +1 -0
- package/dist/tools/image-generate.d.ts +35 -0
- package/dist/tools/image-generate.d.ts.map +1 -0
- package/dist/tools/image-generate.js +69 -0
- package/dist/tools/image-generate.js.map +1 -0
- package/dist/tools/index.d.ts +10 -6
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/random.d.ts +2 -2
- package/dist/tools/web-scrape.js +3 -3
- package/dist/tools/web-scrape.js.map +1 -1
- package/dist/utils/audio-fetch.d.ts +17 -0
- package/dist/utils/audio-fetch.d.ts.map +1 -0
- package/dist/utils/audio-fetch.js +103 -0
- package/dist/utils/audio-fetch.js.map +1 -0
- package/dist/utils/image-fetch.d.ts +16 -0
- package/dist/utils/image-fetch.d.ts.map +1 -0
- package/dist/utils/image-fetch.js +68 -0
- package/dist/utils/image-fetch.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -4,6 +4,7 @@ import { ReflectionEngine } from '../reflection/index';
|
|
|
4
4
|
import { ConstitutionalAI } from '../constitutional/index';
|
|
5
5
|
import { CostAwareRouter } from '../cost-routing/index';
|
|
6
6
|
import { PromptInjectionDetector } from '../security/index';
|
|
7
|
+
import { ContextManager } from '../context/index';
|
|
7
8
|
import type { Agent } from '../agent';
|
|
8
9
|
export type SandboxManager = {
|
|
9
10
|
initialize(): Promise<void>;
|
|
@@ -47,6 +48,8 @@ export interface InitializerState {
|
|
|
47
48
|
costRoutingInitialized: boolean;
|
|
48
49
|
injectionDetector?: PromptInjectionDetector;
|
|
49
50
|
securityInitialized: boolean;
|
|
51
|
+
contextManager?: ContextManager;
|
|
52
|
+
contextManagerInitialized: boolean;
|
|
50
53
|
}
|
|
51
54
|
export declare function initializeMemory(config: CogitatorConfig, state: InitializerState): Promise<void>;
|
|
52
55
|
export declare function initializeSandbox(config: CogitatorConfig, state: InitializerState): Promise<void>;
|
|
@@ -54,5 +57,6 @@ export declare function initializeReflection(config: CogitatorConfig, state: Ini
|
|
|
54
57
|
export declare function initializeGuardrails(config: CogitatorConfig, state: InitializerState, agent: Agent, getBackend: (model: string) => LLMBackend): void;
|
|
55
58
|
export declare function initializeCostRouting(config: CogitatorConfig, state: InitializerState): void;
|
|
56
59
|
export declare function initializeSecurity(config: CogitatorConfig, state: InitializerState, getBackend: (model: string) => LLMBackend): void;
|
|
60
|
+
export declare function initializeContextManager(config: CogitatorConfig, state: InitializerState, getBackend: (model: string) => LLMBackend): void;
|
|
57
61
|
export declare function cleanupState(state: InitializerState): Promise<void>;
|
|
58
62
|
//# sourceMappingURL=initializers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAIL,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CACL,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5F,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"initializers.d.ts","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { ReflectionEngine, InMemoryInsightStore } from '../reflection/index';
|
|
|
4
4
|
import { ConstitutionalAI } from '../constitutional/index';
|
|
5
5
|
import { CostAwareRouter } from '../cost-routing/index';
|
|
6
6
|
import { PromptInjectionDetector } from '../security/index';
|
|
7
|
+
import { ContextManager } from '../context/index';
|
|
7
8
|
export async function initializeMemory(config, state) {
|
|
8
9
|
if (state.memoryInitialized || !config.memory?.adapter)
|
|
9
10
|
return;
|
|
@@ -115,6 +116,16 @@ export function initializeSecurity(config, state, getBackend) {
|
|
|
115
116
|
state.injectionDetector = new PromptInjectionDetector(injectionConfig);
|
|
116
117
|
state.securityInitialized = true;
|
|
117
118
|
}
|
|
119
|
+
export function initializeContextManager(config, state, getBackend) {
|
|
120
|
+
if (state.contextManagerInitialized)
|
|
121
|
+
return;
|
|
122
|
+
if (!config.context?.enabled) {
|
|
123
|
+
state.contextManagerInitialized = true;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
state.contextManager = new ContextManager(config.context, { getBackend });
|
|
127
|
+
state.contextManagerInitialized = true;
|
|
128
|
+
}
|
|
118
129
|
export async function cleanupState(state) {
|
|
119
130
|
if (state.memoryAdapter) {
|
|
120
131
|
await state.memoryAdapter.disconnect();
|
|
@@ -136,5 +147,7 @@ export async function cleanupState(state) {
|
|
|
136
147
|
state.costRoutingInitialized = false;
|
|
137
148
|
state.injectionDetector = undefined;
|
|
138
149
|
state.securityInitialized = false;
|
|
150
|
+
state.contextManager = undefined;
|
|
151
|
+
state.contextManagerInitialized = false;
|
|
139
152
|
}
|
|
140
153
|
//# sourceMappingURL=initializers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"initializers.js","sourceRoot":"","sources":["../../src/cogitator/initializers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import type { Message, RunOptions, MemoryAdapter, ToolCall, ToolResult } from '@cogitator-ai/types';
|
|
1
|
+
import type { Message, RunOptions, MemoryAdapter, ToolCall, ToolResult, AudioInput } from '@cogitator-ai/types';
|
|
2
2
|
import { ContextBuilder } from '@cogitator-ai/memory';
|
|
3
3
|
import type { Agent } from '../agent';
|
|
4
4
|
import type { ReflectionEngine } from '../reflection/index';
|
|
5
5
|
import type { AgentContext } from '@cogitator-ai/types';
|
|
6
|
+
export interface AudioTranscriptionResult {
|
|
7
|
+
text: string;
|
|
8
|
+
language?: string;
|
|
9
|
+
duration?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare function transcribeAudioInputs(audioInputs: AudioInput[], apiKey: string): Promise<AudioTranscriptionResult[]>;
|
|
12
|
+
export declare function formatTranscriptionsForInput(transcriptions: AudioTranscriptionResult[]): string;
|
|
6
13
|
export declare function buildInitialMessages(agent: Agent, options: RunOptions, threadId: string, memoryAdapter: MemoryAdapter | undefined, contextBuilder: ContextBuilder | undefined): Promise<Message[]>;
|
|
7
14
|
export declare function saveEntry(threadId: string, agentId: string, message: Message, memoryAdapter: MemoryAdapter | undefined, toolCalls?: ToolCall[], toolResults?: ToolResult[], onError?: (error: Error, operation: 'save' | 'load') => void): Promise<void>;
|
|
8
15
|
export declare function enrichMessagesWithInsights(messages: Message[], reflectionEngine: ReflectionEngine, agentContext: AgentContext): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-builder.d.ts","sourceRoot":"","sources":["../../src/cogitator/message-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"message-builder.d.ts","sourceRoot":"","sources":["../../src/cogitator/message-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EAGV,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAgCrC;AAED,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAU/F;AA6BD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EAAE,cAAc,GAAG,SAAS,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC,CAsCpB;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,SAAS,CAAC,EAAE,QAAQ,EAAE,EACtB,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,GAC3D,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,OAAO,EAAE,EACnB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAOhG"}
|
|
@@ -1,10 +1,69 @@
|
|
|
1
1
|
import { countMessageTokens } from '@cogitator-ai/memory';
|
|
2
2
|
import { getLogger } from '../logger';
|
|
3
|
+
import { audioInputToBuffer } from '../utils/audio-fetch';
|
|
4
|
+
export async function transcribeAudioInputs(audioInputs, apiKey) {
|
|
5
|
+
const results = [];
|
|
6
|
+
for (const audio of audioInputs) {
|
|
7
|
+
const { buffer, filename } = await audioInputToBuffer(audio);
|
|
8
|
+
const formData = new FormData();
|
|
9
|
+
formData.append('file', new Blob([new Uint8Array(buffer)]), filename);
|
|
10
|
+
formData.append('model', 'whisper-1');
|
|
11
|
+
const response = await fetch('https://api.openai.com/v1/audio/transcriptions', {
|
|
12
|
+
method: 'POST',
|
|
13
|
+
headers: { Authorization: `Bearer ${apiKey}` },
|
|
14
|
+
body: formData,
|
|
15
|
+
});
|
|
16
|
+
if (!response.ok) {
|
|
17
|
+
const errorData = await response.json().catch(() => ({}));
|
|
18
|
+
throw new Error(`Audio transcription failed: ${errorData.error?.message || response.statusText}`);
|
|
19
|
+
}
|
|
20
|
+
const result = await response.json();
|
|
21
|
+
results.push({
|
|
22
|
+
text: result.text,
|
|
23
|
+
language: result.language,
|
|
24
|
+
duration: result.duration,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return results;
|
|
28
|
+
}
|
|
29
|
+
export function formatTranscriptionsForInput(transcriptions) {
|
|
30
|
+
if (transcriptions.length === 0)
|
|
31
|
+
return '';
|
|
32
|
+
if (transcriptions.length === 1) {
|
|
33
|
+
return `[Audio transcription]: ${transcriptions[0].text}\n\n`;
|
|
34
|
+
}
|
|
35
|
+
return (transcriptions.map((t, i) => `[Audio ${i + 1} transcription]: ${t.text}`).join('\n') + '\n\n');
|
|
36
|
+
}
|
|
37
|
+
function buildUserContent(input, images) {
|
|
38
|
+
if (!images || images.length === 0) {
|
|
39
|
+
return input;
|
|
40
|
+
}
|
|
41
|
+
const parts = [{ type: 'text', text: input }];
|
|
42
|
+
for (const image of images) {
|
|
43
|
+
if (typeof image === 'string') {
|
|
44
|
+
parts.push({
|
|
45
|
+
type: 'image_url',
|
|
46
|
+
image_url: { url: image, detail: 'auto' },
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
parts.push({
|
|
51
|
+
type: 'image_base64',
|
|
52
|
+
image_base64: {
|
|
53
|
+
data: image.data,
|
|
54
|
+
media_type: image.mimeType,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return parts;
|
|
60
|
+
}
|
|
3
61
|
export async function buildInitialMessages(agent, options, threadId, memoryAdapter, contextBuilder) {
|
|
62
|
+
const userContent = buildUserContent(options.input, options.images);
|
|
4
63
|
if (!memoryAdapter || options.useMemory === false) {
|
|
5
64
|
return [
|
|
6
65
|
{ role: 'system', content: agent.instructions },
|
|
7
|
-
{ role: 'user', content:
|
|
66
|
+
{ role: 'user', content: userContent },
|
|
8
67
|
];
|
|
9
68
|
}
|
|
10
69
|
const threadResult = await memoryAdapter.getThread(threadId);
|
|
@@ -17,7 +76,7 @@ export async function buildInitialMessages(agent, options, threadId, memoryAdapt
|
|
|
17
76
|
agentId: agent.id,
|
|
18
77
|
systemPrompt: agent.instructions,
|
|
19
78
|
});
|
|
20
|
-
return [...ctx.messages, { role: 'user', content:
|
|
79
|
+
return [...ctx.messages, { role: 'user', content: userContent }];
|
|
21
80
|
}
|
|
22
81
|
if (options.loadHistory !== false) {
|
|
23
82
|
const entries = await memoryAdapter.getEntries({ threadId, limit: 20 });
|
|
@@ -25,12 +84,12 @@ export async function buildInitialMessages(agent, options, threadId, memoryAdapt
|
|
|
25
84
|
if (entries.success) {
|
|
26
85
|
messages.push(...entries.data.map((e) => e.message));
|
|
27
86
|
}
|
|
28
|
-
messages.push({ role: 'user', content:
|
|
87
|
+
messages.push({ role: 'user', content: userContent });
|
|
29
88
|
return messages;
|
|
30
89
|
}
|
|
31
90
|
return [
|
|
32
91
|
{ role: 'system', content: agent.instructions },
|
|
33
|
-
{ role: 'user', content:
|
|
92
|
+
{ role: 'user', content: userContent },
|
|
34
93
|
];
|
|
35
94
|
}
|
|
36
95
|
export async function saveEntry(threadId, agentId, message, memoryAdapter, toolCalls, toolResults, onError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-builder.js","sourceRoot":"","sources":["../../src/cogitator/message-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-builder.js","sourceRoot":"","sources":["../../src/cogitator/message-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/cogitator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cogitator.d.ts","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EAST,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cogitator.d.ts","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EAST,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0B1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAsC;IACtD,kDAAkD;IAClD,SAAgB,KAAK,EAAE,YAAY,CAAsB;IAEzD,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;;;;;;;;OAUG;gBACS,MAAM,GAAE,eAAoB;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YAoclD,aAAa;IA0B3B,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAWrB;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM;IAKjC;;;;;;;;OAQG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAK1C;;;;OAIG;IACH,aAAa;IAIb;;;;;;;OAOG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;;OAIG;IACH,aAAa;IAIb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC;IAOzB;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
package/dist/cogitator.js
CHANGED
|
@@ -3,7 +3,7 @@ import { getPrice } from '@cogitator-ai/models';
|
|
|
3
3
|
import { ToolRegistry } from './registry';
|
|
4
4
|
import { createLLMBackend, parseModel } from './llm/index';
|
|
5
5
|
import { getLogger } from './logger';
|
|
6
|
-
import { initializeMemory, initializeSandbox, initializeReflection, initializeGuardrails, initializeCostRouting, initializeSecurity, cleanupState, } from './cogitator/initializers';
|
|
6
|
+
import { initializeMemory, initializeSandbox, initializeReflection, initializeGuardrails, initializeCostRouting, initializeSecurity, initializeContextManager, cleanupState, } from './cogitator/initializers';
|
|
7
7
|
import { CogitatorError, ErrorCode } from '@cogitator-ai/types';
|
|
8
8
|
import { buildInitialMessages, saveEntry, enrichMessagesWithInsights, addContextToMessages, } from './cogitator/message-builder';
|
|
9
9
|
import { createSpan, getTextContent } from './cogitator/span-factory';
|
|
@@ -70,6 +70,7 @@ export class Cogitator {
|
|
|
70
70
|
guardrailsInitialized: false,
|
|
71
71
|
costRoutingInitialized: false,
|
|
72
72
|
securityInitialized: false,
|
|
73
|
+
contextManagerInitialized: false,
|
|
73
74
|
};
|
|
74
75
|
costEstimator;
|
|
75
76
|
/**
|
|
@@ -203,6 +204,11 @@ export class Cogitator {
|
|
|
203
204
|
if (abortController.signal.aborted) {
|
|
204
205
|
throw abortController.signal.reason ?? new Error('Run aborted');
|
|
205
206
|
}
|
|
207
|
+
if (this.state.contextManager?.shouldCompress(messages, effectiveModel)) {
|
|
208
|
+
const compressionResult = await this.state.contextManager.compress(messages, effectiveModel);
|
|
209
|
+
messages.length = 0;
|
|
210
|
+
messages.push(...compressionResult.messages);
|
|
211
|
+
}
|
|
206
212
|
iterations++;
|
|
207
213
|
agentContext.iterationIndex = iterations - 1;
|
|
208
214
|
agentContext.previousActions = [...allActions];
|
|
@@ -430,6 +436,9 @@ export class Cogitator {
|
|
|
430
436
|
if (this.config.security?.promptInjection && !this.state.securityInitialized) {
|
|
431
437
|
initializeSecurity(this.config, this.state, (model) => this.getBackend(model));
|
|
432
438
|
}
|
|
439
|
+
if (this.config.context?.enabled && !this.state.contextManagerInitialized) {
|
|
440
|
+
initializeContextManager(this.config, this.state, (model) => this.getBackend(model));
|
|
441
|
+
}
|
|
433
442
|
}
|
|
434
443
|
getBackend(modelString, explicitProvider) {
|
|
435
444
|
const { provider: parsedProvider } = parseModel(modelString);
|
package/dist/cogitator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cogitator.js","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cogitator.js","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Message, LLMBackend, ContextManagerConfig, CompressionResult, ContextState } from '@cogitator-ai/types';
|
|
2
|
+
export interface ContextManagerDeps {
|
|
3
|
+
getBackend?: (model: string) => LLMBackend;
|
|
4
|
+
}
|
|
5
|
+
export declare class ContextManager {
|
|
6
|
+
private config;
|
|
7
|
+
private strategy;
|
|
8
|
+
private deps;
|
|
9
|
+
constructor(config: ContextManagerConfig, deps?: ContextManagerDeps);
|
|
10
|
+
private createStrategy;
|
|
11
|
+
getModelContextLimit(modelString: string): number;
|
|
12
|
+
checkState(messages: Message[], modelString: string): ContextState;
|
|
13
|
+
shouldCompress(messages: Message[], modelString: string): boolean;
|
|
14
|
+
compress(messages: Message[], modelString: string): Promise<CompressionResult>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=context-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../src/context/context-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAW7B,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,UAAU,CAAC;CAC5C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,IAAI,CAAqB;gBAErB,MAAM,EAAE,oBAAoB,EAAE,IAAI,GAAE,kBAAuB;IAevE,OAAO,CAAC,cAAc;IActB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAsBjD,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY;IAmBlE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAM3D,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAiCrF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { getModel } from '@cogitator-ai/models';
|
|
2
|
+
import { TruncateStrategy, SlidingWindowStrategy, SummarizeStrategy, HybridStrategy, countMessagesTokens, } from './strategies/index';
|
|
3
|
+
import { parseModel } from '../llm/index';
|
|
4
|
+
export class ContextManager {
|
|
5
|
+
config;
|
|
6
|
+
strategy;
|
|
7
|
+
deps;
|
|
8
|
+
constructor(config, deps = {}) {
|
|
9
|
+
this.config = {
|
|
10
|
+
enabled: config.enabled ?? true,
|
|
11
|
+
strategy: config.strategy ?? 'hybrid',
|
|
12
|
+
compressionThreshold: config.compressionThreshold ?? 0.8,
|
|
13
|
+
outputReserve: config.outputReserve ?? 0.15,
|
|
14
|
+
summaryModel: config.summaryModel ?? '',
|
|
15
|
+
windowSize: config.windowSize ?? 10,
|
|
16
|
+
windowOverlap: config.windowOverlap ?? 2,
|
|
17
|
+
};
|
|
18
|
+
this.deps = deps;
|
|
19
|
+
this.strategy = this.createStrategy(this.config.strategy);
|
|
20
|
+
}
|
|
21
|
+
createStrategy(name) {
|
|
22
|
+
switch (name) {
|
|
23
|
+
case 'truncate':
|
|
24
|
+
return new TruncateStrategy();
|
|
25
|
+
case 'sliding-window':
|
|
26
|
+
return new SlidingWindowStrategy();
|
|
27
|
+
case 'summarize':
|
|
28
|
+
return new SummarizeStrategy();
|
|
29
|
+
case 'hybrid':
|
|
30
|
+
default:
|
|
31
|
+
return new HybridStrategy();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
getModelContextLimit(modelString) {
|
|
35
|
+
const { model: modelId } = parseModel(modelString);
|
|
36
|
+
const modelInfo = getModel(modelId);
|
|
37
|
+
if (modelInfo?.contextWindow) {
|
|
38
|
+
return modelInfo.contextWindow;
|
|
39
|
+
}
|
|
40
|
+
const lowerId = modelId.toLowerCase();
|
|
41
|
+
if (lowerId.includes('gpt-4o'))
|
|
42
|
+
return 128000;
|
|
43
|
+
if (lowerId.includes('gpt-4-turbo'))
|
|
44
|
+
return 128000;
|
|
45
|
+
if (lowerId.includes('gpt-4'))
|
|
46
|
+
return 8192;
|
|
47
|
+
if (lowerId.includes('gpt-3.5'))
|
|
48
|
+
return 16385;
|
|
49
|
+
if (lowerId.includes('claude-3') || lowerId.includes('claude-sonnet') || lowerId.includes('claude-opus'))
|
|
50
|
+
return 200000;
|
|
51
|
+
if (lowerId.includes('claude-2'))
|
|
52
|
+
return 100000;
|
|
53
|
+
if (lowerId.includes('gemini-pro'))
|
|
54
|
+
return 1000000;
|
|
55
|
+
if (lowerId.includes('llama'))
|
|
56
|
+
return 8192;
|
|
57
|
+
if (lowerId.includes('mistral'))
|
|
58
|
+
return 32768;
|
|
59
|
+
return 8192;
|
|
60
|
+
}
|
|
61
|
+
checkState(messages, modelString) {
|
|
62
|
+
const contextLimit = this.getModelContextLimit(modelString);
|
|
63
|
+
const outputReserve = Math.floor(contextLimit * this.config.outputReserve);
|
|
64
|
+
const maxTokens = contextLimit - outputReserve;
|
|
65
|
+
const threshold = Math.floor(maxTokens * this.config.compressionThreshold);
|
|
66
|
+
const currentTokens = countMessagesTokens(messages);
|
|
67
|
+
const utilizationPercent = (currentTokens / maxTokens) * 100;
|
|
68
|
+
const needsCompression = currentTokens > threshold;
|
|
69
|
+
return {
|
|
70
|
+
currentTokens,
|
|
71
|
+
maxTokens,
|
|
72
|
+
availableTokens: maxTokens - currentTokens,
|
|
73
|
+
utilizationPercent,
|
|
74
|
+
needsCompression,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
shouldCompress(messages, modelString) {
|
|
78
|
+
if (!this.config.enabled)
|
|
79
|
+
return false;
|
|
80
|
+
const state = this.checkState(messages, modelString);
|
|
81
|
+
return state.needsCompression;
|
|
82
|
+
}
|
|
83
|
+
async compress(messages, modelString) {
|
|
84
|
+
const state = this.checkState(messages, modelString);
|
|
85
|
+
if (!state.needsCompression) {
|
|
86
|
+
return {
|
|
87
|
+
messages,
|
|
88
|
+
originalTokens: state.currentTokens,
|
|
89
|
+
compressedTokens: state.currentTokens,
|
|
90
|
+
strategy: this.config.strategy,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
let backend;
|
|
94
|
+
let summaryModel = this.config.summaryModel;
|
|
95
|
+
if (summaryModel && this.deps.getBackend) {
|
|
96
|
+
backend = this.deps.getBackend(summaryModel);
|
|
97
|
+
}
|
|
98
|
+
else if (this.deps.getBackend && this.config.strategy === 'summarize') {
|
|
99
|
+
summaryModel = modelString;
|
|
100
|
+
backend = this.deps.getBackend(modelString);
|
|
101
|
+
}
|
|
102
|
+
const ctx = {
|
|
103
|
+
messages,
|
|
104
|
+
targetTokens: state.maxTokens,
|
|
105
|
+
currentTokens: state.currentTokens,
|
|
106
|
+
windowSize: this.config.windowSize,
|
|
107
|
+
backend,
|
|
108
|
+
summaryModel: summaryModel ? parseModel(summaryModel).model : undefined,
|
|
109
|
+
};
|
|
110
|
+
return this.strategy.compress(ctx);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=context-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../src/context/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CompressionContext, CompressionResult, CompressionStrategyHandler } from '@cogitator-ai/types';
|
|
2
|
+
export declare class HybridStrategy implements CompressionStrategyHandler {
|
|
3
|
+
readonly name: "hybrid";
|
|
4
|
+
private truncate;
|
|
5
|
+
private slidingWindow;
|
|
6
|
+
private summarize;
|
|
7
|
+
compress(ctx: CompressionContext): Promise<CompressionResult>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=hybrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid.d.ts","sourceRoot":"","sources":["../../../src/context/strategies/hybrid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAM7B,qBAAa,cAAe,YAAW,0BAA0B;IAC/D,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAElC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,SAAS,CAA2B;IAEtC,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAiCpE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { countMessagesTokens } from './token-utils';
|
|
2
|
+
import { TruncateStrategy } from './truncate';
|
|
3
|
+
import { SlidingWindowStrategy } from './sliding-window';
|
|
4
|
+
import { SummarizeStrategy } from './summarize';
|
|
5
|
+
export class HybridStrategy {
|
|
6
|
+
name = 'hybrid';
|
|
7
|
+
truncate = new TruncateStrategy();
|
|
8
|
+
slidingWindow = new SlidingWindowStrategy();
|
|
9
|
+
summarize = new SummarizeStrategy();
|
|
10
|
+
async compress(ctx) {
|
|
11
|
+
const { messages, targetTokens, backend, summaryModel } = ctx;
|
|
12
|
+
const currentTokens = countMessagesTokens(messages);
|
|
13
|
+
if (currentTokens <= targetTokens) {
|
|
14
|
+
return {
|
|
15
|
+
messages,
|
|
16
|
+
originalTokens: currentTokens,
|
|
17
|
+
compressedTokens: currentTokens,
|
|
18
|
+
strategy: this.name,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const utilization = currentTokens / targetTokens;
|
|
22
|
+
if (utilization <= 1.5) {
|
|
23
|
+
const result = await this.slidingWindow.compress(ctx);
|
|
24
|
+
return { ...result, strategy: this.name };
|
|
25
|
+
}
|
|
26
|
+
if (backend && summaryModel) {
|
|
27
|
+
const result = await this.summarize.compress(ctx);
|
|
28
|
+
return { ...result, strategy: this.name };
|
|
29
|
+
}
|
|
30
|
+
if (utilization <= 2.0) {
|
|
31
|
+
const result = await this.slidingWindow.compress(ctx);
|
|
32
|
+
return { ...result, strategy: this.name };
|
|
33
|
+
}
|
|
34
|
+
const result = await this.truncate.compress(ctx);
|
|
35
|
+
return { ...result, strategy: this.name };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=hybrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/context/strategies/hybrid.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAiB,CAAC;IAE1B,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAClC,aAAa,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC5C,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAE5C,KAAK,CAAC,QAAQ,CAAC,GAAuB;QACpC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;QAC9D,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;YAClC,OAAO;gBACL,QAAQ;gBACR,cAAc,EAAE,aAAa;gBAC7B,gBAAgB,EAAE,aAAa;gBAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;aACpB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;QAEjD,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAClD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { TruncateStrategy } from './truncate';
|
|
2
|
+
export { SlidingWindowStrategy } from './sliding-window';
|
|
3
|
+
export { SummarizeStrategy } from './summarize';
|
|
4
|
+
export { HybridStrategy } from './hybrid';
|
|
5
|
+
export { countTokens, countMessageTokens, countMessagesTokens } from './token-utils';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { TruncateStrategy } from './truncate';
|
|
2
|
+
export { SlidingWindowStrategy } from './sliding-window';
|
|
3
|
+
export { SummarizeStrategy } from './summarize';
|
|
4
|
+
export { HybridStrategy } from './hybrid';
|
|
5
|
+
export { countTokens, countMessageTokens, countMessagesTokens } from './token-utils';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/strategies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
|