@hedgehog-finance/hedgehog-plugin 1.0.31 → 1.0.32
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.
|
@@ -21,6 +21,103 @@ function textFromContent(content) {
|
|
|
21
21
|
.filter(Boolean)
|
|
22
22
|
.join("");
|
|
23
23
|
}
|
|
24
|
+
function textFromRecordFields(record, fields) {
|
|
25
|
+
for (const field of fields) {
|
|
26
|
+
const value = record[field];
|
|
27
|
+
if (typeof value === "string" && value.trim())
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
return "";
|
|
31
|
+
}
|
|
32
|
+
function textFromThinkingContent(content) {
|
|
33
|
+
if (!Array.isArray(content))
|
|
34
|
+
return "";
|
|
35
|
+
return content
|
|
36
|
+
.map((part) => {
|
|
37
|
+
if (!part || typeof part !== "object")
|
|
38
|
+
return "";
|
|
39
|
+
const record = part;
|
|
40
|
+
const type = typeof record.type === "string" ? record.type : "";
|
|
41
|
+
if (type !== "thinking" && type !== "reasoning")
|
|
42
|
+
return "";
|
|
43
|
+
return textFromRecordFields(record, ["text", "content", "reasoning", "thinking"]);
|
|
44
|
+
})
|
|
45
|
+
.filter(Boolean)
|
|
46
|
+
.join("\n");
|
|
47
|
+
}
|
|
48
|
+
function normalizeProcessText(text) {
|
|
49
|
+
return text.replace(/\s+/g, " ").trim();
|
|
50
|
+
}
|
|
51
|
+
function processTargetFromEntry(entry) {
|
|
52
|
+
const params = (entry.arguments || entry.args || entry.input);
|
|
53
|
+
const direct = textFromRecordFields(entry, ["title", "summary", "meta", "name"]);
|
|
54
|
+
if (direct)
|
|
55
|
+
return normalizeProcessText(direct);
|
|
56
|
+
if (params && typeof params === "object") {
|
|
57
|
+
return normalizeProcessText(textFromRecordFields(params, ["command", "url", "href", "path", "query", "q"]));
|
|
58
|
+
}
|
|
59
|
+
return "";
|
|
60
|
+
}
|
|
61
|
+
function processActionFromEntry(entry) {
|
|
62
|
+
const haystack = [entry.kind, entry.name, entry.title, entry.summary].filter(Boolean).join(" ").toLowerCase();
|
|
63
|
+
const params = (entry.arguments || entry.args || entry.input);
|
|
64
|
+
if (/\bcurl\b|fetch url|https?:\/\/|url/.test(haystack) || typeof params?.url === "string" || typeof params?.href === "string")
|
|
65
|
+
return "请求接口";
|
|
66
|
+
if (/\bread\b|读取/.test(haystack) || typeof params?.path === "string")
|
|
67
|
+
return "读取文件";
|
|
68
|
+
if (/\bexec\b|command|shell|bash/.test(haystack) || typeof params?.command === "string")
|
|
69
|
+
return "执行命令";
|
|
70
|
+
if (/\bpatch\b|apply/.test(haystack))
|
|
71
|
+
return "修改文件";
|
|
72
|
+
if (entry.type === "step")
|
|
73
|
+
return "执行步骤";
|
|
74
|
+
return "处理信息";
|
|
75
|
+
}
|
|
76
|
+
function processStatusFromEntry(entry) {
|
|
77
|
+
if (entry.status === "failed" || (typeof entry.exitCode === "number" && entry.exitCode !== 0))
|
|
78
|
+
return "失败";
|
|
79
|
+
if (entry.status === "running" || entry.phase === "start")
|
|
80
|
+
return "进行中";
|
|
81
|
+
if (entry.status === "completed" || entry.phase === "end" || entry.phase === "finish" || entry.exitCode === 0)
|
|
82
|
+
return "完成";
|
|
83
|
+
return typeof entry.status === "string" ? entry.status : "";
|
|
84
|
+
}
|
|
85
|
+
function isToolProcessEntry(entry) {
|
|
86
|
+
const type = typeof entry.type === "string" ? entry.type : "";
|
|
87
|
+
return (entry.kind === "tool" ||
|
|
88
|
+
type === "item_event" ||
|
|
89
|
+
type === "command_output" ||
|
|
90
|
+
type === "patch_summary" ||
|
|
91
|
+
/^tool(?:_|$)/.test(type));
|
|
92
|
+
}
|
|
93
|
+
function extractThinkingText(entry) {
|
|
94
|
+
const type = typeof entry.type === "string" ? entry.type : "";
|
|
95
|
+
if (type === "reasoning") {
|
|
96
|
+
return textFromRecordFields(entry, ["text", "reasoning_content", "reasoning"]);
|
|
97
|
+
}
|
|
98
|
+
const wrappedMessage = entry.message && typeof entry.message === "object" && !Array.isArray(entry.message)
|
|
99
|
+
? entry.message
|
|
100
|
+
: entry;
|
|
101
|
+
const thinking = textFromRecordFields(wrappedMessage, ["thinking", "reasoning", "reasoning_content"]) || textFromThinkingContent(wrappedMessage.content);
|
|
102
|
+
if (thinking)
|
|
103
|
+
return thinking;
|
|
104
|
+
if (!isToolProcessEntry(entry))
|
|
105
|
+
return "";
|
|
106
|
+
if (type === "command_output" && typeof entry.output === "string" && !entry.title && !entry.summary && entry.exitCode === undefined && !entry.status) {
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
const action = processActionFromEntry(entry);
|
|
110
|
+
const target = processTargetFromEntry(entry);
|
|
111
|
+
const status = processStatusFromEntry(entry);
|
|
112
|
+
const subject = target ? `${action}:${target}` : action;
|
|
113
|
+
return status ? `${subject} / ${status}` : subject;
|
|
114
|
+
}
|
|
115
|
+
function collectThinking(entries) {
|
|
116
|
+
const lines = entries
|
|
117
|
+
.map((entry) => extractThinkingText(entry.raw).trim())
|
|
118
|
+
.filter(Boolean);
|
|
119
|
+
return lines.join("\n");
|
|
120
|
+
}
|
|
24
121
|
function extractTranscriptMessage(entry, includeRaw) {
|
|
25
122
|
if (!entry || typeof entry !== "object")
|
|
26
123
|
return null;
|
|
@@ -32,6 +129,8 @@ function extractTranscriptMessage(entry, includeRaw) {
|
|
|
32
129
|
if (!role)
|
|
33
130
|
return null;
|
|
34
131
|
const text = textFromContent(message.content) || textFromContent(message.text);
|
|
132
|
+
if (role === "assistant" && text.trim().length === 0)
|
|
133
|
+
return null;
|
|
35
134
|
const id = typeof record.id === "string"
|
|
36
135
|
? record.id
|
|
37
136
|
: typeof message.id === "string"
|
|
@@ -102,8 +201,10 @@ function selectInteraction(entries, limit, interactionId) {
|
|
|
102
201
|
};
|
|
103
202
|
}
|
|
104
203
|
let startIndex = -1;
|
|
204
|
+
let startEntryIndex = -1;
|
|
105
205
|
if (interactionId) {
|
|
106
206
|
startIndex = messages.findIndex((message) => message.role === "user" && message.id === interactionId);
|
|
207
|
+
startEntryIndex = entries.findIndex((entry) => entry.message?.role === "user" && entry.message.id === interactionId);
|
|
107
208
|
}
|
|
108
209
|
if (startIndex < 0) {
|
|
109
210
|
for (let index = messages.length - 1; index >= 0; index--) {
|
|
@@ -113,12 +214,25 @@ function selectInteraction(entries, limit, interactionId) {
|
|
|
113
214
|
}
|
|
114
215
|
}
|
|
115
216
|
}
|
|
217
|
+
if (startEntryIndex < 0) {
|
|
218
|
+
for (let index = entries.length - 1; index >= 0; index--) {
|
|
219
|
+
if (entries[index].message?.role === "user") {
|
|
220
|
+
startEntryIndex = index;
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
116
225
|
const interaction = startIndex >= 0 ? messages.slice(startIndex) : messages.slice(-1);
|
|
226
|
+
const interactionEntries = startEntryIndex >= 0 ? entries.slice(startEntryIndex) : entries.slice(-1);
|
|
117
227
|
const lastUserMessage = [...interaction].reverse().find((message) => message.role === "user");
|
|
118
228
|
const lastAssistantMessage = [...interaction].reverse().find((message) => (message.role === "assistant" && message.text.trim().length > 0));
|
|
119
229
|
const hasLifecycleComplete = entries.some((entry) => isTurnCompleteEntry(entry.raw, interactionId || lastUserMessage?.id));
|
|
230
|
+
const thinking = collectThinking(interactionEntries);
|
|
231
|
+
const messagesWithThinking = thinking && lastAssistantMessage
|
|
232
|
+
? interaction.map((message) => message.id === lastAssistantMessage.id ? { ...message, thinking } : message)
|
|
233
|
+
: interaction;
|
|
120
234
|
return {
|
|
121
|
-
messages:
|
|
235
|
+
messages: messagesWithThinking.slice(-limit),
|
|
122
236
|
turnComplete: hasLifecycleComplete || Boolean(lastUserMessage && lastAssistantMessage),
|
|
123
237
|
turnCompleteSource: hasLifecycleComplete ? "lifecycle" : lastUserMessage && lastAssistantMessage ? "messages" : "none",
|
|
124
238
|
lastUserMessageId: lastUserMessage?.id || null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/chatSessionHistory/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/features/chatSessionHistory/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -14,6 +14,7 @@ type TranscriptMessage = {
|
|
|
14
14
|
id: string;
|
|
15
15
|
role: "user" | "assistant" | "tool" | string;
|
|
16
16
|
text: string;
|
|
17
|
+
thinking?: string;
|
|
17
18
|
timestamp?: number | string;
|
|
18
19
|
raw?: unknown;
|
|
19
20
|
};
|
|
@@ -48,6 +49,102 @@ function textFromContent(content: unknown): string {
|
|
|
48
49
|
.join("");
|
|
49
50
|
}
|
|
50
51
|
|
|
52
|
+
function textFromRecordFields(record: Record<string, unknown>, fields: string[]): string {
|
|
53
|
+
for (const field of fields) {
|
|
54
|
+
const value = record[field];
|
|
55
|
+
if (typeof value === "string" && value.trim()) return value;
|
|
56
|
+
}
|
|
57
|
+
return "";
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function textFromThinkingContent(content: unknown): string {
|
|
61
|
+
if (!Array.isArray(content)) return "";
|
|
62
|
+
return content
|
|
63
|
+
.map((part) => {
|
|
64
|
+
if (!part || typeof part !== "object") return "";
|
|
65
|
+
const record = part as Record<string, unknown>;
|
|
66
|
+
const type = typeof record.type === "string" ? record.type : "";
|
|
67
|
+
if (type !== "thinking" && type !== "reasoning") return "";
|
|
68
|
+
return textFromRecordFields(record, ["text", "content", "reasoning", "thinking"]);
|
|
69
|
+
})
|
|
70
|
+
.filter(Boolean)
|
|
71
|
+
.join("\n");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function normalizeProcessText(text: string) {
|
|
75
|
+
return text.replace(/\s+/g, " ").trim();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function processTargetFromEntry(entry: Record<string, unknown>) {
|
|
79
|
+
const params = (entry.arguments || entry.args || entry.input) as Record<string, unknown> | undefined;
|
|
80
|
+
const direct = textFromRecordFields(entry, ["title", "summary", "meta", "name"]);
|
|
81
|
+
if (direct) return normalizeProcessText(direct);
|
|
82
|
+
if (params && typeof params === "object") {
|
|
83
|
+
return normalizeProcessText(textFromRecordFields(params, ["command", "url", "href", "path", "query", "q"]));
|
|
84
|
+
}
|
|
85
|
+
return "";
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function processActionFromEntry(entry: Record<string, unknown>) {
|
|
89
|
+
const haystack = [entry.kind, entry.name, entry.title, entry.summary].filter(Boolean).join(" ").toLowerCase();
|
|
90
|
+
const params = (entry.arguments || entry.args || entry.input) as Record<string, unknown> | undefined;
|
|
91
|
+
if (/\bcurl\b|fetch url|https?:\/\/|url/.test(haystack) || typeof params?.url === "string" || typeof params?.href === "string") return "请求接口";
|
|
92
|
+
if (/\bread\b|读取/.test(haystack) || typeof params?.path === "string") return "读取文件";
|
|
93
|
+
if (/\bexec\b|command|shell|bash/.test(haystack) || typeof params?.command === "string") return "执行命令";
|
|
94
|
+
if (/\bpatch\b|apply/.test(haystack)) return "修改文件";
|
|
95
|
+
if (entry.type === "step") return "执行步骤";
|
|
96
|
+
return "处理信息";
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function processStatusFromEntry(entry: Record<string, unknown>) {
|
|
100
|
+
if (entry.status === "failed" || (typeof entry.exitCode === "number" && entry.exitCode !== 0)) return "失败";
|
|
101
|
+
if (entry.status === "running" || entry.phase === "start") return "进行中";
|
|
102
|
+
if (entry.status === "completed" || entry.phase === "end" || entry.phase === "finish" || entry.exitCode === 0) return "完成";
|
|
103
|
+
return typeof entry.status === "string" ? entry.status : "";
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function isToolProcessEntry(entry: Record<string, unknown>) {
|
|
107
|
+
const type = typeof entry.type === "string" ? entry.type : "";
|
|
108
|
+
return (
|
|
109
|
+
entry.kind === "tool" ||
|
|
110
|
+
type === "item_event" ||
|
|
111
|
+
type === "command_output" ||
|
|
112
|
+
type === "patch_summary" ||
|
|
113
|
+
/^tool(?:_|$)/.test(type)
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function extractThinkingText(entry: Record<string, unknown>) {
|
|
118
|
+
const type = typeof entry.type === "string" ? entry.type : "";
|
|
119
|
+
if (type === "reasoning") {
|
|
120
|
+
return textFromRecordFields(entry, ["text", "reasoning_content", "reasoning"]);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const wrappedMessage = entry.message && typeof entry.message === "object" && !Array.isArray(entry.message)
|
|
124
|
+
? entry.message as Record<string, unknown>
|
|
125
|
+
: entry;
|
|
126
|
+
const thinking = textFromRecordFields(wrappedMessage, ["thinking", "reasoning", "reasoning_content"]) || textFromThinkingContent(wrappedMessage.content);
|
|
127
|
+
if (thinking) return thinking;
|
|
128
|
+
|
|
129
|
+
if (!isToolProcessEntry(entry)) return "";
|
|
130
|
+
if (type === "command_output" && typeof entry.output === "string" && !entry.title && !entry.summary && entry.exitCode === undefined && !entry.status) {
|
|
131
|
+
return "";
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const action = processActionFromEntry(entry);
|
|
135
|
+
const target = processTargetFromEntry(entry);
|
|
136
|
+
const status = processStatusFromEntry(entry);
|
|
137
|
+
const subject = target ? `${action}:${target}` : action;
|
|
138
|
+
return status ? `${subject} / ${status}` : subject;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function collectThinking(entries: TranscriptEntry[]) {
|
|
142
|
+
const lines = entries
|
|
143
|
+
.map((entry) => extractThinkingText(entry.raw).trim())
|
|
144
|
+
.filter(Boolean);
|
|
145
|
+
return lines.join("\n");
|
|
146
|
+
}
|
|
147
|
+
|
|
51
148
|
function extractTranscriptMessage(entry: unknown, includeRaw: boolean): TranscriptMessage | null {
|
|
52
149
|
if (!entry || typeof entry !== "object") return null;
|
|
53
150
|
const record = entry as Record<string, unknown>;
|
|
@@ -59,6 +156,7 @@ function extractTranscriptMessage(entry: unknown, includeRaw: boolean): Transcri
|
|
|
59
156
|
if (!role) return null;
|
|
60
157
|
|
|
61
158
|
const text = textFromContent(message.content) || textFromContent(message.text);
|
|
159
|
+
if (role === "assistant" && text.trim().length === 0) return null;
|
|
62
160
|
const id = typeof record.id === "string"
|
|
63
161
|
? record.id
|
|
64
162
|
: typeof message.id === "string"
|
|
@@ -135,8 +233,10 @@ function selectInteraction(entries: TranscriptEntry[], limit: number, interactio
|
|
|
135
233
|
}
|
|
136
234
|
|
|
137
235
|
let startIndex = -1;
|
|
236
|
+
let startEntryIndex = -1;
|
|
138
237
|
if (interactionId) {
|
|
139
238
|
startIndex = messages.findIndex((message) => message.role === "user" && message.id === interactionId);
|
|
239
|
+
startEntryIndex = entries.findIndex((entry) => entry.message?.role === "user" && entry.message.id === interactionId);
|
|
140
240
|
}
|
|
141
241
|
|
|
142
242
|
if (startIndex < 0) {
|
|
@@ -147,16 +247,29 @@ function selectInteraction(entries: TranscriptEntry[], limit: number, interactio
|
|
|
147
247
|
}
|
|
148
248
|
}
|
|
149
249
|
}
|
|
250
|
+
if (startEntryIndex < 0) {
|
|
251
|
+
for (let index = entries.length - 1; index >= 0; index--) {
|
|
252
|
+
if (entries[index].message?.role === "user") {
|
|
253
|
+
startEntryIndex = index;
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
150
258
|
|
|
151
259
|
const interaction = startIndex >= 0 ? messages.slice(startIndex) : messages.slice(-1);
|
|
260
|
+
const interactionEntries = startEntryIndex >= 0 ? entries.slice(startEntryIndex) : entries.slice(-1);
|
|
152
261
|
const lastUserMessage = [...interaction].reverse().find((message) => message.role === "user");
|
|
153
262
|
const lastAssistantMessage = [...interaction].reverse().find((message) => (
|
|
154
263
|
message.role === "assistant" && message.text.trim().length > 0
|
|
155
264
|
));
|
|
156
265
|
const hasLifecycleComplete = entries.some((entry) => isTurnCompleteEntry(entry.raw, interactionId || lastUserMessage?.id));
|
|
266
|
+
const thinking = collectThinking(interactionEntries);
|
|
267
|
+
const messagesWithThinking = thinking && lastAssistantMessage
|
|
268
|
+
? interaction.map((message) => message.id === lastAssistantMessage.id ? { ...message, thinking } : message)
|
|
269
|
+
: interaction;
|
|
157
270
|
|
|
158
271
|
return {
|
|
159
|
-
messages:
|
|
272
|
+
messages: messagesWithThinking.slice(-limit),
|
|
160
273
|
turnComplete: hasLifecycleComplete || Boolean(lastUserMessage && lastAssistantMessage),
|
|
161
274
|
turnCompleteSource: hasLifecycleComplete ? "lifecycle" : lastUserMessage && lastAssistantMessage ? "messages" : "none",
|
|
162
275
|
lastUserMessageId: lastUserMessage?.id || null,
|