veryfront 0.1.1014 → 0.1.1016
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 +2 -2
- package/esm/src/agent/child-run/invoke-agent-child-runs.d.ts +1 -12
- package/esm/src/agent/child-run/invoke-agent-child-runs.d.ts.map +1 -1
- package/esm/src/agent/child-run/invoke-agent-child-runs.js +5 -1
- package/esm/src/agent/conversation/delegation-policy.d.ts.map +1 -1
- package/esm/src/agent/conversation/delegation-policy.js +6 -2
- package/esm/src/agent/conversation/durable-contracts.d.ts +2 -0
- package/esm/src/agent/conversation/durable-contracts.d.ts.map +1 -1
- package/esm/src/agent/conversation/durable-contracts.js +16 -2
- package/esm/src/agent/conversation/durable.d.ts.map +1 -1
- package/esm/src/agent/conversation/durable.js +120 -99
- package/esm/src/agent/conversation/hosted-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/conversation/hosted-lifecycle.js +79 -62
- package/esm/src/agent/conversation/hosted-terminal.d.ts.map +1 -1
- package/esm/src/agent/conversation/hosted-terminal.js +20 -12
- package/esm/src/agent/conversation/root-run-context.d.ts +1 -0
- package/esm/src/agent/conversation/root-run-context.d.ts.map +1 -1
- package/esm/src/agent/conversation/root-run-context.js +7 -1
- package/esm/src/agent/conversation/run-events.d.ts +1 -0
- package/esm/src/agent/conversation/run-events.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-events.js +22 -7
- package/esm/src/agent/conversation/run-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-mirror.js +38 -3
- package/esm/src/agent/hosted/chat-preparation.d.ts +3 -1
- package/esm/src/agent/hosted/chat-preparation.d.ts.map +1 -1
- package/esm/src/agent/hosted/chat-preparation.js +12 -0
- package/esm/src/agent/hosted/durable-chat-run-start.d.ts +11 -1
- package/esm/src/agent/hosted/durable-chat-run-start.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-chat-run-start.js +31 -19
- package/esm/src/agent/runtime/message-preparation.d.ts +2 -0
- package/esm/src/agent/runtime/message-preparation.d.ts.map +1 -1
- package/esm/src/agent/runtime/message-preparation.js +2 -1
- package/esm/src/chat/conversation.d.ts.map +1 -1
- package/esm/src/chat/conversation.js +2 -1
- package/esm/src/chat/message-prep.d.ts +51 -3
- package/esm/src/chat/message-prep.d.ts.map +1 -1
- package/esm/src/chat/message-prep.js +147 -51
- package/esm/src/eval/agent-service/durable-run-canaries/index.d.ts +1 -0
- package/esm/src/eval/agent-service/durable-run-canaries/index.d.ts.map +1 -1
- package/esm/src/eval/agent-service/durable-run-canaries/index.js +1 -0
- package/esm/src/eval/agent-service/durable-run-canaries/runner.d.ts +1 -0
- package/esm/src/eval/agent-service/durable-run-canaries/runner.d.ts.map +1 -1
- package/esm/src/eval/agent-service/durable-run-canaries/runner.js +53 -25
- package/esm/src/eval/agent-service/durable-run-canaries/token-growth.d.ts +12 -0
- package/esm/src/eval/agent-service/durable-run-canaries/token-growth.d.ts.map +1 -0
- package/esm/src/eval/agent-service/durable-run-canaries/token-growth.js +44 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +3 -2
|
@@ -3,25 +3,35 @@ import { prepareConversationRunStreamEvents } from "./run-event-preparation.js";
|
|
|
3
3
|
import { publishInvokeAgentChildRunProgress, } from "../child-run/invoke-agent-child-runs.js";
|
|
4
4
|
/** Create conversation hosted lifecycle adapter. */
|
|
5
5
|
export function createConversationHostedLifecycleAdapter(options) {
|
|
6
|
+
// Appends read run.latestEventId as the expected cursor and write it back,
|
|
7
|
+
// so overlapping calls would race the read-modify-write and trip the
|
|
8
|
+
// server-side cursor check. Chain them so each append sees the previous
|
|
9
|
+
// cursor update.
|
|
10
|
+
let appendChain = Promise.resolve();
|
|
11
|
+
const appendChunkEvents = async (run, chunk) => {
|
|
12
|
+
const events = [...await options.mapChunkToEvents(chunk, run)];
|
|
13
|
+
if (events.length === 0) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const appended = await appendConversationRunEvents({
|
|
17
|
+
authToken: options.authToken,
|
|
18
|
+
apiUrl: options.apiUrl,
|
|
19
|
+
conversationId: run.conversationId,
|
|
20
|
+
runId: run.runId,
|
|
21
|
+
expectedPreviousEventId: run.latestEventId,
|
|
22
|
+
expectedPreviousExternalEventSequence: run.latestExternalEventSequence,
|
|
23
|
+
events,
|
|
24
|
+
});
|
|
25
|
+
run.latestEventId = appended.latestEventId;
|
|
26
|
+
run.latestExternalEventSequence = appended.latestExternalEventSequence;
|
|
27
|
+
};
|
|
6
28
|
return {
|
|
7
29
|
startRun: options.startRun,
|
|
8
30
|
appendEvents: options.mapChunkToEvents
|
|
9
|
-
?
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
const appended = await appendConversationRunEvents({
|
|
15
|
-
authToken: options.authToken,
|
|
16
|
-
apiUrl: options.apiUrl,
|
|
17
|
-
conversationId: run.conversationId,
|
|
18
|
-
runId: run.runId,
|
|
19
|
-
expectedPreviousEventId: run.latestEventId,
|
|
20
|
-
expectedPreviousExternalEventSequence: run.latestExternalEventSequence,
|
|
21
|
-
events,
|
|
22
|
-
});
|
|
23
|
-
run.latestEventId = appended.latestEventId;
|
|
24
|
-
run.latestExternalEventSequence = appended.latestExternalEventSequence;
|
|
31
|
+
? (run, chunk) => {
|
|
32
|
+
const result = appendChain.then(() => appendChunkEvents(run, chunk));
|
|
33
|
+
appendChain = result.catch(() => { });
|
|
34
|
+
return result;
|
|
25
35
|
}
|
|
26
36
|
: undefined,
|
|
27
37
|
finalizeRun: async (run, terminalState) => {
|
|
@@ -81,61 +91,68 @@ async function publishConversationChildProgress(ctx, status) {
|
|
|
81
91
|
apiUrl: ctx.apiUrl,
|
|
82
92
|
conversationId: ctx.parentConversationId,
|
|
83
93
|
runId: ctx.parentRunId,
|
|
84
|
-
...(ctx.projectId !== undefined ? { projectId: ctx.projectId } : {}),
|
|
85
94
|
...ctx.progress,
|
|
86
95
|
status,
|
|
87
96
|
...(ctx.publishParentRunEvents ? { publishParentRunEvents: ctx.publishParentRunEvents } : {}),
|
|
88
97
|
});
|
|
89
98
|
}
|
|
99
|
+
async function finalizeChildRunThenPublish(ctx, status, finalize) {
|
|
100
|
+
let failed = false;
|
|
101
|
+
let finalizeError;
|
|
102
|
+
try {
|
|
103
|
+
await finalize();
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
failed = true;
|
|
107
|
+
finalizeError = error;
|
|
108
|
+
}
|
|
109
|
+
// The parent must learn the terminal status even when finalization fails;
|
|
110
|
+
// otherwise its projection shows the child as running forever.
|
|
111
|
+
await publishConversationChildProgress(ctx, status);
|
|
112
|
+
if (failed) {
|
|
113
|
+
throw finalizeError;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
90
116
|
/** Create conversation child lifecycle adapter. */
|
|
91
117
|
export function createConversationChildLifecycleAdapter(ctx) {
|
|
92
118
|
return {
|
|
93
119
|
pending: () => publishConversationChildProgress(ctx, "pending"),
|
|
94
120
|
running: () => publishConversationChildProgress(ctx, "running"),
|
|
95
|
-
completed:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
status: "cancelled",
|
|
132
|
-
model: ctx.model,
|
|
133
|
-
provider: ctx.provider,
|
|
134
|
-
usage: toConversationChildUsage(terminalState.usage),
|
|
135
|
-
terminalErrorCode: terminalState.terminalErrorCode ?? "CANCELLED",
|
|
136
|
-
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Child run cancelled",
|
|
137
|
-
});
|
|
138
|
-
await publishConversationChildProgress(ctx, "cancelled");
|
|
139
|
-
},
|
|
121
|
+
completed: (terminalState) => finalizeChildRunThenPublish(ctx, "completed", () => finalizeConversationAgentRun({
|
|
122
|
+
authToken: ctx.authToken,
|
|
123
|
+
apiUrl: ctx.apiUrl,
|
|
124
|
+
conversationId: ctx.progress.childConversationId,
|
|
125
|
+
runId: ctx.progress.childRunId,
|
|
126
|
+
status: "completed",
|
|
127
|
+
model: ctx.model,
|
|
128
|
+
provider: ctx.provider,
|
|
129
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
130
|
+
terminalErrorCode: null,
|
|
131
|
+
terminalErrorMessage: null,
|
|
132
|
+
})),
|
|
133
|
+
failed: (terminalState) => finalizeChildRunThenPublish(ctx, "failed", () => finalizeConversationAgentRun({
|
|
134
|
+
authToken: ctx.authToken,
|
|
135
|
+
apiUrl: ctx.apiUrl,
|
|
136
|
+
conversationId: ctx.progress.childConversationId,
|
|
137
|
+
runId: ctx.progress.childRunId,
|
|
138
|
+
status: "failed",
|
|
139
|
+
model: ctx.model,
|
|
140
|
+
provider: ctx.provider,
|
|
141
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
142
|
+
terminalErrorCode: terminalState.terminalErrorCode ?? "FAILED",
|
|
143
|
+
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Unknown error",
|
|
144
|
+
})),
|
|
145
|
+
cancelled: (terminalState) => finalizeChildRunThenPublish(ctx, "cancelled", () => finalizeConversationAgentRun({
|
|
146
|
+
authToken: ctx.authToken,
|
|
147
|
+
apiUrl: ctx.apiUrl,
|
|
148
|
+
conversationId: ctx.progress.childConversationId,
|
|
149
|
+
runId: ctx.progress.childRunId,
|
|
150
|
+
status: "cancelled",
|
|
151
|
+
model: ctx.model,
|
|
152
|
+
provider: ctx.provider,
|
|
153
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
154
|
+
terminalErrorCode: terminalState.terminalErrorCode ?? "CANCELLED",
|
|
155
|
+
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Child run cancelled",
|
|
156
|
+
})),
|
|
140
157
|
};
|
|
141
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted-terminal.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/hosted-terminal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hosted-terminal.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/hosted-terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,18 +106,26 @@ export function createConversationHostedTerminalAdapter(options) {
|
|
|
106
106
|
}
|
|
107
107
|
durableRunFinalized = true;
|
|
108
108
|
const modelId = terminalState.metadata?.modelId ?? options.fallbackModelId;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
109
|
+
try {
|
|
110
|
+
await finalizeConversationAgentRun({
|
|
111
|
+
authToken: options.authToken,
|
|
112
|
+
apiUrl: options.apiUrl,
|
|
113
|
+
conversationId: options.run.conversationId,
|
|
114
|
+
runId: options.run.runId,
|
|
115
|
+
status,
|
|
116
|
+
model: modelId,
|
|
117
|
+
provider: options.resolveProvider(modelId),
|
|
118
|
+
usage: buildConversationAgentRunUsage(terminalState.metadata?.usage),
|
|
119
|
+
terminalErrorCode: terminalState.terminalErrorCode,
|
|
120
|
+
terminalErrorMessage: terminalState.terminalErrorMessage,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
// Allow a later dispatch to retry; keeping the flag set on failure would
|
|
125
|
+
// leave the durable run active forever with no way to complete it.
|
|
126
|
+
durableRunFinalized = false;
|
|
127
|
+
throw error;
|
|
128
|
+
}
|
|
121
129
|
};
|
|
122
130
|
return {
|
|
123
131
|
toTerminalState: (state) => toConversationHostedTerminalState({
|
|
@@ -30,6 +30,7 @@ export declare function startConversationRootRun(input: {
|
|
|
30
30
|
agentId: string;
|
|
31
31
|
implementationKind?: string | null;
|
|
32
32
|
providedRun?: ConversationRootRunDescriptor;
|
|
33
|
+
abortSignal?: AbortSignal;
|
|
33
34
|
}): Promise<ConversationRunProjection | null>;
|
|
34
35
|
/** Create conversation root run start adapter. */
|
|
35
36
|
export declare function createConversationRootRunStartAdapter(input: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-run-context.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/root-run-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,yBAAyB,EAA8B,MAAM,cAAc,CAAC;AAE1F,gEAAgE;AAChE,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,yCAAyC;AACzC,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACtE;
|
|
1
|
+
{"version":3,"file":"root-run-context.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/root-run-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { createConversationAgentRun } from "./durable.js";
|
|
2
2
|
function normalizeProvidedRun(input) {
|
|
3
|
+
// The descriptor carries no status, so assume "running"/appendable without a
|
|
4
|
+
// round-trip. If the server-side run is actually terminal or waiting, the
|
|
5
|
+
// first append is rejected and the mirror's resync path lands on
|
|
6
|
+
// non_appendable and disables itself.
|
|
3
7
|
return {
|
|
4
8
|
runId: input.providedRun.runId,
|
|
5
9
|
conversationId: input.conversationId,
|
|
@@ -45,11 +49,12 @@ export async function startConversationRootRun(input) {
|
|
|
45
49
|
branchId: input.branchId,
|
|
46
50
|
agentId: input.agentId,
|
|
47
51
|
implementationKind: input.implementationKind,
|
|
52
|
+
abortSignal: input.abortSignal,
|
|
48
53
|
});
|
|
49
54
|
}
|
|
50
55
|
/** Create conversation root run start adapter. */
|
|
51
56
|
export function createConversationRootRunStartAdapter(input) {
|
|
52
|
-
return async () => ({
|
|
57
|
+
return async ({ abortSignal }) => ({
|
|
53
58
|
run: await startConversationRootRun({
|
|
54
59
|
authToken: input.authToken,
|
|
55
60
|
apiUrl: input.apiUrl,
|
|
@@ -59,6 +64,7 @@ export function createConversationRootRunStartAdapter(input) {
|
|
|
59
64
|
agentId: input.agentId,
|
|
60
65
|
implementationKind: input.implementationKind,
|
|
61
66
|
providedRun: input.providedRun,
|
|
67
|
+
abortSignal,
|
|
62
68
|
}),
|
|
63
69
|
});
|
|
64
70
|
}
|
|
@@ -34,6 +34,7 @@ export declare class ConversationRunEventEncoder {
|
|
|
34
34
|
private textContentIndex;
|
|
35
35
|
private getToolResultMessageId;
|
|
36
36
|
private getTextMessagePayload;
|
|
37
|
+
private releaseToolCallState;
|
|
37
38
|
private serializeToolResultContent;
|
|
38
39
|
encode(chunk: ChatStreamEvent): ConversationRunEvent[];
|
|
39
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,0BAA0B;IAYlC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE;CAiKvD;AAED,6CAA6C;AAC7C,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB;AAED,kDAAkD;AAClD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB"}
|
|
@@ -69,6 +69,12 @@ export class ConversationRunEventEncoder {
|
|
|
69
69
|
contentId,
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
+
// Tool call state is only needed until the call resolves; keeping it for the
|
|
73
|
+
// whole run would grow unbounded over long agent sessions.
|
|
74
|
+
releaseToolCallState(toolCallId) {
|
|
75
|
+
this.toolInputs.delete(toolCallId);
|
|
76
|
+
this.streamedToolInputs.delete(toolCallId);
|
|
77
|
+
}
|
|
72
78
|
serializeToolResultContent(value) {
|
|
73
79
|
if (typeof value === "string") {
|
|
74
80
|
return value;
|
|
@@ -164,11 +170,11 @@ export class ConversationRunEventEncoder {
|
|
|
164
170
|
: {}),
|
|
165
171
|
isError: true,
|
|
166
172
|
});
|
|
167
|
-
this.
|
|
173
|
+
this.releaseToolCallState(chunk.toolCallId);
|
|
168
174
|
return events;
|
|
169
175
|
}
|
|
170
|
-
case "tool-output-available":
|
|
171
|
-
|
|
176
|
+
case "tool-output-available": {
|
|
177
|
+
const events = [{
|
|
172
178
|
type: conversationRunEventTypes.toolCallResult,
|
|
173
179
|
messageId: this.getToolResultMessageId(chunk.toolCallId),
|
|
174
180
|
toolCallId: chunk.toolCallId,
|
|
@@ -178,8 +184,11 @@ export class ConversationRunEventEncoder {
|
|
|
178
184
|
? { input: this.toolInputs.get(chunk.toolCallId) }
|
|
179
185
|
: {}),
|
|
180
186
|
}];
|
|
181
|
-
|
|
182
|
-
return
|
|
187
|
+
this.releaseToolCallState(chunk.toolCallId);
|
|
188
|
+
return events;
|
|
189
|
+
}
|
|
190
|
+
case "tool-output-error": {
|
|
191
|
+
const events = [{
|
|
183
192
|
type: conversationRunEventTypes.toolCallResult,
|
|
184
193
|
messageId: this.getToolResultMessageId(chunk.toolCallId),
|
|
185
194
|
toolCallId: chunk.toolCallId,
|
|
@@ -190,8 +199,11 @@ export class ConversationRunEventEncoder {
|
|
|
190
199
|
: {}),
|
|
191
200
|
isError: true,
|
|
192
201
|
}];
|
|
193
|
-
|
|
194
|
-
return
|
|
202
|
+
this.releaseToolCallState(chunk.toolCallId);
|
|
203
|
+
return events;
|
|
204
|
+
}
|
|
205
|
+
case "tool-output-denied": {
|
|
206
|
+
const events = [{
|
|
195
207
|
type: conversationRunEventTypes.toolCallResult,
|
|
196
208
|
messageId: this.getToolResultMessageId(chunk.toolCallId),
|
|
197
209
|
toolCallId: chunk.toolCallId,
|
|
@@ -202,6 +214,9 @@ export class ConversationRunEventEncoder {
|
|
|
202
214
|
: {}),
|
|
203
215
|
isError: true,
|
|
204
216
|
}];
|
|
217
|
+
this.releaseToolCallState(chunk.toolCallId);
|
|
218
|
+
return events;
|
|
219
|
+
}
|
|
205
220
|
case "error":
|
|
206
221
|
case "finish":
|
|
207
222
|
case "abort":
|
|
@@ -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,EACV,0BAA0B,GAC1B,gBAAgB,GAChB,4BAA4B,GAC5B,mBAAmB,CAAC;CACzB;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,
|
|
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,EACV,0BAA0B,GAC1B,gBAAgB,GAChB,4BAA4B,GAC5B,mBAAmB,CAAC;CACzB;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,CAqOxB"}
|
|
@@ -22,6 +22,12 @@ export function createConversationRunMirror(input) {
|
|
|
22
22
|
let flushTimer = null;
|
|
23
23
|
let retryTimer = null;
|
|
24
24
|
let inFlightFlush = null;
|
|
25
|
+
// Failures that escaped the queue controller (which only counts append
|
|
26
|
+
// failures it recovered itself) still need to back off exponentially, and
|
|
27
|
+
// explicit flush() calls must surface them so callers do not finalize a run
|
|
28
|
+
// while its last events are still queued.
|
|
29
|
+
let escapedFlushFailures = 0;
|
|
30
|
+
let escapedFlushError = null;
|
|
25
31
|
function getSnapshot() {
|
|
26
32
|
const snapshot = input.queueController.getSnapshot();
|
|
27
33
|
return {
|
|
@@ -83,7 +89,7 @@ export function createConversationRunMirror(input) {
|
|
|
83
89
|
if (snapshot.disabled || snapshot.pendingEventCount === 0) {
|
|
84
90
|
return;
|
|
85
91
|
}
|
|
86
|
-
const retryDelayMs = getRetryDelayMs(snapshot.consecutiveFailures);
|
|
92
|
+
const retryDelayMs = getRetryDelayMs(Math.max(snapshot.consecutiveFailures, escapedFlushFailures));
|
|
87
93
|
clearRetryTimer();
|
|
88
94
|
retryTimer = scheduleMirrorTimer({
|
|
89
95
|
delayMs: retryDelayMs,
|
|
@@ -96,6 +102,8 @@ export function createConversationRunMirror(input) {
|
|
|
96
102
|
async function runFlushLoop() {
|
|
97
103
|
emitHighBacklogIfNeeded();
|
|
98
104
|
const flushed = await input.queueController.flush();
|
|
105
|
+
escapedFlushFailures = 0;
|
|
106
|
+
escapedFlushError = null;
|
|
99
107
|
if (flushed.outcome === "idle" || flushed.outcome === "flushed") {
|
|
100
108
|
return;
|
|
101
109
|
}
|
|
@@ -119,7 +127,18 @@ export function createConversationRunMirror(input) {
|
|
|
119
127
|
if (!shouldStartFlushLoop()) {
|
|
120
128
|
return;
|
|
121
129
|
}
|
|
122
|
-
inFlightFlush = runFlushLoop()
|
|
130
|
+
inFlightFlush = runFlushLoop()
|
|
131
|
+
.catch((error) => {
|
|
132
|
+
// The queue controller re-queues its events before rethrowing, so an
|
|
133
|
+
// error escaping here (unexpected controller failure or a throwing
|
|
134
|
+
// observability callback) must not become an unhandled rejection from
|
|
135
|
+
// a timer-triggered loop — back off and retry instead. Explicit
|
|
136
|
+
// flush() rethrows it from the recorded value.
|
|
137
|
+
escapedFlushFailures += 1;
|
|
138
|
+
escapedFlushError = { error };
|
|
139
|
+
scheduleRetry();
|
|
140
|
+
})
|
|
141
|
+
.finally(() => {
|
|
123
142
|
inFlightFlush = null;
|
|
124
143
|
if (shouldContinueFlushLoop()) {
|
|
125
144
|
startFlushLoop();
|
|
@@ -166,8 +185,24 @@ export function createConversationRunMirror(input) {
|
|
|
166
185
|
if (snapshot.disabled || (snapshot.pendingEventCount === 0 && !snapshot.inFlight)) {
|
|
167
186
|
return snapshot;
|
|
168
187
|
}
|
|
188
|
+
// An already-in-flight loop may have snapshotted the queue before the
|
|
189
|
+
// caller's events were enqueued, and its completion can chain another
|
|
190
|
+
// loop; keep draining until the queue is empty or a retry backoff or
|
|
191
|
+
// stop takes over.
|
|
169
192
|
startFlushLoop();
|
|
170
|
-
|
|
193
|
+
while (inFlightFlush !== null) {
|
|
194
|
+
await inFlightFlush;
|
|
195
|
+
const drained = getSnapshot();
|
|
196
|
+
if (!drained.disabled && drained.pendingEventCount > 0 && !drained.hasRetryTimer) {
|
|
197
|
+
startFlushLoop();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (escapedFlushError !== null) {
|
|
201
|
+
// Callers like hosted finalization treat a resolved flush() as "safe
|
|
202
|
+
// to complete the run"; a flush error that escaped the controller
|
|
203
|
+
// must reject here instead of silently leaving events queued.
|
|
204
|
+
throw escapedFlushError.error;
|
|
205
|
+
}
|
|
171
206
|
return getSnapshot();
|
|
172
207
|
},
|
|
173
208
|
getSnapshot,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ChatRequestContext, ChatSystemMessage, ChatUiMessage } from "../../chat/types.js";
|
|
2
|
+
import type { HistoricalToolInputCompactionDiagnostic } from "../../chat/message-prep.js";
|
|
2
3
|
import type { AgentRuntimeMessage } from "../runtime/message-adapter.js";
|
|
3
4
|
import type { ConversationRunEvent } from "../conversation/run-events.js";
|
|
4
5
|
import type { HostedChatRuntimeCreationOptions, HostedChatRuntimeCreationResult } from "./chat-runtime-contract.js";
|
|
@@ -16,7 +17,7 @@ export type NormalizedHostedChatRequest = {
|
|
|
16
17
|
parentMessageId: string | undefined;
|
|
17
18
|
};
|
|
18
19
|
/** Options accepted by prepare hosted chat runtime messages. */
|
|
19
|
-
export type PrepareHostedChatRuntimeMessagesOptions = Pick<PrepareAgentRuntimeMessagesFromUiMessagesOptions, "emptyConversationPrompt" | "providerOwnedToolNames" | "abortSignal" | "fileContentFetchTimeoutMs"> & {
|
|
20
|
+
export type PrepareHostedChatRuntimeMessagesOptions = Pick<PrepareAgentRuntimeMessagesFromUiMessagesOptions, "emptyConversationPrompt" | "providerOwnedToolNames" | "abortSignal" | "fileContentFetchTimeoutMs" | "historicalToolInputRetention"> & {
|
|
20
21
|
authToken?: string;
|
|
21
22
|
apiUrl?: string | URL;
|
|
22
23
|
projectId?: string | null;
|
|
@@ -118,6 +119,7 @@ export type HostedChatExecutionPreparationResult<TRuntimeAgentDefinition, TRunti
|
|
|
118
119
|
runtime: TRuntimeResult;
|
|
119
120
|
finalMessages: AgentRuntimeMessage[];
|
|
120
121
|
contextBudgetDiagnostics?: ContextBudgetDiagnostics;
|
|
122
|
+
historicalToolInputCompactions?: HistoricalToolInputCompactionDiagnostic[];
|
|
121
123
|
steering: HostedChatRuntimeCreationPreparationResult<TRuntimeAgentDefinition>["steering"];
|
|
122
124
|
runtimeConfig: ResolvedHostedRuntimeRequestConfig;
|
|
123
125
|
};
|
|
@@ -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,EAA2B,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAEjC,MAAM,6BAA6B,CAAC;AAGrC,kDAAkD;AAClD,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,EAAE,aAAa,EAAE,CAAC;IACnC,yBAAyB,EAAE,kBAAkB,CAAC;IAC9C,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,uCAAuC,GAC/C,IAAI,CACJ,gDAAgD,EAC9C,yBAAyB,GACzB,wBAAwB,GACxB,aAAa,GACb,2BAA2B,
|
|
1
|
+
{"version":3,"file":"chat-preparation.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/chat-preparation.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,13 +162,22 @@ export async function prepareHostedChatExecution(input) {
|
|
|
162
162
|
buildInstructions: input.buildInstructions,
|
|
163
163
|
});
|
|
164
164
|
const submittedFormInputResult = findSubmittedFormInputResult(normalized.effectiveMessages);
|
|
165
|
+
const historicalToolInputCompactions = [];
|
|
165
166
|
const finalMessages = await prepareHostedChatRuntimeMessages(normalized.effectiveMessages, {
|
|
166
167
|
authToken: input.request.authToken,
|
|
167
168
|
apiUrl: input.apiUrl,
|
|
168
169
|
projectId: input.request.projectId,
|
|
169
170
|
providerOwnedToolNames: getProviderToolNames(input.agentConfig),
|
|
170
171
|
abortSignal: input.abortSignal,
|
|
172
|
+
historicalToolInputRetention: {
|
|
173
|
+
diagnostics: historicalToolInputCompactions,
|
|
174
|
+
},
|
|
171
175
|
});
|
|
176
|
+
if (historicalToolInputCompactions.length > 0) {
|
|
177
|
+
input.contextBudget?.logger?.debug?.("Hosted chat historical tool inputs compacted", {
|
|
178
|
+
toolInputCompactions: historicalToolInputCompactions,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
172
181
|
let budgetedContext;
|
|
173
182
|
if (input.contextBudget) {
|
|
174
183
|
try {
|
|
@@ -203,6 +212,7 @@ export async function prepareHostedChatExecution(input) {
|
|
|
203
212
|
runtime,
|
|
204
213
|
finalMessages: budgetedContext?.messages ?? finalMessages,
|
|
205
214
|
contextBudgetDiagnostics: budgetedContext?.diagnostics,
|
|
215
|
+
...(historicalToolInputCompactions.length > 0 ? { historicalToolInputCompactions } : {}),
|
|
206
216
|
steering: runtimePreparation.steering,
|
|
207
217
|
runtimeConfig: runtimePreparation.runtimeConfig,
|
|
208
218
|
};
|
|
@@ -216,6 +226,7 @@ export async function prepareHostedChatRuntimeMessages(messages, options = {}) {
|
|
|
216
226
|
providerOwnedToolNames: options.providerOwnedToolNames,
|
|
217
227
|
abortSignal: options.abortSignal,
|
|
218
228
|
fileContentFetchTimeoutMs: options.fileContentFetchTimeoutMs,
|
|
229
|
+
historicalToolInputRetention: options.historicalToolInputRetention,
|
|
219
230
|
});
|
|
220
231
|
}
|
|
221
232
|
const authToken = options.authToken;
|
|
@@ -226,6 +237,7 @@ export async function prepareHostedChatRuntimeMessages(messages, options = {}) {
|
|
|
226
237
|
providerOwnedToolNames: options.providerOwnedToolNames,
|
|
227
238
|
abortSignal: options.abortSignal,
|
|
228
239
|
fileContentFetchTimeoutMs: options.fileContentFetchTimeoutMs,
|
|
240
|
+
historicalToolInputRetention: options.historicalToolInputRetention,
|
|
229
241
|
resolveFileUrl: ({ uploadId }) => getRuntimeUploadUrl({
|
|
230
242
|
apiUrl,
|
|
231
243
|
authToken,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type HistoricalToolInputRetentionOptions } from "../../chat/message-prep.js";
|
|
1
2
|
import type { ChatUiMessage } from "../../chat/types.js";
|
|
2
3
|
import type { AgUiResumeValue } from "../ag-ui/tool-shared.js";
|
|
3
4
|
import type { DetachedRunTracker } from "../service/detached-run-tracker.js";
|
|
@@ -17,6 +18,7 @@ export type HostedDurableRunAuthErrorResponse = {
|
|
|
17
18
|
};
|
|
18
19
|
/** Public API contract for hosted durable run logger. */
|
|
19
20
|
export type HostedDurableRunLogger = {
|
|
21
|
+
debug?: (message: string, metadata?: Record<string, unknown>) => void;
|
|
20
22
|
error(message: string, metadata?: Record<string, unknown>): void;
|
|
21
23
|
};
|
|
22
24
|
/** Input payload for hosted durable run start execution. */
|
|
@@ -51,8 +53,16 @@ export declare function resolveHostedDurableRunSetupErrorResponse(input: {
|
|
|
51
53
|
errorCode: string;
|
|
52
54
|
statusCode: HostedDurableRunSetupErrorStatusCode;
|
|
53
55
|
};
|
|
56
|
+
declare function parseAcceptedDetachedStartResponse(response: Response): Promise<HostedDurableRunAccepted>;
|
|
54
57
|
/** Prepare durable detached-start messages without carrying completed large historical tool inputs. */
|
|
55
|
-
export declare function prepareDetachedStartMessages(messages: ChatUiMessage[]
|
|
58
|
+
export declare function prepareDetachedStartMessages(messages: ChatUiMessage[], options?: {
|
|
59
|
+
historicalToolInputRetention?: HistoricalToolInputRetentionOptions;
|
|
60
|
+
}): ChatUiMessage[];
|
|
61
|
+
/** Test-only internals for durable chat run start behavior. */
|
|
62
|
+
export declare const durableChatRunStartInternals: {
|
|
63
|
+
parseAcceptedDetachedStartResponse: typeof parseAcceptedDetachedStartResponse;
|
|
64
|
+
};
|
|
56
65
|
/** Execute hosted durable chat run. */
|
|
57
66
|
export declare function executeHostedDurableChatRun<TExecution>(input: ExecuteHostedDurableChatRunInput<TExecution>): Promise<Response>;
|
|
67
|
+
export {};
|
|
58
68
|
//# sourceMappingURL=durable-chat-run-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-chat-run-start.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/durable-chat-run-start.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"durable-chat-run-start.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/durable-chat-run-start.ts"],"names":[],"mappings":"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"}
|