@yitom/agy-acp-map 0.1.11 → 0.1.12
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/agy-acp-win-x64.exe +2 -2
- package/dist/agy-headless.exe +0 -0
- package/dist/bin.js +46 -2
- package/dist/index.js +47 -2
- package/dist/lib/map-agy-to-acp.d.ts +7 -0
- package/package.json +1 -1
package/dist/agy-acp-win-x64.exe
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/dist/agy-acp-win-x64.exe
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 86640640 bytes
|
|
4
|
+
sha256: c8e70067edbdf6ea2df6b33a207ca32035179f4c487a20ac7d4d78167af27583
|
package/dist/agy-headless.exe
CHANGED
|
Binary file
|
package/dist/bin.js
CHANGED
|
@@ -11020,6 +11020,7 @@ function createMapperState(richRoots) {
|
|
|
11020
11020
|
emittedImageUris: new Set,
|
|
11021
11021
|
emittedTextDelta: false,
|
|
11022
11022
|
emittedThoughtDelta: false,
|
|
11023
|
+
retryCount: 0,
|
|
11023
11024
|
richRoots
|
|
11024
11025
|
};
|
|
11025
11026
|
}
|
|
@@ -11035,7 +11036,8 @@ function resetTurnState(state) {
|
|
|
11035
11036
|
turnDone: false,
|
|
11036
11037
|
emittedImageUris: new Set,
|
|
11037
11038
|
emittedTextDelta: false,
|
|
11038
|
-
emittedThoughtDelta: false
|
|
11039
|
+
emittedThoughtDelta: false,
|
|
11040
|
+
retryCount: 0
|
|
11039
11041
|
};
|
|
11040
11042
|
}
|
|
11041
11043
|
function toolCallIdForStep(state, stepIndex) {
|
|
@@ -11184,6 +11186,31 @@ function extractThought(s) {
|
|
|
11184
11186
|
}
|
|
11185
11187
|
return;
|
|
11186
11188
|
}
|
|
11189
|
+
function extractErrorDetail(s, maxLen = 300) {
|
|
11190
|
+
const seen = new Set;
|
|
11191
|
+
const parts = [];
|
|
11192
|
+
const candidates = [
|
|
11193
|
+
s.error,
|
|
11194
|
+
s.message,
|
|
11195
|
+
s.text,
|
|
11196
|
+
s.description,
|
|
11197
|
+
s.reason,
|
|
11198
|
+
s.error_info?.message
|
|
11199
|
+
];
|
|
11200
|
+
for (const c of candidates) {
|
|
11201
|
+
if (typeof c !== "string")
|
|
11202
|
+
continue;
|
|
11203
|
+
const t = c.replace(/\s+/g, " ").trim();
|
|
11204
|
+
if (!t || seen.has(t))
|
|
11205
|
+
continue;
|
|
11206
|
+
seen.add(t);
|
|
11207
|
+
parts.push(t);
|
|
11208
|
+
if (parts.join(" | ").length >= maxLen)
|
|
11209
|
+
break;
|
|
11210
|
+
}
|
|
11211
|
+
const joined = parts.join(" | ");
|
|
11212
|
+
return joined.length > maxLen ? joined.slice(0, maxLen) + "…" : joined;
|
|
11213
|
+
}
|
|
11187
11214
|
function formatUpdateForProtocol(update, protocolVersion) {
|
|
11188
11215
|
if (protocolVersion >= 2) {
|
|
11189
11216
|
if (update.sessionUpdate === "tool_call") {
|
|
@@ -11310,6 +11337,23 @@ function mapAgyEvent(sessionId, event, state, opts) {
|
|
|
11310
11337
|
if (stepType === "user_input") {
|
|
11311
11338
|
return { notifications, state };
|
|
11312
11339
|
}
|
|
11340
|
+
if (stepType === "error_message") {
|
|
11341
|
+
const detail = extractErrorDetail(s);
|
|
11342
|
+
if (detail) {
|
|
11343
|
+
state.retryCount = (state.retryCount ?? 0) + 1;
|
|
11344
|
+
notifications.push(notify(sessionId, {
|
|
11345
|
+
sessionUpdate: "agent_message_chunk",
|
|
11346
|
+
messageId: `msg_agent_retry_${stepIndex}_${Date.now()}`,
|
|
11347
|
+
content: {
|
|
11348
|
+
type: "text",
|
|
11349
|
+
text: `
|
|
11350
|
+
> 第 ${state.retryCount} 次尝试遇到问题,正在重试…(${detail})
|
|
11351
|
+
`
|
|
11352
|
+
}
|
|
11353
|
+
}));
|
|
11354
|
+
}
|
|
11355
|
+
return { notifications, state };
|
|
11356
|
+
}
|
|
11313
11357
|
if (stepType === "agent_response") {
|
|
11314
11358
|
const text = s.text_delta;
|
|
11315
11359
|
if (typeof text === "string" && text.length > 0) {
|
|
@@ -12499,7 +12543,7 @@ class SessionHistoryStore {
|
|
|
12499
12543
|
var AGENT_INFO = {
|
|
12500
12544
|
name: "agy-acp",
|
|
12501
12545
|
title: "agy ACP (stream-json)",
|
|
12502
|
-
version: "0.1.
|
|
12546
|
+
version: "0.1.12"
|
|
12503
12547
|
};
|
|
12504
12548
|
var BRIDGE_CAPABILITIES = {
|
|
12505
12549
|
prompt: true,
|
package/dist/index.js
CHANGED
|
@@ -10694,6 +10694,7 @@ function createMapperState(richRoots) {
|
|
|
10694
10694
|
emittedImageUris: new Set,
|
|
10695
10695
|
emittedTextDelta: false,
|
|
10696
10696
|
emittedThoughtDelta: false,
|
|
10697
|
+
retryCount: 0,
|
|
10697
10698
|
richRoots
|
|
10698
10699
|
};
|
|
10699
10700
|
}
|
|
@@ -10709,7 +10710,8 @@ function resetTurnState(state) {
|
|
|
10709
10710
|
turnDone: false,
|
|
10710
10711
|
emittedImageUris: new Set,
|
|
10711
10712
|
emittedTextDelta: false,
|
|
10712
|
-
emittedThoughtDelta: false
|
|
10713
|
+
emittedThoughtDelta: false,
|
|
10714
|
+
retryCount: 0
|
|
10713
10715
|
};
|
|
10714
10716
|
}
|
|
10715
10717
|
function toolCallIdForStep(state, stepIndex) {
|
|
@@ -10858,6 +10860,31 @@ function extractThought(s) {
|
|
|
10858
10860
|
}
|
|
10859
10861
|
return;
|
|
10860
10862
|
}
|
|
10863
|
+
function extractErrorDetail(s, maxLen = 300) {
|
|
10864
|
+
const seen = new Set;
|
|
10865
|
+
const parts = [];
|
|
10866
|
+
const candidates = [
|
|
10867
|
+
s.error,
|
|
10868
|
+
s.message,
|
|
10869
|
+
s.text,
|
|
10870
|
+
s.description,
|
|
10871
|
+
s.reason,
|
|
10872
|
+
s.error_info?.message
|
|
10873
|
+
];
|
|
10874
|
+
for (const c of candidates) {
|
|
10875
|
+
if (typeof c !== "string")
|
|
10876
|
+
continue;
|
|
10877
|
+
const t = c.replace(/\s+/g, " ").trim();
|
|
10878
|
+
if (!t || seen.has(t))
|
|
10879
|
+
continue;
|
|
10880
|
+
seen.add(t);
|
|
10881
|
+
parts.push(t);
|
|
10882
|
+
if (parts.join(" | ").length >= maxLen)
|
|
10883
|
+
break;
|
|
10884
|
+
}
|
|
10885
|
+
const joined = parts.join(" | ");
|
|
10886
|
+
return joined.length > maxLen ? joined.slice(0, maxLen) + "…" : joined;
|
|
10887
|
+
}
|
|
10861
10888
|
function formatUpdateForProtocol(update, protocolVersion) {
|
|
10862
10889
|
if (protocolVersion >= 2) {
|
|
10863
10890
|
if (update.sessionUpdate === "tool_call") {
|
|
@@ -10984,6 +11011,23 @@ function mapAgyEvent(sessionId, event, state, opts) {
|
|
|
10984
11011
|
if (stepType === "user_input") {
|
|
10985
11012
|
return { notifications, state };
|
|
10986
11013
|
}
|
|
11014
|
+
if (stepType === "error_message") {
|
|
11015
|
+
const detail = extractErrorDetail(s);
|
|
11016
|
+
if (detail) {
|
|
11017
|
+
state.retryCount = (state.retryCount ?? 0) + 1;
|
|
11018
|
+
notifications.push(notify(sessionId, {
|
|
11019
|
+
sessionUpdate: "agent_message_chunk",
|
|
11020
|
+
messageId: `msg_agent_retry_${stepIndex}_${Date.now()}`,
|
|
11021
|
+
content: {
|
|
11022
|
+
type: "text",
|
|
11023
|
+
text: `
|
|
11024
|
+
> 第 ${state.retryCount} 次尝试遇到问题,正在重试…(${detail})
|
|
11025
|
+
`
|
|
11026
|
+
}
|
|
11027
|
+
}));
|
|
11028
|
+
}
|
|
11029
|
+
return { notifications, state };
|
|
11030
|
+
}
|
|
10987
11031
|
if (stepType === "agent_response") {
|
|
10988
11032
|
const text = s.text_delta;
|
|
10989
11033
|
if (typeof text === "string" && text.length > 0) {
|
|
@@ -12286,7 +12330,7 @@ class SessionHistoryStore {
|
|
|
12286
12330
|
var AGENT_INFO = {
|
|
12287
12331
|
name: "agy-acp",
|
|
12288
12332
|
title: "agy ACP (stream-json)",
|
|
12289
|
-
version: "0.1.
|
|
12333
|
+
version: "0.1.12"
|
|
12290
12334
|
};
|
|
12291
12335
|
var BRIDGE_CAPABILITIES = {
|
|
12292
12336
|
prompt: true,
|
|
@@ -17715,6 +17759,7 @@ export {
|
|
|
17715
17759
|
deleteOnCloseEnabled,
|
|
17716
17760
|
discoverAgyCatalog,
|
|
17717
17761
|
escalateKill,
|
|
17762
|
+
extractErrorDetail,
|
|
17718
17763
|
extractImagePaths,
|
|
17719
17764
|
extractLaunchConfig,
|
|
17720
17765
|
fileToAcpImageBlock,
|
|
@@ -21,6 +21,8 @@ export interface MapperState {
|
|
|
21
21
|
emittedTextDelta?: boolean;
|
|
22
22
|
/** True when at least one agent_response thought_delta was emitted this turn. */
|
|
23
23
|
emittedThoughtDelta?: boolean;
|
|
24
|
+
/** Model-side retries seen this turn (error_message steps surfaced visibly). */
|
|
25
|
+
retryCount?: number;
|
|
24
26
|
/** Session roots for image allowlist (set by server). */
|
|
25
27
|
richRoots?: FileToAcpImageOpts;
|
|
26
28
|
}
|
|
@@ -33,6 +35,11 @@ export declare function createMapperState(richRoots?: FileToAcpImageOpts): Mappe
|
|
|
33
35
|
/** Reset per-turn tracking (keep conversationId / tools / richRoots / turnSeq+1). */
|
|
34
36
|
export declare function resetTurnState(state: MapperState): MapperState;
|
|
35
37
|
export declare function guessToolKind(name: unknown): string;
|
|
38
|
+
/**
|
|
39
|
+
* Pull a human-readable cause out of an error_message step. agy field names
|
|
40
|
+
* vary by failure kind, so probe the likely carriers and cap the length.
|
|
41
|
+
*/
|
|
42
|
+
export declare function extractErrorDetail(s: Record<string, unknown>, maxLen?: number): string;
|
|
36
43
|
/** Format or adapt updates according to client ACP protocol version (v1 vs v2). */
|
|
37
44
|
export declare function formatUpdateForProtocol(update: Record<string, unknown>, protocolVersion: number): Record<string, unknown> | null;
|
|
38
45
|
export interface MapAgyEventOpts {
|