@just-every/ensemble 0.2.87 → 0.2.88
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/cjs/config/tool_execution.cjs +47 -0
- package/dist/cjs/config/tool_execution.d.ts +12 -0
- package/dist/cjs/config/tool_execution.d.ts.map +1 -0
- package/dist/cjs/config/tool_execution.js.map +1 -0
- package/dist/cjs/core/ensemble_embed.cjs +35 -0
- package/dist/cjs/core/ensemble_embed.d.ts +3 -0
- package/dist/cjs/core/ensemble_embed.d.ts.map +1 -0
- package/dist/cjs/core/ensemble_embed.js.map +1 -0
- package/dist/cjs/core/ensemble_image.cjs +13 -0
- package/dist/cjs/core/ensemble_image.d.ts +3 -0
- package/dist/cjs/core/ensemble_image.d.ts.map +1 -0
- package/dist/cjs/core/ensemble_image.js.map +1 -0
- package/dist/cjs/core/ensemble_listen.cjs +162 -0
- package/dist/cjs/core/ensemble_listen.d.ts +5 -0
- package/dist/cjs/core/ensemble_listen.d.ts.map +1 -0
- package/dist/cjs/core/ensemble_listen.js.map +1 -0
- package/dist/cjs/core/ensemble_live.cjs +387 -0
- package/dist/cjs/core/ensemble_live.d.ts +14 -0
- package/dist/cjs/core/ensemble_live.d.ts.map +1 -0
- package/dist/cjs/core/ensemble_live.js.map +1 -0
- package/dist/cjs/core/ensemble_request.cjs +409 -0
- package/dist/cjs/core/ensemble_request.d.ts +4 -0
- package/dist/cjs/core/ensemble_request.d.ts.map +1 -0
- package/dist/cjs/core/ensemble_request.js.map +1 -0
- package/dist/cjs/core/ensemble_voice.cjs +284 -0
- package/dist/cjs/core/ensemble_voice.d.ts +4 -0
- package/dist/cjs/core/ensemble_voice.d.ts.map +1 -0
- package/dist/cjs/core/ensemble_voice.js.map +1 -0
- package/dist/cjs/data/model_data.cjs +1460 -0
- package/dist/cjs/data/model_data.d.ts +71 -0
- package/dist/cjs/data/model_data.d.ts.map +1 -0
- package/dist/cjs/data/model_data.js.map +1 -0
- package/dist/cjs/index.cjs +139 -0
- package/dist/cjs/index.d.ts +37 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/model_providers/base_provider.cjs +46 -0
- package/dist/cjs/model_providers/base_provider.d.ts +13 -0
- package/dist/cjs/model_providers/base_provider.d.ts.map +1 -0
- package/dist/cjs/model_providers/base_provider.js.map +1 -0
- package/dist/cjs/model_providers/claude.cjs +782 -0
- package/dist/cjs/model_providers/claude.d.ts +12 -0
- package/dist/cjs/model_providers/claude.d.ts.map +1 -0
- package/dist/cjs/model_providers/claude.js.map +1 -0
- package/dist/cjs/model_providers/deepseek.cjs +129 -0
- package/dist/cjs/model_providers/deepseek.d.ts +8 -0
- package/dist/cjs/model_providers/deepseek.d.ts.map +1 -0
- package/dist/cjs/model_providers/deepseek.js.map +1 -0
- package/dist/cjs/model_providers/elevenlabs.cjs +140 -0
- package/dist/cjs/model_providers/elevenlabs.d.ts +37 -0
- package/dist/cjs/model_providers/elevenlabs.d.ts.map +1 -0
- package/dist/cjs/model_providers/elevenlabs.js.map +1 -0
- package/dist/cjs/model_providers/gemini.cjs +1654 -0
- package/dist/cjs/model_providers/gemini.d.ts +22 -0
- package/dist/cjs/model_providers/gemini.d.ts.map +1 -0
- package/dist/cjs/model_providers/gemini.js.map +1 -0
- package/dist/cjs/model_providers/grok.cjs +25 -0
- package/dist/cjs/model_providers/grok.d.ts +8 -0
- package/dist/cjs/model_providers/grok.d.ts.map +1 -0
- package/dist/cjs/model_providers/grok.js.map +1 -0
- package/dist/cjs/model_providers/model_provider.cjs +296 -0
- package/dist/cjs/model_providers/model_provider.d.ts +10 -0
- package/dist/cjs/model_providers/model_provider.d.ts.map +1 -0
- package/dist/cjs/model_providers/model_provider.js.map +1 -0
- package/dist/cjs/model_providers/openai.cjs +1117 -0
- package/dist/cjs/model_providers/openai.d.ts +19 -0
- package/dist/cjs/model_providers/openai.d.ts.map +1 -0
- package/dist/cjs/model_providers/openai.js.map +1 -0
- package/dist/cjs/model_providers/openai_chat.cjs +787 -0
- package/dist/cjs/model_providers/openai_chat.d.ts +20 -0
- package/dist/cjs/model_providers/openai_chat.d.ts.map +1 -0
- package/dist/cjs/model_providers/openai_chat.js.map +1 -0
- package/dist/cjs/model_providers/openrouter.cjs +22 -0
- package/dist/cjs/model_providers/openrouter.d.ts +6 -0
- package/dist/cjs/model_providers/openrouter.d.ts.map +1 -0
- package/dist/cjs/model_providers/openrouter.js.map +1 -0
- package/dist/cjs/model_providers/test_provider.cjs +236 -0
- package/dist/cjs/model_providers/test_provider.d.ts +29 -0
- package/dist/cjs/model_providers/test_provider.d.ts.map +1 -0
- package/dist/cjs/model_providers/test_provider.js.map +1 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/cjs/types/api_types.cjs +3 -0
- package/dist/cjs/types/api_types.d.ts +249 -0
- package/dist/cjs/types/api_types.d.ts.map +1 -0
- package/dist/cjs/types/api_types.js.map +1 -0
- package/dist/cjs/types/errors.cjs +76 -0
- package/dist/cjs/types/errors.d.ts +34 -0
- package/dist/cjs/types/errors.d.ts.map +1 -0
- package/dist/cjs/types/errors.js.map +1 -0
- package/dist/cjs/types/types.cjs +3 -0
- package/dist/cjs/types/types.d.ts +638 -0
- package/dist/cjs/types/types.d.ts.map +1 -0
- package/dist/cjs/types/types.js.map +1 -0
- package/dist/cjs/utils/agent.cjs +384 -0
- package/dist/cjs/utils/agent.d.ts +48 -0
- package/dist/cjs/utils/agent.d.ts.map +1 -0
- package/dist/cjs/utils/agent.js.map +1 -0
- package/dist/cjs/utils/audio_stream_player.cjs +342 -0
- package/dist/cjs/utils/audio_stream_player.d.ts +37 -0
- package/dist/cjs/utils/audio_stream_player.d.ts.map +1 -0
- package/dist/cjs/utils/audio_stream_player.js.map +1 -0
- package/dist/cjs/utils/citation_tracker.cjs +25 -0
- package/dist/cjs/utils/citation_tracker.d.ts +12 -0
- package/dist/cjs/utils/citation_tracker.d.ts.map +1 -0
- package/dist/cjs/utils/citation_tracker.js.map +1 -0
- package/dist/cjs/utils/config_manager.cjs +105 -0
- package/dist/cjs/utils/config_manager.d.ts +31 -0
- package/dist/cjs/utils/config_manager.d.ts.map +1 -0
- package/dist/cjs/utils/config_manager.js.map +1 -0
- package/dist/cjs/utils/cost_tracker.cjs +226 -0
- package/dist/cjs/utils/cost_tracker.d.ts +33 -0
- package/dist/cjs/utils/cost_tracker.d.ts.map +1 -0
- package/dist/cjs/utils/cost_tracker.js.map +1 -0
- package/dist/cjs/utils/create_tool_function.cjs +182 -0
- package/dist/cjs/utils/create_tool_function.d.ts +3 -0
- package/dist/cjs/utils/create_tool_function.d.ts.map +1 -0
- package/dist/cjs/utils/create_tool_function.js.map +1 -0
- package/dist/cjs/utils/delta_buffer.cjs +65 -0
- package/dist/cjs/utils/delta_buffer.d.ts +14 -0
- package/dist/cjs/utils/delta_buffer.d.ts.map +1 -0
- package/dist/cjs/utils/delta_buffer.js.map +1 -0
- package/dist/cjs/utils/ensemble_result.cjs +167 -0
- package/dist/cjs/utils/ensemble_result.d.ts +33 -0
- package/dist/cjs/utils/ensemble_result.d.ts.map +1 -0
- package/dist/cjs/utils/ensemble_result.js.map +1 -0
- package/dist/cjs/utils/event_controller.cjs +59 -0
- package/dist/cjs/utils/event_controller.d.ts +13 -0
- package/dist/cjs/utils/event_controller.d.ts.map +1 -0
- package/dist/cjs/utils/event_controller.js.map +1 -0
- package/dist/cjs/utils/external_models.cjs +42 -0
- package/dist/cjs/utils/external_models.d.ts +9 -0
- package/dist/cjs/utils/external_models.d.ts.map +1 -0
- package/dist/cjs/utils/external_models.js.map +1 -0
- package/dist/cjs/utils/image_to_text.cjs +58 -0
- package/dist/cjs/utils/image_to_text.d.ts +3 -0
- package/dist/cjs/utils/image_to_text.d.ts.map +1 -0
- package/dist/cjs/utils/image_to_text.js.map +1 -0
- package/dist/cjs/utils/image_utils.cjs +168 -0
- package/dist/cjs/utils/image_utils.d.ts +18 -0
- package/dist/cjs/utils/image_utils.d.ts.map +1 -0
- package/dist/cjs/utils/image_utils.js.map +1 -0
- package/dist/cjs/utils/image_validation.cjs +31 -0
- package/dist/cjs/utils/image_validation.d.ts +3 -0
- package/dist/cjs/utils/image_validation.d.ts.map +1 -0
- package/dist/cjs/utils/image_validation.js.map +1 -0
- package/dist/cjs/utils/llm_logger.cjs +31 -0
- package/dist/cjs/utils/llm_logger.d.ts +8 -0
- package/dist/cjs/utils/llm_logger.d.ts.map +1 -0
- package/dist/cjs/utils/llm_logger.js.map +1 -0
- package/dist/cjs/utils/message_history.cjs +560 -0
- package/dist/cjs/utils/message_history.d.ts +65 -0
- package/dist/cjs/utils/message_history.d.ts.map +1 -0
- package/dist/cjs/utils/message_history.js.map +1 -0
- package/dist/cjs/utils/model_class_config.cjs +105 -0
- package/dist/cjs/utils/model_class_config.d.ts +12 -0
- package/dist/cjs/utils/model_class_config.d.ts.map +1 -0
- package/dist/cjs/utils/model_class_config.js.map +1 -0
- package/dist/cjs/utils/pause_controller.cjs +90 -0
- package/dist/cjs/utils/pause_controller.d.ts +14 -0
- package/dist/cjs/utils/pause_controller.d.ts.map +1 -0
- package/dist/cjs/utils/pause_controller.js.map +1 -0
- package/dist/cjs/utils/quota_tracker.cjs +311 -0
- package/dist/cjs/utils/quota_tracker.d.ts +22 -0
- package/dist/cjs/utils/quota_tracker.d.ts.map +1 -0
- package/dist/cjs/utils/quota_tracker.js.map +1 -0
- package/dist/cjs/utils/retry_handler.cjs +131 -0
- package/dist/cjs/utils/retry_handler.d.ts +15 -0
- package/dist/cjs/utils/retry_handler.d.ts.map +1 -0
- package/dist/cjs/utils/retry_handler.js.map +1 -0
- package/dist/cjs/utils/running_tool_tracker.cjs +133 -0
- package/dist/cjs/utils/running_tool_tracker.d.ts +42 -0
- package/dist/cjs/utils/running_tool_tracker.d.ts.map +1 -0
- package/dist/cjs/utils/running_tool_tracker.js.map +1 -0
- package/dist/cjs/utils/sequential_queue.cjs +73 -0
- package/dist/cjs/utils/sequential_queue.d.ts +13 -0
- package/dist/cjs/utils/sequential_queue.d.ts.map +1 -0
- package/dist/cjs/utils/sequential_queue.js.map +1 -0
- package/dist/cjs/utils/stream_handler.cjs +73 -0
- package/dist/cjs/utils/stream_handler.d.ts +16 -0
- package/dist/cjs/utils/stream_handler.d.ts.map +1 -0
- package/dist/cjs/utils/stream_handler.js.map +1 -0
- package/dist/cjs/utils/summary_utils.cjs +211 -0
- package/dist/cjs/utils/summary_utils.d.ts +7 -0
- package/dist/cjs/utils/summary_utils.d.ts.map +1 -0
- package/dist/cjs/utils/summary_utils.js.map +1 -0
- package/dist/cjs/utils/test_utils.cjs +212 -0
- package/dist/cjs/utils/test_utils.d.ts +58 -0
- package/dist/cjs/utils/test_utils.d.ts.map +1 -0
- package/dist/cjs/utils/test_utils.js.map +1 -0
- package/dist/cjs/utils/tool_execution_manager.cjs +139 -0
- package/dist/cjs/utils/tool_execution_manager.d.ts +7 -0
- package/dist/cjs/utils/tool_execution_manager.d.ts.map +1 -0
- package/dist/cjs/utils/tool_execution_manager.js.map +1 -0
- package/dist/cjs/utils/tool_parameter_utils.cjs +168 -0
- package/dist/cjs/utils/tool_parameter_utils.d.ts +5 -0
- package/dist/cjs/utils/tool_parameter_utils.d.ts.map +1 -0
- package/dist/cjs/utils/tool_parameter_utils.js.map +1 -0
- package/dist/cjs/utils/tool_result_processor.cjs +363 -0
- package/dist/cjs/utils/tool_result_processor.d.ts +11 -0
- package/dist/cjs/utils/tool_result_processor.d.ts.map +1 -0
- package/dist/cjs/utils/tool_result_processor.js.map +1 -0
- package/dist/cjs/utils/verification.cjs +59 -0
- package/dist/cjs/utils/verification.d.ts +7 -0
- package/dist/cjs/utils/verification.d.ts.map +1 -0
- package/dist/cjs/utils/verification.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/audio_stream_player.d.ts +2 -0
- package/dist/utils/audio_stream_player.d.ts.map +1 -1
- package/dist/utils/audio_stream_player.js +83 -1
- package/dist/utils/audio_stream_player.js.map +1 -1
- package/dist/utils/cost_tracker.d.ts +7 -0
- package/dist/utils/cost_tracker.d.ts.map +1 -1
- package/dist/utils/cost_tracker.js +29 -0
- package/dist/utils/cost_tracker.js.map +1 -1
- package/package.json +18 -3
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AgentDefinition } from "../types/types.cjs";
|
|
2
|
+
export interface RunningTool {
|
|
3
|
+
id: string;
|
|
4
|
+
toolName: string;
|
|
5
|
+
agentName: string;
|
|
6
|
+
args: string;
|
|
7
|
+
startTime: number;
|
|
8
|
+
abortController?: AbortController;
|
|
9
|
+
timedOut?: boolean;
|
|
10
|
+
completed?: boolean;
|
|
11
|
+
failed?: boolean;
|
|
12
|
+
result?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ToolCompletionEvent {
|
|
16
|
+
id: string;
|
|
17
|
+
toolName: string;
|
|
18
|
+
agentName: string;
|
|
19
|
+
duration: number;
|
|
20
|
+
timedOut: boolean;
|
|
21
|
+
result?: string;
|
|
22
|
+
error?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare class RunningToolTracker {
|
|
25
|
+
private runningTools;
|
|
26
|
+
private completionHandlers;
|
|
27
|
+
addRunningTool(id: string, toolName: string, agentName: string, args: string): RunningTool;
|
|
28
|
+
markTimedOut(id: string): void;
|
|
29
|
+
completeRunningTool(id: string, result: string, _agent?: AgentDefinition): Promise<void>;
|
|
30
|
+
failRunningTool(id: string, error: string, _agent?: AgentDefinition): Promise<void>;
|
|
31
|
+
getRunningTool(id: string): RunningTool | undefined;
|
|
32
|
+
getAllRunningTools(): RunningTool[];
|
|
33
|
+
getRunningToolsForAgent(agentName: string): RunningTool[];
|
|
34
|
+
abortRunningTool(id: string): void;
|
|
35
|
+
onCompletion(handler: (event: ToolCompletionEvent) => void): void;
|
|
36
|
+
clear(): void;
|
|
37
|
+
isToolRunning(agentName: string, toolName: string): boolean;
|
|
38
|
+
getRunningToolCount(): number;
|
|
39
|
+
waitForTool(id: string, timeout?: number): Promise<ToolCompletionEvent | null>;
|
|
40
|
+
}
|
|
41
|
+
export declare const runningToolTracker: RunningToolTracker;
|
|
42
|
+
//# sourceMappingURL=running_tool_tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"running_tool_tracker.d.ts","sourceRoot":"","sources":["../../../utils/running_tool_tracker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,kBAAkB,CAAgD;IAK1E,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IAkB1F,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUxB,mBAAmB,CACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,IAAI,CAAC;IA+BV,eAAe,CACjB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,GACzB,OAAO,CAAC,IAAI,CAAC;IA+BhB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAOnD,kBAAkB,IAAI,WAAW,EAAE;IAOnC,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAOzD,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUlC,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAOjE,KAAK,IAAI,IAAI;IAcb,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAO3D,mBAAmB,IAAI,MAAM;IAOvB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;CAmCvF;AAGD,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"running_tool_tracker.js","sourceRoot":"","sources":["../../../utils/running_tool_tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sequentialQueue = exports.SequentialQueue = void 0;
|
|
4
|
+
exports.runSequential = runSequential;
|
|
5
|
+
class SequentialQueue {
|
|
6
|
+
queues = new Map();
|
|
7
|
+
processing = new Map();
|
|
8
|
+
async runSequential(agentId, fn) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
if (!this.queues.has(agentId)) {
|
|
11
|
+
this.queues.set(agentId, []);
|
|
12
|
+
this.processing.set(agentId, false);
|
|
13
|
+
}
|
|
14
|
+
const queue = this.queues.get(agentId);
|
|
15
|
+
queue.push({
|
|
16
|
+
execute: fn,
|
|
17
|
+
resolve,
|
|
18
|
+
reject,
|
|
19
|
+
});
|
|
20
|
+
if (!this.processing.get(agentId)) {
|
|
21
|
+
this.processQueue(agentId);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async processQueue(agentId) {
|
|
26
|
+
const queue = this.queues.get(agentId);
|
|
27
|
+
if (!queue || queue.length === 0) {
|
|
28
|
+
this.processing.set(agentId, false);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.processing.set(agentId, true);
|
|
32
|
+
while (queue.length > 0) {
|
|
33
|
+
const item = queue.shift();
|
|
34
|
+
try {
|
|
35
|
+
const result = await item.execute();
|
|
36
|
+
item.resolve(result);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
item.reject(error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
this.processing.set(agentId, false);
|
|
43
|
+
}
|
|
44
|
+
getQueueSize(agentId) {
|
|
45
|
+
const queue = this.queues.get(agentId);
|
|
46
|
+
return queue ? queue.length : 0;
|
|
47
|
+
}
|
|
48
|
+
isProcessing(agentId) {
|
|
49
|
+
return this.processing.get(agentId) || false;
|
|
50
|
+
}
|
|
51
|
+
clearQueue(agentId) {
|
|
52
|
+
const queue = this.queues.get(agentId);
|
|
53
|
+
if (queue) {
|
|
54
|
+
queue.forEach(item => {
|
|
55
|
+
item.reject(new Error('Queue cleared'));
|
|
56
|
+
});
|
|
57
|
+
queue.length = 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
clearAll() {
|
|
61
|
+
this.queues.forEach((queue, agentId) => {
|
|
62
|
+
this.clearQueue(agentId);
|
|
63
|
+
});
|
|
64
|
+
this.queues.clear();
|
|
65
|
+
this.processing.clear();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.SequentialQueue = SequentialQueue;
|
|
69
|
+
exports.sequentialQueue = new SequentialQueue();
|
|
70
|
+
async function runSequential(agentId, fn) {
|
|
71
|
+
return exports.sequentialQueue.runSequential(agentId, fn);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=sequential_queue.js.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class SequentialQueue {
|
|
2
|
+
private queues;
|
|
3
|
+
private processing;
|
|
4
|
+
runSequential<T>(agentId: string, fn: () => Promise<T>): Promise<T>;
|
|
5
|
+
private processQueue;
|
|
6
|
+
getQueueSize(agentId: string): number;
|
|
7
|
+
isProcessing(agentId: string): boolean;
|
|
8
|
+
clearQueue(agentId: string): void;
|
|
9
|
+
clearAll(): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const sequentialQueue: SequentialQueue;
|
|
12
|
+
export declare function runSequential<T>(agentId: string, fn: () => Promise<T>): Promise<T>;
|
|
13
|
+
//# sourceMappingURL=sequential_queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequential_queue.d.ts","sourceRoot":"","sources":["../../../utils/sequential_queue.ts"],"names":[],"mappings":"AAaA,qBAAa,eAAe;IACxB,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,UAAU,CAAmC;IAK/C,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YA2B3D,YAAY;IA0B1B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAQrC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOtC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAcjC,QAAQ,IAAI,IAAI;CAOnB;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAKrD,wBAAsB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAExF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequential_queue.js","sourceRoot":"","sources":["../../../utils/sequential_queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StreamHandler = void 0;
|
|
4
|
+
exports.createStreamHandler = createStreamHandler;
|
|
5
|
+
exports.createMessageDeltaTransformer = createMessageDeltaTransformer;
|
|
6
|
+
exports.createMessageCompleteTransformer = createMessageCompleteTransformer;
|
|
7
|
+
const pause_controller_js_1 = require("./pause_controller.cjs");
|
|
8
|
+
class StreamHandler {
|
|
9
|
+
options;
|
|
10
|
+
constructor(options = {}) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
}
|
|
13
|
+
async *handleStream(stream, transformer) {
|
|
14
|
+
const { pauseCheckInterval = 100, abortSignal, providerName = 'Unknown', modelName = 'Unknown' } = this.options;
|
|
15
|
+
try {
|
|
16
|
+
for await (const chunk of stream) {
|
|
17
|
+
if ((0, pause_controller_js_1.isPaused)()) {
|
|
18
|
+
console.log(`[${providerName}] System paused during stream for model ${modelName}. Waiting...`);
|
|
19
|
+
await (0, pause_controller_js_1.waitWhilePaused)(pauseCheckInterval, abortSignal);
|
|
20
|
+
console.log(`[${providerName}] System resumed, continuing stream for model ${modelName}`);
|
|
21
|
+
}
|
|
22
|
+
const events = transformer(chunk);
|
|
23
|
+
if (events) {
|
|
24
|
+
if (Array.isArray(events)) {
|
|
25
|
+
for (const event of events) {
|
|
26
|
+
yield event;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
yield events;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
yield {
|
|
37
|
+
type: 'error',
|
|
38
|
+
error: error.message || 'Unknown streaming error',
|
|
39
|
+
code: error.code,
|
|
40
|
+
details: error.details,
|
|
41
|
+
recoverable: error.recoverable,
|
|
42
|
+
timestamp: new Date().toISOString(),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.StreamHandler = StreamHandler;
|
|
48
|
+
function createStreamHandler(options = {}) {
|
|
49
|
+
return new StreamHandler(options);
|
|
50
|
+
}
|
|
51
|
+
function createMessageDeltaTransformer(messageId) {
|
|
52
|
+
let order = 0;
|
|
53
|
+
return function transformMessageDelta(content) {
|
|
54
|
+
return {
|
|
55
|
+
type: 'message_delta',
|
|
56
|
+
content,
|
|
57
|
+
message_id: messageId,
|
|
58
|
+
order: order++,
|
|
59
|
+
timestamp: new Date().toISOString(),
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function createMessageCompleteTransformer(messageId) {
|
|
64
|
+
return function transformMessageComplete(content) {
|
|
65
|
+
return {
|
|
66
|
+
type: 'message_complete',
|
|
67
|
+
content,
|
|
68
|
+
message_id: messageId,
|
|
69
|
+
timestamp: new Date().toISOString(),
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=stream_handler.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ProviderStreamEvent } from "../types/types.cjs";
|
|
2
|
+
export interface StreamHandlerOptions {
|
|
3
|
+
pauseCheckInterval?: number;
|
|
4
|
+
abortSignal?: AbortSignal;
|
|
5
|
+
providerName?: string;
|
|
6
|
+
modelName?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class StreamHandler<TEvent> {
|
|
9
|
+
private options;
|
|
10
|
+
constructor(options?: StreamHandlerOptions);
|
|
11
|
+
handleStream(stream: AsyncIterable<TEvent>, transformer: (chunk: TEvent) => ProviderStreamEvent | ProviderStreamEvent[] | null): AsyncGenerator<ProviderStreamEvent>;
|
|
12
|
+
}
|
|
13
|
+
export declare function createStreamHandler<TEvent>(options?: StreamHandlerOptions): StreamHandler<TEvent>;
|
|
14
|
+
export declare function createMessageDeltaTransformer(messageId: string): (content: string) => ProviderStreamEvent;
|
|
15
|
+
export declare function createMessageCompleteTransformer(messageId: string): (content: string) => ProviderStreamEvent;
|
|
16
|
+
//# sourceMappingURL=stream_handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream_handler.d.ts","sourceRoot":"","sources":["../../../utils/stream_handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,oBAAoB;IAEjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,qBAAa,aAAa,CAAC,MAAM;IACjB,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,oBAAyB;IAK/C,YAAY,CACf,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,mBAAmB,GAAG,mBAAmB,EAAE,GAAG,IAAI,GACnF,cAAc,CAAC,mBAAmB,CAAC;CAoCzC;AAKD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAAC,MAAM,CAAC,CAErG;AAKD,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,IAGrB,SAAS,MAAM,KAAG,mBAAmB,CAS9E;AAKD,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,IACrB,SAAS,MAAM,KAAG,mBAAmB,CAQjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream_handler.js","sourceRoot":"","sources":["../../../utils/stream_handler.ts"],"names":[],"mappings":";;;AAuEA,kDAEC;AAKD,sEAYC;AAKD,4EASC;AAnGD,+DAAkE;AAgBlE,MAAa,aAAa;IACF;IAApB,YAAoB,UAAgC,EAAE;QAAlC,YAAO,GAAP,OAAO,CAA2B;IAAG,CAAC;IAK1D,KAAK,CAAC,CAAC,YAAY,CACf,MAA6B,EAC7B,WAAkF;QAElF,MAAM,EAAE,kBAAkB,GAAG,GAAG,EAAE,WAAW,EAAE,YAAY,GAAG,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEhH,IAAI,CAAC;YACD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAE/B,IAAI,IAAA,8BAAQ,GAAE,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,2CAA2C,SAAS,cAAc,CAAC,CAAC;oBAChG,MAAM,IAAA,qCAAe,EAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,iDAAiD,SAAS,EAAE,CAAC,CAAC;gBAC9F,CAAC;gBAGD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;4BACzB,MAAM,KAAK,CAAC;wBAChB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,MAAM,MAAM,CAAC;oBACjB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAElB,MAAM;gBACF,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,yBAAyB;gBACjD,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACf,CAAC;QAC7B,CAAC;IACL,CAAC;CACJ;AA7CD,sCA6CC;AAKD,SAAgB,mBAAmB,CAAS,UAAgC,EAAE;IAC1E,OAAO,IAAI,aAAa,CAAS,OAAO,CAAC,CAAC;AAC9C,CAAC;AAKD,SAAgB,6BAA6B,CAAC,SAAiB;IAC3D,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,SAAS,qBAAqB,CAAC,OAAe;QACjD,OAAO;YACH,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,KAAK,EAAE;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAKD,SAAgB,gCAAgC,CAAC,SAAiB;IAC9D,OAAO,SAAS,wBAAwB,CAAC,OAAe;QACpD,OAAO;YACH,IAAI,EAAE,kBAAkB;YACxB,OAAO;YACP,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createSummary = createSummary;
|
|
7
|
+
exports.read_source = read_source;
|
|
8
|
+
exports.write_source = write_source;
|
|
9
|
+
exports.getSummaryTools = getSummaryTools;
|
|
10
|
+
exports.hasExpansionTools = hasExpansionTools;
|
|
11
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
14
|
+
const create_tool_function_js_1 = require("./create_tool_function.cjs");
|
|
15
|
+
const SUMMARIZE_AT_CHARS = 5000;
|
|
16
|
+
const SUMMARIZE_TRUNCATE_CHARS = 200000;
|
|
17
|
+
const HASH_MAP_FILENAME = 'summary_hash_map.json';
|
|
18
|
+
async function ensureDir(dir) {
|
|
19
|
+
try {
|
|
20
|
+
await promises_1.default.mkdir(dir, { recursive: true });
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (error.code !== 'EEXIST') {
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async function loadHashMap(file_path) {
|
|
29
|
+
try {
|
|
30
|
+
const data = await promises_1.default.readFile(file_path, 'utf-8');
|
|
31
|
+
return JSON.parse(data);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (error.code === 'ENOENT') {
|
|
35
|
+
return {};
|
|
36
|
+
}
|
|
37
|
+
console.error(`Error loading summary hash map from ${file_path}:`, error);
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function saveHashMap(file_path, map) {
|
|
42
|
+
try {
|
|
43
|
+
const data = JSON.stringify(map, null, 2);
|
|
44
|
+
await promises_1.default.writeFile(file_path, data, 'utf-8');
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error(`Error saving summary hash map to ${file_path}:`, error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function truncate(text, length = SUMMARIZE_TRUNCATE_CHARS, separator = '\n\n...[truncated for summary]...\n\n') {
|
|
51
|
+
text = text.trim();
|
|
52
|
+
if (text.length <= length) {
|
|
53
|
+
return text;
|
|
54
|
+
}
|
|
55
|
+
return text.substring(0, length * 0.3) + separator + text.substring(text.length - length * 0.7 + separator.length);
|
|
56
|
+
}
|
|
57
|
+
async function createSummary(document, context, summaryFn, includeExpansionReferences = false, summariesDir) {
|
|
58
|
+
if (document.length <= SUMMARIZE_AT_CHARS) {
|
|
59
|
+
return document;
|
|
60
|
+
}
|
|
61
|
+
const finalSummariesDir = summariesDir || './summaries';
|
|
62
|
+
await ensureDir(finalSummariesDir);
|
|
63
|
+
const hashMapPath = path_1.default.join(finalSummariesDir, HASH_MAP_FILENAME);
|
|
64
|
+
const documentHash = crypto_1.default.createHash('sha256').update(document).digest('hex');
|
|
65
|
+
const hashMap = await loadHashMap(hashMapPath);
|
|
66
|
+
if (hashMap[documentHash]) {
|
|
67
|
+
const summaryId = hashMap[documentHash];
|
|
68
|
+
const summaryFilePath = path_1.default.join(finalSummariesDir, `summary-${summaryId}.txt`);
|
|
69
|
+
const originalFilePath = path_1.default.join(finalSummariesDir, `original-${summaryId}.txt`);
|
|
70
|
+
try {
|
|
71
|
+
const [existingSummary, originalDoc] = await Promise.all([
|
|
72
|
+
promises_1.default.readFile(summaryFilePath, 'utf-8'),
|
|
73
|
+
promises_1.default.readFile(originalFilePath, 'utf-8'),
|
|
74
|
+
]);
|
|
75
|
+
const originalLines = originalDoc.split('\n').length;
|
|
76
|
+
const summaryLines = existingSummary.split('\n').length;
|
|
77
|
+
const originalChars = originalDoc.length;
|
|
78
|
+
const summaryChars = existingSummary.length;
|
|
79
|
+
const metadata = includeExpansionReferences
|
|
80
|
+
? `\n\nSummarized large output to avoid excessive tokens (${originalLines} -> ${summaryLines} lines, ${originalChars} -> ${summaryChars} chars) [Write to file with write_source(${summaryId}, file_path) or read with read_source(${summaryId}, line_start, line_end)]`
|
|
81
|
+
: `\n\nSummarized large output to avoid excessive tokens (${originalLines} -> ${summaryLines} lines, ${originalChars} -> ${summaryChars} chars)`;
|
|
82
|
+
console.log(`Retrieved summary from cache for hash: ${documentHash.substring(0, 8)}...`);
|
|
83
|
+
return existingSummary.trim() + metadata;
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error(`Error reading cached summary files for ID ${summaryId}:`, error);
|
|
87
|
+
delete hashMap[documentHash];
|
|
88
|
+
await saveHashMap(hashMapPath, hashMap);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
const originalDocumentForSave = document;
|
|
92
|
+
const originalLines = originalDocumentForSave.split('\n').length;
|
|
93
|
+
document = truncate(document);
|
|
94
|
+
const summary = await summaryFn(document, context);
|
|
95
|
+
const trimmedSummary = summary.trim();
|
|
96
|
+
const summaryLines = trimmedSummary.split('\n').length;
|
|
97
|
+
const newSummaryId = crypto_1.default.randomUUID();
|
|
98
|
+
const summaryFilePath = path_1.default.join(finalSummariesDir, `summary-${newSummaryId}.txt`);
|
|
99
|
+
const originalFilePath = path_1.default.join(finalSummariesDir, `original-${newSummaryId}.txt`);
|
|
100
|
+
try {
|
|
101
|
+
await Promise.all([
|
|
102
|
+
promises_1.default.writeFile(summaryFilePath, trimmedSummary, 'utf-8'),
|
|
103
|
+
promises_1.default.writeFile(originalFilePath, originalDocumentForSave, 'utf-8'),
|
|
104
|
+
]);
|
|
105
|
+
hashMap[documentHash] = newSummaryId;
|
|
106
|
+
await saveHashMap(hashMapPath, hashMap);
|
|
107
|
+
console.log(`Saved new summary with ID: ${newSummaryId} for hash: ${documentHash.substring(0, 8)}...`);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
console.error(`Error saving new summary files for ID ${newSummaryId}:`, error);
|
|
111
|
+
return trimmedSummary;
|
|
112
|
+
}
|
|
113
|
+
const originalChars = originalDocumentForSave.length;
|
|
114
|
+
const summaryChars = trimmedSummary.length;
|
|
115
|
+
const metadata = includeExpansionReferences
|
|
116
|
+
? `\n\nSummarized large output to avoid excessive tokens (${originalLines} -> ${summaryLines} lines, ${originalChars} -> ${summaryChars} chars) [Write to file with write_source(${newSummaryId}, file_path) or read with read_source(${newSummaryId}, line_start, line_end)]`
|
|
117
|
+
: `\n\nSummarized large output to avoid excessive tokens (${originalLines} -> ${summaryLines} lines, ${originalChars} -> ${summaryChars} chars)`;
|
|
118
|
+
return trimmedSummary + metadata;
|
|
119
|
+
}
|
|
120
|
+
async function read_source(summary_id, line_start, line_end, summariesDir) {
|
|
121
|
+
const finalSummariesDir = summariesDir || './summaries';
|
|
122
|
+
const originalFilePath = path_1.default.join(finalSummariesDir, `original-${summary_id}.txt`);
|
|
123
|
+
try {
|
|
124
|
+
let content = await promises_1.default.readFile(originalFilePath, 'utf-8');
|
|
125
|
+
if (line_start !== undefined && line_end !== undefined) {
|
|
126
|
+
const lines = content.split('\n');
|
|
127
|
+
const start = Math.max(0, line_start);
|
|
128
|
+
const end = Math.min(lines.length, line_end + 1);
|
|
129
|
+
if (start >= end || start >= lines.length) {
|
|
130
|
+
return `Error: Invalid line range requested (${line_start}-${line_end}) for document with ${lines.length} lines.`;
|
|
131
|
+
}
|
|
132
|
+
content = lines.slice(start, end).join('\n');
|
|
133
|
+
}
|
|
134
|
+
return content;
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
if (error.code === 'ENOENT') {
|
|
138
|
+
return `Error: Original document for summary ID '${summary_id}' not found at ${originalFilePath}.`;
|
|
139
|
+
}
|
|
140
|
+
console.error(`Error reading original summary source for ID ${summary_id}:`, error);
|
|
141
|
+
return `Error: Could not retrieve original document for summary ID '${summary_id}'.`;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
async function write_source(summary_id, file_path, summariesDir) {
|
|
145
|
+
const finalSummariesDir = summariesDir || './summaries';
|
|
146
|
+
const originalFilePath = path_1.default.join(finalSummariesDir, `original-${summary_id}.txt`);
|
|
147
|
+
try {
|
|
148
|
+
const content = await promises_1.default.readFile(originalFilePath, 'utf-8');
|
|
149
|
+
if (!file_path) {
|
|
150
|
+
return 'Error: file_path is required.';
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const directory = path_1.default.dirname(file_path);
|
|
154
|
+
await promises_1.default.mkdir(directory, { recursive: true });
|
|
155
|
+
await promises_1.default.writeFile(file_path, content, 'utf-8');
|
|
156
|
+
console.log(`Summary written to file: ${file_path}`);
|
|
157
|
+
return `Successfully wrote ${content.length} chars to file: ${file_path}\n\nStart of content:\n\n${content.substring(0, 400)}...`;
|
|
158
|
+
}
|
|
159
|
+
catch (writeError) {
|
|
160
|
+
console.error(`Error writing summary to file ${file_path}:`, writeError);
|
|
161
|
+
return `Error: Could not write summary to file ${file_path}.`;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (error.code === 'ENOENT') {
|
|
166
|
+
return `Error: Original document for summary ID '${summary_id}' not found at ${originalFilePath}.`;
|
|
167
|
+
}
|
|
168
|
+
console.error(`Error reading original summary source for ID ${summary_id}:`, error);
|
|
169
|
+
return `Error: Could not retrieve original document for summary ID '${summary_id}'.`;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function getSummaryTools(summariesDir) {
|
|
173
|
+
const readSourceWrapper = async (summary_id, line_start, line_end) => {
|
|
174
|
+
return read_source(summary_id, line_start, line_end, summariesDir);
|
|
175
|
+
};
|
|
176
|
+
const writeSourceWrapper = async (summary_id, file_path) => {
|
|
177
|
+
return write_source(summary_id, file_path, summariesDir);
|
|
178
|
+
};
|
|
179
|
+
return [
|
|
180
|
+
(0, create_tool_function_js_1.createToolFunction)(readSourceWrapper, 'Read the original (not summarized) document content. If possible, limit lines to limit tokens returned. Results will be truncated to 1000 characters - for larger files, use write_source.', {
|
|
181
|
+
summary_id: {
|
|
182
|
+
type: 'string',
|
|
183
|
+
description: 'The unique ID of the summary.',
|
|
184
|
+
},
|
|
185
|
+
line_start: {
|
|
186
|
+
type: 'number',
|
|
187
|
+
description: 'Starting line to retrieve (0-based). Optional.',
|
|
188
|
+
optional: true,
|
|
189
|
+
},
|
|
190
|
+
line_end: {
|
|
191
|
+
type: 'number',
|
|
192
|
+
description: 'Ending line to retrieve (0-based). Optional.',
|
|
193
|
+
optional: true,
|
|
194
|
+
},
|
|
195
|
+
}),
|
|
196
|
+
(0, create_tool_function_js_1.createToolFunction)(writeSourceWrapper, 'Write the original (not summarized) document to a file.', {
|
|
197
|
+
summary_id: {
|
|
198
|
+
type: 'string',
|
|
199
|
+
description: 'The unique ID of the summary.',
|
|
200
|
+
},
|
|
201
|
+
file_path: {
|
|
202
|
+
type: 'string',
|
|
203
|
+
description: 'Relative or absolute path to write the document to.',
|
|
204
|
+
},
|
|
205
|
+
}),
|
|
206
|
+
];
|
|
207
|
+
}
|
|
208
|
+
function hasExpansionTools(toolNames) {
|
|
209
|
+
return toolNames.includes('write_source') && toolNames.includes('read_source');
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=summary_utils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ToolFunction } from "../types/types.cjs";
|
|
2
|
+
export declare function createSummary(document: string, context: string, summaryFn: (document: string, context: string) => Promise<string>, includeExpansionReferences?: boolean, summariesDir?: string): Promise<string>;
|
|
3
|
+
export declare function read_source(summary_id: string, line_start?: number, line_end?: number, summariesDir?: string): Promise<string>;
|
|
4
|
+
export declare function write_source(summary_id: string, file_path: string, summariesDir?: string): Promise<string>;
|
|
5
|
+
export declare function getSummaryTools(summariesDir?: string): ToolFunction[];
|
|
6
|
+
export declare function hasExpansionTools(toolNames: string[]): boolean;
|
|
7
|
+
//# sourceMappingURL=summary_utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary_utils.d.ts","sourceRoot":"","sources":["../../../utils/summary_utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAuEjD,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACjE,0BAA0B,GAAE,OAAe,EAC3C,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAwFjB;AAYD,wBAAsB,WAAW,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAUD,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BhH;AASD,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAyCrE;AAQD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAE9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary_utils.js","sourceRoot":"","sources":["../../../utils/summary_utils.ts"],"names":[],"mappings":"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"}
|