veryfront 0.1.657 → 0.1.659
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/esm/deno.js +1 -1
- package/esm/extensions/ext-llm-anthropic/src/anthropic-stream.d.ts.map +1 -1
- package/esm/extensions/ext-llm-anthropic/src/anthropic-stream.js +7 -1
- package/esm/src/agent/conversation/run-chunk-mirror.d.ts +2 -2
- package/esm/src/agent/conversation/run-chunk-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-mirror.d.ts +1 -1
- package/esm/src/agent/conversation/run-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-mirror.js +2 -1
- package/esm/src/agent/conversation/run-stream-mirror.d.ts +2 -2
- package/esm/src/agent/conversation/run-stream-mirror.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-execution-runtime.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-execution-runtime.js +3 -1
- package/esm/src/agent/hosted/chat-preparation.d.ts +12 -0
- package/esm/src/agent/hosted/chat-preparation.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-preparation.js +39 -2
- package/esm/src/agent/hosted/child-fork-execution-runner.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-fork-execution-runner.js +3 -1
- package/esm/src/agent/hosted/child-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-lifecycle.js +15 -2
- package/esm/src/agent/hosted/context-budget-manager.d.ts +60 -0
- package/esm/src/agent/hosted/context-budget-manager.d.ts.map +1 -0
- package/esm/src/agent/hosted/context-budget-manager.js +273 -0
- package/esm/src/agent/hosted/durable-child-fork-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-child-fork-execution.js +19 -2
- package/esm/src/chat/provider-errors.d.ts.map +1 -1
- package/esm/src/chat/provider-errors.js +12 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-stream.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-anthropic/src/anthropic-stream.ts"],"names":[],"mappings":"AAOA,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic-stream.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-anthropic/src/anthropic-stream.ts"],"names":[],"mappings":"AAOA,KAAK,YAAY,GAAG;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAsBF,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,OAAO,GACX,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBlD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAsBhF;AAED,wBAAuB,8BAA8B,CACnD,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACjC,aAAa,CAAC,OAAO,CAAC,CA0PxB"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { mergeUsage, parseSseChunk, readRecord, stringifyJsonValue, } from "../../../src/provider/shared/index.js";
|
|
2
|
+
function isEmptyRecord(value) {
|
|
3
|
+
return Boolean(value &&
|
|
4
|
+
typeof value === "object" &&
|
|
5
|
+
!Array.isArray(value) &&
|
|
6
|
+
Object.keys(value).length === 0);
|
|
7
|
+
}
|
|
2
8
|
export function normalizeAnthropicFinishReason(raw) {
|
|
3
9
|
if (typeof raw !== "string") {
|
|
4
10
|
return null;
|
|
@@ -115,7 +121,7 @@ export async function* streamAnthropicCompatibleParts(stream) {
|
|
|
115
121
|
...(providerExecuted ? { providerExecuted } : {}),
|
|
116
122
|
};
|
|
117
123
|
const initialInput = contentBlock.input;
|
|
118
|
-
if (initialInput !== undefined) {
|
|
124
|
+
if (initialInput !== undefined && !isEmptyRecord(initialInput)) {
|
|
119
125
|
const serializedInput = stringifyJsonValue(initialInput);
|
|
120
126
|
current.input += serializedInput;
|
|
121
127
|
yield {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { ChatMessageMetadata, ChatUiMessageChunk } from "../../chat/protocol.js";
|
|
2
2
|
import { type ConversationRunEvent, ConversationRunEventEncoder } from "./run-events.js";
|
|
3
|
-
import { type ConversationRunMirror, type ConversationRunMirrorHighBacklogState, type ConversationRunMirrorRetryScheduledState, type ConversationRunMirrorStoppedState } from "./run-mirror.js";
|
|
3
|
+
import { type ConversationRunMirror, type ConversationRunMirrorHighBacklogState, type ConversationRunMirrorRetryScheduledState, type ConversationRunMirrorSnapshot, type ConversationRunMirrorStoppedState } from "./run-mirror.js";
|
|
4
4
|
import { type ConversationRunEventQueueController } from "./durable.js";
|
|
5
5
|
/** Public API contract for conversation run chunk mirror. */
|
|
6
6
|
export interface ConversationRunChunkMirror {
|
|
7
7
|
handleChunk(chunk: ChatUiMessageChunk<ChatMessageMetadata>): Promise<void>;
|
|
8
8
|
appendEvents(events: ConversationRunEvent[]): Promise<void>;
|
|
9
|
-
flush(): Promise<
|
|
9
|
+
flush(): Promise<ConversationRunMirrorSnapshot>;
|
|
10
10
|
getSnapshot(): ReturnType<ConversationRunMirror["getSnapshot"]>;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-chunk-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-chunk-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,KAAK,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qCAAqC,EAC1C,KAAK,wCAAwC,EAC7C,KAAK,iCAAiC,EAEvC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,cAAc,CAAC;AAOtB,6DAA6D;AAC7D,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"run-chunk-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-chunk-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,KAAK,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qCAAqC,EAC1C,KAAK,wCAAwC,EAC7C,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EAEvC,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,cAAc,CAAC;AAOtB,6DAA6D;AAC7D,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChD,WAAW,IAAI,UAAU,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,uCAAuC;IACtD,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAC/C,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,WAAW,wCAAwC;IACvD,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,iDAAiD;IAChE,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAC/C,cAAc,EAAE,MAAM,oBAAoB,EAAE,CAAC;CAC9C;AAED,+EAA+E;AAC/E,MAAM,WAAW,oDAAoD;IACnE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,cAAc,EAAE,MAAM,oBAAoB,EAAE,CAAC;CAC9C;AAED,UAAU,uCAAuC;IAC/C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,qCAAqC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/E,kBAAkB,CAAC,EAAE,CACnB,KAAK,EAAE,iDAAiD,KACrD,OAAO,CAAC,oBAAoB,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC;IAC9D,qBAAqB,CAAC,EAAE,CACtB,KAAK,EAAE,oDAAoD,KACxD,OAAO,CAAC,oBAAoB,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC;IAC9D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,uCAAuC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3F,wBAAwB,CAAC,EAAE,CACzB,KAAK,EAAE,wCAAwC,KAC5C,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B;AAED,+DAA+D;AAC/D,MAAM,WAAW,sCACf,SAAQ,uCAAuC;IAC/C,eAAe,EAAE,mCAAmC,CAAC;CACtD;AAED,6DAA6D;AAC7D,MAAM,WAAW,oCACf,SAAQ,uCAAuC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,yDAAyD;AACzD,MAAM,MAAM,iCAAiC,GACzC,sCAAsC,GACtC,oCAAoC,CAAC;AAEzC,qFAAqF;AACrF,MAAM,MAAM,+CAA+C,GAAG,MAAM,CAClE,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAC7C,CAAC;AAEF,oFAAoF;AACpF,MAAM,WAAW,+CAA+C;IAC9D,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,+CAA+C,KAAK,IAAI,CAAC;IAC3F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtE;AAED,gEAAgE;AAChE,MAAM,WAAW,uCAAuC;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,eAAe,CAAC,EAAE,+CAA+C,CAAC;CACnE;AAuBD,4CAA4C;AAC5C,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,iCAAiC,GACvC,0BAA0B,CA4D5B;AA2GD,mDAAmD;AACnD,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,uCAAuC,GAC7C,0BAA0B,CA2E5B"}
|
|
@@ -40,7 +40,7 @@ export interface ConversationRunMirrorHighBacklogState {
|
|
|
40
40
|
/** Public API contract for conversation run mirror. */
|
|
41
41
|
export interface ConversationRunMirror {
|
|
42
42
|
enqueue(events: unknown[]): void;
|
|
43
|
-
flush(): Promise<
|
|
43
|
+
flush(): Promise<ConversationRunMirrorSnapshot>;
|
|
44
44
|
getSnapshot(): ConversationRunMirrorSnapshot;
|
|
45
45
|
dispose(): void;
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-mirror.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,gEAAgE;AAChE,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,CAAC,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC;IACf,aAAa,CAAC,EAAE,0BAA0B,GAAG,gBAAgB,GAAG,4BAA4B,CAAC;CAC9F;AAED,yDAAyD;AACzD,MAAM,WAAW,wCAAwC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qCAAqC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"run-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-mirror.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,gEAAgE;AAChE,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iDAAiD;AACjD,MAAM,WAAW,iCAAiC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,CAAC,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC;IACf,aAAa,CAAC,EAAE,0BAA0B,GAAG,gBAAgB,GAAG,4BAA4B,CAAC;CAC9F;AAED,yDAAyD;AACzD,MAAM,WAAW,wCAAwC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qCAAqC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChD,WAAW,IAAI,6BAA6B,CAAC;IAC7C,OAAO,IAAI,IAAI,CAAC;CACjB;AAyBD,sCAAsC;AACtC,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,eAAe,EAAE,mCAAmC,CAAC;IACrD,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,qCAAqC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChF,GAAG,qBAAqB,CA8LxB"}
|
|
@@ -164,10 +164,11 @@ export function createConversationRunMirror(input) {
|
|
|
164
164
|
clearRetryTimer();
|
|
165
165
|
const snapshot = getSnapshot();
|
|
166
166
|
if (snapshot.disabled || (snapshot.pendingEventCount === 0 && !snapshot.inFlight)) {
|
|
167
|
-
return;
|
|
167
|
+
return snapshot;
|
|
168
168
|
}
|
|
169
169
|
startFlushLoop();
|
|
170
170
|
await inFlightFlush;
|
|
171
|
+
return getSnapshot();
|
|
171
172
|
},
|
|
172
173
|
getSnapshot,
|
|
173
174
|
dispose() {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type ChatStreamEvent } from "../../chat/protocol.js";
|
|
2
2
|
import { type ConversationRunEvent, ConversationRunEventEncoder } from "./run-events.js";
|
|
3
|
-
import { type ConversationRunMirror, type ConversationRunMirrorHighBacklogState, type ConversationRunMirrorRetryScheduledState, type ConversationRunMirrorStoppedState } from "./run-mirror.js";
|
|
3
|
+
import { type ConversationRunMirror, type ConversationRunMirrorHighBacklogState, type ConversationRunMirrorRetryScheduledState, type ConversationRunMirrorSnapshot, type ConversationRunMirrorStoppedState } from "./run-mirror.js";
|
|
4
4
|
import { type ConversationRunEventQueueController } from "./durable.js";
|
|
5
5
|
/** Public API contract for conversation run stream mirror. */
|
|
6
6
|
export interface ConversationRunStreamMirror {
|
|
7
7
|
handleStreamEvent(event: ChatStreamEvent): void;
|
|
8
8
|
appendEvents(events: ConversationRunEvent[]): void;
|
|
9
|
-
flush(): Promise<
|
|
9
|
+
flush(): Promise<ConversationRunMirrorSnapshot>;
|
|
10
10
|
getSnapshot(): ReturnType<ConversationRunMirror["getSnapshot"]>;
|
|
11
11
|
dispose(): void;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-stream-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-stream-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qCAAqC,EAC1C,KAAK,wCAAwC,EAC7C,KAAK,iCAAiC,EAEvC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,8DAA8D;AAC9D,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"run-stream-mirror.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-stream-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,qCAAqC,EAC1C,KAAK,wCAAwC,EAC7C,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EAEvC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,8DAA8D;AAC9D,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChD,WAAW,IAAI,UAAU,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,6CAA6C;AAC7C,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,eAAe,EAAE,mCAAmC,CAAC;IACrD,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,qCAAqC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvF,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChF,GAAG,2BAA2B,CAgC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-execution-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-execution-runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat-execution-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-execution-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,7 +145,9 @@ export function createHostedChatStreamFinalizationHooks(input) {
|
|
|
145
145
|
return {
|
|
146
146
|
resolveEmptyTerminalError: ({ finalStep, streamError }) => getEmptyHostedFinalizedMessageTerminalError({ finalStep, streamError }),
|
|
147
147
|
appendFallbackChunk: (chunk) => input.lifecycleAdapter.durableRunMirror?.handleChunk(chunk),
|
|
148
|
-
flushMirror: () =>
|
|
148
|
+
flushMirror: async () => {
|
|
149
|
+
await input.lifecycleAdapter.durableRunMirror?.flush();
|
|
150
|
+
},
|
|
149
151
|
dispatchTerminalState: async (terminalState) => {
|
|
150
152
|
await dispatchConversationHostedTerminalState(input.lifecycleAdapter, terminalState);
|
|
151
153
|
},
|
|
@@ -8,6 +8,7 @@ import { type PrepareAgentRuntimeMessagesFromUiMessagesOptions } from "../runtim
|
|
|
8
8
|
import type { RuntimeAgentThinkingConfig } from "../runtime/agent-definition.js";
|
|
9
9
|
import { type ResolvedHostedRuntimeRequestConfig } from "./runtime-request-config.js";
|
|
10
10
|
import type { RuntimeSkillDefinition } from "../runtime/skill-metadata.js";
|
|
11
|
+
import { type ContextBudgetDiagnostics, type ContextBudgetManagerOptions } from "./context-budget-manager.js";
|
|
11
12
|
/** Request payload for normalized hosted chat. */
|
|
12
13
|
export type NormalizedHostedChatRequest = {
|
|
13
14
|
effectiveMessages: ChatUiMessage[];
|
|
@@ -74,6 +75,15 @@ export type HostedChatRuntimeCreationPreparationResult<TRuntimeAgentDefinition>
|
|
|
74
75
|
};
|
|
75
76
|
/** Options accepted by hosted chat execution preparation root run. */
|
|
76
77
|
export type HostedChatExecutionPreparationRootRunOptions = Pick<PrepareHostedConversationRootRunContextInput, "implementationKind" | "persistLatestUserMessageOperation" | "missingUserMessageErrorMessage" | "onPersistLatestUserMessageFailure" | "instrumentation">;
|
|
78
|
+
/** Public API contract for hosted chat context budget logging. */
|
|
79
|
+
export type HostedChatContextBudgetLogger = {
|
|
80
|
+
debug?: (message: string, metadata?: Record<string, unknown>) => void;
|
|
81
|
+
error?: (message: string, metadata?: Record<string, unknown>) => void;
|
|
82
|
+
};
|
|
83
|
+
/** Options accepted by hosted chat context budget management. */
|
|
84
|
+
export type HostedChatContextBudgetOptions = ContextBudgetManagerOptions & {
|
|
85
|
+
logger?: HostedChatContextBudgetLogger;
|
|
86
|
+
};
|
|
77
87
|
/** Input payload for hosted chat execution preparation. */
|
|
78
88
|
export type HostedChatExecutionPreparationInput<TRuntimeAgentDefinition extends {
|
|
79
89
|
id: string;
|
|
@@ -96,12 +106,14 @@ export type HostedChatExecutionPreparationInput<TRuntimeAgentDefinition extends
|
|
|
96
106
|
}) => Promise<HostedChatRuntimePreparationSteering>;
|
|
97
107
|
buildInstructions: (input: HostedChatRuntimeInstructionsInput<TRuntimeAgentDefinition>) => string | ChatSystemMessage[];
|
|
98
108
|
createRuntime: (options: HostedChatRuntimeCreationOptions<TRuntimeAgentDefinition, RuntimeAgentThinkingConfig>) => Promise<TRuntimeResult>;
|
|
109
|
+
contextBudget?: HostedChatContextBudgetOptions;
|
|
99
110
|
};
|
|
100
111
|
/** Result returned from hosted chat execution preparation. */
|
|
101
112
|
export type HostedChatExecutionPreparationResult<TRuntimeAgentDefinition, TRuntimeResult extends HostedChatRuntimeCreationResult> = NormalizedHostedChatRequest & {
|
|
102
113
|
rootRunContext: HostedConversationRootRunContext;
|
|
103
114
|
runtime: TRuntimeResult;
|
|
104
115
|
finalMessages: AgentRuntimeMessage[];
|
|
116
|
+
contextBudgetDiagnostics?: ContextBudgetDiagnostics;
|
|
105
117
|
steering: HostedChatRuntimeCreationPreparationResult<TRuntimeAgentDefinition>["steering"];
|
|
106
118
|
runtimeConfig: ResolvedHostedRuntimeRequestConfig;
|
|
107
119
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-preparation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EACV,gCAAgC,EAChC,+BAA+B,EAEhC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EACL,KAAK,gCAAgC,EAErC,KAAK,4CAA4C,EAClD,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,KAAK,gDAAgD,EACtD,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EACL,KAAK,kCAAkC,EAExC,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-preparation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-preparation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,23 @@ import { prepareHostedConversationRootRunContext, } from "../conversation/root-r
|
|
|
2
2
|
import { prepareAgentRuntimeMessagesFromUiMessages, } from "../runtime/message-preparation.js";
|
|
3
3
|
import { resolveHostedRuntimeRequestConfig, } from "./runtime-request-config.js";
|
|
4
4
|
import { getRuntimeUploadUrl } from "../runtime/upload-url-client.js";
|
|
5
|
+
import { applyContextBudget, ContextCompactionError, } from "./context-budget-manager.js";
|
|
5
6
|
function getAllowedRemoteToolNames(agentConfig) {
|
|
6
7
|
return Array.isArray(agentConfig.allowedRemoteTools)
|
|
7
8
|
? agentConfig.allowedRemoteTools.filter((toolName) => typeof toolName === "string" && toolName.length > 0)
|
|
8
9
|
: [];
|
|
9
10
|
}
|
|
11
|
+
async function flushRequiredContextCompactionEvent(rootRunContext, eventPayload) {
|
|
12
|
+
if (!rootRunContext.durableRunMirror) {
|
|
13
|
+
throw new ContextCompactionError("Context compaction produced an event but no durable run mirror is available");
|
|
14
|
+
}
|
|
15
|
+
await rootRunContext.durableRunMirror.appendEvents([eventPayload]);
|
|
16
|
+
const snapshot = await rootRunContext.durableRunMirror.flush();
|
|
17
|
+
if (snapshot.disabled || snapshot.pendingEventCount > 0 || snapshot.inFlight) {
|
|
18
|
+
rootRunContext.durableRunMirror.dispose();
|
|
19
|
+
throw new ContextCompactionError("Context compaction event was not durably persisted before model execution");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
10
22
|
/** Request payload for normalize parsed hosted chat. */
|
|
11
23
|
export function normalizeParsedHostedChatRequest(request) {
|
|
12
24
|
const effectiveMessages = request.messages;
|
|
@@ -127,18 +139,43 @@ export async function prepareHostedChatExecution(input) {
|
|
|
127
139
|
fetchSteering: input.fetchSteering,
|
|
128
140
|
buildInstructions: input.buildInstructions,
|
|
129
141
|
});
|
|
130
|
-
const runtime = await input.createRuntime(runtimePreparation.creationOptions);
|
|
131
142
|
const finalMessages = await prepareHostedChatRuntimeMessages(normalized.effectiveMessages, {
|
|
132
143
|
authToken: input.request.authToken,
|
|
133
144
|
apiUrl: input.apiUrl,
|
|
134
145
|
projectId: input.request.projectId,
|
|
135
146
|
providerOwnedToolNames: getAllowedRemoteToolNames(input.agentConfig),
|
|
136
147
|
});
|
|
148
|
+
let budgetedContext;
|
|
149
|
+
if (input.contextBudget) {
|
|
150
|
+
try {
|
|
151
|
+
budgetedContext = await applyContextBudget(finalMessages, input.contextBudget);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
input.contextBudget.logger?.error?.("Hosted chat context compaction failed", {
|
|
155
|
+
error: error instanceof Error ? error.message : String(error),
|
|
156
|
+
});
|
|
157
|
+
throw error;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (budgetedContext?.eventPayload) {
|
|
161
|
+
input.contextBudget?.logger?.debug?.("Hosted chat context compacted", {
|
|
162
|
+
...budgetedContext.diagnostics,
|
|
163
|
+
firstKeptEntryId: budgetedContext.eventPayload.firstKeptEntryId,
|
|
164
|
+
});
|
|
165
|
+
await flushRequiredContextCompactionEvent(rootRunContext, budgetedContext.eventPayload);
|
|
166
|
+
}
|
|
167
|
+
else if (budgetedContext) {
|
|
168
|
+
input.contextBudget?.logger?.debug?.("Hosted chat context compaction skipped", {
|
|
169
|
+
...budgetedContext.diagnostics,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
const runtime = await input.createRuntime(runtimePreparation.creationOptions);
|
|
137
173
|
return {
|
|
138
174
|
...normalized,
|
|
139
175
|
rootRunContext,
|
|
140
176
|
runtime,
|
|
141
|
-
finalMessages,
|
|
177
|
+
finalMessages: budgetedContext?.messages ?? finalMessages,
|
|
178
|
+
contextBudgetDiagnostics: budgetedContext?.diagnostics,
|
|
142
179
|
steering: runtimePreparation.steering,
|
|
143
180
|
runtimeConfig: runtimePreparation.runtimeConfig,
|
|
144
181
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-fork-execution-runner.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-execution-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"child-fork-execution-runner.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-fork-execution-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -203,7 +203,9 @@ export async function executeHostedChildForkWithPreparedTools(input) {
|
|
|
203
203
|
runContext,
|
|
204
204
|
monitorAbortController: childRunMonitorAbortController,
|
|
205
205
|
monitorPromise: childRunMonitorPromise,
|
|
206
|
-
flushMirror: () =>
|
|
206
|
+
flushMirror: async () => {
|
|
207
|
+
await runContext.durableRunMirror?.flush();
|
|
208
|
+
},
|
|
207
209
|
closeTooling,
|
|
208
210
|
closeRuntime,
|
|
209
211
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAE/B,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"child-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/child-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildChildRunExecutionSnapshot, getChildRunSnapshotUsage, } from "../child-run/execution-snapshot.js";
|
|
2
|
+
import { parseProviderError } from "../../chat/provider-errors.js";
|
|
2
3
|
import { isChildRunAbortError } from "../child-run/execution-support.js";
|
|
3
4
|
import { HostedChildTerminalStateError, isHostedChildTerminalErrorCode, resolveHostedChildTerminalErrorCode, } from "./child-status.js";
|
|
4
5
|
/** Should skip hosted child terminal persistence helper. */
|
|
@@ -13,6 +14,17 @@ class HostedChildExecutionFailure extends Error {
|
|
|
13
14
|
this.name = "HostedChildExecutionFailure";
|
|
14
15
|
}
|
|
15
16
|
}
|
|
17
|
+
function resolveKnownProviderTerminalError(error) {
|
|
18
|
+
const parsedError = parseProviderError(error);
|
|
19
|
+
if (parsedError.code === "EXTERNAL_SERVICE_ERROR" &&
|
|
20
|
+
parsedError.message === "LLM provider service error") {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
code: parsedError.code,
|
|
25
|
+
message: parsedError.message,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
16
28
|
async function dispatchTerminalState(adapter, terminalState) {
|
|
17
29
|
if (terminalState.status === "cancelled") {
|
|
18
30
|
await adapter.cancelled?.(terminalState);
|
|
@@ -103,10 +115,11 @@ function resolveHostedChildExecutionErrorState(error, input) {
|
|
|
103
115
|
};
|
|
104
116
|
}
|
|
105
117
|
if (error instanceof HostedChildExecutionFailure) {
|
|
118
|
+
const providerError = resolveKnownProviderTerminalError(error);
|
|
106
119
|
return {
|
|
107
120
|
status: "failed",
|
|
108
|
-
terminalErrorCode: input.executionFailedCode,
|
|
109
|
-
terminalErrorMessage: error.message,
|
|
121
|
+
terminalErrorCode: providerError?.code ?? input.executionFailedCode,
|
|
122
|
+
terminalErrorMessage: providerError?.message ?? error.message,
|
|
110
123
|
usage: toHostedChildLifecycleUsage(error.usage),
|
|
111
124
|
};
|
|
112
125
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { InferSchema } from "../../extensions/schema/index.js";
|
|
2
|
+
import type { AgentRuntimeMessage } from "../runtime/message-adapter.js";
|
|
3
|
+
export declare const AGENT_RUN_CONTEXT_COMPACTED_EVENT_TYPE: "AGENT_RUN_CONTEXT_COMPACTED";
|
|
4
|
+
export declare const getContextCompactionSummarySchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
5
|
+
text: import("../../internal-agents/schema.js").Schema<string>;
|
|
6
|
+
}>>;
|
|
7
|
+
export declare const getContextCompactionEventPayloadSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
8
|
+
type: import("../../internal-agents/schema.js").Schema<"AGENT_RUN_CONTEXT_COMPACTED">;
|
|
9
|
+
summary: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
10
|
+
text: import("../../internal-agents/schema.js").Schema<string>;
|
|
11
|
+
}>>;
|
|
12
|
+
firstKeptEntryId: import("../../internal-agents/schema.js").Schema<string>;
|
|
13
|
+
tokensBefore: import("../../internal-agents/schema.js").Schema<number>;
|
|
14
|
+
tokensAfter: import("../../internal-agents/schema.js").Schema<number>;
|
|
15
|
+
tokenBudget: import("../../internal-agents/schema.js").Schema<number>;
|
|
16
|
+
reserveTokens: import("../../internal-agents/schema.js").Schema<number>;
|
|
17
|
+
reason: import("../../internal-agents/schema.js").Schema<string>;
|
|
18
|
+
}>>;
|
|
19
|
+
export type ContextCompactionSummary = InferSchema<ReturnType<typeof getContextCompactionSummarySchema>>;
|
|
20
|
+
export type ContextCompactionEventPayload = InferSchema<ReturnType<typeof getContextCompactionEventPayloadSchema>>;
|
|
21
|
+
export type ContextCompactionReason = ContextCompactionEventPayload["reason"];
|
|
22
|
+
export type ContextSummaryGenerator = (input: {
|
|
23
|
+
messagesToSummarize: AgentRuntimeMessage[];
|
|
24
|
+
retainedMessages: AgentRuntimeMessage[];
|
|
25
|
+
customInstructions?: string;
|
|
26
|
+
}) => Promise<ContextCompactionSummary> | ContextCompactionSummary;
|
|
27
|
+
export type ContextBudgetManagerOptions = {
|
|
28
|
+
tokenBudget: number;
|
|
29
|
+
reserveTokens: number;
|
|
30
|
+
recentTailTokens: number;
|
|
31
|
+
minimumRecentTurns?: number;
|
|
32
|
+
maxSummaryTokens?: number;
|
|
33
|
+
customInstructions?: string;
|
|
34
|
+
reason?: ContextCompactionReason;
|
|
35
|
+
now?: () => number;
|
|
36
|
+
summaryGenerator: ContextSummaryGenerator;
|
|
37
|
+
};
|
|
38
|
+
export type ContextBudgetDiagnostics = {
|
|
39
|
+
compacted: boolean;
|
|
40
|
+
tokensBefore: number;
|
|
41
|
+
tokensAfter: number;
|
|
42
|
+
tokenBudget: number;
|
|
43
|
+
reserveTokens: number;
|
|
44
|
+
summaryTokens: number;
|
|
45
|
+
retainedTailTokens: number;
|
|
46
|
+
reason: ContextCompactionReason;
|
|
47
|
+
};
|
|
48
|
+
export type ContextBudgetManagerResult = {
|
|
49
|
+
messages: AgentRuntimeMessage[];
|
|
50
|
+
eventPayload?: ContextCompactionEventPayload;
|
|
51
|
+
diagnostics: ContextBudgetDiagnostics;
|
|
52
|
+
};
|
|
53
|
+
export declare class ContextCompactionError extends Error {
|
|
54
|
+
constructor(message: string, options?: {
|
|
55
|
+
cause?: unknown;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/** Apply hosted-chat context budget management. */
|
|
59
|
+
export declare function applyContextBudget(messages: readonly AgentRuntimeMessage[], options: ContextBudgetManagerOptions): Promise<ContextBudgetManagerResult>;
|
|
60
|
+
//# sourceMappingURL=context-budget-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-budget-manager.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/context-budget-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,eAAO,MAAM,sCAAsC,EAAG,6BAAsC,CAAC;AAE7F,eAAO,MAAM,iCAAiC;;GAI7C,CAAC;AAEF,eAAO,MAAM,sCAAsC;;;;;;;;;;;GAkClD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAChD,UAAU,CAAC,OAAO,iCAAiC,CAAC,CACrD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,WAAW,CACrD,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAC1D,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AAE9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE;IAC5C,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,KAAK,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;AAEnE,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,6BAA6B,CAAC;IAC7C,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAgND,mDAAmD;AACnD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,EACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CA+FrC"}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { estimateTokens } from "../../chat/message-prep.js";
|
|
2
|
+
import { defineSchema } from "../../schemas/index.js";
|
|
3
|
+
export const AGENT_RUN_CONTEXT_COMPACTED_EVENT_TYPE = "AGENT_RUN_CONTEXT_COMPACTED";
|
|
4
|
+
export const getContextCompactionSummarySchema = defineSchema((v) => v.object({
|
|
5
|
+
text: v.string().min(1),
|
|
6
|
+
}));
|
|
7
|
+
export const getContextCompactionEventPayloadSchema = defineSchema((v) => v.object({
|
|
8
|
+
type: v.literal(AGENT_RUN_CONTEXT_COMPACTED_EVENT_TYPE),
|
|
9
|
+
summary: getContextCompactionSummarySchema(),
|
|
10
|
+
firstKeptEntryId: v.string().min(1),
|
|
11
|
+
tokensBefore: v.number().int().nonnegative(),
|
|
12
|
+
tokensAfter: v.number().int().nonnegative(),
|
|
13
|
+
tokenBudget: v.number().int().positive(),
|
|
14
|
+
reserveTokens: v.number().int().nonnegative(),
|
|
15
|
+
reason: v.enum(["context_window", "transport_body"]),
|
|
16
|
+
}).superRefine((event, ctx) => {
|
|
17
|
+
const usableBudget = event.tokenBudget - event.reserveTokens;
|
|
18
|
+
if (usableBudget <= 0) {
|
|
19
|
+
ctx.addIssue({
|
|
20
|
+
code: "custom",
|
|
21
|
+
message: "reserveTokens must be lower than tokenBudget",
|
|
22
|
+
path: ["reserveTokens"],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (event.tokensAfter > usableBudget) {
|
|
26
|
+
ctx.addIssue({
|
|
27
|
+
code: "custom",
|
|
28
|
+
message: "tokensAfter must fit within the usable token budget",
|
|
29
|
+
path: ["tokensAfter"],
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (event.tokensAfter > event.tokensBefore) {
|
|
33
|
+
ctx.addIssue({
|
|
34
|
+
code: "custom",
|
|
35
|
+
message: "tokensAfter cannot exceed tokensBefore",
|
|
36
|
+
path: ["tokensAfter"],
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
export class ContextCompactionError extends Error {
|
|
41
|
+
constructor(message, options) {
|
|
42
|
+
super(message, options);
|
|
43
|
+
this.name = "ContextCompactionError";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function getUsableTokenBudget(options) {
|
|
47
|
+
return options.tokenBudget - options.reserveTokens;
|
|
48
|
+
}
|
|
49
|
+
function getMessageTokens(message) {
|
|
50
|
+
return estimateTokens(message);
|
|
51
|
+
}
|
|
52
|
+
function getMessageListTokens(messages) {
|
|
53
|
+
return estimateTokens(messages);
|
|
54
|
+
}
|
|
55
|
+
function isUserMessage(message) {
|
|
56
|
+
return message.role === "user";
|
|
57
|
+
}
|
|
58
|
+
function getToolCallIds(message) {
|
|
59
|
+
return message.parts.flatMap((part) => "toolCallId" in part && typeof part.toolCallId === "string" &&
|
|
60
|
+
part.type !== "tool-result"
|
|
61
|
+
? [part.toolCallId]
|
|
62
|
+
: []);
|
|
63
|
+
}
|
|
64
|
+
function getToolResultIds(message) {
|
|
65
|
+
return message.parts.flatMap((part) => part.type === "tool-result" && typeof part.toolCallId === "string" ? [part.toolCallId] : []);
|
|
66
|
+
}
|
|
67
|
+
function collectToolCallIds(messages) {
|
|
68
|
+
const ids = new Set();
|
|
69
|
+
for (const message of messages) {
|
|
70
|
+
for (const id of getToolCallIds(message)) {
|
|
71
|
+
ids.add(id);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return ids;
|
|
75
|
+
}
|
|
76
|
+
function collectToolResultIds(messages) {
|
|
77
|
+
const ids = new Set();
|
|
78
|
+
for (const message of messages) {
|
|
79
|
+
for (const id of getToolResultIds(message)) {
|
|
80
|
+
ids.add(id);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return ids;
|
|
84
|
+
}
|
|
85
|
+
function findLatestUserMessageIndex(messages) {
|
|
86
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
87
|
+
const message = messages[index];
|
|
88
|
+
if (message && isUserMessage(message)) {
|
|
89
|
+
return index;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return Math.max(0, messages.length - 1);
|
|
93
|
+
}
|
|
94
|
+
function findRecentTailStartIndex(messages, options) {
|
|
95
|
+
const latestUserIndex = findLatestUserMessageIndex(messages);
|
|
96
|
+
const minimumRecentTurns = Math.max(1, options.minimumRecentTurns ?? 1);
|
|
97
|
+
let tokenTotal = 0;
|
|
98
|
+
let userTurnCount = 0;
|
|
99
|
+
let startIndex = messages.length - 1;
|
|
100
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
101
|
+
const message = messages[index];
|
|
102
|
+
if (!message) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
tokenTotal += getMessageTokens(message);
|
|
106
|
+
if (isUserMessage(message)) {
|
|
107
|
+
userTurnCount += 1;
|
|
108
|
+
}
|
|
109
|
+
startIndex = index;
|
|
110
|
+
if (tokenTotal >= options.recentTailTokens &&
|
|
111
|
+
startIndex <= latestUserIndex &&
|
|
112
|
+
userTurnCount >= minimumRecentTurns) {
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return startIndex;
|
|
117
|
+
}
|
|
118
|
+
function expandTailForToolPairs(messages, initialStartIndex) {
|
|
119
|
+
let startIndex = initialStartIndex;
|
|
120
|
+
let changed = true;
|
|
121
|
+
while (changed) {
|
|
122
|
+
changed = false;
|
|
123
|
+
const tail = messages.slice(startIndex);
|
|
124
|
+
const tailCallIds = collectToolCallIds(tail);
|
|
125
|
+
const tailResultIds = collectToolResultIds(tail);
|
|
126
|
+
for (let index = startIndex - 1; index >= 0; index -= 1) {
|
|
127
|
+
const message = messages[index];
|
|
128
|
+
if (!message) {
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
const messageCallIds = getToolCallIds(message);
|
|
132
|
+
const messageResultIds = getToolResultIds(message);
|
|
133
|
+
const tailNeedsCall = messageCallIds.some((id) => tailResultIds.has(id));
|
|
134
|
+
const tailNeedsResult = messageResultIds.some((id) => tailCallIds.has(id));
|
|
135
|
+
if (tailNeedsCall || tailNeedsResult) {
|
|
136
|
+
startIndex = index;
|
|
137
|
+
changed = true;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return startIndex;
|
|
142
|
+
}
|
|
143
|
+
function expandTailForRecentAssistantTurn(messages, initialStartIndex) {
|
|
144
|
+
const firstRetainedMessage = messages[initialStartIndex];
|
|
145
|
+
const previousMessage = messages[initialStartIndex - 1];
|
|
146
|
+
return firstRetainedMessage?.role === "user" && previousMessage?.role === "assistant"
|
|
147
|
+
? initialStartIndex - 1
|
|
148
|
+
: initialStartIndex;
|
|
149
|
+
}
|
|
150
|
+
function createSyntheticSummaryMessage(input) {
|
|
151
|
+
return {
|
|
152
|
+
id: `context_compaction_summary:${input.firstKeptEntryId}`,
|
|
153
|
+
role: "system",
|
|
154
|
+
parts: [{
|
|
155
|
+
type: "text",
|
|
156
|
+
text: `Previous context summary:\n${input.text}`,
|
|
157
|
+
}],
|
|
158
|
+
timestamp: input.timestamp,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function enforceSummaryLimit(summary, maxSummaryTokens) {
|
|
162
|
+
if (!maxSummaryTokens || estimateTokens(summary.text) <= maxSummaryTokens) {
|
|
163
|
+
return summary;
|
|
164
|
+
}
|
|
165
|
+
throw new ContextCompactionError("Context compaction summary exceeded maxSummaryTokens");
|
|
166
|
+
}
|
|
167
|
+
function assertValidContextBudgetOptions(options) {
|
|
168
|
+
if (!Number.isInteger(options.tokenBudget) || options.tokenBudget <= 0) {
|
|
169
|
+
throw new ContextCompactionError("Context compaction tokenBudget must be a positive integer");
|
|
170
|
+
}
|
|
171
|
+
if (!Number.isInteger(options.reserveTokens) || options.reserveTokens < 0) {
|
|
172
|
+
throw new ContextCompactionError("Context compaction reserveTokens must be a nonnegative integer");
|
|
173
|
+
}
|
|
174
|
+
if (options.reserveTokens >= options.tokenBudget) {
|
|
175
|
+
throw new ContextCompactionError("Context compaction reserveTokens must be lower than tokenBudget");
|
|
176
|
+
}
|
|
177
|
+
if (!Number.isInteger(options.recentTailTokens) || options.recentTailTokens <= 0) {
|
|
178
|
+
throw new ContextCompactionError("Context compaction recentTailTokens must be a positive integer");
|
|
179
|
+
}
|
|
180
|
+
if (options.minimumRecentTurns !== undefined &&
|
|
181
|
+
(!Number.isInteger(options.minimumRecentTurns) || options.minimumRecentTurns <= 0)) {
|
|
182
|
+
throw new ContextCompactionError("Context compaction minimumRecentTurns must be a positive integer");
|
|
183
|
+
}
|
|
184
|
+
if (options.maxSummaryTokens !== undefined &&
|
|
185
|
+
(!Number.isInteger(options.maxSummaryTokens) || options.maxSummaryTokens <= 0)) {
|
|
186
|
+
throw new ContextCompactionError("Context compaction maxSummaryTokens must be a positive integer");
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/** Apply hosted-chat context budget management. */
|
|
190
|
+
export async function applyContextBudget(messages, options) {
|
|
191
|
+
assertValidContextBudgetOptions(options);
|
|
192
|
+
const reason = options.reason ?? "context_window";
|
|
193
|
+
const tokensBefore = getMessageListTokens(messages);
|
|
194
|
+
const usableBudget = getUsableTokenBudget(options);
|
|
195
|
+
if (tokensBefore <= usableBudget) {
|
|
196
|
+
return {
|
|
197
|
+
messages: [...messages],
|
|
198
|
+
diagnostics: {
|
|
199
|
+
compacted: false,
|
|
200
|
+
tokensBefore,
|
|
201
|
+
tokensAfter: tokensBefore,
|
|
202
|
+
tokenBudget: options.tokenBudget,
|
|
203
|
+
reserveTokens: options.reserveTokens,
|
|
204
|
+
summaryTokens: 0,
|
|
205
|
+
retainedTailTokens: tokensBefore,
|
|
206
|
+
reason,
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
if (messages.length === 0) {
|
|
211
|
+
throw new ContextCompactionError("Context compaction requires at least one message");
|
|
212
|
+
}
|
|
213
|
+
const initialTailStartIndex = findRecentTailStartIndex(messages, options);
|
|
214
|
+
const conversationTailStartIndex = expandTailForRecentAssistantTurn(messages, initialTailStartIndex);
|
|
215
|
+
const tailStartIndex = expandTailForToolPairs(messages, conversationTailStartIndex);
|
|
216
|
+
const messagesToSummarize = messages.slice(0, tailStartIndex);
|
|
217
|
+
const retainedMessages = messages.slice(tailStartIndex);
|
|
218
|
+
const firstKeptEntryId = retainedMessages[0]?.id;
|
|
219
|
+
if (!firstKeptEntryId) {
|
|
220
|
+
throw new ContextCompactionError("Context compaction could not select a retained tail");
|
|
221
|
+
}
|
|
222
|
+
let summary;
|
|
223
|
+
try {
|
|
224
|
+
summary = getContextCompactionSummarySchema().parse(await options.summaryGenerator({
|
|
225
|
+
messagesToSummarize,
|
|
226
|
+
retainedMessages,
|
|
227
|
+
customInstructions: options.customInstructions,
|
|
228
|
+
}));
|
|
229
|
+
summary = enforceSummaryLimit(summary, options.maxSummaryTokens);
|
|
230
|
+
}
|
|
231
|
+
catch (error) {
|
|
232
|
+
if (error instanceof ContextCompactionError) {
|
|
233
|
+
throw error;
|
|
234
|
+
}
|
|
235
|
+
throw new ContextCompactionError("Context compaction summary generation failed", {
|
|
236
|
+
cause: error,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
const summaryMessage = createSyntheticSummaryMessage({
|
|
240
|
+
text: summary.text,
|
|
241
|
+
firstKeptEntryId,
|
|
242
|
+
timestamp: options.now?.() ?? Date.now(),
|
|
243
|
+
});
|
|
244
|
+
const compactedMessages = [summaryMessage, ...retainedMessages];
|
|
245
|
+
const tokensAfter = getMessageListTokens(compactedMessages);
|
|
246
|
+
if (tokensAfter > usableBudget) {
|
|
247
|
+
throw new ContextCompactionError("Context compaction result exceeded usable token budget");
|
|
248
|
+
}
|
|
249
|
+
const eventPayload = getContextCompactionEventPayloadSchema().parse({
|
|
250
|
+
type: AGENT_RUN_CONTEXT_COMPACTED_EVENT_TYPE,
|
|
251
|
+
summary,
|
|
252
|
+
firstKeptEntryId,
|
|
253
|
+
tokensBefore,
|
|
254
|
+
tokensAfter,
|
|
255
|
+
tokenBudget: options.tokenBudget,
|
|
256
|
+
reserveTokens: options.reserveTokens,
|
|
257
|
+
reason,
|
|
258
|
+
});
|
|
259
|
+
return {
|
|
260
|
+
messages: compactedMessages,
|
|
261
|
+
eventPayload,
|
|
262
|
+
diagnostics: {
|
|
263
|
+
compacted: true,
|
|
264
|
+
tokensBefore,
|
|
265
|
+
tokensAfter,
|
|
266
|
+
tokenBudget: options.tokenBudget,
|
|
267
|
+
reserveTokens: options.reserveTokens,
|
|
268
|
+
summaryTokens: estimateTokens(summary.text),
|
|
269
|
+
retainedTailTokens: getMessageListTokens(retainedMessages),
|
|
270
|
+
reason,
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-child-fork-execution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/durable-child-fork-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"durable-child-fork-execution.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/durable-child-fork-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseProviderError } from "../../chat/provider-errors.js";
|
|
1
2
|
import { buildChildRunResultSummary } from "../child-run/result-summary.js";
|
|
2
3
|
import { resolveConversationRunTargets, } from "../conversation/durable.js";
|
|
3
4
|
import { buildInvokeAgentTraceAttributes } from "./trace-attributes.js";
|
|
@@ -38,11 +39,25 @@ export function buildHostedDurableChildInvokeTerminalFailureResult(input) {
|
|
|
38
39
|
childMessageId: input.identifiers.childMessageId,
|
|
39
40
|
});
|
|
40
41
|
}
|
|
42
|
+
function resolveKnownProviderTerminalError(error) {
|
|
43
|
+
const parsedError = parseProviderError(error);
|
|
44
|
+
if (parsedError.code === "EXTERNAL_SERVICE_ERROR" &&
|
|
45
|
+
parsedError.message === "LLM provider service error") {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
code: parsedError.code,
|
|
50
|
+
message: parsedError.message,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
41
53
|
/** Result returned from build hosted durable child invoke success. */
|
|
42
54
|
export function buildHostedDurableChildInvokeSuccessResult(input) {
|
|
43
55
|
const summaryText = input.snapshot.fullResultText ??
|
|
44
56
|
(input.result.success ? input.result.summary.text : input.result.error);
|
|
45
57
|
const summary = summaryText ? buildChildRunResultSummary(summaryText) : null;
|
|
58
|
+
const terminalError = input.snapshot.success
|
|
59
|
+
? null
|
|
60
|
+
: resolveKnownProviderTerminalError(input.snapshot.error);
|
|
46
61
|
return {
|
|
47
62
|
ok: input.snapshot.success,
|
|
48
63
|
status: input.snapshot.success ? "completed" : "failed",
|
|
@@ -63,8 +78,10 @@ export function buildHostedDurableChildInvokeSuccessResult(input) {
|
|
|
63
78
|
childMessageId: input.identifiers.childMessageId,
|
|
64
79
|
sourceTargetKind: input.targets.sourceTargetKind,
|
|
65
80
|
runtimeTargetKind: input.targets.runtimeTargetKind,
|
|
66
|
-
terminalErrorCode: input.snapshot.success ? null : "INVOKE_AGENT_FAILED",
|
|
67
|
-
terminalErrorMessage: input.snapshot.success
|
|
81
|
+
terminalErrorCode: input.snapshot.success ? null : terminalError?.code ?? "INVOKE_AGENT_FAILED",
|
|
82
|
+
terminalErrorMessage: input.snapshot.success
|
|
83
|
+
? null
|
|
84
|
+
: terminalError?.message ?? input.snapshot.error,
|
|
68
85
|
};
|
|
69
86
|
}
|
|
70
87
|
/** Create hosted durable child invoke trace recorder. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../src/src/chat/provider-errors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE7F,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAMhE;
|
|
1
|
+
{"version":3,"file":"provider-errors.d.ts","sourceRoot":"","sources":["../../../src/src/chat/provider-errors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAE7F,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAMhE;AAgBD,iCAAiC;AACjC,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CA0B/E;AAED,yCAAyC;AACzC,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAOvE;AAgFD,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAEtE"}
|
|
@@ -19,6 +19,13 @@ function parseErrorJson(value) {
|
|
|
19
19
|
const parsed = safeJsonParse(value);
|
|
20
20
|
return parsed.ok ? parsed.value : null;
|
|
21
21
|
}
|
|
22
|
+
function parseEmbeddedErrorJson(value) {
|
|
23
|
+
const jsonStart = value.indexOf("{");
|
|
24
|
+
if (jsonStart < 0) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return parseErrorJson(value.slice(jsonStart));
|
|
28
|
+
}
|
|
22
29
|
/** Parses known problem body. */
|
|
23
30
|
export function parseKnownProblemBody(body) {
|
|
24
31
|
if (!isErrorRecord(body)) {
|
|
@@ -150,6 +157,11 @@ function parseProviderErrorInner(error, seen) {
|
|
|
150
157
|
if (parsedMessageError) {
|
|
151
158
|
return parsedMessageError;
|
|
152
159
|
}
|
|
160
|
+
const parsedEmbeddedMessage = parseEmbeddedErrorJson(message);
|
|
161
|
+
const parsedEmbeddedMessageError = parseKnownProviderBody(parsedEmbeddedMessage);
|
|
162
|
+
if (parsedEmbeddedMessageError) {
|
|
163
|
+
return parsedEmbeddedMessageError;
|
|
164
|
+
}
|
|
153
165
|
const normalizedMessage = message.toLowerCase();
|
|
154
166
|
if (isCreditLimitMessage(normalizedMessage)) {
|
|
155
167
|
return { code: "INSUFFICIENT_CREDITS", message: "Insufficient AI credits", status: 402 };
|