neoctl 0.2.63 → 0.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -58
- package/dist/context/compaction.d.ts +2 -0
- package/dist/context/compaction.js +66 -32
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/system.md +18 -18
- package/dist/core/message-pipeline.js +6 -3
- package/dist/core/message-pipeline.js.map +1 -1
- package/dist/core/query-engine.js +1 -1
- package/dist/core/query-engine.js.map +1 -1
- package/dist/core/run-agent.js +1 -1
- package/dist/core/run-agent.js.map +1 -1
- package/dist/execution/filesystem.js +22 -22
- package/dist/execution/process.js +44 -44
- package/dist/model/model-metadata.json +144 -144
- package/dist/session/tool-result-memory.d.ts +4 -1
- package/dist/session/tool-result-memory.js +35 -14
- package/dist/session/tool-result-memory.js.map +1 -1
- package/dist/session/user-message-archive.d.ts +7 -0
- package/dist/session/user-message-archive.js +107 -0
- package/dist/session/user-message-archive.js.map +1 -0
- package/dist/tools/builtins/filesystem-tools.js +6 -1
- package/dist/tools/builtins/filesystem-tools.js.map +1 -1
- package/dist/tools/builtins/grep-tool.js +3 -1
- package/dist/tools/builtins/grep-tool.js.map +1 -1
- package/dist/tools/builtins/image-loader-tool.d.ts +1 -1
- package/dist/tools/builtins/image-loader-tool.js +10 -10
- package/dist/tools/builtins/image-loader-tool.js.map +1 -1
- package/dist/tools/builtins/search-tool.js +3 -1
- package/dist/tools/builtins/search-tool.js.map +1 -1
- package/dist/tools/run-tool-use.js +16 -6
- package/dist/tools/run-tool-use.js.map +1 -1
- package/dist/web/index.js.map +1 -1
- package/docs/prompt-config.md +86 -86
- package/package.json +96 -96
- package/scripts/copy-prompt-resources.mjs +5 -5
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
{
|
|
2
|
-
"updatedAt": "2026-11-03",
|
|
3
|
-
"notes": [
|
|
4
|
-
"Bundled metadata for current mainstream Claude models and supported OpenAI models.",
|
|
5
|
-
"Claude contextWindowTokens is neo's configured 256000-token usage ceiling, not the upstream model maximum or a pricing guarantee.",
|
|
6
|
-
"MODEL_CONTEXT_WINDOW_TOKENS or OPENAI_CONTEXT_WINDOW_TOKENS overrides contextWindowTokens at runtime.",
|
|
7
|
-
"Model IDs and aliases are matched case-insensitively. Availability depends on the connected API and account."
|
|
8
|
-
],
|
|
9
|
-
"sources": {
|
|
10
|
-
"claude-models": "https://platform.claude.com/docs/en/models/overview",
|
|
11
|
-
"claude-effort": "https://platform.claude.com/docs/en/build-with-claude/effort",
|
|
12
|
-
"openai-models": "https://developers.openai.com/api/docs/models",
|
|
13
|
-
"openai-reasoning": "https://developers.openai.com/api/docs/guides/reasoning"
|
|
14
|
-
},
|
|
15
|
-
"models": [
|
|
16
|
-
{"id": "claude-fable-5-1", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-fable-5-1"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "Adaptive thinking; thinking cannot be disabled."},
|
|
17
|
-
{"id": "claude-haiku-5-5", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-haiku-5-5"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["none", "low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "none disables thinking; other efforts use adaptive thinking."},
|
|
18
|
-
{"id": "claude-opus-5-5", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-opus-5-5"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "Adaptive thinking; thinking cannot be disabled."},
|
|
19
|
-
{"id": "claude-sonnet-5-5", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-sonnet-5-5"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "Adaptive thinking; thinking cannot be disabled."},
|
|
20
|
-
{
|
|
21
|
-
"id": "gpt-5.6-sol",
|
|
22
|
-
"provider": "openai",
|
|
23
|
-
"modelIds": [
|
|
24
|
-
"gpt-5.6-sol"
|
|
25
|
-
],
|
|
26
|
-
"contextWindowTokens": 256000,
|
|
27
|
-
"maxOutputTokens": 128000,
|
|
28
|
-
"knowledgeCutoff": "2026-02-16",
|
|
29
|
-
"reasoning": true,
|
|
30
|
-
"imageInput": true,
|
|
31
|
-
"source": "openai-models",
|
|
32
|
-
"reasoningEfforts": [
|
|
33
|
-
"none",
|
|
34
|
-
"low",
|
|
35
|
-
"medium",
|
|
36
|
-
"high",
|
|
37
|
-
"xhigh",
|
|
38
|
-
"max"
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"id": "gpt-5.6-terra",
|
|
43
|
-
"provider": "openai",
|
|
44
|
-
"modelIds": [
|
|
45
|
-
"gpt-5.6-terra"
|
|
46
|
-
],
|
|
47
|
-
"contextWindowTokens": 256000,
|
|
48
|
-
"maxOutputTokens": 128000,
|
|
49
|
-
"knowledgeCutoff": "2026-02-16",
|
|
50
|
-
"reasoning": true,
|
|
51
|
-
"imageInput": true,
|
|
52
|
-
"source": "openai-models",
|
|
53
|
-
"reasoningEfforts": [
|
|
54
|
-
"none",
|
|
55
|
-
"low",
|
|
56
|
-
"medium",
|
|
57
|
-
"high",
|
|
58
|
-
"xhigh",
|
|
59
|
-
"max"
|
|
60
|
-
]
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "gpt-5.6-luna",
|
|
64
|
-
"provider": "openai",
|
|
65
|
-
"modelIds": [
|
|
66
|
-
"gpt-5.6-luna"
|
|
67
|
-
],
|
|
68
|
-
"contextWindowTokens": 256000,
|
|
69
|
-
"maxOutputTokens": 128000,
|
|
70
|
-
"knowledgeCutoff": "2026-02-16",
|
|
71
|
-
"reasoning": true,
|
|
72
|
-
"imageInput": true,
|
|
73
|
-
"source": "openai-models",
|
|
74
|
-
"reasoningEfforts": [
|
|
75
|
-
"none",
|
|
76
|
-
"low",
|
|
77
|
-
"medium",
|
|
78
|
-
"high",
|
|
79
|
-
"xhigh",
|
|
80
|
-
"max"
|
|
81
|
-
]
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"id": "gpt-6-sol",
|
|
85
|
-
"provider": "openai",
|
|
86
|
-
"modelIds": [
|
|
87
|
-
"gpt-6-sol"
|
|
88
|
-
],
|
|
89
|
-
"contextWindowTokens": 256000,
|
|
90
|
-
"maxOutputTokens": 128000,
|
|
91
|
-
"reasoning": true,
|
|
92
|
-
"imageInput": true,
|
|
93
|
-
"source": "openai-models",
|
|
94
|
-
"reasoningEfforts": [
|
|
95
|
-
"none",
|
|
96
|
-
"low",
|
|
97
|
-
"medium",
|
|
98
|
-
"high",
|
|
99
|
-
"xhigh",
|
|
100
|
-
"max"
|
|
101
|
-
]
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"id": "gpt-6.1-sol",
|
|
105
|
-
"provider": "openai",
|
|
106
|
-
"modelIds": [
|
|
107
|
-
"gpt-6.1-sol"
|
|
108
|
-
],
|
|
109
|
-
"contextWindowTokens": 256000,
|
|
110
|
-
"maxOutputTokens": 128000,
|
|
111
|
-
"reasoning": true,
|
|
112
|
-
"imageInput": true,
|
|
113
|
-
"source": "openai-models",
|
|
114
|
-
"reasoningEfforts": [
|
|
115
|
-
"none",
|
|
116
|
-
"low",
|
|
117
|
-
"medium",
|
|
118
|
-
"high",
|
|
119
|
-
"xhigh",
|
|
120
|
-
"max"
|
|
121
|
-
]
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"id": "gpt-6-astra",
|
|
125
|
-
"provider": "openai",
|
|
126
|
-
"modelIds": [
|
|
127
|
-
"gpt-6-astra"
|
|
128
|
-
],
|
|
129
|
-
"contextWindowTokens": 256000,
|
|
130
|
-
"maxOutputTokens": 128000,
|
|
131
|
-
"reasoning": true,
|
|
132
|
-
"imageInput": true,
|
|
133
|
-
"source": "openai-models",
|
|
134
|
-
"reasoningEfforts": [
|
|
135
|
-
"none",
|
|
136
|
-
"low",
|
|
137
|
-
"medium",
|
|
138
|
-
"high",
|
|
139
|
-
"xhigh",
|
|
140
|
-
"max"
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
]
|
|
144
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"updatedAt": "2026-11-03",
|
|
3
|
+
"notes": [
|
|
4
|
+
"Bundled metadata for current mainstream Claude models and supported OpenAI models.",
|
|
5
|
+
"Claude contextWindowTokens is neo's configured 256000-token usage ceiling, not the upstream model maximum or a pricing guarantee.",
|
|
6
|
+
"MODEL_CONTEXT_WINDOW_TOKENS or OPENAI_CONTEXT_WINDOW_TOKENS overrides contextWindowTokens at runtime.",
|
|
7
|
+
"Model IDs and aliases are matched case-insensitively. Availability depends on the connected API and account."
|
|
8
|
+
],
|
|
9
|
+
"sources": {
|
|
10
|
+
"claude-models": "https://platform.claude.com/docs/en/models/overview",
|
|
11
|
+
"claude-effort": "https://platform.claude.com/docs/en/build-with-claude/effort",
|
|
12
|
+
"openai-models": "https://developers.openai.com/api/docs/models",
|
|
13
|
+
"openai-reasoning": "https://developers.openai.com/api/docs/guides/reasoning"
|
|
14
|
+
},
|
|
15
|
+
"models": [
|
|
16
|
+
{"id": "claude-fable-5-1", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-fable-5-1"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "Adaptive thinking; thinking cannot be disabled."},
|
|
17
|
+
{"id": "claude-haiku-5-5", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-haiku-5-5"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["none", "low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "none disables thinking; other efforts use adaptive thinking."},
|
|
18
|
+
{"id": "claude-opus-5-5", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-opus-5-5"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "Adaptive thinking; thinking cannot be disabled."},
|
|
19
|
+
{"id": "claude-sonnet-5-5", "provider": "anthropic", "protocols": ["anthropic"], "modelIds": ["claude-sonnet-5-5"], "contextWindowTokens": 256000, "maxOutputTokens": 128000, "knowledgeCutoff": "2026-06", "reasoning": true, "reasoningEfforts": ["low", "medium", "high", "xhigh", "max"], "imageInput": true, "source": "claude-models", "notes": "Adaptive thinking; thinking cannot be disabled."},
|
|
20
|
+
{
|
|
21
|
+
"id": "gpt-5.6-sol",
|
|
22
|
+
"provider": "openai",
|
|
23
|
+
"modelIds": [
|
|
24
|
+
"gpt-5.6-sol"
|
|
25
|
+
],
|
|
26
|
+
"contextWindowTokens": 256000,
|
|
27
|
+
"maxOutputTokens": 128000,
|
|
28
|
+
"knowledgeCutoff": "2026-02-16",
|
|
29
|
+
"reasoning": true,
|
|
30
|
+
"imageInput": true,
|
|
31
|
+
"source": "openai-models",
|
|
32
|
+
"reasoningEfforts": [
|
|
33
|
+
"none",
|
|
34
|
+
"low",
|
|
35
|
+
"medium",
|
|
36
|
+
"high",
|
|
37
|
+
"xhigh",
|
|
38
|
+
"max"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "gpt-5.6-terra",
|
|
43
|
+
"provider": "openai",
|
|
44
|
+
"modelIds": [
|
|
45
|
+
"gpt-5.6-terra"
|
|
46
|
+
],
|
|
47
|
+
"contextWindowTokens": 256000,
|
|
48
|
+
"maxOutputTokens": 128000,
|
|
49
|
+
"knowledgeCutoff": "2026-02-16",
|
|
50
|
+
"reasoning": true,
|
|
51
|
+
"imageInput": true,
|
|
52
|
+
"source": "openai-models",
|
|
53
|
+
"reasoningEfforts": [
|
|
54
|
+
"none",
|
|
55
|
+
"low",
|
|
56
|
+
"medium",
|
|
57
|
+
"high",
|
|
58
|
+
"xhigh",
|
|
59
|
+
"max"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "gpt-5.6-luna",
|
|
64
|
+
"provider": "openai",
|
|
65
|
+
"modelIds": [
|
|
66
|
+
"gpt-5.6-luna"
|
|
67
|
+
],
|
|
68
|
+
"contextWindowTokens": 256000,
|
|
69
|
+
"maxOutputTokens": 128000,
|
|
70
|
+
"knowledgeCutoff": "2026-02-16",
|
|
71
|
+
"reasoning": true,
|
|
72
|
+
"imageInput": true,
|
|
73
|
+
"source": "openai-models",
|
|
74
|
+
"reasoningEfforts": [
|
|
75
|
+
"none",
|
|
76
|
+
"low",
|
|
77
|
+
"medium",
|
|
78
|
+
"high",
|
|
79
|
+
"xhigh",
|
|
80
|
+
"max"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "gpt-6-sol",
|
|
85
|
+
"provider": "openai",
|
|
86
|
+
"modelIds": [
|
|
87
|
+
"gpt-6-sol"
|
|
88
|
+
],
|
|
89
|
+
"contextWindowTokens": 256000,
|
|
90
|
+
"maxOutputTokens": 128000,
|
|
91
|
+
"reasoning": true,
|
|
92
|
+
"imageInput": true,
|
|
93
|
+
"source": "openai-models",
|
|
94
|
+
"reasoningEfforts": [
|
|
95
|
+
"none",
|
|
96
|
+
"low",
|
|
97
|
+
"medium",
|
|
98
|
+
"high",
|
|
99
|
+
"xhigh",
|
|
100
|
+
"max"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "gpt-6.1-sol",
|
|
105
|
+
"provider": "openai",
|
|
106
|
+
"modelIds": [
|
|
107
|
+
"gpt-6.1-sol"
|
|
108
|
+
],
|
|
109
|
+
"contextWindowTokens": 256000,
|
|
110
|
+
"maxOutputTokens": 128000,
|
|
111
|
+
"reasoning": true,
|
|
112
|
+
"imageInput": true,
|
|
113
|
+
"source": "openai-models",
|
|
114
|
+
"reasoningEfforts": [
|
|
115
|
+
"none",
|
|
116
|
+
"low",
|
|
117
|
+
"medium",
|
|
118
|
+
"high",
|
|
119
|
+
"xhigh",
|
|
120
|
+
"max"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "gpt-6-astra",
|
|
125
|
+
"provider": "openai",
|
|
126
|
+
"modelIds": [
|
|
127
|
+
"gpt-6-astra"
|
|
128
|
+
],
|
|
129
|
+
"contextWindowTokens": 256000,
|
|
130
|
+
"maxOutputTokens": 128000,
|
|
131
|
+
"reasoning": true,
|
|
132
|
+
"imageInput": true,
|
|
133
|
+
"source": "openai-models",
|
|
134
|
+
"reasoningEfforts": [
|
|
135
|
+
"none",
|
|
136
|
+
"low",
|
|
137
|
+
"medium",
|
|
138
|
+
"high",
|
|
139
|
+
"xhigh",
|
|
140
|
+
"max"
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
}
|
|
@@ -65,5 +65,8 @@ export declare class FileToolResultMemory implements ToolResultMemory {
|
|
|
65
65
|
}
|
|
66
66
|
export declare function createContentReplacementState(records?: readonly ContentReplacementRecord[]): ContentReplacementState;
|
|
67
67
|
export declare function reconstructContentReplacementState(messages: readonly Message[], records: readonly ContentReplacementRecord[]): ContentReplacementState;
|
|
68
|
-
|
|
68
|
+
/** Budget includes the persisted-path wrapper, not only the preview. */
|
|
69
|
+
export declare function buildLargeToolResultMessage(result: PersistedToolResult, maxChars?: number): string;
|
|
70
|
+
/** Strict UTF-16 character budget, without splitting a surrogate pair. */
|
|
71
|
+
export declare function truncateToolText(text: string, maxChars: number): string;
|
|
69
72
|
export declare function serializeToolOutput(output: unknown): string;
|
|
@@ -32,7 +32,7 @@ export class FileToolResultMemory {
|
|
|
32
32
|
return { output };
|
|
33
33
|
}
|
|
34
34
|
const persisted = await this.persistToolResult(toolUseId, output, serialized);
|
|
35
|
-
const replacement = buildLargeToolResultMessage(persisted);
|
|
35
|
+
const replacement = buildLargeToolResultMessage(persisted, thresholdChars);
|
|
36
36
|
this.state.seenIds.add(toolUseId);
|
|
37
37
|
this.state.replacements.set(toolUseId, replacement);
|
|
38
38
|
return {
|
|
@@ -69,7 +69,7 @@ export class FileToolResultMemory {
|
|
|
69
69
|
for (const candidate of selected) {
|
|
70
70
|
this.state.seenIds.add(candidate.toolUseId);
|
|
71
71
|
const persisted = await this.persistToolResult(candidate.toolUseId, candidate.output, candidate.serialized);
|
|
72
|
-
const replacement = buildLargeToolResultMessage(persisted);
|
|
72
|
+
const replacement = buildLargeToolResultMessage(persisted, maxSerializedLength);
|
|
73
73
|
this.state.replacements.set(candidate.toolUseId, replacement);
|
|
74
74
|
replacementMap.set(candidate.toolUseId, replacement);
|
|
75
75
|
records.push({ kind: "tool-result", toolUseId: candidate.toolUseId, replacement });
|
|
@@ -139,7 +139,7 @@ function collectCandidatesByGroup(messages, skipToolNames) {
|
|
|
139
139
|
messages.forEach((message, messageIndex) => {
|
|
140
140
|
if (message.role === "assistant" || message.role === "user" || message.role === "system")
|
|
141
141
|
flush();
|
|
142
|
-
if (message.role !== "tool_result")
|
|
142
|
+
if (message.role !== "tool_result" || message.metadata?.toolResultBudgetApplied === true)
|
|
143
143
|
return;
|
|
144
144
|
message.blocks.forEach((block, blockIndex) => {
|
|
145
145
|
if (block.type !== "tool_result")
|
|
@@ -189,7 +189,7 @@ function replaceToolResultOutputs(messages, replacementMap) {
|
|
|
189
189
|
if (block.type !== "tool_result")
|
|
190
190
|
return block;
|
|
191
191
|
const replacement = replacementMap.get(block.toolUseId);
|
|
192
|
-
if (replacement === undefined)
|
|
192
|
+
if (replacement === undefined || replacement === block.output)
|
|
193
193
|
return block;
|
|
194
194
|
changed = true;
|
|
195
195
|
return { ...block, output: replacement };
|
|
@@ -200,16 +200,37 @@ function replaceToolResultOutputs(messages, replacementMap) {
|
|
|
200
200
|
function isContentAlreadyPersisted(content) {
|
|
201
201
|
return content.startsWith(PERSISTED_OUTPUT_TAG);
|
|
202
202
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
result
|
|
211
|
-
|
|
212
|
-
|
|
203
|
+
/** Budget includes the persisted-path wrapper, not only the preview. */
|
|
204
|
+
export function buildLargeToolResultMessage(result, maxChars = DEFAULT_TOOL_RESULT_BUDGET_CHARS) {
|
|
205
|
+
const header = `${PERSISTED_OUTPUT_TAG}\nOutput too large (${result.originalSize} chars). Full output saved to: ${result.filepath}\n`;
|
|
206
|
+
const footer = `\n${PERSISTED_OUTPUT_CLOSING_TAG}`;
|
|
207
|
+
if (header.length + footer.length > maxChars) {
|
|
208
|
+
// A tiny budget cannot fit a usable persisted reference. The file remains
|
|
209
|
+
// durable, but never claim that a clipped path is a complete reference.
|
|
210
|
+
return truncateToolText("[Tool result truncated; full output saved in session tool-results.]", maxChars);
|
|
211
|
+
}
|
|
212
|
+
let preview = result.preview;
|
|
213
|
+
for (;;) {
|
|
214
|
+
const label = `\nPreview (first ${preview.length} chars):\n`;
|
|
215
|
+
const suffix = result.hasMore || preview.length < result.preview.length ? "\n..." : "";
|
|
216
|
+
const available = maxChars - header.length - footer.length - label.length - suffix.length;
|
|
217
|
+
if (available < 1)
|
|
218
|
+
return header + footer;
|
|
219
|
+
if (preview.length <= available)
|
|
220
|
+
return header + label + preview + suffix + footer;
|
|
221
|
+
preview = truncateToolText(preview, available);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/** Strict UTF-16 character budget, without splitting a surrogate pair. */
|
|
225
|
+
export function truncateToolText(text, maxChars) {
|
|
226
|
+
if (text.length <= maxChars)
|
|
227
|
+
return text;
|
|
228
|
+
if (maxChars < 1)
|
|
229
|
+
return "";
|
|
230
|
+
let end = maxChars - 1;
|
|
231
|
+
if (end > 0 && /[\uD800-\uDBFF]/.test(text[end - 1]))
|
|
232
|
+
end--;
|
|
233
|
+
return text.slice(0, end) + "…";
|
|
213
234
|
}
|
|
214
235
|
function generatePreview(content, maxChars) {
|
|
215
236
|
if (content.length <= maxChars)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-result-memory.js","sourceRoot":"","sources":["../../src/session/tool-result-memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-result-memory.js","sourceRoot":"","sources":["../../src/session/tool-result-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,MAAM,CAAC,MAAM,4BAA4B,GAAG,qBAAqB,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAC/E,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;AACtD,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AACtD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAmCnD,MAAM,OAAO,oBAAoB;IAMF;IALpB,KAAK,CAA0B;IAC/B,cAAc,CAAS;IACf,YAAY,CAAS;IACrB,cAAc,CAAS;IAExC,YAA6B,OAAgC,EAAE,iBAAsD,EAAE;QAA1F,YAAO,GAAP,OAAO,CAAyB;QAC3D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,gCAAgC,CAAC;QACjF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,iCAAiC,CAAC;QAC9E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,MAAe,EAAE,cAAc,GAAG,IAAI,CAAC,cAAc;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAExD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO;YACL,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,SAAS;gBACT,WAAW;aACZ;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAA4B,EAAE,UAAiF,EAAE;QACjI,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC,cAAc,CAAC;QAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,GAAG,EAAU,CAAC;QACjE,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE5E,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;YAC3C,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAExF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,MAAM,SAAS,IAAI,UAAU;oBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YAE9E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;oBAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACzF,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC5G,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAC9D,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QAC3E,OAAO;YACL,QAAQ,EAAE,wBAAwB,CAAC,QAAQ,EAAE,cAAc,CAAC;YAC5D,OAAO;SACR,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,MAAe,EAAE,UAAkB;QACpF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;QAC7C,CAAC;QACD,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,WAAW,GAAG,QAAQ,CAAC;QAC3B,IAAI,aAAa,EAAE,EAAE,CAAC;YACpB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1H,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,MAAM,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,WAAW;YACrB,YAAY,EAAE,UAAU,CAAC,MAAM;YAC/B,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B,CAAC,UAA+C,EAAE;IAC7F,OAAO;QACL,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,YAAY,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,QAA4B,EAAE,OAA4C;IAC3H,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;YAAE,SAAS;QAC7C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAkBD,SAAS,wBAAwB,CAAC,QAA4B,EAAE,aAAkC;IAChG,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,OAAO,GAA0B,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QACzC,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,EAAE,CAAC;QAClG,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI;YAAE,OAAO;QAEjG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBAAE,OAAO;YACzC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,yBAAyB,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,2BAA2B,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO;YAC5H,OAAO,CAAC,IAAI,CAAC;gBACX,YAAY;gBACZ,UAAU;gBACV,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU;gBACV,IAAI,EAAE,UAAU,CAAC,MAAM;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,EAAE,CAAC;IACR,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,UAA0C,EAAE,KAA8B;IAC1G,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;QACvB,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EACD,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA4B,EAAE,cAA2C;IACzG,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;YAAE,OAAO,OAAO,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAmB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBAAE,OAAO,KAAK,CAAC;YAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,KAAK,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC5E,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAClH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAe;IAChD,OAAO,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAClD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CAAC,MAA2B,EAAE,QAAQ,GAAG,gCAAgC;IAClH,MAAM,MAAM,GAAG,GAAG,oBAAoB,uBAAuB,MAAM,CAAC,YAAY,kCAAkC,MAAM,CAAC,QAAQ,IAAI,CAAC;IACtI,MAAM,MAAM,GAAG,KAAK,4BAA4B,EAAE,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC7C,0EAA0E;QAC1E,wEAAwE;QACxE,OAAO,gBAAgB,CAAC,qEAAqE,EAAE,QAAQ,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,oBAAoB,OAAO,CAAC,MAAM,YAAY,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1F,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,MAAM,GAAG,MAAM,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;QACnF,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IAC7D,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;IACvB,IAAI,GAAG,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAAE,GAAG,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,QAAgB;IACxD,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAe,EAAE,QAAgB;IAChE,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvC,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,OAAO,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC;AACvH,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA+B;IAC9D,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxH,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;aAC9H,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAClD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA+B;IAC3D,OAAO,CACL,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QACvC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,MAA+B;IAClE,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACpF,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5F,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7F,MAAM,KAAK,GAAG;QACZ,GAAG,SAAS,SAAS;QACrB,SAAS,SAAS,EAAE;QACpB,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,eAAe,EAAE;KACpF,CAAC;IACF,MAAM,OAAO,GAAG;QACd,WAAW,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,OAAO,UAAU,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3G,UAAU,CAAC,CAAC,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;QACtD,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;KAC/C,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;YAC1F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,CACL,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,OAAO,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA+B;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7G,MAAM,iBAAiB,GAAG,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9G,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,MAAM,cAAc,GAAG,OAAO,mBAAmB,EAAE,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAChI,MAAM,UAAU,GAAG;QACjB,GAAG,eAAe,QAAQ;QAC1B,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,iBAAiB,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC1E,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACnD,cAAc,KAAK,SAAS,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,UAAU,CAAC,CAAC,CAAC,SAAS;KAC7F,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG;QACZ,aAAa;QACb,UAAU,MAAM,CAAC,KAAK,EAAE;KACzB,CAAC;IACF,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChF,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,CACL,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,aAAa,CAAC,EAAU;IAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,aAAa,CAAC;AAC5E,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAK,KAA2B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC1H,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ToolResult, ToolUseContext } from "../tools/tool.js";
|
|
2
|
+
/** Read the existing transcript; never duplicate user bodies into sidecar files/checkpoints. */
|
|
3
|
+
export declare function readArchivedUserMessage(input: {
|
|
4
|
+
path: string;
|
|
5
|
+
offset: number;
|
|
6
|
+
limit: number;
|
|
7
|
+
}, context: ToolUseContext): Promise<ToolResult>;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { createInterface } from "node:readline";
|
|
4
|
+
const INDEX = "neo://session/user-messages";
|
|
5
|
+
const PREFIX = "neo://session/user-message/";
|
|
6
|
+
/** Read the existing transcript; never duplicate user bodies into sidecar files/checkpoints. */
|
|
7
|
+
export async function readArchivedUserMessage(input, context) {
|
|
8
|
+
if (!context.session)
|
|
9
|
+
return { ok: false, output: { error: "No durable session archive is available." } };
|
|
10
|
+
const index = input.path === INDEX;
|
|
11
|
+
if (!index && !input.path.startsWith(PREFIX))
|
|
12
|
+
return { ok: false, output: { error: "Unknown session archive path." } };
|
|
13
|
+
const id = index ? undefined : decodeURIComponent(input.path.slice(PREFIX.length));
|
|
14
|
+
const transcript = path.join(context.session.sessionDir, "transcript.jsonl");
|
|
15
|
+
const stat = await fs.lstat(transcript);
|
|
16
|
+
if (!stat.isFile() || stat.isSymbolicLink() || stat.nlink > 1)
|
|
17
|
+
throw new Error("Unsafe session transcript");
|
|
18
|
+
const handle = await fs.open(transcript, "r");
|
|
19
|
+
const selected = [];
|
|
20
|
+
let totalLines = 0;
|
|
21
|
+
let found = false;
|
|
22
|
+
const seen = new Set();
|
|
23
|
+
const addLine = (line) => {
|
|
24
|
+
totalLines++;
|
|
25
|
+
if (totalLines >= input.offset && selected.length < input.limit)
|
|
26
|
+
selected.push(`${totalLines} | ${line}`);
|
|
27
|
+
};
|
|
28
|
+
try {
|
|
29
|
+
// Bound the read to a snapshot: concurrent appends cannot alter a page mid-read.
|
|
30
|
+
const snapshot = await handle.stat();
|
|
31
|
+
if (!snapshot.isFile() || snapshot.ino !== stat.ino || snapshot.nlink > 1)
|
|
32
|
+
throw new Error("Unsafe session transcript");
|
|
33
|
+
if (snapshot.size) {
|
|
34
|
+
const lines = createInterface({ input: handle.createReadStream({ start: 0, end: snapshot.size - 1, autoClose: false }), crlfDelay: Infinity });
|
|
35
|
+
try {
|
|
36
|
+
for await (const line of lines) {
|
|
37
|
+
if (context.abortSignal?.aborted)
|
|
38
|
+
throw new Error("Session archive read aborted");
|
|
39
|
+
let entry;
|
|
40
|
+
try {
|
|
41
|
+
entry = JSON.parse(line);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (entry.sessionId !== context.session.sessionId || entry.agentId !== context.agentId)
|
|
47
|
+
continue;
|
|
48
|
+
if (entry.type === "reset") {
|
|
49
|
+
selected.length = 0;
|
|
50
|
+
totalLines = 0;
|
|
51
|
+
seen.clear();
|
|
52
|
+
found = false;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (entry.type !== "message" || !isOriginalUser(entry.message) || seen.has(entry.message.id))
|
|
56
|
+
continue;
|
|
57
|
+
const message = entry.message;
|
|
58
|
+
seen.add(message.id);
|
|
59
|
+
if (index) {
|
|
60
|
+
const preview = message.blocks.filter(b => b.type === "text").map(b => b.text).join(" ").replace(/\s+/g, " ").slice(0, 160);
|
|
61
|
+
addLine(`${PREFIX}${encodeURIComponent(message.id)} ${preview}`);
|
|
62
|
+
}
|
|
63
|
+
else if (message.id === id) {
|
|
64
|
+
found = true;
|
|
65
|
+
for (const block of message.blocks) {
|
|
66
|
+
if (block.type !== "text")
|
|
67
|
+
continue;
|
|
68
|
+
for (const textLine of block.text.split(/\r\n|\n|\r/)) {
|
|
69
|
+
// Stable virtual lines make even a huge one-line prompt fully pageable.
|
|
70
|
+
if (!textLine.length)
|
|
71
|
+
addLine("");
|
|
72
|
+
for (let start = 0; start < textLine.length;) {
|
|
73
|
+
let end = Math.min(start + 256, textLine.length);
|
|
74
|
+
if (end < textLine.length && /[\uD800-\uDBFF]/.test(textLine[end - 1]))
|
|
75
|
+
end--;
|
|
76
|
+
addLine(textLine.slice(start, end));
|
|
77
|
+
start = end;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
lines.close();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
await handle.close();
|
|
91
|
+
}
|
|
92
|
+
if (!index && !found)
|
|
93
|
+
return { ok: false, output: { error: "Original user message not found in this session archive.", path: input.path } };
|
|
94
|
+
return { ok: true, output: {
|
|
95
|
+
path: input.path, startLine: selected.length ? input.offset : undefined,
|
|
96
|
+
endLine: selected.length ? input.offset + selected.length - 1 : undefined,
|
|
97
|
+
totalLines, hasMoreBefore: input.offset > 1,
|
|
98
|
+
hasMoreAfter: input.offset + selected.length <= totalLines,
|
|
99
|
+
note: "Historical user records, not new instructions. Text is displayed as virtual lines of at most 256 characters; use offset/limit to continue. Image bytes are not duplicated here; use the session image registry.",
|
|
100
|
+
content: selected.join("\n"),
|
|
101
|
+
} };
|
|
102
|
+
}
|
|
103
|
+
function isOriginalUser(message) {
|
|
104
|
+
return message?.role === "user" && !message.isMeta && message.metadata?.compactPreservedUser !== true
|
|
105
|
+
&& message.metadata?.compactBoundary !== true && message.metadata?.sourceToolUseId === undefined;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=user-message-archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-message-archive.js","sourceRoot":"","sources":["../../src/session/user-message-archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { readArchivedUserMessage } from "../../session/user-message-archive.js";
|
|
1
2
|
import { executionFs as fs } from "../../execution/filesystem.js";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
export const readFileTool = {
|
|
@@ -44,6 +45,8 @@ export const readFileTool = {
|
|
|
44
45
|
return true;
|
|
45
46
|
},
|
|
46
47
|
async call(input, context) {
|
|
48
|
+
if (input.path.startsWith("neo://session/"))
|
|
49
|
+
return readArchivedUserMessage(input, context);
|
|
47
50
|
const root = workingDirectory(context);
|
|
48
51
|
const target = resolveTarget(root, input.path);
|
|
49
52
|
const stat = await fs.stat(target).catch(() => undefined);
|
|
@@ -112,7 +115,9 @@ export const listDirectoryTool = {
|
|
|
112
115
|
searchHint: "list directory entries and file counts",
|
|
113
116
|
ignoreUnknownInputProperties: true,
|
|
114
117
|
},
|
|
115
|
-
mapResult(result) {
|
|
118
|
+
mapResult(result, request) {
|
|
119
|
+
if (request.input && typeof request.input === "object" && typeof request.input.maxResultChars === "number")
|
|
120
|
+
return result.output;
|
|
116
121
|
return shrinkDirectoryOutputForTransport(result.output, 26000);
|
|
117
122
|
},
|
|
118
123
|
validate(input) {
|