veryfront 0.1.234 → 0.1.236
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/durable.d.ts +18 -0
- package/esm/src/agent/durable.d.ts.map +1 -1
- package/esm/src/agent/durable.js +67 -0
- 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/durable.ts +103 -0
- package/src/src/agent/index.ts +5 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -65,6 +65,8 @@ export declare const ConversationRunProjectionSchema: z.ZodPipe<z.ZodObject<{
|
|
|
65
65
|
latest_external_event_sequence?: number | undefined;
|
|
66
66
|
}>>;
|
|
67
67
|
export type ConversationRunProjection = z.infer<typeof ConversationRunProjectionSchema>;
|
|
68
|
+
export type ActiveConversationRunStatus = Extract<ConversationRunProjection["status"], "pending" | "running" | "waiting_for_tool">;
|
|
69
|
+
export type TerminalConversationRunStatus = Extract<ConversationRunProjection["status"], "completed" | "failed" | "cancelled">;
|
|
68
70
|
export declare const CreateConversationRunAcceptedSchema: z.ZodPipe<z.ZodObject<{
|
|
69
71
|
run: z.ZodObject<{
|
|
70
72
|
runId: z.ZodOptional<z.ZodString>;
|
|
@@ -168,6 +170,11 @@ export interface FinalizeConversationAgentRunInput {
|
|
|
168
170
|
terminalErrorCode?: string | null;
|
|
169
171
|
terminalErrorMessage?: string | null;
|
|
170
172
|
}
|
|
173
|
+
export declare class ConversationRunTerminalStateError extends Error {
|
|
174
|
+
readonly status: TerminalConversationRunStatus;
|
|
175
|
+
readonly run: ConversationRunProjection;
|
|
176
|
+
constructor(run: ConversationRunProjection, status: TerminalConversationRunStatus);
|
|
177
|
+
}
|
|
171
178
|
export declare class AppendConversationRunEventsError extends Error {
|
|
172
179
|
readonly status: number;
|
|
173
180
|
readonly detail: string | null;
|
|
@@ -180,6 +187,7 @@ export declare class AppendConversationRunEventsError extends Error {
|
|
|
180
187
|
export declare function parseAppendConversationRunEventsErrorBody(bodyText: string): string | null;
|
|
181
188
|
export declare function isIgnorableConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError;
|
|
182
189
|
export declare function isCursorMismatchConversationRunAppendError(error: unknown): error is AppendConversationRunEventsError;
|
|
190
|
+
export declare function isActiveConversationRunStatus(status: ConversationRunProjection["status"]): status is ActiveConversationRunStatus;
|
|
183
191
|
export declare function getConversationRun(input: {
|
|
184
192
|
authToken: string;
|
|
185
193
|
apiUrl: string;
|
|
@@ -187,6 +195,16 @@ export declare function getConversationRun(input: {
|
|
|
187
195
|
runId: string;
|
|
188
196
|
abortSignal?: AbortSignal;
|
|
189
197
|
}): Promise<ConversationRunProjection>;
|
|
198
|
+
export declare function monitorConversationRunStatus(input: {
|
|
199
|
+
authToken: string;
|
|
200
|
+
apiUrl: string;
|
|
201
|
+
conversationId: string;
|
|
202
|
+
runId: string;
|
|
203
|
+
abortSignal?: AbortSignal;
|
|
204
|
+
pollIntervalMs: number;
|
|
205
|
+
onTerminal: (error: ConversationRunTerminalStateError) => void | Promise<void>;
|
|
206
|
+
onPollError?: (error: unknown) => void | Promise<void>;
|
|
207
|
+
}): Promise<void>;
|
|
190
208
|
export declare function appendConversationRunEvents(input: {
|
|
191
209
|
authToken: string;
|
|
192
210
|
apiUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable.d.ts","sourceRoot":"","sources":["../../../src/src/agent/durable.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgCxB,eAAO,MAAM,4BAA4B;;;;;;;;;;iBAIvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,sBAAsB,CAoBzB;AAED,eAAO,MAAM,2BAA2B;;;;;;;EAOtC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCxC,CAAC;AAEL,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"durable.d.ts","sourceRoot":"","sources":["../../../src/src/agent/durable.ts"],"names":[],"mappings":"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"}
|
package/esm/src/agent/durable.js
CHANGED
|
@@ -170,6 +170,16 @@ const ConversationRunErrorSchema = z.object({
|
|
|
170
170
|
detail: z.string().min(1).optional(),
|
|
171
171
|
error: z.string().min(1).optional(),
|
|
172
172
|
});
|
|
173
|
+
export class ConversationRunTerminalStateError extends Error {
|
|
174
|
+
status;
|
|
175
|
+
run;
|
|
176
|
+
constructor(run, status) {
|
|
177
|
+
super(`Conversation run ${run.runId} became ${status} before host execution finished`);
|
|
178
|
+
this.name = "ConversationRunTerminalStateError";
|
|
179
|
+
this.status = status;
|
|
180
|
+
this.run = run;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
173
183
|
export class AppendConversationRunEventsError extends Error {
|
|
174
184
|
status;
|
|
175
185
|
detail;
|
|
@@ -214,6 +224,26 @@ export function isCursorMismatchConversationRunAppendError(error) {
|
|
|
214
224
|
error.status === 400 &&
|
|
215
225
|
error.detail === "External run event cursor mismatch");
|
|
216
226
|
}
|
|
227
|
+
export function isActiveConversationRunStatus(status) {
|
|
228
|
+
return status === "pending" || status === "running" || status === "waiting_for_tool";
|
|
229
|
+
}
|
|
230
|
+
async function waitForConversationRunPoll(ms, abortSignal) {
|
|
231
|
+
if (ms <= 0 || abortSignal?.aborted) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
await new Promise((resolve) => {
|
|
235
|
+
const timeoutId = dntShim.setTimeout(() => {
|
|
236
|
+
abortSignal?.removeEventListener("abort", resolveOnAbort);
|
|
237
|
+
resolve();
|
|
238
|
+
}, ms);
|
|
239
|
+
const resolveOnAbort = () => {
|
|
240
|
+
clearTimeout(timeoutId);
|
|
241
|
+
abortSignal?.removeEventListener("abort", resolveOnAbort);
|
|
242
|
+
resolve();
|
|
243
|
+
};
|
|
244
|
+
abortSignal?.addEventListener("abort", resolveOnAbort, { once: true });
|
|
245
|
+
});
|
|
246
|
+
}
|
|
217
247
|
async function controlPlaneJson(input) {
|
|
218
248
|
if (input.abortSignal?.aborted) {
|
|
219
249
|
throw new DOMException("This operation was aborted", "AbortError");
|
|
@@ -257,6 +287,43 @@ export async function getConversationRun(input) {
|
|
|
257
287
|
abortSignal: input.abortSignal,
|
|
258
288
|
});
|
|
259
289
|
}
|
|
290
|
+
export async function monitorConversationRunStatus(input) {
|
|
291
|
+
while (!input.abortSignal?.aborted) {
|
|
292
|
+
await waitForConversationRunPoll(input.pollIntervalMs, input.abortSignal);
|
|
293
|
+
if (input.abortSignal?.aborted) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
let run;
|
|
297
|
+
try {
|
|
298
|
+
run = await getConversationRun({
|
|
299
|
+
authToken: input.authToken,
|
|
300
|
+
apiUrl: input.apiUrl,
|
|
301
|
+
conversationId: input.conversationId,
|
|
302
|
+
runId: input.runId,
|
|
303
|
+
abortSignal: input.abortSignal,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
if (input.abortSignal?.aborted) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
if (error instanceof DOMException && error.name === "AbortError") {
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
await input.onPollError?.(error);
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
if (isActiveConversationRunStatus(run.status)) {
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
if (run.status === "completed" ||
|
|
320
|
+
run.status === "failed" ||
|
|
321
|
+
run.status === "cancelled") {
|
|
322
|
+
await input.onTerminal(new ConversationRunTerminalStateError(run, run.status));
|
|
323
|
+
}
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
260
327
|
export async function appendConversationRunEvents(input) {
|
|
261
328
|
if (input.abortSignal?.aborted) {
|
|
262
329
|
throw new DOMException("This operation was aborted", "AbortError");
|
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, buildAgUiBrowserFinalizeResponse, createAgUiBrowserEncoderState, finalizeAgUiBrowserEvents, mapRuntimeStreamEventToAgUiBrowserEvents, } from "./ag-ui-browser-encoder.js";
|
|
91
91
|
export { type AgUiBrowserResponseEncoder, type AgUiBrowserResponseExecution, type AgUiBrowserResponseRequestState, createAgUiBrowserResponseStream, type CreateAgUiBrowserResponseStreamInput, } from "./ag-ui-browser-response-stream.js";
|
|
92
92
|
export { bootstrapConversationAgentRun, type BootstrapConversationAgentRunResult, type ConversationMessageRecord, ConversationMessageRecordSchema, type ConversationRecord, ConversationRecordSchema, createConversationMessage, createConversationRecord, ensureConversationProjectLink, fetchConversationRecord, } from "./conversation-bootstrap.js";
|
|
93
|
-
export { appendConversationRunEvents, AppendConversationRunEventsError, type AppendConversationRunEventsResponse, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, type ConversationAgentRunUsage, type ConversationRunProjection, ConversationRunProjectionSchema, ConversationRunStatusSchema, type ConversationRunTargets, ConversationRunTargetsSchema, createConversationAgentRun, finalizeConversationAgentRun, getConversationRun, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, parseAppendConversationRunEventsErrorBody, resolveConversationRunTargets, } from "./durable.js";
|
|
93
|
+
export { type ActiveConversationRunStatus, appendConversationRunEvents, AppendConversationRunEventsError, type AppendConversationRunEventsResponse, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, type ConversationAgentRunUsage, type ConversationRunProjection, ConversationRunProjectionSchema, ConversationRunStatusSchema, type ConversationRunTargets, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, finalizeConversationAgentRun, getConversationRun, isActiveConversationRunStatus, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, resolveConversationRunTargets, type TerminalConversationRunStatus, } from "./durable.js";
|
|
94
94
|
export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, type InvokeAgentChildRunLifecycleCustomEvent, InvokeAgentChildRunLifecycleCustomEventSchema, type InvokeAgentChildRunLifecycleValue, InvokeAgentChildRunLifecycleValueSchema, type InvokeAgentChildRunProgressEvent, type InvokeAgentChildRunProgressInput, type InvokeAgentChildRunStateDelta, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
95
95
|
export { type HostedChildLifecycleAdapter, type HostedChildLifecycleRunnerOptions, type HostedChildLifecycleRunResult, type HostedChildLifecycleTerminalState, runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
|
|
96
96
|
export { type HostedLifecycleAdapter, type HostedLifecycleExecution, type HostedLifecycleRunnerOptions, type HostedLifecycleRunResult, type HostedLifecycleTerminalState, runHostedLifecycle, } from "./hosted-lifecycle.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/agent/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/agent/index.ts"],"names":[],"mappings":"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"}
|
package/esm/src/agent/index.js
CHANGED
|
@@ -89,7 +89,7 @@ export { normalizeAgUiRuntimeMessages } from "./ag-ui-runtime-support.js";
|
|
|
89
89
|
export { buildAgUiBrowserFinalizeResponse, createAgUiBrowserEncoderState, finalizeAgUiBrowserEvents, mapRuntimeStreamEventToAgUiBrowserEvents, } from "./ag-ui-browser-encoder.js";
|
|
90
90
|
export { createAgUiBrowserResponseStream, } from "./ag-ui-browser-response-stream.js";
|
|
91
91
|
export { bootstrapConversationAgentRun, ConversationMessageRecordSchema, ConversationRecordSchema, createConversationMessage, createConversationRecord, ensureConversationProjectLink, fetchConversationRecord, } from "./conversation-bootstrap.js";
|
|
92
|
-
export { appendConversationRunEvents, AppendConversationRunEventsError, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, ConversationRunStatusSchema, ConversationRunTargetsSchema, createConversationAgentRun, finalizeConversationAgentRun, getConversationRun, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, parseAppendConversationRunEventsErrorBody, resolveConversationRunTargets, } from "./durable.js";
|
|
92
|
+
export { appendConversationRunEvents, AppendConversationRunEventsError, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, ConversationRunStatusSchema, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, finalizeConversationAgentRun, getConversationRun, isActiveConversationRunStatus, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, resolveConversationRunTargets, } from "./durable.js";
|
|
93
93
|
export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, InvokeAgentChildRunLifecycleCustomEventSchema, InvokeAgentChildRunLifecycleValueSchema, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
94
94
|
export { runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
|
|
95
95
|
export { runHostedLifecycle, } from "./hosted-lifecycle.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.236";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
package/src/src/agent/durable.ts
CHANGED
|
@@ -116,6 +116,14 @@ export const ConversationRunProjectionSchema = z
|
|
|
116
116
|
});
|
|
117
117
|
|
|
118
118
|
export type ConversationRunProjection = z.infer<typeof ConversationRunProjectionSchema>;
|
|
119
|
+
export type ActiveConversationRunStatus = Extract<
|
|
120
|
+
ConversationRunProjection["status"],
|
|
121
|
+
"pending" | "running" | "waiting_for_tool"
|
|
122
|
+
>;
|
|
123
|
+
export type TerminalConversationRunStatus = Extract<
|
|
124
|
+
ConversationRunProjection["status"],
|
|
125
|
+
"completed" | "failed" | "cancelled"
|
|
126
|
+
>;
|
|
119
127
|
|
|
120
128
|
export const CreateConversationRunAcceptedSchema = z
|
|
121
129
|
.object({
|
|
@@ -231,6 +239,18 @@ export interface FinalizeConversationAgentRunInput {
|
|
|
231
239
|
terminalErrorMessage?: string | null;
|
|
232
240
|
}
|
|
233
241
|
|
|
242
|
+
export class ConversationRunTerminalStateError extends Error {
|
|
243
|
+
readonly status: TerminalConversationRunStatus;
|
|
244
|
+
readonly run: ConversationRunProjection;
|
|
245
|
+
|
|
246
|
+
constructor(run: ConversationRunProjection, status: TerminalConversationRunStatus) {
|
|
247
|
+
super(`Conversation run ${run.runId} became ${status} before host execution finished`);
|
|
248
|
+
this.name = "ConversationRunTerminalStateError";
|
|
249
|
+
this.status = status;
|
|
250
|
+
this.run = run;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
234
254
|
export class AppendConversationRunEventsError extends Error {
|
|
235
255
|
readonly status: number;
|
|
236
256
|
readonly detail: string | null;
|
|
@@ -296,6 +316,36 @@ export function isCursorMismatchConversationRunAppendError(
|
|
|
296
316
|
);
|
|
297
317
|
}
|
|
298
318
|
|
|
319
|
+
export function isActiveConversationRunStatus(
|
|
320
|
+
status: ConversationRunProjection["status"],
|
|
321
|
+
): status is ActiveConversationRunStatus {
|
|
322
|
+
return status === "pending" || status === "running" || status === "waiting_for_tool";
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
async function waitForConversationRunPoll(
|
|
326
|
+
ms: number,
|
|
327
|
+
abortSignal?: AbortSignal,
|
|
328
|
+
): Promise<void> {
|
|
329
|
+
if (ms <= 0 || abortSignal?.aborted) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
await new Promise<void>((resolve) => {
|
|
334
|
+
const timeoutId = dntShim.setTimeout(() => {
|
|
335
|
+
abortSignal?.removeEventListener("abort", resolveOnAbort);
|
|
336
|
+
resolve();
|
|
337
|
+
}, ms);
|
|
338
|
+
|
|
339
|
+
const resolveOnAbort = () => {
|
|
340
|
+
clearTimeout(timeoutId);
|
|
341
|
+
abortSignal?.removeEventListener("abort", resolveOnAbort);
|
|
342
|
+
resolve();
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
abortSignal?.addEventListener("abort", resolveOnAbort, { once: true });
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
|
|
299
349
|
async function controlPlaneJson<T>(input: {
|
|
300
350
|
authToken: string;
|
|
301
351
|
url: string;
|
|
@@ -361,6 +411,59 @@ export async function getConversationRun(input: {
|
|
|
361
411
|
});
|
|
362
412
|
}
|
|
363
413
|
|
|
414
|
+
export async function monitorConversationRunStatus(input: {
|
|
415
|
+
authToken: string;
|
|
416
|
+
apiUrl: string;
|
|
417
|
+
conversationId: string;
|
|
418
|
+
runId: string;
|
|
419
|
+
abortSignal?: AbortSignal;
|
|
420
|
+
pollIntervalMs: number;
|
|
421
|
+
onTerminal: (error: ConversationRunTerminalStateError) => void | Promise<void>;
|
|
422
|
+
onPollError?: (error: unknown) => void | Promise<void>;
|
|
423
|
+
}): Promise<void> {
|
|
424
|
+
while (!input.abortSignal?.aborted) {
|
|
425
|
+
await waitForConversationRunPoll(input.pollIntervalMs, input.abortSignal);
|
|
426
|
+
if (input.abortSignal?.aborted) {
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
let run: ConversationRunProjection;
|
|
431
|
+
try {
|
|
432
|
+
run = await getConversationRun({
|
|
433
|
+
authToken: input.authToken,
|
|
434
|
+
apiUrl: input.apiUrl,
|
|
435
|
+
conversationId: input.conversationId,
|
|
436
|
+
runId: input.runId,
|
|
437
|
+
abortSignal: input.abortSignal,
|
|
438
|
+
});
|
|
439
|
+
} catch (error) {
|
|
440
|
+
if (input.abortSignal?.aborted) {
|
|
441
|
+
return;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
if (error instanceof DOMException && error.name === "AbortError") {
|
|
445
|
+
return;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
await input.onPollError?.(error);
|
|
449
|
+
continue;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
if (isActiveConversationRunStatus(run.status)) {
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
if (
|
|
457
|
+
run.status === "completed" ||
|
|
458
|
+
run.status === "failed" ||
|
|
459
|
+
run.status === "cancelled"
|
|
460
|
+
) {
|
|
461
|
+
await input.onTerminal(new ConversationRunTerminalStateError(run, run.status));
|
|
462
|
+
}
|
|
463
|
+
return;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
|
|
364
467
|
export async function appendConversationRunEvents(input: {
|
|
365
468
|
authToken: string;
|
|
366
469
|
apiUrl: string;
|
package/src/src/agent/index.ts
CHANGED
|
@@ -193,6 +193,7 @@ export {
|
|
|
193
193
|
fetchConversationRecord,
|
|
194
194
|
} from "./conversation-bootstrap.js";
|
|
195
195
|
export {
|
|
196
|
+
type ActiveConversationRunStatus,
|
|
196
197
|
appendConversationRunEvents,
|
|
197
198
|
AppendConversationRunEventsError,
|
|
198
199
|
type AppendConversationRunEventsResponse,
|
|
@@ -204,13 +205,17 @@ export {
|
|
|
204
205
|
ConversationRunStatusSchema,
|
|
205
206
|
type ConversationRunTargets,
|
|
206
207
|
ConversationRunTargetsSchema,
|
|
208
|
+
ConversationRunTerminalStateError,
|
|
207
209
|
createConversationAgentRun,
|
|
208
210
|
finalizeConversationAgentRun,
|
|
209
211
|
getConversationRun,
|
|
212
|
+
isActiveConversationRunStatus,
|
|
210
213
|
isCursorMismatchConversationRunAppendError,
|
|
211
214
|
isIgnorableConversationRunAppendError,
|
|
215
|
+
monitorConversationRunStatus,
|
|
212
216
|
parseAppendConversationRunEventsErrorBody,
|
|
213
217
|
resolveConversationRunTargets,
|
|
218
|
+
type TerminalConversationRunStatus,
|
|
214
219
|
} from "./durable.js";
|
|
215
220
|
export {
|
|
216
221
|
buildInvokeAgentChildRunLifecycleCustomEvent,
|