veryfront 0.1.223 → 0.1.224
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/src/agent/ag-ui-detached-start.d.ts +7 -0
- package/esm/src/agent/ag-ui-detached-start.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-detached-start.js +110 -80
- package/esm/src/agent/index.d.ts +1 -1
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +1 -1
- 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/src/deno.js +1 -1
- package/src/src/agent/ag-ui-detached-start.ts +148 -97
- package/src/src/agent/index.ts +2 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -55,6 +55,12 @@ export declare const AgUiDetachedStartAcceptedSchema: z.ZodObject<{
|
|
|
55
55
|
}, z.core.$strip>;
|
|
56
56
|
export type AgUiDetachedStartRequest = z.infer<typeof AgUiDetachedStartRequestSchema>;
|
|
57
57
|
export type AgUiDetachedStartAccepted = z.infer<typeof AgUiDetachedStartAcceptedSchema>;
|
|
58
|
+
export interface ExecuteAgUiDetachedStartInput {
|
|
59
|
+
request: AgUiDetachedStartRequest;
|
|
60
|
+
rawRequest?: Request;
|
|
61
|
+
requestOrCtx?: unknown;
|
|
62
|
+
context?: Record<string, unknown>;
|
|
63
|
+
}
|
|
58
64
|
interface AgUiDetachedStartExecutionInput {
|
|
59
65
|
request: AgUiDetachedStartRequest;
|
|
60
66
|
requestOrCtx: unknown;
|
|
@@ -93,6 +99,7 @@ export type AgUiDetachedStartHandlerOptions = (AgUiDetachedStartHandlerOptionsBa
|
|
|
93
99
|
agent?: undefined;
|
|
94
100
|
startDetachedExecution: AgUiDetachedExecutionStarter;
|
|
95
101
|
});
|
|
102
|
+
export declare function executeAgUiDetachedStart(options: AgUiDetachedStartHandlerOptions, input: ExecuteAgUiDetachedStartInput): Promise<Response>;
|
|
96
103
|
export declare function createAgUiDetachedStartHandler(options: AgUiDetachedStartHandlerOptions): (requestOrCtx: unknown) => Promise<Response>;
|
|
97
104
|
export {};
|
|
98
105
|
//# sourceMappingURL=ag-ui-detached-start.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-detached-start.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-detached-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ag-ui-detached-start.d.ts","sourceRoot":"","sources":["../../../src/src/agent/ag-ui-detached-start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIxC,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,gBAAgB,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAmIvF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGzC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;iBAK1C,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,wBAAwB,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,UAAU,+BAA+B;IACvC,OAAO,EAAE,wBAAwB,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,UAAU,mCAAmC;IAC3C,cAAc,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACzD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;IACtD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QACnB,OAAO,EAAE,wBAAwB,CAAC;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,wBAAwB,CAAC;QAClC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChG;AAED,MAAM,MAAM,+BAA+B,GACvC,CAAC,mCAAmC,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,GACxD,CAAC,mCAAmC,GAAG;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,4BAA4B,CAAC;CACtD,CAAC,CAAC;AAqEL,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,+BAA+B,EACxC,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAwFnB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,CAAC,YAAY,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAuC9C"}
|
|
@@ -84,12 +84,6 @@ function buildMergedTools(agent, request, sessionManager) {
|
|
|
84
84
|
}
|
|
85
85
|
return { ...agent.config.tools, ...injectedTools };
|
|
86
86
|
}
|
|
87
|
-
async function resolveContextValue(value, request) {
|
|
88
|
-
if (typeof value === "function") {
|
|
89
|
-
return await value(request);
|
|
90
|
-
}
|
|
91
|
-
return value ?? {};
|
|
92
|
-
}
|
|
93
87
|
function scheduleDetachedTask(requestOrCtx, task) {
|
|
94
88
|
if (typeof requestOrCtx === "object" &&
|
|
95
89
|
requestOrCtx !== null &&
|
|
@@ -123,6 +117,111 @@ async function startDefaultDetachedExecution(input) {
|
|
|
123
117
|
const runtimeStream = await runtime.stream(normalizeAgUiMessages(input.request.messages), buildStreamContext(input.request, input.context, input.request.threadId, input.request.runId), undefined, input.request.model, input.request.maxOutputTokens, input.abortSignal);
|
|
124
118
|
await drainRuntimeStream(runtimeStream);
|
|
125
119
|
}
|
|
120
|
+
async function resolveDetachedStartContext(options, input) {
|
|
121
|
+
if (input.context) {
|
|
122
|
+
return input.context;
|
|
123
|
+
}
|
|
124
|
+
if (!options.context) {
|
|
125
|
+
return {};
|
|
126
|
+
}
|
|
127
|
+
if (typeof options.context === "function") {
|
|
128
|
+
if (!input.rawRequest) {
|
|
129
|
+
throw INVALID_ARGUMENT.create({
|
|
130
|
+
detail: "executeAgUiDetachedStart requires rawRequest when options.context is a function.",
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return await options.context(input.rawRequest);
|
|
134
|
+
}
|
|
135
|
+
return options.context;
|
|
136
|
+
}
|
|
137
|
+
function assertDetachedStartRawRequest(options, input) {
|
|
138
|
+
if (!options.startDetachedExecution) {
|
|
139
|
+
return input.rawRequest;
|
|
140
|
+
}
|
|
141
|
+
if (input.rawRequest) {
|
|
142
|
+
return input.rawRequest;
|
|
143
|
+
}
|
|
144
|
+
throw INVALID_ARGUMENT.create({
|
|
145
|
+
detail: "executeAgUiDetachedStart requires rawRequest when options.startDetachedExecution is used.",
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export async function executeAgUiDetachedStart(options, input) {
|
|
149
|
+
const rawRequest = assertDetachedStartRawRequest(options, input);
|
|
150
|
+
const context = await resolveDetachedStartContext(options, input);
|
|
151
|
+
try {
|
|
152
|
+
const abortSignal = options.sessionManager.startRun({
|
|
153
|
+
runId: input.request.runId,
|
|
154
|
+
threadId: input.request.threadId,
|
|
155
|
+
});
|
|
156
|
+
await options.onAccepted?.({
|
|
157
|
+
request: input.request,
|
|
158
|
+
runId: input.request.runId,
|
|
159
|
+
threadId: input.request.threadId,
|
|
160
|
+
});
|
|
161
|
+
const detachedTask = (async () => {
|
|
162
|
+
try {
|
|
163
|
+
if (options.startDetachedExecution) {
|
|
164
|
+
await options.startDetachedExecution({
|
|
165
|
+
request: input.request,
|
|
166
|
+
requestOrCtx: input.requestOrCtx,
|
|
167
|
+
rawRequest: rawRequest,
|
|
168
|
+
context,
|
|
169
|
+
abortSignal,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
else if (options.agent) {
|
|
173
|
+
await startDefaultDetachedExecution({
|
|
174
|
+
agent: options.agent,
|
|
175
|
+
request: input.request,
|
|
176
|
+
context,
|
|
177
|
+
abortSignal,
|
|
178
|
+
sessionManager: options.sessionManager,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
throw new Error("Detached AG-UI start configuration became invalid during execution.");
|
|
183
|
+
}
|
|
184
|
+
options.sessionManager.completeRun(input.request.runId);
|
|
185
|
+
await options.onFinish?.({
|
|
186
|
+
runId: input.request.runId,
|
|
187
|
+
threadId: input.request.threadId,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
options.sessionManager.failRun(input.request.runId);
|
|
192
|
+
await options.onError?.({
|
|
193
|
+
runId: input.request.runId,
|
|
194
|
+
threadId: input.request.threadId,
|
|
195
|
+
error,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
})().catch(() => undefined);
|
|
199
|
+
scheduleDetachedTask(input.requestOrCtx, detachedTask);
|
|
200
|
+
return Response.json({
|
|
201
|
+
accepted: true,
|
|
202
|
+
duplicate: false,
|
|
203
|
+
runId: input.request.runId,
|
|
204
|
+
threadId: input.request.threadId,
|
|
205
|
+
}, { status: 202 });
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
if (error instanceof RunAlreadyExistsError) {
|
|
209
|
+
await options.onDuplicate?.({
|
|
210
|
+
request: input.request,
|
|
211
|
+
runId: input.request.runId,
|
|
212
|
+
threadId: input.request.threadId,
|
|
213
|
+
});
|
|
214
|
+
return Response.json({
|
|
215
|
+
accepted: true,
|
|
216
|
+
duplicate: true,
|
|
217
|
+
runId: input.request.runId,
|
|
218
|
+
threadId: input.request.threadId,
|
|
219
|
+
}, { status: 202 });
|
|
220
|
+
}
|
|
221
|
+
options.sessionManager.failRun(input.request.runId);
|
|
222
|
+
throw error;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
126
225
|
export function createAgUiDetachedStartHandler(options) {
|
|
127
226
|
if (!options.agent && !options.startDetachedExecution) {
|
|
128
227
|
throw new Error("Detached AG-UI start requires either an agent or startDetachedExecution handler.");
|
|
@@ -131,80 +230,11 @@ export function createAgUiDetachedStartHandler(options) {
|
|
|
131
230
|
const request = extractRequest(requestOrCtx);
|
|
132
231
|
try {
|
|
133
232
|
const parsed = AgUiDetachedStartRequestSchema.parse(await request.json());
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
});
|
|
140
|
-
await options.onAccepted?.({
|
|
141
|
-
request: parsed,
|
|
142
|
-
runId: parsed.runId,
|
|
143
|
-
threadId: parsed.threadId,
|
|
144
|
-
});
|
|
145
|
-
const detachedTask = (async () => {
|
|
146
|
-
try {
|
|
147
|
-
if (options.startDetachedExecution) {
|
|
148
|
-
await options.startDetachedExecution({
|
|
149
|
-
request: parsed,
|
|
150
|
-
requestOrCtx,
|
|
151
|
-
rawRequest: request,
|
|
152
|
-
context,
|
|
153
|
-
abortSignal,
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
else if (options.agent) {
|
|
157
|
-
await startDefaultDetachedExecution({
|
|
158
|
-
agent: options.agent,
|
|
159
|
-
request: parsed,
|
|
160
|
-
context,
|
|
161
|
-
abortSignal,
|
|
162
|
-
sessionManager: options.sessionManager,
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
throw new Error("Detached AG-UI start configuration became invalid during execution.");
|
|
167
|
-
}
|
|
168
|
-
options.sessionManager.completeRun(parsed.runId);
|
|
169
|
-
await options.onFinish?.({
|
|
170
|
-
runId: parsed.runId,
|
|
171
|
-
threadId: parsed.threadId,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
catch (error) {
|
|
175
|
-
options.sessionManager.failRun(parsed.runId);
|
|
176
|
-
await options.onError?.({
|
|
177
|
-
runId: parsed.runId,
|
|
178
|
-
threadId: parsed.threadId,
|
|
179
|
-
error,
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
})().catch(() => undefined);
|
|
183
|
-
scheduleDetachedTask(requestOrCtx, detachedTask);
|
|
184
|
-
return Response.json({
|
|
185
|
-
accepted: true,
|
|
186
|
-
duplicate: false,
|
|
187
|
-
runId: parsed.runId,
|
|
188
|
-
threadId: parsed.threadId,
|
|
189
|
-
}, { status: 202 });
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
if (error instanceof RunAlreadyExistsError) {
|
|
193
|
-
await options.onDuplicate?.({
|
|
194
|
-
request: parsed,
|
|
195
|
-
runId: parsed.runId,
|
|
196
|
-
threadId: parsed.threadId,
|
|
197
|
-
});
|
|
198
|
-
return Response.json({
|
|
199
|
-
accepted: true,
|
|
200
|
-
duplicate: true,
|
|
201
|
-
runId: parsed.runId,
|
|
202
|
-
threadId: parsed.threadId,
|
|
203
|
-
}, { status: 202 });
|
|
204
|
-
}
|
|
205
|
-
options.sessionManager.failRun(parsed.runId);
|
|
206
|
-
throw error;
|
|
207
|
-
}
|
|
233
|
+
return await executeAgUiDetachedStart(options, {
|
|
234
|
+
request: parsed,
|
|
235
|
+
rawRequest: request,
|
|
236
|
+
requestOrCtx,
|
|
237
|
+
});
|
|
208
238
|
}
|
|
209
239
|
catch (error) {
|
|
210
240
|
if (error instanceof z.ZodError) {
|
package/esm/src/agent/index.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ export { normalizeAgUiRuntimeMessages } from "./ag-ui-runtime-support.js";
|
|
|
90
90
|
export { type AgUiBrowserEncodedEvent, type AgUiBrowserEncoderState, type AgUiBrowserRunFinishedMetadata, type AgUiRuntimeStreamEvent, createAgUiBrowserEncoderState, finalizeAgUiBrowserEvents, mapRuntimeStreamEventToAgUiBrowserEvents, } from "./ag-ui-browser-encoder.js";
|
|
91
91
|
export { mergeToolCallInput, mergeToolInputDelta, parseDataStreamSseEvents, parseToolInputObject, streamDataStreamEvents, stripLeadingEmptyObjectPlaceholder, } from "./data-stream.js";
|
|
92
92
|
export { expandAllowedRemoteToolNames, getProviderNativeToolNames, type ProviderNativeToolInventoryOptions, } from "./provider-native-tool-inventory.js";
|
|
93
|
-
export { type AgUiDetachedStartAccepted, AgUiDetachedStartAcceptedSchema, type AgUiDetachedStartHandlerOptions, type AgUiDetachedStartRequest, AgUiDetachedStartRequestSchema, createAgUiDetachedStartHandler, } from "./ag-ui-detached-start.js";
|
|
93
|
+
export { type AgUiDetachedStartAccepted, AgUiDetachedStartAcceptedSchema, type AgUiDetachedStartHandlerOptions, type AgUiDetachedStartRequest, AgUiDetachedStartRequestSchema, createAgUiDetachedStartHandler, executeAgUiDetachedStart, type ExecuteAgUiDetachedStartInput, } from "./ag-ui-detached-start.js";
|
|
94
94
|
export { type AgUiCancelHandlerOptions, type AgUiResumeHandlerOptions, type AgUiResumeSignal, AgUiResumeSignalSchema, createAgUiCancelHandler, createAgUiResumeHandler, } from "./ag-ui-run-control.js";
|
|
95
95
|
export { type AgUiSseEvent, createAgUiRunErrorEvent, createAgUiSseErrorResponse, normalizeAgUiMessages, parseAgUiRequest, parseAgUiRequestOrError, } from "./ag-ui-host-support.js";
|
|
96
96
|
export { type AgUiContextItem, type AgUiHandlerConfigWithAgent, type AgUiHandlerOptions, type AgUiInjectedTool, type AgUiRequest, AgUiRequestSchema, createAgUiHandler, } from "./ag-ui-handler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,OAAO,yBAAyB,CAAC;AAGjC,YAAY,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,OAAO,IAAI,YAAY,EACvB,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnF,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,EACX,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,wCAAwC,GACzC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,kCAAkC,GACxC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,8BAA8B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/agent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,OAAO,yBAAyB,CAAC;AAGjC,YAAY,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,OAAO,IAAI,YAAY,EACvB,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnF,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,KAAK,MAAM,EACX,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,EACX,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,wCAAwC,GACzC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,kCAAkC,GACxC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC"}
|
package/esm/src/agent/index.js
CHANGED
|
@@ -89,7 +89,7 @@ export { normalizeAgUiRuntimeMessages } from "./ag-ui-runtime-support.js";
|
|
|
89
89
|
export { createAgUiBrowserEncoderState, finalizeAgUiBrowserEvents, mapRuntimeStreamEventToAgUiBrowserEvents, } from "./ag-ui-browser-encoder.js";
|
|
90
90
|
export { mergeToolCallInput, mergeToolInputDelta, parseDataStreamSseEvents, parseToolInputObject, streamDataStreamEvents, stripLeadingEmptyObjectPlaceholder, } from "./data-stream.js";
|
|
91
91
|
export { expandAllowedRemoteToolNames, getProviderNativeToolNames, } from "./provider-native-tool-inventory.js";
|
|
92
|
-
export { AgUiDetachedStartAcceptedSchema, AgUiDetachedStartRequestSchema, createAgUiDetachedStartHandler, } from "./ag-ui-detached-start.js";
|
|
92
|
+
export { AgUiDetachedStartAcceptedSchema, AgUiDetachedStartRequestSchema, createAgUiDetachedStartHandler, executeAgUiDetachedStart, } from "./ag-ui-detached-start.js";
|
|
93
93
|
export { AgUiResumeSignalSchema, createAgUiCancelHandler, createAgUiResumeHandler, } from "./ag-ui-run-control.js";
|
|
94
94
|
export { createAgUiRunErrorEvent, createAgUiSseErrorResponse, normalizeAgUiMessages, parseAgUiRequest, parseAgUiRequestOrError, } from "./ag-ui-host-support.js";
|
|
95
95
|
export { AgUiRequestSchema, createAgUiHandler, } from "./ag-ui-handler.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.224";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -133,17 +133,6 @@ function buildMergedTools(
|
|
|
133
133
|
return { ...agent.config.tools, ...injectedTools };
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
async function resolveContextValue(
|
|
137
|
-
value: AgUiContextValue | undefined,
|
|
138
|
-
request: Request,
|
|
139
|
-
): Promise<Record<string, unknown>> {
|
|
140
|
-
if (typeof value === "function") {
|
|
141
|
-
return await value(request);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
return value ?? {};
|
|
145
|
-
}
|
|
146
|
-
|
|
147
136
|
function scheduleDetachedTask(requestOrCtx: unknown, task: Promise<void>): void {
|
|
148
137
|
if (
|
|
149
138
|
typeof requestOrCtx === "object" &&
|
|
@@ -181,6 +170,13 @@ export const AgUiDetachedStartAcceptedSchema = z.object({
|
|
|
181
170
|
export type AgUiDetachedStartRequest = z.infer<typeof AgUiDetachedStartRequestSchema>;
|
|
182
171
|
export type AgUiDetachedStartAccepted = z.infer<typeof AgUiDetachedStartAcceptedSchema>;
|
|
183
172
|
|
|
173
|
+
export interface ExecuteAgUiDetachedStartInput {
|
|
174
|
+
request: AgUiDetachedStartRequest;
|
|
175
|
+
rawRequest?: Request;
|
|
176
|
+
requestOrCtx?: unknown;
|
|
177
|
+
context?: Record<string, unknown>;
|
|
178
|
+
}
|
|
179
|
+
|
|
184
180
|
interface AgUiDetachedStartExecutionInput {
|
|
185
181
|
request: AgUiDetachedStartRequest;
|
|
186
182
|
requestOrCtx: unknown;
|
|
@@ -242,6 +238,142 @@ async function startDefaultDetachedExecution(input: {
|
|
|
242
238
|
await drainRuntimeStream(runtimeStream);
|
|
243
239
|
}
|
|
244
240
|
|
|
241
|
+
async function resolveDetachedStartContext(
|
|
242
|
+
options: AgUiDetachedStartHandlerOptions,
|
|
243
|
+
input: ExecuteAgUiDetachedStartInput,
|
|
244
|
+
): Promise<Record<string, unknown>> {
|
|
245
|
+
if (input.context) {
|
|
246
|
+
return input.context;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (!options.context) {
|
|
250
|
+
return {};
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (typeof options.context === "function") {
|
|
254
|
+
if (!input.rawRequest) {
|
|
255
|
+
throw INVALID_ARGUMENT.create({
|
|
256
|
+
detail: "executeAgUiDetachedStart requires rawRequest when options.context is a function.",
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
return await options.context(input.rawRequest);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return options.context;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function assertDetachedStartRawRequest(
|
|
267
|
+
options: AgUiDetachedStartHandlerOptions,
|
|
268
|
+
input: ExecuteAgUiDetachedStartInput,
|
|
269
|
+
): Request | undefined {
|
|
270
|
+
if (!options.startDetachedExecution) {
|
|
271
|
+
return input.rawRequest;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (input.rawRequest) {
|
|
275
|
+
return input.rawRequest;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
throw INVALID_ARGUMENT.create({
|
|
279
|
+
detail:
|
|
280
|
+
"executeAgUiDetachedStart requires rawRequest when options.startDetachedExecution is used.",
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
export async function executeAgUiDetachedStart(
|
|
285
|
+
options: AgUiDetachedStartHandlerOptions,
|
|
286
|
+
input: ExecuteAgUiDetachedStartInput,
|
|
287
|
+
): Promise<Response> {
|
|
288
|
+
const rawRequest = assertDetachedStartRawRequest(options, input);
|
|
289
|
+
const context = await resolveDetachedStartContext(options, input);
|
|
290
|
+
|
|
291
|
+
try {
|
|
292
|
+
const abortSignal = options.sessionManager.startRun({
|
|
293
|
+
runId: input.request.runId,
|
|
294
|
+
threadId: input.request.threadId,
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
await options.onAccepted?.({
|
|
298
|
+
request: input.request,
|
|
299
|
+
runId: input.request.runId,
|
|
300
|
+
threadId: input.request.threadId,
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
const detachedTask = (async () => {
|
|
304
|
+
try {
|
|
305
|
+
if (options.startDetachedExecution) {
|
|
306
|
+
await options.startDetachedExecution({
|
|
307
|
+
request: input.request,
|
|
308
|
+
requestOrCtx: input.requestOrCtx,
|
|
309
|
+
rawRequest: rawRequest!,
|
|
310
|
+
context,
|
|
311
|
+
abortSignal,
|
|
312
|
+
});
|
|
313
|
+
} else if (options.agent) {
|
|
314
|
+
await startDefaultDetachedExecution({
|
|
315
|
+
agent: options.agent,
|
|
316
|
+
request: input.request,
|
|
317
|
+
context,
|
|
318
|
+
abortSignal,
|
|
319
|
+
sessionManager: options.sessionManager,
|
|
320
|
+
});
|
|
321
|
+
} else {
|
|
322
|
+
throw new Error(
|
|
323
|
+
"Detached AG-UI start configuration became invalid during execution.",
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
options.sessionManager.completeRun(input.request.runId);
|
|
328
|
+
await options.onFinish?.({
|
|
329
|
+
runId: input.request.runId,
|
|
330
|
+
threadId: input.request.threadId,
|
|
331
|
+
});
|
|
332
|
+
} catch (error) {
|
|
333
|
+
options.sessionManager.failRun(input.request.runId);
|
|
334
|
+
await options.onError?.({
|
|
335
|
+
runId: input.request.runId,
|
|
336
|
+
threadId: input.request.threadId,
|
|
337
|
+
error,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
})().catch(() => undefined);
|
|
341
|
+
|
|
342
|
+
scheduleDetachedTask(input.requestOrCtx, detachedTask);
|
|
343
|
+
|
|
344
|
+
return Response.json(
|
|
345
|
+
{
|
|
346
|
+
accepted: true,
|
|
347
|
+
duplicate: false,
|
|
348
|
+
runId: input.request.runId,
|
|
349
|
+
threadId: input.request.threadId,
|
|
350
|
+
} satisfies AgUiDetachedStartAccepted,
|
|
351
|
+
{ status: 202 },
|
|
352
|
+
);
|
|
353
|
+
} catch (error) {
|
|
354
|
+
if (error instanceof RunAlreadyExistsError) {
|
|
355
|
+
await options.onDuplicate?.({
|
|
356
|
+
request: input.request,
|
|
357
|
+
runId: input.request.runId,
|
|
358
|
+
threadId: input.request.threadId,
|
|
359
|
+
});
|
|
360
|
+
|
|
361
|
+
return Response.json(
|
|
362
|
+
{
|
|
363
|
+
accepted: true,
|
|
364
|
+
duplicate: true,
|
|
365
|
+
runId: input.request.runId,
|
|
366
|
+
threadId: input.request.threadId,
|
|
367
|
+
} satisfies AgUiDetachedStartAccepted,
|
|
368
|
+
{ status: 202 },
|
|
369
|
+
);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
options.sessionManager.failRun(input.request.runId);
|
|
373
|
+
throw error;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
245
377
|
export function createAgUiDetachedStartHandler(
|
|
246
378
|
options: AgUiDetachedStartHandlerOptions,
|
|
247
379
|
): (requestOrCtx: unknown) => Promise<Response> {
|
|
@@ -256,92 +388,11 @@ export function createAgUiDetachedStartHandler(
|
|
|
256
388
|
|
|
257
389
|
try {
|
|
258
390
|
const parsed = AgUiDetachedStartRequestSchema.parse(await request.json());
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
threadId: parsed.threadId,
|
|
265
|
-
});
|
|
266
|
-
|
|
267
|
-
await options.onAccepted?.({
|
|
268
|
-
request: parsed,
|
|
269
|
-
runId: parsed.runId,
|
|
270
|
-
threadId: parsed.threadId,
|
|
271
|
-
});
|
|
272
|
-
|
|
273
|
-
const detachedTask = (async () => {
|
|
274
|
-
try {
|
|
275
|
-
if (options.startDetachedExecution) {
|
|
276
|
-
await options.startDetachedExecution({
|
|
277
|
-
request: parsed,
|
|
278
|
-
requestOrCtx,
|
|
279
|
-
rawRequest: request,
|
|
280
|
-
context,
|
|
281
|
-
abortSignal,
|
|
282
|
-
});
|
|
283
|
-
} else if (options.agent) {
|
|
284
|
-
await startDefaultDetachedExecution({
|
|
285
|
-
agent: options.agent,
|
|
286
|
-
request: parsed,
|
|
287
|
-
context,
|
|
288
|
-
abortSignal,
|
|
289
|
-
sessionManager: options.sessionManager,
|
|
290
|
-
});
|
|
291
|
-
} else {
|
|
292
|
-
throw new Error(
|
|
293
|
-
"Detached AG-UI start configuration became invalid during execution.",
|
|
294
|
-
);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
options.sessionManager.completeRun(parsed.runId);
|
|
298
|
-
await options.onFinish?.({
|
|
299
|
-
runId: parsed.runId,
|
|
300
|
-
threadId: parsed.threadId,
|
|
301
|
-
});
|
|
302
|
-
} catch (error) {
|
|
303
|
-
options.sessionManager.failRun(parsed.runId);
|
|
304
|
-
await options.onError?.({
|
|
305
|
-
runId: parsed.runId,
|
|
306
|
-
threadId: parsed.threadId,
|
|
307
|
-
error,
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
})().catch(() => undefined);
|
|
311
|
-
|
|
312
|
-
scheduleDetachedTask(requestOrCtx, detachedTask);
|
|
313
|
-
|
|
314
|
-
return Response.json(
|
|
315
|
-
{
|
|
316
|
-
accepted: true,
|
|
317
|
-
duplicate: false,
|
|
318
|
-
runId: parsed.runId,
|
|
319
|
-
threadId: parsed.threadId,
|
|
320
|
-
} satisfies AgUiDetachedStartAccepted,
|
|
321
|
-
{ status: 202 },
|
|
322
|
-
);
|
|
323
|
-
} catch (error) {
|
|
324
|
-
if (error instanceof RunAlreadyExistsError) {
|
|
325
|
-
await options.onDuplicate?.({
|
|
326
|
-
request: parsed,
|
|
327
|
-
runId: parsed.runId,
|
|
328
|
-
threadId: parsed.threadId,
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
return Response.json(
|
|
332
|
-
{
|
|
333
|
-
accepted: true,
|
|
334
|
-
duplicate: true,
|
|
335
|
-
runId: parsed.runId,
|
|
336
|
-
threadId: parsed.threadId,
|
|
337
|
-
} satisfies AgUiDetachedStartAccepted,
|
|
338
|
-
{ status: 202 },
|
|
339
|
-
);
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
options.sessionManager.failRun(parsed.runId);
|
|
343
|
-
throw error;
|
|
344
|
-
}
|
|
391
|
+
return await executeAgUiDetachedStart(options, {
|
|
392
|
+
request: parsed,
|
|
393
|
+
rawRequest: request,
|
|
394
|
+
requestOrCtx,
|
|
395
|
+
});
|
|
345
396
|
} catch (error) {
|
|
346
397
|
if (error instanceof z.ZodError) {
|
|
347
398
|
return Response.json(
|
package/src/src/agent/index.ts
CHANGED
|
@@ -191,6 +191,8 @@ export {
|
|
|
191
191
|
type AgUiDetachedStartRequest,
|
|
192
192
|
AgUiDetachedStartRequestSchema,
|
|
193
193
|
createAgUiDetachedStartHandler,
|
|
194
|
+
executeAgUiDetachedStart,
|
|
195
|
+
type ExecuteAgUiDetachedStartInput,
|
|
194
196
|
} from "./ag-ui-detached-start.js";
|
|
195
197
|
export {
|
|
196
198
|
type AgUiCancelHandlerOptions,
|