veryfront 0.1.236 → 0.1.237
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/conversation-hosted-lifecycle.d.ts +37 -0
- package/esm/src/agent/conversation-hosted-lifecycle.d.ts.map +1 -0
- package/esm/src/agent/conversation-hosted-lifecycle.js +131 -0
- package/esm/src/agent/index.d.ts +1 -0
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +1 -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/src/deno.js +1 -1
- package/src/src/agent/conversation-hosted-lifecycle.ts +199 -0
- package/src/src/agent/index.ts +7 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ConversationAgentRunUsage, type ConversationRunProjection } from "./durable.js";
|
|
2
|
+
import { type InvokeAgentChildRunProgressEvent, type InvokeAgentChildRunProgressInput } from "./invoke-agent-child-runs.js";
|
|
3
|
+
import type { HostedChildLifecycleAdapter } from "./hosted-child-lifecycle.js";
|
|
4
|
+
import type { HostedLifecycleAdapter, HostedLifecycleTerminalState } from "./hosted-lifecycle.js";
|
|
5
|
+
export interface ConversationHostedLifecycleFinalizeInput {
|
|
6
|
+
model: string;
|
|
7
|
+
provider: string;
|
|
8
|
+
usage?: ConversationAgentRunUsage;
|
|
9
|
+
terminalErrorCode?: string | null;
|
|
10
|
+
terminalErrorMessage?: string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateConversationHostedLifecycleAdapterOptions<TChunk> {
|
|
13
|
+
authToken: string;
|
|
14
|
+
apiUrl: string;
|
|
15
|
+
startRun: (input: {
|
|
16
|
+
abortSignal: AbortSignal;
|
|
17
|
+
}) => Promise<ConversationRunProjection> | ConversationRunProjection;
|
|
18
|
+
mapChunkToEvents?: (chunk: TChunk, run: ConversationRunProjection) => Promise<readonly unknown[] | unknown[]> | readonly unknown[] | unknown[];
|
|
19
|
+
resolveFinalizeInput: (input: {
|
|
20
|
+
run: ConversationRunProjection;
|
|
21
|
+
terminalState: HostedLifecycleTerminalState;
|
|
22
|
+
}) => Promise<ConversationHostedLifecycleFinalizeInput> | ConversationHostedLifecycleFinalizeInput;
|
|
23
|
+
}
|
|
24
|
+
export declare function createConversationHostedLifecycleAdapter<TChunk>(options: CreateConversationHostedLifecycleAdapterOptions<TChunk>): HostedLifecycleAdapter<ConversationRunProjection, TChunk>;
|
|
25
|
+
export interface ConversationChildLifecycleContext {
|
|
26
|
+
authToken: string;
|
|
27
|
+
apiUrl: string;
|
|
28
|
+
parentConversationId: string;
|
|
29
|
+
parentRunId: string;
|
|
30
|
+
projectId?: string | null;
|
|
31
|
+
publishParentRunEvents?: (events: InvokeAgentChildRunProgressEvent[]) => Promise<void> | void;
|
|
32
|
+
progress: Omit<InvokeAgentChildRunProgressInput, "status">;
|
|
33
|
+
model: string;
|
|
34
|
+
provider: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function createConversationChildLifecycleAdapter(ctx: ConversationChildLifecycleContext): HostedChildLifecycleAdapter;
|
|
37
|
+
//# sourceMappingURL=conversation-hosted-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-hosted-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/src/agent/conversation-hosted-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAE/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EAEtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAElG,MAAM,WAAW,wCAAwC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,yBAAyB,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,+CAA+C,CAAC,MAAM;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CACR,KAAK,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,KAChC,OAAO,CAAC,yBAAyB,CAAC,GAAG,yBAAyB,CAAC;IACpE,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,yBAAyB,KAC3B,OAAO,CAAC,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAC9E,oBAAoB,EAAE,CAAC,KAAK,EAAE;QAC5B,GAAG,EAAE,yBAAyB,CAAC;QAC/B,aAAa,EAAE,4BAA4B,CAAC;KAC7C,KACG,OAAO,CAAC,wCAAwC,CAAC,GACjD,wCAAwC,CAAC;CAC9C;AAED,wBAAgB,wCAAwC,CAAC,MAAM,EAC7D,OAAO,EAAE,+CAA+C,CAAC,MAAM,CAAC,GAC/D,sBAAsB,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAuD3D;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,gCAAgC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9F,QAAQ,EAAE,IAAI,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkCD,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,iCAAiC,GACrC,2BAA2B,CAkD7B"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { appendConversationRunEvents, finalizeConversationAgentRun, } from "./durable.js";
|
|
2
|
+
import { publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
3
|
+
export function createConversationHostedLifecycleAdapter(options) {
|
|
4
|
+
return {
|
|
5
|
+
startRun: options.startRun,
|
|
6
|
+
appendEvents: options.mapChunkToEvents
|
|
7
|
+
? async (run, chunk) => {
|
|
8
|
+
const events = [...await options.mapChunkToEvents(chunk, run)];
|
|
9
|
+
if (events.length === 0) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const appended = await appendConversationRunEvents({
|
|
13
|
+
authToken: options.authToken,
|
|
14
|
+
apiUrl: options.apiUrl,
|
|
15
|
+
conversationId: run.conversationId,
|
|
16
|
+
runId: run.runId,
|
|
17
|
+
expectedPreviousEventId: run.latestEventId,
|
|
18
|
+
expectedPreviousExternalEventSequence: run.latestExternalEventSequence,
|
|
19
|
+
events,
|
|
20
|
+
});
|
|
21
|
+
run.latestEventId = appended.latestEventId;
|
|
22
|
+
run.latestExternalEventSequence = appended.latestExternalEventSequence;
|
|
23
|
+
}
|
|
24
|
+
: undefined,
|
|
25
|
+
finalizeRun: async (run, terminalState) => {
|
|
26
|
+
const finalizeInput = await options.resolveFinalizeInput({ run, terminalState });
|
|
27
|
+
await finalizeConversationAgentRun({
|
|
28
|
+
authToken: options.authToken,
|
|
29
|
+
apiUrl: options.apiUrl,
|
|
30
|
+
conversationId: run.conversationId,
|
|
31
|
+
runId: run.runId,
|
|
32
|
+
status: terminalState.status,
|
|
33
|
+
model: finalizeInput.model,
|
|
34
|
+
provider: finalizeInput.provider,
|
|
35
|
+
usage: finalizeInput.usage,
|
|
36
|
+
terminalErrorCode: finalizeInput.terminalErrorCode,
|
|
37
|
+
terminalErrorMessage: finalizeInput.terminalErrorMessage,
|
|
38
|
+
});
|
|
39
|
+
},
|
|
40
|
+
cancelRun: async (run, terminalState) => {
|
|
41
|
+
const finalizeInput = await options.resolveFinalizeInput({ run, terminalState });
|
|
42
|
+
await finalizeConversationAgentRun({
|
|
43
|
+
authToken: options.authToken,
|
|
44
|
+
apiUrl: options.apiUrl,
|
|
45
|
+
conversationId: run.conversationId,
|
|
46
|
+
runId: run.runId,
|
|
47
|
+
status: "cancelled",
|
|
48
|
+
model: finalizeInput.model,
|
|
49
|
+
provider: finalizeInput.provider,
|
|
50
|
+
usage: finalizeInput.usage,
|
|
51
|
+
terminalErrorCode: finalizeInput.terminalErrorCode,
|
|
52
|
+
terminalErrorMessage: finalizeInput.terminalErrorMessage,
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function toConversationChildUsage(usage) {
|
|
58
|
+
if (!usage) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const inputTokens = usage.inputTokens ?? 0;
|
|
62
|
+
const outputTokens = usage.outputTokens ?? 0;
|
|
63
|
+
return {
|
|
64
|
+
inputTokens,
|
|
65
|
+
outputTokens,
|
|
66
|
+
totalTokens: usage.totalTokens ?? inputTokens + outputTokens,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async function publishConversationChildProgress(ctx, status) {
|
|
70
|
+
await publishInvokeAgentChildRunProgress({
|
|
71
|
+
authToken: ctx.authToken,
|
|
72
|
+
apiUrl: ctx.apiUrl,
|
|
73
|
+
conversationId: ctx.parentConversationId,
|
|
74
|
+
runId: ctx.parentRunId,
|
|
75
|
+
...(ctx.projectId !== undefined ? { projectId: ctx.projectId } : {}),
|
|
76
|
+
...ctx.progress,
|
|
77
|
+
status,
|
|
78
|
+
...(ctx.publishParentRunEvents ? { publishParentRunEvents: ctx.publishParentRunEvents } : {}),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
export function createConversationChildLifecycleAdapter(ctx) {
|
|
82
|
+
return {
|
|
83
|
+
pending: () => publishConversationChildProgress(ctx, "pending"),
|
|
84
|
+
running: () => publishConversationChildProgress(ctx, "running"),
|
|
85
|
+
completed: async (terminalState) => {
|
|
86
|
+
await finalizeConversationAgentRun({
|
|
87
|
+
authToken: ctx.authToken,
|
|
88
|
+
apiUrl: ctx.apiUrl,
|
|
89
|
+
conversationId: ctx.progress.childConversationId,
|
|
90
|
+
runId: ctx.progress.childRunId,
|
|
91
|
+
status: "completed",
|
|
92
|
+
model: ctx.model,
|
|
93
|
+
provider: ctx.provider,
|
|
94
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
95
|
+
terminalErrorCode: null,
|
|
96
|
+
terminalErrorMessage: null,
|
|
97
|
+
});
|
|
98
|
+
await publishConversationChildProgress(ctx, "completed");
|
|
99
|
+
},
|
|
100
|
+
failed: async (terminalState) => {
|
|
101
|
+
await finalizeConversationAgentRun({
|
|
102
|
+
authToken: ctx.authToken,
|
|
103
|
+
apiUrl: ctx.apiUrl,
|
|
104
|
+
conversationId: ctx.progress.childConversationId,
|
|
105
|
+
runId: ctx.progress.childRunId,
|
|
106
|
+
status: "failed",
|
|
107
|
+
model: ctx.model,
|
|
108
|
+
provider: ctx.provider,
|
|
109
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
110
|
+
terminalErrorCode: terminalState.terminalErrorCode ?? "FAILED",
|
|
111
|
+
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Unknown error",
|
|
112
|
+
});
|
|
113
|
+
await publishConversationChildProgress(ctx, "failed");
|
|
114
|
+
},
|
|
115
|
+
cancelled: async (terminalState) => {
|
|
116
|
+
await finalizeConversationAgentRun({
|
|
117
|
+
authToken: ctx.authToken,
|
|
118
|
+
apiUrl: ctx.apiUrl,
|
|
119
|
+
conversationId: ctx.progress.childConversationId,
|
|
120
|
+
runId: ctx.progress.childRunId,
|
|
121
|
+
status: "cancelled",
|
|
122
|
+
model: ctx.model,
|
|
123
|
+
provider: ctx.provider,
|
|
124
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
125
|
+
terminalErrorCode: terminalState.terminalErrorCode ?? "CANCELLED",
|
|
126
|
+
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Child run cancelled",
|
|
127
|
+
});
|
|
128
|
+
await publishConversationChildProgress(ctx, "cancelled");
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
package/esm/src/agent/index.d.ts
CHANGED
|
@@ -90,6 +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 { type ConversationChildLifecycleContext, type ConversationHostedLifecycleFinalizeInput, createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, type CreateConversationHostedLifecycleAdapterOptions, } from "./conversation-hosted-lifecycle.js";
|
|
93
94
|
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
95
|
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
96
|
export { type HostedChildLifecycleAdapter, type HostedChildLifecycleRunnerOptions, type HostedChildLifecycleRunResult, type HostedChildLifecycleTerminalState, runHostedChildLifecycle, } from "./hosted-child-lifecycle.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,KAAK,2BAA2B,EAChC,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,gCAAgC,EAChC,6BAA6B,EAC7B,yBAAyB,EACzB,wCAAwC,GACzC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,+BAA+B,EAC/B,KAAK,oCAAoC,GAC1C,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,6BAA6B,EAC7B,KAAK,mCAAmC,EACxC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,2BAA2B,EAChC,2BAA2B,EAC3B,gCAAgC,EAChC,KAAK,mCAAmC,EACxC,yCAAyC,EACzC,qCAAqC,EACrC,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,6BAA6B,EAC7B,0CAA0C,EAC1C,qCAAqC,EACrC,4BAA4B,EAC5B,yCAAyC,EACzC,6BAA6B,EAC7B,KAAK,6BAA6B,GACnC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,4CAA4C,EAC5C,sCAAsC,EACtC,kCAAkC,EAClC,KAAK,uCAAuC,EAC5C,6CAA6C,EAC7C,KAAK,iCAAiC,EACtC,uCAAuC,EACvC,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,kCAAkC,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,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"}
|
|
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,6 +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 { createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, } from "./conversation-hosted-lifecycle.js";
|
|
92
93
|
export { appendConversationRunEvents, AppendConversationRunEventsError, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, ConversationRunStatusSchema, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, finalizeConversationAgentRun, getConversationRun, isActiveConversationRunStatus, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, resolveConversationRunTargets, } from "./durable.js";
|
|
93
94
|
export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, InvokeAgentChildRunLifecycleCustomEventSchema, InvokeAgentChildRunLifecycleValueSchema, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
94
95
|
export { runHostedChildLifecycle, } from "./hosted-child-lifecycle.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.237";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import {
|
|
2
|
+
appendConversationRunEvents,
|
|
3
|
+
type ConversationAgentRunUsage,
|
|
4
|
+
type ConversationRunProjection,
|
|
5
|
+
finalizeConversationAgentRun,
|
|
6
|
+
} from "./durable.js";
|
|
7
|
+
import {
|
|
8
|
+
type InvokeAgentChildRunProgressEvent,
|
|
9
|
+
type InvokeAgentChildRunProgressInput,
|
|
10
|
+
publishInvokeAgentChildRunProgress,
|
|
11
|
+
} from "./invoke-agent-child-runs.js";
|
|
12
|
+
import type {
|
|
13
|
+
HostedChildLifecycleAdapter,
|
|
14
|
+
HostedChildLifecycleTerminalState,
|
|
15
|
+
} from "./hosted-child-lifecycle.js";
|
|
16
|
+
import type { HostedLifecycleAdapter, HostedLifecycleTerminalState } from "./hosted-lifecycle.js";
|
|
17
|
+
|
|
18
|
+
export interface ConversationHostedLifecycleFinalizeInput {
|
|
19
|
+
model: string;
|
|
20
|
+
provider: string;
|
|
21
|
+
usage?: ConversationAgentRunUsage;
|
|
22
|
+
terminalErrorCode?: string | null;
|
|
23
|
+
terminalErrorMessage?: string | null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface CreateConversationHostedLifecycleAdapterOptions<TChunk> {
|
|
27
|
+
authToken: string;
|
|
28
|
+
apiUrl: string;
|
|
29
|
+
startRun: (
|
|
30
|
+
input: { abortSignal: AbortSignal },
|
|
31
|
+
) => Promise<ConversationRunProjection> | ConversationRunProjection;
|
|
32
|
+
mapChunkToEvents?: (
|
|
33
|
+
chunk: TChunk,
|
|
34
|
+
run: ConversationRunProjection,
|
|
35
|
+
) => Promise<readonly unknown[] | unknown[]> | readonly unknown[] | unknown[];
|
|
36
|
+
resolveFinalizeInput: (input: {
|
|
37
|
+
run: ConversationRunProjection;
|
|
38
|
+
terminalState: HostedLifecycleTerminalState;
|
|
39
|
+
}) =>
|
|
40
|
+
| Promise<ConversationHostedLifecycleFinalizeInput>
|
|
41
|
+
| ConversationHostedLifecycleFinalizeInput;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function createConversationHostedLifecycleAdapter<TChunk>(
|
|
45
|
+
options: CreateConversationHostedLifecycleAdapterOptions<TChunk>,
|
|
46
|
+
): HostedLifecycleAdapter<ConversationRunProjection, TChunk> {
|
|
47
|
+
return {
|
|
48
|
+
startRun: options.startRun,
|
|
49
|
+
appendEvents: options.mapChunkToEvents
|
|
50
|
+
? async (run, chunk) => {
|
|
51
|
+
const events = [...await options.mapChunkToEvents!(chunk, run)];
|
|
52
|
+
if (events.length === 0) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const appended = await appendConversationRunEvents({
|
|
57
|
+
authToken: options.authToken,
|
|
58
|
+
apiUrl: options.apiUrl,
|
|
59
|
+
conversationId: run.conversationId,
|
|
60
|
+
runId: run.runId,
|
|
61
|
+
expectedPreviousEventId: run.latestEventId,
|
|
62
|
+
expectedPreviousExternalEventSequence: run.latestExternalEventSequence,
|
|
63
|
+
events,
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
run.latestEventId = appended.latestEventId;
|
|
67
|
+
run.latestExternalEventSequence = appended.latestExternalEventSequence;
|
|
68
|
+
}
|
|
69
|
+
: undefined,
|
|
70
|
+
finalizeRun: async (run, terminalState) => {
|
|
71
|
+
const finalizeInput = await options.resolveFinalizeInput({ run, terminalState });
|
|
72
|
+
await finalizeConversationAgentRun({
|
|
73
|
+
authToken: options.authToken,
|
|
74
|
+
apiUrl: options.apiUrl,
|
|
75
|
+
conversationId: run.conversationId,
|
|
76
|
+
runId: run.runId,
|
|
77
|
+
status: terminalState.status,
|
|
78
|
+
model: finalizeInput.model,
|
|
79
|
+
provider: finalizeInput.provider,
|
|
80
|
+
usage: finalizeInput.usage,
|
|
81
|
+
terminalErrorCode: finalizeInput.terminalErrorCode,
|
|
82
|
+
terminalErrorMessage: finalizeInput.terminalErrorMessage,
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
cancelRun: async (run, terminalState) => {
|
|
86
|
+
const finalizeInput = await options.resolveFinalizeInput({ run, terminalState });
|
|
87
|
+
await finalizeConversationAgentRun({
|
|
88
|
+
authToken: options.authToken,
|
|
89
|
+
apiUrl: options.apiUrl,
|
|
90
|
+
conversationId: run.conversationId,
|
|
91
|
+
runId: run.runId,
|
|
92
|
+
status: "cancelled",
|
|
93
|
+
model: finalizeInput.model,
|
|
94
|
+
provider: finalizeInput.provider,
|
|
95
|
+
usage: finalizeInput.usage,
|
|
96
|
+
terminalErrorCode: finalizeInput.terminalErrorCode,
|
|
97
|
+
terminalErrorMessage: finalizeInput.terminalErrorMessage,
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface ConversationChildLifecycleContext {
|
|
104
|
+
authToken: string;
|
|
105
|
+
apiUrl: string;
|
|
106
|
+
parentConversationId: string;
|
|
107
|
+
parentRunId: string;
|
|
108
|
+
projectId?: string | null;
|
|
109
|
+
publishParentRunEvents?: (events: InvokeAgentChildRunProgressEvent[]) => Promise<void> | void;
|
|
110
|
+
progress: Omit<InvokeAgentChildRunProgressInput, "status">;
|
|
111
|
+
model: string;
|
|
112
|
+
provider: string;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function toConversationChildUsage(
|
|
116
|
+
usage: HostedChildLifecycleTerminalState["usage"],
|
|
117
|
+
): ConversationAgentRunUsage | undefined {
|
|
118
|
+
if (!usage) {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const inputTokens = usage.inputTokens ?? 0;
|
|
123
|
+
const outputTokens = usage.outputTokens ?? 0;
|
|
124
|
+
return {
|
|
125
|
+
inputTokens,
|
|
126
|
+
outputTokens,
|
|
127
|
+
totalTokens: usage.totalTokens ?? inputTokens + outputTokens,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
async function publishConversationChildProgress(
|
|
132
|
+
ctx: ConversationChildLifecycleContext,
|
|
133
|
+
status: InvokeAgentChildRunProgressInput["status"],
|
|
134
|
+
): Promise<void> {
|
|
135
|
+
await publishInvokeAgentChildRunProgress({
|
|
136
|
+
authToken: ctx.authToken,
|
|
137
|
+
apiUrl: ctx.apiUrl,
|
|
138
|
+
conversationId: ctx.parentConversationId,
|
|
139
|
+
runId: ctx.parentRunId,
|
|
140
|
+
...(ctx.projectId !== undefined ? { projectId: ctx.projectId } : {}),
|
|
141
|
+
...ctx.progress,
|
|
142
|
+
status,
|
|
143
|
+
...(ctx.publishParentRunEvents ? { publishParentRunEvents: ctx.publishParentRunEvents } : {}),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export function createConversationChildLifecycleAdapter(
|
|
148
|
+
ctx: ConversationChildLifecycleContext,
|
|
149
|
+
): HostedChildLifecycleAdapter {
|
|
150
|
+
return {
|
|
151
|
+
pending: () => publishConversationChildProgress(ctx, "pending"),
|
|
152
|
+
running: () => publishConversationChildProgress(ctx, "running"),
|
|
153
|
+
completed: async (terminalState) => {
|
|
154
|
+
await finalizeConversationAgentRun({
|
|
155
|
+
authToken: ctx.authToken,
|
|
156
|
+
apiUrl: ctx.apiUrl,
|
|
157
|
+
conversationId: ctx.progress.childConversationId,
|
|
158
|
+
runId: ctx.progress.childRunId,
|
|
159
|
+
status: "completed",
|
|
160
|
+
model: ctx.model,
|
|
161
|
+
provider: ctx.provider,
|
|
162
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
163
|
+
terminalErrorCode: null,
|
|
164
|
+
terminalErrorMessage: null,
|
|
165
|
+
});
|
|
166
|
+
await publishConversationChildProgress(ctx, "completed");
|
|
167
|
+
},
|
|
168
|
+
failed: async (terminalState) => {
|
|
169
|
+
await finalizeConversationAgentRun({
|
|
170
|
+
authToken: ctx.authToken,
|
|
171
|
+
apiUrl: ctx.apiUrl,
|
|
172
|
+
conversationId: ctx.progress.childConversationId,
|
|
173
|
+
runId: ctx.progress.childRunId,
|
|
174
|
+
status: "failed",
|
|
175
|
+
model: ctx.model,
|
|
176
|
+
provider: ctx.provider,
|
|
177
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
178
|
+
terminalErrorCode: terminalState.terminalErrorCode ?? "FAILED",
|
|
179
|
+
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Unknown error",
|
|
180
|
+
});
|
|
181
|
+
await publishConversationChildProgress(ctx, "failed");
|
|
182
|
+
},
|
|
183
|
+
cancelled: async (terminalState) => {
|
|
184
|
+
await finalizeConversationAgentRun({
|
|
185
|
+
authToken: ctx.authToken,
|
|
186
|
+
apiUrl: ctx.apiUrl,
|
|
187
|
+
conversationId: ctx.progress.childConversationId,
|
|
188
|
+
runId: ctx.progress.childRunId,
|
|
189
|
+
status: "cancelled",
|
|
190
|
+
model: ctx.model,
|
|
191
|
+
provider: ctx.provider,
|
|
192
|
+
usage: toConversationChildUsage(terminalState.usage),
|
|
193
|
+
terminalErrorCode: terminalState.terminalErrorCode ?? "CANCELLED",
|
|
194
|
+
terminalErrorMessage: terminalState.terminalErrorMessage ?? "Child run cancelled",
|
|
195
|
+
});
|
|
196
|
+
await publishConversationChildProgress(ctx, "cancelled");
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
}
|
package/src/src/agent/index.ts
CHANGED
|
@@ -192,6 +192,13 @@ export {
|
|
|
192
192
|
ensureConversationProjectLink,
|
|
193
193
|
fetchConversationRecord,
|
|
194
194
|
} from "./conversation-bootstrap.js";
|
|
195
|
+
export {
|
|
196
|
+
type ConversationChildLifecycleContext,
|
|
197
|
+
type ConversationHostedLifecycleFinalizeInput,
|
|
198
|
+
createConversationChildLifecycleAdapter,
|
|
199
|
+
createConversationHostedLifecycleAdapter,
|
|
200
|
+
type CreateConversationHostedLifecycleAdapterOptions,
|
|
201
|
+
} from "./conversation-hosted-lifecycle.js";
|
|
195
202
|
export {
|
|
196
203
|
type ActiveConversationRunStatus,
|
|
197
204
|
appendConversationRunEvents,
|