joonecli 0.1.1 → 0.2.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/dist/__tests__/config.test.js +1 -0
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/installHostDeps.test.js +45 -0
- package/dist/__tests__/installHostDeps.test.js.map +1 -0
- package/dist/__tests__/whitelistedBackend.test.js +18 -0
- package/dist/__tests__/whitelistedBackend.test.js.map +1 -0
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.js +1 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/index.js +84 -97
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/builtinCommands.js +6 -6
- package/dist/commands/builtinCommands.js.map +1 -1
- package/dist/commands/commandRegistry.d.ts +3 -1
- package/dist/commands/commandRegistry.js.map +1 -1
- package/dist/core/agentLoop.d.ts +11 -28
- package/dist/core/agentLoop.js +68 -229
- package/dist/core/agentLoop.js.map +1 -1
- package/dist/core/compactor.js +2 -2
- package/dist/core/compactor.js.map +1 -1
- package/dist/core/contextGuard.d.ts +5 -0
- package/dist/core/contextGuard.js +30 -3
- package/dist/core/contextGuard.js.map +1 -1
- package/dist/core/events.d.ts +45 -0
- package/dist/core/events.js +8 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/promptBuilder.js.map +1 -1
- package/dist/core/sessionStore.js +3 -2
- package/dist/core/sessionStore.js.map +1 -1
- package/dist/core/tokenCounter.d.ts +8 -1
- package/dist/core/tokenCounter.js +28 -0
- package/dist/core/tokenCounter.js.map +1 -1
- package/dist/hitl/bridge.js +1 -27
- package/dist/hitl/bridge.js.map +1 -1
- package/dist/middleware/loopDetection.d.ts +7 -23
- package/dist/middleware/loopDetection.js +38 -42
- package/dist/middleware/loopDetection.js.map +1 -1
- package/dist/sandbox/whitelistedBackend.d.ts +5 -0
- package/dist/sandbox/whitelistedBackend.js +27 -0
- package/dist/sandbox/whitelistedBackend.js.map +1 -0
- package/dist/tools/askUser.d.ts +12 -3
- package/dist/tools/askUser.js +16 -28
- package/dist/tools/askUser.js.map +1 -1
- package/dist/tools/bashTool.d.ts +11 -0
- package/dist/tools/bashTool.js +51 -0
- package/dist/tools/bashTool.js.map +1 -0
- package/dist/tools/index.d.ts +15 -27
- package/dist/tools/index.js +9 -181
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/installHostDeps.d.ts +8 -0
- package/dist/tools/installHostDeps.js +44 -0
- package/dist/tools/installHostDeps.js.map +1 -0
- package/dist/tracing/sessionTracer.d.ts +1 -0
- package/dist/tracing/sessionTracer.js +4 -1
- package/dist/tracing/sessionTracer.js.map +1 -1
- package/dist/ui/App.js +116 -55
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/ActionLog.d.ts +7 -0
- package/dist/ui/components/ActionLog.js +63 -0
- package/dist/ui/components/ActionLog.js.map +1 -0
- package/dist/ui/components/FileBrowser.d.ts +2 -0
- package/dist/ui/components/FileBrowser.js +41 -0
- package/dist/ui/components/FileBrowser.js.map +1 -0
- package/dist/ui/components/MessageBubble.js +1 -1
- package/dist/ui/components/MessageBubble.js.map +1 -1
- package/package.json +8 -5
- package/AGENTS.md +0 -56
- package/Handover.md +0 -115
- package/PROGRESS.md +0 -160
- package/dist/__tests__/m55.test.js +0 -160
- package/dist/__tests__/m55.test.js.map +0 -1
- package/dist/__tests__/middleware.test.js +0 -169
- package/dist/__tests__/middleware.test.js.map +0 -1
- package/dist/__tests__/optimizations.test.d.ts +0 -1
- package/dist/__tests__/optimizations.test.js +0 -136
- package/dist/__tests__/optimizations.test.js.map +0 -1
- package/dist/__tests__/security.test.d.ts +0 -1
- package/dist/__tests__/security.test.js +0 -86
- package/dist/__tests__/security.test.js.map +0 -1
- package/dist/__tests__/streaming.test.d.ts +0 -1
- package/dist/__tests__/streaming.test.js +0 -71
- package/dist/__tests__/streaming.test.js.map +0 -1
- package/dist/__tests__/toolRouter.test.d.ts +0 -1
- package/dist/__tests__/toolRouter.test.js +0 -37
- package/dist/__tests__/toolRouter.test.js.map +0 -1
- package/dist/__tests__/tools.test.d.ts +0 -1
- package/dist/__tests__/tools.test.js +0 -112
- package/dist/__tests__/tools.test.js.map +0 -1
- package/dist/core/subAgent.d.ts +0 -56
- package/dist/core/subAgent.js +0 -240
- package/dist/core/subAgent.js.map +0 -1
- package/dist/debug_google.d.ts +0 -1
- package/dist/debug_google.js +0 -23
- package/dist/debug_google.js.map +0 -1
- package/dist/middleware/commandSanitizer.d.ts +0 -18
- package/dist/middleware/commandSanitizer.js +0 -50
- package/dist/middleware/commandSanitizer.js.map +0 -1
- package/dist/middleware/permission.d.ts +0 -17
- package/dist/middleware/permission.js +0 -59
- package/dist/middleware/permission.js.map +0 -1
- package/dist/middleware/pipeline.d.ts +0 -31
- package/dist/middleware/pipeline.js +0 -62
- package/dist/middleware/pipeline.js.map +0 -1
- package/dist/middleware/preCompletion.d.ts +0 -29
- package/dist/middleware/preCompletion.js +0 -82
- package/dist/middleware/preCompletion.js.map +0 -1
- package/dist/middleware/types.d.ts +0 -40
- package/dist/middleware/types.js +0 -8
- package/dist/middleware/types.js.map +0 -1
- package/dist/skills/loader.d.ts +0 -55
- package/dist/skills/loader.js +0 -132
- package/dist/skills/loader.js.map +0 -1
- package/dist/skills/tools.d.ts +0 -5
- package/dist/skills/tools.js +0 -78
- package/dist/skills/tools.js.map +0 -1
- package/dist/test_cache.d.ts +0 -1
- package/dist/test_cache.js +0 -55
- package/dist/test_cache.js.map +0 -1
- package/dist/test_google.d.ts +0 -1
- package/dist/test_google.js +0 -36
- package/dist/test_google.js.map +0 -1
- package/dist/tools/browser.d.ts +0 -19
- package/dist/tools/browser.js +0 -111
- package/dist/tools/browser.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -31
- package/dist/tools/registry.js +0 -168
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/router.d.ts +0 -34
- package/dist/tools/router.js +0 -75
- package/dist/tools/router.js.map +0 -1
- package/dist/tools/security.d.ts +0 -28
- package/dist/tools/security.js +0 -183
- package/dist/tools/security.js.map +0 -1
- package/dist/tools/spawnAgent.d.ts +0 -19
- package/dist/tools/spawnAgent.js +0 -130
- package/dist/tools/spawnAgent.js.map +0 -1
- package/dist/tools/webSearch.d.ts +0 -6
- package/dist/tools/webSearch.js +0 -120
- package/dist/tools/webSearch.js.map +0 -1
- package/docs/01_insights_and_patterns.md +0 -27
- package/docs/02_edge_cases_and_mitigations.md +0 -143
- package/docs/03_initial_implementation_plan.md +0 -66
- package/docs/04_tech_stack_proposal.md +0 -20
- package/docs/05_prd.md +0 -87
- package/docs/06_user_stories.md +0 -72
- package/docs/07_system_architecture.md +0 -138
- package/docs/08_roadmap.md +0 -200
- package/e2b/Dockerfile +0 -26
- package/src/__tests__/bootstrap.test.ts +0 -111
- package/src/__tests__/config.test.ts +0 -97
- package/src/__tests__/m55.test.ts +0 -238
- package/src/__tests__/middleware.test.ts +0 -219
- package/src/__tests__/modelFactory.test.ts +0 -63
- package/src/__tests__/optimizations.test.ts +0 -201
- package/src/__tests__/promptBuilder.test.ts +0 -141
- package/src/__tests__/sandbox.test.ts +0 -102
- package/src/__tests__/security.test.ts +0 -122
- package/src/__tests__/streaming.test.ts +0 -82
- package/src/__tests__/toolRouter.test.ts +0 -52
- package/src/__tests__/tools.test.ts +0 -146
- package/src/__tests__/tracing.test.ts +0 -196
- package/src/agents/agentRegistry.ts +0 -69
- package/src/agents/agentSpec.ts +0 -67
- package/src/agents/builtinAgents.ts +0 -142
- package/src/cli/config.ts +0 -124
- package/src/cli/index.ts +0 -742
- package/src/cli/modelFactory.ts +0 -174
- package/src/cli/postinstall.ts +0 -28
- package/src/cli/providers.ts +0 -107
- package/src/commands/builtinCommands.ts +0 -293
- package/src/commands/commandRegistry.ts +0 -194
- package/src/core/agentLoop.d.ts.map +0 -1
- package/src/core/agentLoop.ts +0 -312
- package/src/core/autoSave.ts +0 -95
- package/src/core/compactor.ts +0 -252
- package/src/core/contextGuard.ts +0 -129
- package/src/core/errors.ts +0 -202
- package/src/core/promptBuilder.d.ts.map +0 -1
- package/src/core/promptBuilder.ts +0 -139
- package/src/core/reasoningRouter.ts +0 -121
- package/src/core/retry.ts +0 -75
- package/src/core/sessionResumer.ts +0 -90
- package/src/core/sessionStore.ts +0 -216
- package/src/core/subAgent.ts +0 -339
- package/src/core/tokenCounter.ts +0 -64
- package/src/evals/dataset.ts +0 -67
- package/src/evals/evaluator.ts +0 -81
- package/src/hitl/bridge.ts +0 -160
- package/src/middleware/commandSanitizer.ts +0 -60
- package/src/middleware/loopDetection.ts +0 -63
- package/src/middleware/permission.ts +0 -72
- package/src/middleware/pipeline.ts +0 -75
- package/src/middleware/preCompletion.ts +0 -94
- package/src/middleware/types.ts +0 -45
- package/src/sandbox/bootstrap.ts +0 -121
- package/src/sandbox/manager.ts +0 -239
- package/src/sandbox/sync.ts +0 -157
- package/src/skills/loader.ts +0 -143
- package/src/skills/tools.ts +0 -99
- package/src/skills/types.ts +0 -13
- package/src/test_cache.ts +0 -72
- package/src/tools/askUser.ts +0 -47
- package/src/tools/browser.ts +0 -137
- package/src/tools/index.d.ts.map +0 -1
- package/src/tools/index.ts +0 -237
- package/src/tools/registry.ts +0 -198
- package/src/tools/router.ts +0 -78
- package/src/tools/security.ts +0 -220
- package/src/tools/spawnAgent.ts +0 -158
- package/src/tools/webSearch.ts +0 -142
- package/src/tracing/analyzer.ts +0 -265
- package/src/tracing/langsmith.ts +0 -63
- package/src/tracing/sessionTracer.ts +0 -202
- package/src/tracing/types.ts +0 -49
- package/src/types/valyu.d.ts +0 -37
- package/src/ui/App.tsx +0 -404
- package/src/ui/components/HITLPrompt.tsx +0 -119
- package/src/ui/components/Header.tsx +0 -51
- package/src/ui/components/MessageBubble.tsx +0 -46
- package/src/ui/components/StatusBar.tsx +0 -138
- package/src/ui/components/StreamingText.tsx +0 -48
- package/src/ui/components/ToolCallPanel.tsx +0 -80
- package/tests/commands/commands.test.ts +0 -356
- package/tests/core/compactor.test.ts +0 -217
- package/tests/core/retryAndErrors.test.ts +0 -164
- package/tests/core/sessionResumer.test.ts +0 -95
- package/tests/core/sessionStore.test.ts +0 -84
- package/tests/core/stability.test.ts +0 -165
- package/tests/core/subAgent.test.ts +0 -238
- package/tests/hitl/hitlBridge.test.ts +0 -115
- package/tsconfig.json +0 -16
- package/vitest.config.ts +0 -10
- package/vitest.out +0 -48
- /package/dist/__tests__/{m55.test.d.ts → installHostDeps.test.d.ts} +0 -0
- /package/dist/__tests__/{middleware.test.d.ts → whitelistedBackend.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtinCommands.js","sourceRoot":"","sources":["../../src/commands/builtinCommands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE7E,mFAAmF;AAEnF,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,6BAA6B;IAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,2DAA2D;QAC3D,4EAA4E;QAC5E,MAAM,KAAK,GAAG;YACZ,uBAAuB;YACvB,+CAA+C;YAC/C,2DAA2D;YAC3D,mDAAmD;YACnD,4DAA4D;YAC5D,iDAAiD;YACjD,4CAA4C;YAC5C,kDAAkD;YAClD,wDAAwD;YACxD,yCAAyC;SAC1C,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC;AAEF,mFAAmF;AAEnF,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,WAAW,EAAE,wCAAwC;IACrD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,kBAAkB,GAAG,CAAC,KAAK,eAAe,GAAG,CAAC,QAAQ,KAAK;gBAChE,gCAAgC,CAAC;QACrC,CAAC;QAED,sEAAsE;QACtE,0DAA0D;QAC1D,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,iDAAiD;YACtD,WAAW,QAAQ,0BAA0B;YAC7C,kBAAkB;YAClB,kCAAkC;YAClC,kBAAkB,GAAG,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF,CAAC;AAEF,mFAAmF;AAEnF,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC9D,GAAG,CAAC,eAAe,CAAC;YAClB,GAAG,GAAG,CAAC,YAAY;YACnB,mBAAmB,EAAE,EAAE;SACxB,CAAC,CAAC;QACH,OAAO,aAAa,SAAS,wCAAwC;YACnE,8CAA8C,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,mFAAmF;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,qCAAqC;IAClD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,mBAAmB,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,kCAAkC,OAAO,CAAC,MAAM,uBAAuB,CAAC;QACjF,CAAC;QAED,MAAM,WAAW,GAAG;YAClB,GAAG,OAAO,EAAE,qEAAqE;SAClF,CAAC;QACF,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"builtinCommands.js","sourceRoot":"","sources":["../../src/commands/builtinCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,10 @@ export interface CommandContext {
|
|
|
34
34
|
provider: string;
|
|
35
35
|
/** Current model name. */
|
|
36
36
|
model: string;
|
|
37
|
-
/** Max tokens (
|
|
37
|
+
/** Max tokens (generation limit). */
|
|
38
38
|
maxTokens: number;
|
|
39
|
+
/** True context window token limit. */
|
|
40
|
+
contextTokens: number;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
43
|
* A registered slash command.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../src/commands/commandRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"commandRegistry.js","sourceRoot":"","sources":["../../src/commands/commandRegistry.ts"],"names":[],"mappings":"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"}
|
package/dist/core/agentLoop.d.ts
CHANGED
|
@@ -1,46 +1,29 @@
|
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
2
|
+
import { AgentEventEmitter } from "./events.js";
|
|
1
3
|
import { BaseChatModel } from "@langchain/core/language_models/chat_models";
|
|
2
|
-
import {
|
|
4
|
+
import { AIMessageChunk } from "@langchain/core/messages";
|
|
3
5
|
import { Runnable } from "@langchain/core/runnables";
|
|
4
6
|
import { ContextState } from "./promptBuilder.js";
|
|
5
|
-
import { DynamicToolInterface } from "../tools/index.js";
|
|
6
|
-
import { MiddlewarePipeline } from "../middleware/pipeline.js";
|
|
7
7
|
import { SessionTracer } from "../tracing/sessionTracer.js";
|
|
8
8
|
import { AutoSave } from "./autoSave.js";
|
|
9
|
+
import { StructuredTool } from "langchain";
|
|
10
|
+
import { Command } from "@langchain/langgraph";
|
|
9
11
|
export interface StreamStepOptions {
|
|
10
12
|
/** Called for each text token received from the stream. */
|
|
11
13
|
onToken?: (token: string) => void;
|
|
12
14
|
}
|
|
13
|
-
export declare class ExecutionHarness {
|
|
14
|
-
private
|
|
15
|
-
private promptBuilder;
|
|
16
|
-
private availableTools;
|
|
17
|
-
private pipeline;
|
|
15
|
+
export declare class ExecutionHarness extends EventEmitter implements AgentEventEmitter {
|
|
16
|
+
private agent;
|
|
18
17
|
tracer: SessionTracer;
|
|
19
18
|
private sessionStore;
|
|
20
19
|
sessionId: string;
|
|
21
20
|
private provider;
|
|
22
21
|
private model;
|
|
23
|
-
private contextGuard;
|
|
24
22
|
autoSave: AutoSave;
|
|
23
|
+
constructor(boundLlm: Runnable<any, AIMessageChunk> | BaseChatModel, tools?: StructuredTool[], tracer?: SessionTracer, provider?: string, model?: string, sessionId?: string, maxTokens?: number, permissionMode?: string, executionMode?: "host" | "sandbox");
|
|
25
24
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* Executes the agent loop autonomously, yielding events instead of
|
|
26
|
+
* requiring App.tsx to manually loop.
|
|
28
27
|
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* The main execution engine (non-streaming).
|
|
32
|
-
* Takes the context state, builds the cache-optimized prompt, and queries the LLM.
|
|
33
|
-
*/
|
|
34
|
-
step(state: ContextState): Promise<AIMessage>;
|
|
35
|
-
/**
|
|
36
|
-
* Streaming execution engine.
|
|
37
|
-
* Streams text tokens via the onToken callback and buffers tool call chunks
|
|
38
|
-
* until the full call is received. Returns a complete AIMessage for history.
|
|
39
|
-
*/
|
|
40
|
-
streamStep(state: ContextState, options: StreamStepOptions): Promise<AIMessage>;
|
|
41
|
-
/**
|
|
42
|
-
* Executes tool calls from an AI response, routing through the middleware pipeline.
|
|
43
|
-
* Each call passes through all registered before-hooks, then the tool, then after-hooks.
|
|
44
|
-
*/
|
|
45
|
-
executeToolCalls(aiMessage: AIMessage, state: ContextState): Promise<(ToolMessage | HumanMessage)[]>;
|
|
28
|
+
run(state: ContextState, resumeCommand?: Command): AsyncGenerator<any>;
|
|
46
29
|
}
|
package/dist/core/agentLoop.js
CHANGED
|
@@ -1,257 +1,96 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CacheOptimizedPromptBuilder } from "./promptBuilder.js";
|
|
3
|
-
import { MiddlewarePipeline } from "../middleware/pipeline.js";
|
|
1
|
+
import { EventEmitter } from "node:events";
|
|
4
2
|
import { SessionTracer } from "../tracing/sessionTracer.js";
|
|
5
|
-
import { countMessageTokens } from "./tokenCounter.js";
|
|
6
3
|
import { SessionStore } from "./sessionStore.js";
|
|
7
|
-
import {
|
|
8
|
-
import { wrapLLMError, JooneError, ToolExecutionError } from "./errors.js";
|
|
9
|
-
import { ContextGuard } from "./contextGuard.js";
|
|
4
|
+
import { SystemMessage } from "@langchain/core/messages";
|
|
10
5
|
import { AutoSave } from "./autoSave.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
import { createDeepAgent } from "deepagents";
|
|
7
|
+
import { WhitelistedLocalShellBackend } from "../sandbox/whitelistedBackend.js";
|
|
8
|
+
import { createMiddleware } from "langchain";
|
|
9
|
+
import { createLoopDetectionMiddleware } from "../middleware/loopDetection.js";
|
|
10
|
+
import { MemorySaver } from "@langchain/langgraph";
|
|
11
|
+
export class ExecutionHarness extends EventEmitter {
|
|
12
|
+
agent;
|
|
16
13
|
tracer;
|
|
17
14
|
sessionStore;
|
|
18
15
|
sessionId;
|
|
19
16
|
provider;
|
|
20
17
|
model;
|
|
21
|
-
contextGuard;
|
|
22
18
|
autoSave;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* This allows swapping between Anthropic Claude, OpenAI GPT-4, Google Gemini, etc.
|
|
26
|
-
*/
|
|
27
|
-
constructor(boundLlm, tools = [], pipeline, tracer, provider = "unknown", model = "unknown", sessionId, maxTokens = 4096) {
|
|
28
|
-
this.llm = boundLlm;
|
|
29
|
-
this.promptBuilder = new CacheOptimizedPromptBuilder();
|
|
30
|
-
this.availableTools = tools;
|
|
31
|
-
this.pipeline = pipeline ?? new MiddlewarePipeline();
|
|
19
|
+
constructor(boundLlm, tools = [], tracer, provider = "unknown", model = "unknown", sessionId, maxTokens = 4096, permissionMode = "auto", executionMode = "host") {
|
|
20
|
+
super();
|
|
32
21
|
this.tracer = tracer ?? new SessionTracer();
|
|
33
22
|
this.sessionStore = new SessionStore();
|
|
34
23
|
this.sessionId = sessionId ?? this.tracer.getSessionId();
|
|
35
24
|
this.provider = provider;
|
|
36
25
|
this.model = model;
|
|
37
|
-
this.contextGuard = new ContextGuard(this.llm, maxTokens, this.promptBuilder);
|
|
38
26
|
this.autoSave = new AutoSave(this.sessionId, this.sessionStore);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
*/
|
|
44
|
-
async step(state) {
|
|
45
|
-
const start = Date.now();
|
|
46
|
-
// ContextGuard: Check capacity before building prompt
|
|
47
|
-
const { state: updatedState, metrics } = await this.contextGuard.ensureCapacity(state);
|
|
48
|
-
state = updatedState; // Reassign state if compacted
|
|
49
|
-
const messages = this.promptBuilder.buildPrompt(state);
|
|
50
|
-
console.error("=== JOONE MESSAGES ===", JSON.stringify(messages.map(m => ({ type: m._getType(), content: m.content })), null, 2));
|
|
51
|
-
try {
|
|
52
|
-
const response = await retryWithBackoff(() => this.llm.invoke(messages).catch((e) => { throw wrapLLMError(e, this.provider); }), {
|
|
53
|
-
onRetry: (attempt, error, delay) => {
|
|
54
|
-
this.tracer.recordError({ message: `LLM retry #${attempt}: ${error.message} (waiting ${delay}ms)` });
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
const promptTokens = countMessageTokens(messages);
|
|
58
|
-
const completionTokens = countMessageTokens([response]);
|
|
59
|
-
this.tracer.recordLLMCall({
|
|
60
|
-
promptTokens,
|
|
61
|
-
completionTokens,
|
|
62
|
-
cached: false,
|
|
63
|
-
duration: Date.now() - start
|
|
64
|
-
});
|
|
65
|
-
await this.autoSave.tick({ config: { provider: this.provider, model: this.model }, state });
|
|
66
|
-
return response;
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
// Self-recovery: inject the error hint and let the agent adapt
|
|
70
|
-
if (error instanceof JooneError && error.retryable) {
|
|
71
|
-
this.tracer.recordError({ message: `LLM retries exhausted: ${error.message}` });
|
|
72
|
-
state.conversationHistory.push(new HumanMessage(`<system-alert>\nSystem recovery hint:\n${error.toRecoveryHint()}\n</system-alert>`));
|
|
73
|
-
await this.autoSave.forceSave({ config: { provider: this.provider, model: this.model }, state });
|
|
74
|
-
// Return a synthetic AI message so the turn doesn't crash
|
|
75
|
-
return new AIMessage(error.toRecoveryHint());
|
|
76
|
-
}
|
|
77
|
-
throw error; // Fatal (auth, config) — propagate to TUI
|
|
27
|
+
const checkpointer = new MemorySaver();
|
|
28
|
+
let interruptOn = undefined;
|
|
29
|
+
if (permissionMode === "ask_dangerous") {
|
|
30
|
+
interruptOn = { "bash": true, "write_file": true, "install_host_dependencies": true };
|
|
78
31
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
*/
|
|
85
|
-
async streamStep(state, options) {
|
|
86
|
-
const start = Date.now();
|
|
87
|
-
// ContextGuard: Check capacity before building prompt
|
|
88
|
-
const { state: updatedState, metrics } = await this.contextGuard.ensureCapacity(state);
|
|
89
|
-
state = updatedState;
|
|
90
|
-
const messages = this.promptBuilder.buildPrompt(state);
|
|
91
|
-
try {
|
|
92
|
-
const result = await retryWithBackoff(async () => {
|
|
93
|
-
let fullContent = "";
|
|
94
|
-
const toolCallBuffers = new Map();
|
|
95
|
-
let stream;
|
|
96
|
-
try {
|
|
97
|
-
stream = await this.llm.stream(messages);
|
|
98
|
-
}
|
|
99
|
-
catch (e) {
|
|
100
|
-
throw wrapLLMError(e, this.provider);
|
|
101
|
-
}
|
|
102
|
-
for await (const chunk of stream) {
|
|
103
|
-
if (chunk.content && typeof chunk.content === "string") {
|
|
104
|
-
fullContent += chunk.content;
|
|
105
|
-
if (options.onToken) {
|
|
106
|
-
options.onToken(chunk.content);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (chunk.tool_call_chunks && chunk.tool_call_chunks.length > 0) {
|
|
110
|
-
for (const tc of chunk.tool_call_chunks) {
|
|
111
|
-
const idx = tc.index ?? 0;
|
|
112
|
-
if (!toolCallBuffers.has(idx)) {
|
|
113
|
-
toolCallBuffers.set(idx, {
|
|
114
|
-
id: tc.id || "",
|
|
115
|
-
name: tc.name || "",
|
|
116
|
-
argsJson: "",
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
const buf = toolCallBuffers.get(idx);
|
|
120
|
-
if (tc.id)
|
|
121
|
-
buf.id = tc.id;
|
|
122
|
-
if (tc.name)
|
|
123
|
-
buf.name = tc.name;
|
|
124
|
-
if (tc.args)
|
|
125
|
-
buf.argsJson += tc.args;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
32
|
+
else if (permissionMode === "ask_all") {
|
|
33
|
+
// Note: Ask user question tool expects to run normally
|
|
34
|
+
interruptOn = tools.reduce((acc, t) => {
|
|
35
|
+
if (t.name !== "ask_user_question") {
|
|
36
|
+
acc[t.name] = true;
|
|
128
37
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
name: buf.name,
|
|
132
|
-
args: (() => {
|
|
133
|
-
try {
|
|
134
|
-
return JSON.parse(buf.argsJson || "{}");
|
|
135
|
-
}
|
|
136
|
-
catch {
|
|
137
|
-
return { _parseError: true, rawArgs: buf.argsJson };
|
|
138
|
-
}
|
|
139
|
-
})(),
|
|
140
|
-
type: "tool_call",
|
|
141
|
-
}));
|
|
142
|
-
return new AIMessage({
|
|
143
|
-
content: fullContent,
|
|
144
|
-
tool_calls: toolCalls.length > 0 ? toolCalls : undefined,
|
|
145
|
-
});
|
|
146
|
-
}, {
|
|
147
|
-
onRetry: (attempt, error, delay) => {
|
|
148
|
-
this.tracer.recordError({ message: `LLM stream retry #${attempt}: ${error.message} (waiting ${delay}ms)` });
|
|
149
|
-
},
|
|
150
|
-
});
|
|
151
|
-
const promptTokens = countMessageTokens(messages);
|
|
152
|
-
const completionTokens = countMessageTokens([result]);
|
|
153
|
-
this.tracer.recordLLMCall({
|
|
154
|
-
promptTokens,
|
|
155
|
-
completionTokens,
|
|
156
|
-
cached: false,
|
|
157
|
-
duration: Date.now() - start
|
|
158
|
-
});
|
|
159
|
-
await this.autoSave.tick({ config: { provider: this.provider, model: this.model }, state });
|
|
160
|
-
return result;
|
|
38
|
+
return acc;
|
|
39
|
+
}, {});
|
|
161
40
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
state.
|
|
167
|
-
|
|
168
|
-
|
|
41
|
+
const injectSystemMessage = createMiddleware({
|
|
42
|
+
name: "InjectSystemMessage",
|
|
43
|
+
beforeAgent: async (request, handler) => {
|
|
44
|
+
const { state } = request;
|
|
45
|
+
const sysContent = `${state.globalSystemInstructions}\n\nProject Memory:\n${state.projectMemory}\n\nSession Context:\n${state.sessionContext}`;
|
|
46
|
+
return handler({
|
|
47
|
+
...request,
|
|
48
|
+
systemMessage: new SystemMessage(sysContent),
|
|
49
|
+
});
|
|
169
50
|
}
|
|
170
|
-
|
|
171
|
-
|
|
51
|
+
});
|
|
52
|
+
const backend = executionMode === "sandbox"
|
|
53
|
+
? new WhitelistedLocalShellBackend({ rootDir: process.cwd(), virtualMode: true }) // TODO: CloudSandboxBackend
|
|
54
|
+
: new WhitelistedLocalShellBackend({ rootDir: process.cwd(), virtualMode: false });
|
|
55
|
+
this.agent = createDeepAgent({
|
|
56
|
+
model: boundLlm,
|
|
57
|
+
tools: tools,
|
|
58
|
+
backend,
|
|
59
|
+
systemPrompt: "", // Injected via middleware
|
|
60
|
+
middleware: [injectSystemMessage, createLoopDetectionMiddleware(3)],
|
|
61
|
+
checkpointer,
|
|
62
|
+
interruptOn,
|
|
63
|
+
});
|
|
172
64
|
}
|
|
173
65
|
/**
|
|
174
|
-
* Executes
|
|
175
|
-
*
|
|
66
|
+
* Executes the agent loop autonomously, yielding events instead of
|
|
67
|
+
* requiring App.tsx to manually loop.
|
|
176
68
|
*/
|
|
177
|
-
async
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}));
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
const tool = this.availableTools.find(t => t.name === call.name);
|
|
202
|
-
if (!tool) {
|
|
203
|
-
this.tracer.recordError({ message: `Tool ${call.name} not found`, tool: call.name });
|
|
204
|
-
results.push(new ToolMessage({
|
|
205
|
-
content: `Error: Tool ${call.name} not found.`,
|
|
206
|
-
tool_call_id: safeCallId
|
|
207
|
-
}));
|
|
208
|
-
continue;
|
|
209
|
-
}
|
|
210
|
-
const ctx = {
|
|
211
|
-
toolName: call.name,
|
|
212
|
-
args: call.args,
|
|
213
|
-
callId: safeCallId,
|
|
214
|
-
};
|
|
215
|
-
const start = Date.now();
|
|
216
|
-
try {
|
|
217
|
-
const output = await this.pipeline.run(ctx, async (c) => tool.execute(c.args));
|
|
218
|
-
this.tracer.recordToolCall({
|
|
219
|
-
name: call.name,
|
|
220
|
-
args: call.args,
|
|
221
|
-
result: typeof output === "string" ? output : JSON.stringify(output).substring(0, 100),
|
|
222
|
-
duration: Date.now() - start,
|
|
223
|
-
success: true
|
|
224
|
-
});
|
|
225
|
-
const stringifiedOutput = typeof output === "string" ? output : JSON.stringify(output);
|
|
226
|
-
results.push(new ToolMessage({
|
|
227
|
-
content: stringifiedOutput,
|
|
228
|
-
tool_call_id: safeCallId
|
|
229
|
-
}));
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
const toolError = new ToolExecutionError(error.message, {
|
|
233
|
-
toolName: call.name,
|
|
234
|
-
args: call.args,
|
|
235
|
-
retryable: false,
|
|
236
|
-
cause: error,
|
|
237
|
-
});
|
|
238
|
-
this.tracer.recordToolCall({
|
|
239
|
-
name: call.name,
|
|
240
|
-
args: call.args,
|
|
241
|
-
duration: Date.now() - start,
|
|
242
|
-
success: false
|
|
243
|
-
});
|
|
244
|
-
this.tracer.recordError({ message: toolError.message, tool: call.name });
|
|
245
|
-
results.push(new ToolMessage({
|
|
246
|
-
content: toolError.toRecoveryHint(),
|
|
247
|
-
tool_call_id: safeCallId
|
|
248
|
-
}));
|
|
69
|
+
async *run(state, resumeCommand) {
|
|
70
|
+
const streamOptions = {
|
|
71
|
+
configurable: { thread_id: this.sessionId },
|
|
72
|
+
streamMode: "values"
|
|
73
|
+
};
|
|
74
|
+
const config = resumeCommand ? resumeCommand : state;
|
|
75
|
+
// If resuming an interrupt, we pass a Command object.
|
|
76
|
+
// Otherwise, we pass the state.
|
|
77
|
+
const stream = await this.agent.streamEvents(config, {
|
|
78
|
+
...streamOptions,
|
|
79
|
+
version: "v2"
|
|
80
|
+
});
|
|
81
|
+
for await (const event of stream) {
|
|
82
|
+
// Let the UI know about tool execution and token generation
|
|
83
|
+
if (event.event === "on_chat_model_stream") {
|
|
84
|
+
if (event.data?.chunk?.content) {
|
|
85
|
+
this.emit("agent:event", {
|
|
86
|
+
type: "agent:stream",
|
|
87
|
+
token: event.data.chunk.content
|
|
88
|
+
});
|
|
89
|
+
}
|
|
249
90
|
}
|
|
91
|
+
yield event;
|
|
250
92
|
}
|
|
251
|
-
// Add the tool results to the state immediately before saving
|
|
252
|
-
state.conversationHistory.push(...results);
|
|
253
93
|
await this.autoSave.tick({ config: { provider: this.provider, model: this.model }, state });
|
|
254
|
-
return results;
|
|
255
94
|
}
|
|
256
95
|
}
|
|
257
96
|
//# sourceMappingURL=agentLoop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentLoop.js","sourceRoot":"","sources":["../../src/core/agentLoop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentLoop.js","sourceRoot":"","sources":["../../src/core/agentLoop.ts"],"names":[],"mappings":"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"}
|
package/dist/core/compactor.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 3. A handoff prompt is injected after the summary to guide the agent
|
|
12
12
|
* 4. Falls back to string-based compaction if the LLM call fails
|
|
13
13
|
*/
|
|
14
|
-
import {
|
|
14
|
+
import { HumanMessage } from "@langchain/core/messages";
|
|
15
15
|
import { countMessageTokens } from "./tokenCounter.js";
|
|
16
16
|
// ─── Compact Prompt ─────────────────────────────────────────────────────────────
|
|
17
17
|
export const COMPACT_SYSTEM_PROMPT = `You are a conversation summarizer. Your task is to produce a structured reference document from the conversation below.
|
|
@@ -116,7 +116,7 @@ export class ConversationCompactor {
|
|
|
116
116
|
*/
|
|
117
117
|
async generateLLMSummary(evictedMessages, llm, maxSummaryTokens) {
|
|
118
118
|
// Construct the prompt for the compactor LLM
|
|
119
|
-
const compactPrompt = new
|
|
119
|
+
const compactPrompt = new HumanMessage(`<system-directive>\n${COMPACT_SYSTEM_PROMPT}\n\nKeep your summary under ${maxSummaryTokens} tokens.\n</system-directive>`);
|
|
120
120
|
// Convert evicted messages into a readable format for the summarizer
|
|
121
121
|
const conversationText = evictedMessages
|
|
122
122
|
.map((msg) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/core/compactor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/core/compactor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAA8B,YAAY,EAAa,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAAE,kBAAkB,EAAkB,MAAM,mBAAmB,CAAC;AAEvE,mFAAmF;AAEnF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;+EAgB0C,CAAC;AAEhF,mFAAmF;AAEnF,MAAM,UAAU,mBAAmB,CAAC,mBAA2B;IAC7D,OAAO;;;;;kBAKS,mBAAmB,EAAE,CAAC;AACxC,CAAC;AAED,mFAAmF;AAEnF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,SAAS,EAAE,yBAAyB;IACpC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,sBAAsB;IAC/B,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,mDAAmD;IAC9D,QAAQ,EAAE,yCAAyC;IACnD,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,SAAiB,EACjB,QAAiB;IAEjB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;AACpD,CAAC;AA0BD,mFAAmF;AAEnF,MAAM,OAAO,qBAAqB;IAEhC;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,OAAsB,EACtB,GAA6B,EAC7B,UAA4B,EAAE;QAE9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;QAE1D,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAChC,OAAO;gBACL,gBAAgB,EAAE,OAAO;gBACzB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACzC,WAAW,EAAE,kBAAkB,CAAC,OAAO,CAAC;gBACxC,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAE5C,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC/C,eAAe,EACf,GAAG,EACH,gBAAgB,CACjB,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,YAAY,CACrC,uDAAuD,WAAW,qBAAqB,CACxF,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,YAAY,CACrC,qBAAqB,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,qBAAqB,CACxF,CAAC;YAEF,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;YAEzD,OAAO;gBACL,gBAAgB;gBAChB,YAAY;gBACZ,YAAY;gBACZ,WAAW;gBACX,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,eAA8B,EAC9B,GAA6B,EAC7B,gBAAwB;QAExB,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,YAAY,CACpC,uBAAuB,qBAAqB,+BAA+B,gBAAgB,+BAA+B,CAC3H,CAAC;QAEF,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,eAAe;aACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC7C,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,IAAI,MAAM,OAAO,EAAE,CAAC;QACjC,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,cAAc,GAAG,IAAI,YAAY,CACrC,mCAAmC,gBAAgB,EAAE,CACtD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAEnE,6BAA6B;QAC7B,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAClD,IAAI,SAAS,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACK,eAAe,CACrB,YAA2B,EAC3B,eAA8B,EAC9B,cAA6B,EAC7B,YAAoB;QAEpB,uDAAuD;QACvD,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;QACnF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7E,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAEjF,MAAM,WAAW,GAAG;YAClB,iDAAiD;YACjD,WAAW,eAAe,CAAC,MAAM,YAAY;YAC7C,OAAO,aAAa,gBAAgB;YACpC,OAAO,UAAU,kBAAkB;YACnC,OAAO,YAAY,eAAe;YAClC,uCAAuC;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,qBAAqB,WAAW,qBAAqB,CAAC,CAAC;QAC/F,MAAM,cAAc,GAAG,IAAI,YAAY,CACrC,qBAAqB,mBAAmB,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,qBAAqB,CACxF,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAEzD,OAAO;YACL,gBAAgB;YAChB,YAAY,EAAE,eAAe,CAAC,MAAM;YACpC,YAAY;YACZ,WAAW;YACX,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -17,6 +17,11 @@ export interface ContextGuardMetrics {
|
|
|
17
17
|
messagesEvicted: number;
|
|
18
18
|
actionTaken: "none" | "compacted" | "emergency_truncated";
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Maps providers and models to their actual maximum context windows,
|
|
22
|
+
* decoupling the context limit from the completion size maxTokens flag.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getProviderContextLimit(provider: string, model: string): number;
|
|
20
25
|
export declare class ContextGuard {
|
|
21
26
|
private promptBuilder;
|
|
22
27
|
private llm;
|
|
@@ -8,10 +8,37 @@
|
|
|
8
8
|
* - 80% (WARN): Triggers standard LLM-powered context compaction
|
|
9
9
|
* - 95% (CRITICAL): Forces emergency truncation if compaction fails
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { HumanMessage } from "@langchain/core/messages";
|
|
12
12
|
import { CacheOptimizedPromptBuilder } from "./promptBuilder.js";
|
|
13
13
|
import { countMessageTokens } from "./tokenCounter.js";
|
|
14
14
|
import { createHandoffPrompt } from "./compactor.js";
|
|
15
|
+
/**
|
|
16
|
+
* Maps providers and models to their actual maximum context windows,
|
|
17
|
+
* decoupling the context limit from the completion size maxTokens flag.
|
|
18
|
+
*/
|
|
19
|
+
export function getProviderContextLimit(provider, model) {
|
|
20
|
+
const p = provider.toLowerCase();
|
|
21
|
+
const m = model.toLowerCase();
|
|
22
|
+
if (p === "google-genai" || p === "google" || p === "google-vertexai") {
|
|
23
|
+
return 1_000_000;
|
|
24
|
+
}
|
|
25
|
+
if (p === "anthropic") {
|
|
26
|
+
return 200_000;
|
|
27
|
+
}
|
|
28
|
+
if (p === "openai") {
|
|
29
|
+
return 128_000;
|
|
30
|
+
}
|
|
31
|
+
if (p === "mistral") {
|
|
32
|
+
return 32_000;
|
|
33
|
+
}
|
|
34
|
+
if (p === "groq") {
|
|
35
|
+
if (m.includes("llama-3.1") || m.includes("llama3"))
|
|
36
|
+
return 128_000;
|
|
37
|
+
return 32_000;
|
|
38
|
+
}
|
|
39
|
+
// Default fallback
|
|
40
|
+
return 100_000;
|
|
41
|
+
}
|
|
15
42
|
export class ContextGuard {
|
|
16
43
|
promptBuilder;
|
|
17
44
|
llm;
|
|
@@ -69,10 +96,10 @@ export class ContextGuard {
|
|
|
69
96
|
}
|
|
70
97
|
const recentMsgs = state.conversationHistory.slice(-keepLast);
|
|
71
98
|
const evictedCount = state.conversationHistory.length - keepLast;
|
|
72
|
-
const emergencySystemMsg = new
|
|
99
|
+
const emergencySystemMsg = new HumanMessage(`<system-alert>\n[EMERGENCY CONTEXT TRUNCATION]\n` +
|
|
73
100
|
`The conversation exceeded the maximum context window (${this.maxTokens} tokens). ` +
|
|
74
101
|
`Older messages were aggressively deleted without summarization to prevent an immediate crash.\n` +
|
|
75
|
-
`You are the same agent. ` + createHandoffPrompt(new Date().toISOString()));
|
|
102
|
+
`You are the same agent. ` + createHandoffPrompt(new Date().toISOString()) + `\n</system-alert>`);
|
|
76
103
|
const newHistory = [emergencySystemMsg, ...recentMsgs];
|
|
77
104
|
const newTokens = countMessageTokens(this.promptBuilder.buildPrompt({
|
|
78
105
|
...state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextGuard.js","sourceRoot":"","sources":["../../src/core/contextGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"contextGuard.js","sourceRoot":"","sources":["../../src/core/contextGuard.ts"],"names":[],"mappings":"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"}
|