indusagi 0.12.16 → 0.12.17
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/agent/agent.d.ts +2 -108
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +17 -210
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/event-bus.js +3 -1
- package/dist/agent/event-bus.js.map +1 -1
- package/dist/agent/index.d.ts +5 -11
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +8 -19
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/messages.d.ts +48 -2
- package/dist/agent/messages.d.ts.map +1 -1
- package/dist/agent/messages.js.map +1 -1
- package/dist/agent/proxy.js.map +1 -1
- package/dist/agent/session-manager.d.ts +3 -2
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +6 -10
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state-manager.js +0 -1
- package/dist/agent/state-manager.js.map +1 -1
- package/dist/agent/telemetry.js +3 -1
- package/dist/agent/telemetry.js.map +1 -1
- package/dist/agent/tools/bash.js +0 -1
- package/dist/agent/tools/bash.js.map +1 -1
- package/dist/agent/tools/index.d.ts +26 -26
- package/dist/agent/tools/registry.js +4 -2
- package/dist/agent/tools/registry.js.map +1 -1
- package/dist/agent/tools/todo-store.js +1 -2
- package/dist/agent/tools/todo-store.js.map +1 -1
- package/dist/agent/tools/utils/hook-runner.js +3 -1
- package/dist/agent/tools/utils/hook-runner.js.map +1 -1
- package/dist/agent/types.d.ts +2 -139
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/ai/api-registry.js +3 -1
- package/dist/ai/api-registry.js.map +1 -1
- package/dist/ai/models.generated.d.ts +4 -19
- package/dist/ai/models.generated.d.ts.map +1 -1
- package/dist/ai/models.generated.js +14 -29
- package/dist/ai/models.generated.js.map +1 -1
- package/dist/ai/models.js +1 -2
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/providers/amazon-bedrock.d.ts +0 -6
- package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/ai/providers/amazon-bedrock.js +9 -47
- package/dist/ai/providers/amazon-bedrock.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts +0 -8
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +12 -28
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/azure-openai-responses.js +0 -1
- package/dist/ai/providers/azure-openai-responses.js.map +1 -1
- package/dist/ai/providers/google-shared.d.ts.map +1 -1
- package/dist/ai/providers/google-shared.js +22 -16
- package/dist/ai/providers/google-shared.js.map +1 -1
- package/dist/ai/providers/google-vertex.d.ts.map +1 -1
- package/dist/ai/providers/google-vertex.js +5 -28
- package/dist/ai/providers/google-vertex.js.map +1 -1
- package/dist/ai/providers/google.js +0 -1
- package/dist/ai/providers/google.js.map +1 -1
- package/dist/ai/providers/kimi.js +0 -1
- package/dist/ai/providers/kimi.js.map +1 -1
- package/dist/ai/providers/openai-codex-responses.js +2 -3
- package/dist/ai/providers/openai-codex-responses.js.map +1 -1
- package/dist/ai/providers/openai-completions.js +0 -2
- package/dist/ai/providers/openai-completions.js.map +1 -1
- package/dist/ai/providers/openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses.js +0 -30
- package/dist/ai/providers/openai-responses.js.map +1 -1
- package/dist/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/ai/providers/register-builtins.js +0 -6
- package/dist/ai/providers/register-builtins.js.map +1 -1
- package/dist/ai/providers/simple-options.js +0 -2
- package/dist/ai/providers/simple-options.js.map +1 -1
- package/dist/ai/providers/transform-messages.js +9 -3
- package/dist/ai/providers/transform-messages.js.map +1 -1
- package/dist/ai/stream.js +3 -1
- package/dist/ai/stream.js.map +1 -1
- package/dist/ai/types.d.ts +1 -34
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/base-stream-handler.js +0 -1
- package/dist/ai/utils/base-stream-handler.js.map +1 -1
- package/dist/ai/utils/event-stream.js +4 -9
- package/dist/ai/utils/event-stream.js.map +1 -1
- package/dist/ai/utils/index.d.ts +0 -1
- package/dist/ai/utils/index.d.ts.map +1 -1
- package/dist/ai/utils/index.js +0 -1
- package/dist/ai/utils/index.js.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.js +8 -19
- package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
- package/dist/ai/utils/overflow.d.ts.map +1 -1
- package/dist/ai/utils/overflow.js +0 -4
- package/dist/ai/utils/overflow.js.map +1 -1
- package/dist/ai/utils/provider-adapter.js +0 -9
- package/dist/ai/utils/provider-adapter.js.map +1 -1
- package/dist/ai/utils/provider-client-builder.js +1 -1
- package/dist/ai/utils/provider-client-builder.js.map +1 -1
- package/dist/ai/utils/provider-errors.js +0 -2
- package/dist/ai/utils/provider-errors.js.map +1 -1
- package/dist/ai/utils/stream-event-helper.js +0 -3
- package/dist/ai/utils/stream-event-helper.js.map +1 -1
- package/dist/ai/utils/stream-handler-types.js +0 -5
- package/dist/ai/utils/stream-handler-types.js.map +1 -1
- package/dist/ai/utils/streaming-state-manager.js +2 -4
- package/dist/ai/utils/streaming-state-manager.js.map +1 -1
- package/dist/mcp/client-pool.js +2 -3
- package/dist/mcp/client-pool.js.map +1 -1
- package/dist/mcp/client.js +5 -18
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/errors.js +0 -8
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/server.js +3 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/embedder/openai.js +1 -7
- package/dist/memory/embedder/openai.js.map +1 -1
- package/dist/memory/memory.js +1 -6
- package/dist/memory/memory.js.map +1 -1
- package/dist/memory/processors/message-history.js +2 -4
- package/dist/memory/processors/message-history.js.map +1 -1
- package/dist/memory/processors/observational-memory/index.js +2 -7
- package/dist/memory/processors/observational-memory/index.js.map +1 -1
- package/dist/memory/processors/observational-memory/token-counter.js +3 -3
- package/dist/memory/processors/observational-memory/token-counter.js.map +1 -1
- package/dist/memory/processors/semantic-recall.js +2 -11
- package/dist/memory/processors/semantic-recall.js.map +1 -1
- package/dist/memory/processors/working-memory.js +2 -7
- package/dist/memory/processors/working-memory.js.map +1 -1
- package/dist/memory/storage/base.js +6 -4
- package/dist/memory/storage/base.js.map +1 -1
- package/dist/memory/storage/inmemory.js +2 -3
- package/dist/memory/storage/inmemory.js.map +1 -1
- package/dist/memory/vector/base.js +6 -4
- package/dist/memory/vector/base.js.map +1 -1
- package/dist/memory/vector/inmemory.js +5 -2
- package/dist/memory/vector/inmemory.js.map +1 -1
- package/dist/tui/autocomplete.js +1 -5
- package/dist/tui/autocomplete.js.map +1 -1
- package/dist/tui/components/box.js +1 -9
- package/dist/tui/components/box.js.map +1 -1
- package/dist/tui/components/cancellable-loader.js +4 -3
- package/dist/tui/components/cancellable-loader.js.map +1 -1
- package/dist/tui/components/editor.d.ts +3 -39
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +133 -162
- package/dist/tui/components/editor.js.map +1 -1
- package/dist/tui/components/image.js +0 -8
- package/dist/tui/components/image.js.map +1 -1
- package/dist/tui/components/input.js +11 -10
- package/dist/tui/components/input.js.map +1 -1
- package/dist/tui/components/loader.js +4 -7
- package/dist/tui/components/loader.js.map +1 -1
- package/dist/tui/components/markdown.js +0 -10
- package/dist/tui/components/markdown.js.map +1 -1
- package/dist/tui/components/select-list.js +4 -8
- package/dist/tui/components/select-list.js.map +1 -1
- package/dist/tui/components/settings-list.js +4 -12
- package/dist/tui/components/settings-list.js.map +1 -1
- package/dist/tui/components/spacer.js +0 -1
- package/dist/tui/components/spacer.js.map +1 -1
- package/dist/tui/components/text.js +0 -5
- package/dist/tui/components/text.js.map +1 -1
- package/dist/tui/components/truncated-text.js +0 -3
- package/dist/tui/components/truncated-text.js.map +1 -1
- package/dist/tui/fuzzy.js +1 -4
- package/dist/tui/fuzzy.js.map +1 -1
- package/dist/tui/keybindings.js +2 -3
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/keys.d.ts +1 -17
- package/dist/tui/keys.d.ts.map +1 -1
- package/dist/tui/keys.js +0 -56
- package/dist/tui/keys.js.map +1 -1
- package/dist/tui/stdin-buffer.js +5 -6
- package/dist/tui/stdin-buffer.js.map +1 -1
- package/dist/tui/terminal-image.js +3 -1
- package/dist/tui/terminal-image.js.map +1 -1
- package/dist/tui/terminal.d.ts +0 -13
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +7 -70
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/tui.d.ts +0 -36
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +29 -101
- package/dist/tui/tui.js.map +1 -1
- package/dist/tui/utils.js +16 -12
- package/dist/tui/utils.js.map +1 -1
- package/package.json +29 -38
- package/dist/agent/agent-session.d.ts +0 -352
- package/dist/agent/agent-session.d.ts.map +0 -1
- package/dist/agent/agent-session.js +0 -870
- package/dist/agent/agent-session.js.map +0 -1
- package/dist/agent/agent-session.test.d.ts +0 -5
- package/dist/agent/agent-session.test.d.ts.map +0 -1
- package/dist/agent/agent-session.test.js +0 -129
- package/dist/agent/agent-session.test.js.map +0 -1
- package/dist/agent/bash-executor.d.ts +0 -33
- package/dist/agent/bash-executor.d.ts.map +0 -1
- package/dist/agent/bash-executor.js +0 -197
- package/dist/agent/bash-executor.js.map +0 -1
- package/dist/agent/compaction/compaction.d.ts +0 -87
- package/dist/agent/compaction/compaction.d.ts.map +0 -1
- package/dist/agent/compaction/compaction.js +0 -598
- package/dist/agent/compaction/compaction.js.map +0 -1
- package/dist/agent/compaction/index.d.ts +0 -6
- package/dist/agent/compaction/index.d.ts.map +0 -1
- package/dist/agent/compaction/index.js +0 -6
- package/dist/agent/compaction/index.js.map +0 -1
- package/dist/agent/compaction/utils.d.ts +0 -41
- package/dist/agent/compaction/utils.d.ts.map +0 -1
- package/dist/agent/compaction/utils.js +0 -240
- package/dist/agent/compaction/utils.js.map +0 -1
- package/dist/agent/settings-manager.d.ts +0 -204
- package/dist/agent/settings-manager.d.ts.map +0 -1
- package/dist/agent/settings-manager.js +0 -594
- package/dist/agent/settings-manager.js.map +0 -1
- package/dist/agent/tools/edit.test.d.ts +0 -6
- package/dist/agent/tools/edit.test.d.ts.map +0 -1
- package/dist/agent/tools/edit.test.js +0 -196
- package/dist/agent/tools/edit.test.js.map +0 -1
- package/dist/ai/providers/github-copilot-headers.d.ts +0 -33
- package/dist/ai/providers/github-copilot-headers.d.ts.map +0 -1
- package/dist/ai/providers/github-copilot-headers.js +0 -51
- package/dist/ai/providers/github-copilot-headers.js.map +0 -1
- package/dist/ai/providers/mistral.d.ts +0 -22
- package/dist/ai/providers/mistral.d.ts.map +0 -1
- package/dist/ai/providers/mistral.js +0 -497
- package/dist/ai/providers/mistral.js.map +0 -1
- package/dist/ai/types.test.d.ts +0 -8
- package/dist/ai/types.test.d.ts.map +0 -1
- package/dist/ai/types.test.js +0 -389
- package/dist/ai/types.test.js.map +0 -1
- package/dist/ai/utils/hash.d.ts +0 -6
- package/dist/ai/utils/hash.d.ts.map +0 -1
- package/dist/ai/utils/hash.js +0 -17
- package/dist/ai/utils/hash.js.map +0 -1
- package/dist/tui/kill-ring.d.ts +0 -28
- package/dist/tui/kill-ring.d.ts.map +0 -1
- package/dist/tui/kill-ring.js +0 -44
- package/dist/tui/kill-ring.js.map +0 -1
- package/dist/tui/undo-stack.d.ts +0 -17
- package/dist/tui/undo-stack.d.ts.map +0 -1
- package/dist/tui/undo-stack.js +0 -25
- package/dist/tui/undo-stack.js.map +0 -1
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared utilities for compaction and branch summarization.
|
|
3
|
-
* Adapted from PI-MONO coding-agent.
|
|
4
|
-
*/
|
|
5
|
-
import type { AgentMessage } from "../types.js";
|
|
6
|
-
import type { Message } from "../../ai/types.js";
|
|
7
|
-
export interface FileOperations {
|
|
8
|
-
read: Set<string>;
|
|
9
|
-
written: Set<string>;
|
|
10
|
-
edited: Set<string>;
|
|
11
|
-
}
|
|
12
|
-
export declare function createFileOps(): FileOperations;
|
|
13
|
-
/**
|
|
14
|
-
* Extract file operations from tool calls in an assistant message.
|
|
15
|
-
*/
|
|
16
|
-
export declare function extractFileOpsFromMessage(message: AgentMessage, fileOps: FileOperations): void;
|
|
17
|
-
/**
|
|
18
|
-
* Compute final file lists from file operations.
|
|
19
|
-
* Returns readFiles (files only read, not modified) and modifiedFiles.
|
|
20
|
-
*/
|
|
21
|
-
export declare function computeFileLists(fileOps: FileOperations): {
|
|
22
|
-
readFiles: string[];
|
|
23
|
-
modifiedFiles: string[];
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Format file operations as XML tags for summary.
|
|
27
|
-
*/
|
|
28
|
-
export declare function formatFileOperations(readFiles: string[], modifiedFiles: string[]): string;
|
|
29
|
-
/**
|
|
30
|
-
* Serialize LLM messages to text for summarization.
|
|
31
|
-
*/
|
|
32
|
-
export declare function serializeConversation(messages: Message[]): string;
|
|
33
|
-
export declare const SUMMARIZATION_SYSTEM_PROMPT = "You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.\n\nDo NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.";
|
|
34
|
-
/**
|
|
35
|
-
* Convert AgentMessage to LLM-compatible Message format.
|
|
36
|
-
* Handles custom message types like bashExecution, branchSummary, etc.
|
|
37
|
-
* Note: This function returns Message[] which can include AssistantMessage and ToolResultMessage
|
|
38
|
-
* with all their required fields when the input is already a proper Message.
|
|
39
|
-
*/
|
|
40
|
-
export declare function convertToLlm(messages: AgentMessage[]): Message[];
|
|
41
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/agent/compaction/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAA+C,MAAM,mBAAmB,CAAC;AAM9F,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,wBAAgB,aAAa,IAAI,cAAc,CAM9C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CA2B9F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAK1G;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAUzF;AAkBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAqDjE;AAMD,eAAO,MAAM,2BAA2B,oUAEmF,CAAC;AAM5H;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CA4FhE"}
|
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared utilities for compaction and branch summarization.
|
|
3
|
-
* Adapted from PI-MONO coding-agent.
|
|
4
|
-
*/
|
|
5
|
-
export function createFileOps() {
|
|
6
|
-
return {
|
|
7
|
-
read: new Set(),
|
|
8
|
-
written: new Set(),
|
|
9
|
-
edited: new Set(),
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Extract file operations from tool calls in an assistant message.
|
|
14
|
-
*/
|
|
15
|
-
export function extractFileOpsFromMessage(message, fileOps) {
|
|
16
|
-
if (message.role !== "assistant")
|
|
17
|
-
return;
|
|
18
|
-
if (!("content" in message) || !Array.isArray(message.content))
|
|
19
|
-
return;
|
|
20
|
-
for (const block of message.content) {
|
|
21
|
-
if (typeof block !== "object" || block === null)
|
|
22
|
-
continue;
|
|
23
|
-
if (!("type" in block) || block.type !== "toolCall")
|
|
24
|
-
continue;
|
|
25
|
-
if (!("arguments" in block) || !("name" in block))
|
|
26
|
-
continue;
|
|
27
|
-
const args = block.arguments;
|
|
28
|
-
if (!args)
|
|
29
|
-
continue;
|
|
30
|
-
const path = typeof args.path === "string" ? args.path : undefined;
|
|
31
|
-
if (!path)
|
|
32
|
-
continue;
|
|
33
|
-
switch (block.name) {
|
|
34
|
-
case "read":
|
|
35
|
-
fileOps.read.add(path);
|
|
36
|
-
break;
|
|
37
|
-
case "write":
|
|
38
|
-
fileOps.written.add(path);
|
|
39
|
-
break;
|
|
40
|
-
case "edit":
|
|
41
|
-
fileOps.edited.add(path);
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Compute final file lists from file operations.
|
|
48
|
-
* Returns readFiles (files only read, not modified) and modifiedFiles.
|
|
49
|
-
*/
|
|
50
|
-
export function computeFileLists(fileOps) {
|
|
51
|
-
const modified = new Set([...fileOps.edited, ...fileOps.written]);
|
|
52
|
-
const readOnly = [...fileOps.read].filter((f) => !modified.has(f)).sort();
|
|
53
|
-
const modifiedFiles = [...modified].sort();
|
|
54
|
-
return { readFiles: readOnly, modifiedFiles };
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Format file operations as XML tags for summary.
|
|
58
|
-
*/
|
|
59
|
-
export function formatFileOperations(readFiles, modifiedFiles) {
|
|
60
|
-
const sections = [];
|
|
61
|
-
if (readFiles.length > 0) {
|
|
62
|
-
sections.push(`<read-files>\n${readFiles.join("\n")}\n</read-files>`);
|
|
63
|
-
}
|
|
64
|
-
if (modifiedFiles.length > 0) {
|
|
65
|
-
sections.push(`<modified-files>\n${modifiedFiles.join("\n")}\n</modified-files>`);
|
|
66
|
-
}
|
|
67
|
-
if (sections.length === 0)
|
|
68
|
-
return "";
|
|
69
|
-
return `\n\n${sections.join("\n\n")}`;
|
|
70
|
-
}
|
|
71
|
-
// ============================================================================
|
|
72
|
-
// Message Serialization
|
|
73
|
-
// ============================================================================
|
|
74
|
-
/** Maximum characters for a tool result in serialized summaries. */
|
|
75
|
-
const TOOL_RESULT_MAX_CHARS = 2000;
|
|
76
|
-
/**
|
|
77
|
-
* Truncate text to a maximum character length for summarization.
|
|
78
|
-
*/
|
|
79
|
-
function truncateForSummary(text, maxChars) {
|
|
80
|
-
if (text.length <= maxChars)
|
|
81
|
-
return text;
|
|
82
|
-
const truncatedChars = text.length - maxChars;
|
|
83
|
-
return `${text.slice(0, maxChars)}\n\n[... ${truncatedChars} more characters truncated]`;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Serialize LLM messages to text for summarization.
|
|
87
|
-
*/
|
|
88
|
-
export function serializeConversation(messages) {
|
|
89
|
-
const parts = [];
|
|
90
|
-
for (const msg of messages) {
|
|
91
|
-
if (msg.role === "user") {
|
|
92
|
-
const content = typeof msg.content === "string"
|
|
93
|
-
? msg.content
|
|
94
|
-
: msg.content
|
|
95
|
-
.filter((c) => c.type === "text")
|
|
96
|
-
.map((c) => c.text)
|
|
97
|
-
.join("");
|
|
98
|
-
if (content)
|
|
99
|
-
parts.push(`[User]: ${content}`);
|
|
100
|
-
}
|
|
101
|
-
else if (msg.role === "assistant") {
|
|
102
|
-
const textParts = [];
|
|
103
|
-
const thinkingParts = [];
|
|
104
|
-
const toolCalls = [];
|
|
105
|
-
for (const block of msg.content) {
|
|
106
|
-
if (block.type === "text") {
|
|
107
|
-
textParts.push(block.text);
|
|
108
|
-
}
|
|
109
|
-
else if (block.type === "thinking") {
|
|
110
|
-
thinkingParts.push(block.thinking);
|
|
111
|
-
}
|
|
112
|
-
else if (block.type === "toolCall") {
|
|
113
|
-
const args = block.arguments;
|
|
114
|
-
const argsStr = Object.entries(args)
|
|
115
|
-
.map(([k, v]) => `${k}=${JSON.stringify(v)}`)
|
|
116
|
-
.join(", ");
|
|
117
|
-
toolCalls.push(`${block.name}(${argsStr})`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
if (thinkingParts.length > 0) {
|
|
121
|
-
parts.push(`[Assistant thinking]: ${thinkingParts.join("\n")}`);
|
|
122
|
-
}
|
|
123
|
-
if (textParts.length > 0) {
|
|
124
|
-
parts.push(`[Assistant]: ${textParts.join("\n")}`);
|
|
125
|
-
}
|
|
126
|
-
if (toolCalls.length > 0) {
|
|
127
|
-
parts.push(`[Assistant tool calls]: ${toolCalls.join("; ")}`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
else if (msg.role === "toolResult") {
|
|
131
|
-
const content = msg.content
|
|
132
|
-
.filter((c) => c.type === "text")
|
|
133
|
-
.map((c) => c.text)
|
|
134
|
-
.join("");
|
|
135
|
-
if (content) {
|
|
136
|
-
parts.push(`[Tool result]: ${truncateForSummary(content, TOOL_RESULT_MAX_CHARS)}`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return parts.join("\n\n");
|
|
141
|
-
}
|
|
142
|
-
// ============================================================================
|
|
143
|
-
// Summarization System Prompt
|
|
144
|
-
// ============================================================================
|
|
145
|
-
export const SUMMARIZATION_SYSTEM_PROMPT = `You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
|
|
146
|
-
|
|
147
|
-
Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.`;
|
|
148
|
-
// ============================================================================
|
|
149
|
-
// Message Conversion
|
|
150
|
-
// ============================================================================
|
|
151
|
-
/**
|
|
152
|
-
* Convert AgentMessage to LLM-compatible Message format.
|
|
153
|
-
* Handles custom message types like bashExecution, branchSummary, etc.
|
|
154
|
-
* Note: This function returns Message[] which can include AssistantMessage and ToolResultMessage
|
|
155
|
-
* with all their required fields when the input is already a proper Message.
|
|
156
|
-
*/
|
|
157
|
-
export function convertToLlm(messages) {
|
|
158
|
-
const result = [];
|
|
159
|
-
for (const msg of messages) {
|
|
160
|
-
const role = msg.role;
|
|
161
|
-
const timestamp = 'timestamp' in msg && typeof msg.timestamp === 'number' ? msg.timestamp : Date.now();
|
|
162
|
-
switch (role) {
|
|
163
|
-
case "user": {
|
|
164
|
-
const content = msg.content;
|
|
165
|
-
result.push({
|
|
166
|
-
role: "user",
|
|
167
|
-
content: typeof content === "string" ? content : content,
|
|
168
|
-
timestamp,
|
|
169
|
-
});
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
case "assistant": {
|
|
173
|
-
// AssistantMessage has all required fields already
|
|
174
|
-
result.push(msg);
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
|
-
case "toolResult": {
|
|
178
|
-
// ToolResultMessage has all required fields already
|
|
179
|
-
const tr = msg;
|
|
180
|
-
result.push({
|
|
181
|
-
role: "toolResult",
|
|
182
|
-
toolCallId: tr.toolCallId,
|
|
183
|
-
toolName: tr.toolName,
|
|
184
|
-
content: tr.content,
|
|
185
|
-
isError: tr.isError,
|
|
186
|
-
timestamp: tr.timestamp,
|
|
187
|
-
});
|
|
188
|
-
break;
|
|
189
|
-
}
|
|
190
|
-
case "bashExecution": {
|
|
191
|
-
// Convert bash execution to user message
|
|
192
|
-
const bashMsg = msg;
|
|
193
|
-
result.push({
|
|
194
|
-
role: "user",
|
|
195
|
-
content: [
|
|
196
|
-
{
|
|
197
|
-
type: "text",
|
|
198
|
-
text: `[Bash command: ${bashMsg.command}]\n${bashMsg.output}`,
|
|
199
|
-
},
|
|
200
|
-
],
|
|
201
|
-
timestamp,
|
|
202
|
-
});
|
|
203
|
-
break;
|
|
204
|
-
}
|
|
205
|
-
case "custom": {
|
|
206
|
-
// Convert custom message to user message
|
|
207
|
-
const customMsg = msg;
|
|
208
|
-
const content = customMsg.content;
|
|
209
|
-
result.push({
|
|
210
|
-
role: "user",
|
|
211
|
-
content: typeof content === "string" ? content : content,
|
|
212
|
-
timestamp,
|
|
213
|
-
});
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
case "branchSummary":
|
|
217
|
-
case "compactionSummary": {
|
|
218
|
-
// Convert summary to user message
|
|
219
|
-
const summaryMsg = msg;
|
|
220
|
-
result.push({
|
|
221
|
-
role: "user",
|
|
222
|
-
content: [{ type: "text", text: summaryMsg.summary }],
|
|
223
|
-
timestamp,
|
|
224
|
-
});
|
|
225
|
-
break;
|
|
226
|
-
}
|
|
227
|
-
default: {
|
|
228
|
-
// Fallback for unknown types - convert to string representation
|
|
229
|
-
result.push({
|
|
230
|
-
role: "user",
|
|
231
|
-
content: [{ type: "text", text: JSON.stringify(msg) }],
|
|
232
|
-
timestamp,
|
|
233
|
-
});
|
|
234
|
-
break;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return result;
|
|
239
|
-
}
|
|
240
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/agent/compaction/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings management for agent sessions.
|
|
3
|
-
* Adapted from PI-MONO coding-agent.
|
|
4
|
-
*/
|
|
5
|
-
import type { Transport } from "../ai/index.js";
|
|
6
|
-
export interface CompactionSettings {
|
|
7
|
-
enabled?: boolean;
|
|
8
|
-
reserveTokens?: number;
|
|
9
|
-
keepRecentTokens?: number;
|
|
10
|
-
}
|
|
11
|
-
export interface BranchSummarySettings {
|
|
12
|
-
reserveTokens?: number;
|
|
13
|
-
skipPrompt?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface RetrySettings {
|
|
16
|
-
enabled?: boolean;
|
|
17
|
-
maxRetries?: number;
|
|
18
|
-
baseDelayMs?: number;
|
|
19
|
-
maxDelayMs?: number;
|
|
20
|
-
}
|
|
21
|
-
export interface TerminalSettings {
|
|
22
|
-
showImages?: boolean;
|
|
23
|
-
clearOnShrink?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface ImageSettings {
|
|
26
|
-
autoResize?: boolean;
|
|
27
|
-
blockImages?: boolean;
|
|
28
|
-
}
|
|
29
|
-
export interface ThinkingBudgetsSettings {
|
|
30
|
-
minimal?: number;
|
|
31
|
-
low?: number;
|
|
32
|
-
medium?: number;
|
|
33
|
-
high?: number;
|
|
34
|
-
}
|
|
35
|
-
export interface MarkdownSettings {
|
|
36
|
-
codeBlockIndent?: string;
|
|
37
|
-
}
|
|
38
|
-
export type TransportSetting = Transport;
|
|
39
|
-
export type PackageSource = string | {
|
|
40
|
-
source: string;
|
|
41
|
-
extensions?: string[];
|
|
42
|
-
skills?: string[];
|
|
43
|
-
prompts?: string[];
|
|
44
|
-
themes?: string[];
|
|
45
|
-
};
|
|
46
|
-
export interface Settings {
|
|
47
|
-
lastChangelogVersion?: string;
|
|
48
|
-
defaultProvider?: string;
|
|
49
|
-
defaultModel?: string;
|
|
50
|
-
defaultThinkingLevel?: "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
|
|
51
|
-
transport?: TransportSetting;
|
|
52
|
-
steeringMode?: "all" | "one-at-a-time";
|
|
53
|
-
followUpMode?: "all" | "one-at-a-time";
|
|
54
|
-
theme?: string;
|
|
55
|
-
compaction?: CompactionSettings;
|
|
56
|
-
branchSummary?: BranchSummarySettings;
|
|
57
|
-
retry?: RetrySettings;
|
|
58
|
-
hideThinkingBlock?: boolean;
|
|
59
|
-
shellPath?: string;
|
|
60
|
-
quietStartup?: boolean;
|
|
61
|
-
shellCommandPrefix?: string;
|
|
62
|
-
collapseChangelog?: boolean;
|
|
63
|
-
packages?: PackageSource[];
|
|
64
|
-
extensions?: string[];
|
|
65
|
-
skills?: string[];
|
|
66
|
-
prompts?: string[];
|
|
67
|
-
themes?: string[];
|
|
68
|
-
enableSkillCommands?: boolean;
|
|
69
|
-
terminal?: TerminalSettings;
|
|
70
|
-
images?: ImageSettings;
|
|
71
|
-
enabledModels?: string[];
|
|
72
|
-
doubleEscapeAction?: "fork" | "tree" | "none";
|
|
73
|
-
treeFilterMode?: "default" | "no-tools" | "user-only" | "labeled-only" | "all";
|
|
74
|
-
thinkingBudgets?: ThinkingBudgetsSettings;
|
|
75
|
-
editorPaddingX?: number;
|
|
76
|
-
autocompleteMaxVisible?: number;
|
|
77
|
-
showHardwareCursor?: boolean;
|
|
78
|
-
markdown?: MarkdownSettings;
|
|
79
|
-
}
|
|
80
|
-
export type SettingsScope = "global" | "project";
|
|
81
|
-
export interface SettingsStorage {
|
|
82
|
-
withLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void;
|
|
83
|
-
}
|
|
84
|
-
export interface SettingsError {
|
|
85
|
-
scope: SettingsScope;
|
|
86
|
-
error: Error;
|
|
87
|
-
}
|
|
88
|
-
export declare class FileSettingsStorage implements SettingsStorage {
|
|
89
|
-
private globalSettingsPath;
|
|
90
|
-
private projectSettingsPath;
|
|
91
|
-
constructor(cwd?: string, agentDir?: string);
|
|
92
|
-
private acquireLockSyncWithRetry;
|
|
93
|
-
withLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void;
|
|
94
|
-
}
|
|
95
|
-
export declare class InMemorySettingsStorage implements SettingsStorage {
|
|
96
|
-
private global;
|
|
97
|
-
private project;
|
|
98
|
-
withLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void;
|
|
99
|
-
}
|
|
100
|
-
export declare class SettingsManager {
|
|
101
|
-
private storage;
|
|
102
|
-
private globalSettings;
|
|
103
|
-
private projectSettings;
|
|
104
|
-
private settings;
|
|
105
|
-
private modifiedFields;
|
|
106
|
-
private modifiedNestedFields;
|
|
107
|
-
private modifiedProjectFields;
|
|
108
|
-
private modifiedProjectNestedFields;
|
|
109
|
-
private globalSettingsLoadError;
|
|
110
|
-
private projectSettingsLoadError;
|
|
111
|
-
private writeQueue;
|
|
112
|
-
private errors;
|
|
113
|
-
private constructor();
|
|
114
|
-
static create(cwd?: string, agentDir?: string): SettingsManager;
|
|
115
|
-
static fromStorage(storage: SettingsStorage): SettingsManager;
|
|
116
|
-
static inMemory(settings?: Partial<Settings>): SettingsManager;
|
|
117
|
-
private static loadFromStorage;
|
|
118
|
-
private static tryLoadFromStorage;
|
|
119
|
-
private static migrateSettings;
|
|
120
|
-
getGlobalSettings(): Settings;
|
|
121
|
-
getProjectSettings(): Settings;
|
|
122
|
-
reload(): void;
|
|
123
|
-
applyOverrides(overrides: Partial<Settings>): void;
|
|
124
|
-
private markModified;
|
|
125
|
-
private markProjectModified;
|
|
126
|
-
private recordError;
|
|
127
|
-
private clearModifiedScope;
|
|
128
|
-
private enqueueWrite;
|
|
129
|
-
private cloneModifiedNestedFields;
|
|
130
|
-
private persistScopedSettings;
|
|
131
|
-
private save;
|
|
132
|
-
private saveProjectSettings;
|
|
133
|
-
flush(): Promise<void>;
|
|
134
|
-
drainErrors(): SettingsError[];
|
|
135
|
-
getDefaultProvider(): string | undefined;
|
|
136
|
-
getDefaultModel(): string | undefined;
|
|
137
|
-
setDefaultProvider(provider: string): void;
|
|
138
|
-
setDefaultModel(modelId: string): void;
|
|
139
|
-
setDefaultModelAndProvider(provider: string, modelId: string): void;
|
|
140
|
-
getSteeringMode(): "all" | "one-at-a-time";
|
|
141
|
-
setSteeringMode(mode: "all" | "one-at-a-time"): void;
|
|
142
|
-
getFollowUpMode(): "all" | "one-at-a-time";
|
|
143
|
-
setFollowUpMode(mode: "all" | "one-at-a-time"): void;
|
|
144
|
-
getTheme(): string | undefined;
|
|
145
|
-
setTheme(theme: string): void;
|
|
146
|
-
getDefaultThinkingLevel(): "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined;
|
|
147
|
-
setDefaultThinkingLevel(level: "off" | "minimal" | "low" | "medium" | "high" | "xhigh"): void;
|
|
148
|
-
getTransport(): TransportSetting;
|
|
149
|
-
setTransport(transport: TransportSetting): void;
|
|
150
|
-
getCompactionEnabled(): boolean;
|
|
151
|
-
setCompactionEnabled(enabled: boolean): void;
|
|
152
|
-
getCompactionReserveTokens(): number;
|
|
153
|
-
getCompactionKeepRecentTokens(): number;
|
|
154
|
-
getCompactionSettings(): {
|
|
155
|
-
enabled: boolean;
|
|
156
|
-
reserveTokens: number;
|
|
157
|
-
keepRecentTokens: number;
|
|
158
|
-
};
|
|
159
|
-
getBranchSummarySettings(): {
|
|
160
|
-
reserveTokens: number;
|
|
161
|
-
skipPrompt: boolean;
|
|
162
|
-
};
|
|
163
|
-
getRetryEnabled(): boolean;
|
|
164
|
-
setRetryEnabled(enabled: boolean): void;
|
|
165
|
-
getRetrySettings(): {
|
|
166
|
-
enabled: boolean;
|
|
167
|
-
maxRetries: number;
|
|
168
|
-
baseDelayMs: number;
|
|
169
|
-
maxDelayMs: number;
|
|
170
|
-
};
|
|
171
|
-
setRetryMaxRetries(maxRetries: number): void;
|
|
172
|
-
setRetryBaseDelayMs(baseDelayMs: number): void;
|
|
173
|
-
getShellPath(): string | undefined;
|
|
174
|
-
setShellPath(path: string | undefined): void;
|
|
175
|
-
getShellCommandPrefix(): string | undefined;
|
|
176
|
-
setShellCommandPrefix(prefix: string | undefined): void;
|
|
177
|
-
getImageAutoResize(): boolean;
|
|
178
|
-
setImageAutoResize(enabled: boolean): void;
|
|
179
|
-
getBlockImages(): boolean;
|
|
180
|
-
setBlockImages(blocked: boolean): void;
|
|
181
|
-
getHideThinkingBlock(): boolean;
|
|
182
|
-
setHideThinkingBlock(hide: boolean): void;
|
|
183
|
-
getQuietStartup(): boolean;
|
|
184
|
-
setQuietStartup(quiet: boolean): void;
|
|
185
|
-
getShowImages(): boolean;
|
|
186
|
-
setShowImages(show: boolean): void;
|
|
187
|
-
getClearOnShrink(): boolean;
|
|
188
|
-
getThinkingBudgets(): ThinkingBudgetsSettings | undefined;
|
|
189
|
-
getEnabledModels(): string[] | undefined;
|
|
190
|
-
setEnabledModels(patterns: string[] | undefined): void;
|
|
191
|
-
getCodeBlockIndent(): string;
|
|
192
|
-
getAutocompleteMaxVisible(): number;
|
|
193
|
-
getEditorPaddingX(): number;
|
|
194
|
-
getDoubleEscapeAction(): "fork" | "tree" | "none";
|
|
195
|
-
getTreeFilterMode(): "default" | "no-tools" | "user-only" | "labeled-only" | "all";
|
|
196
|
-
getShowHardwareCursor(): boolean;
|
|
197
|
-
getPackages(): PackageSource[];
|
|
198
|
-
getExtensionPaths(): string[];
|
|
199
|
-
getSkillPaths(): string[];
|
|
200
|
-
getPromptTemplatePaths(): string[];
|
|
201
|
-
getThemePaths(): string[];
|
|
202
|
-
getEnableSkillCommands(): boolean;
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=settings-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings-manager.d.ts","sourceRoot":"","sources":["../../src/agent/settings-manager.ts"],"names":[],"mappings":"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"}
|