veryfront 0.1.255 → 0.1.257
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-terminal.d.ts +29 -0
- package/esm/src/agent/conversation-hosted-terminal.d.ts.map +1 -0
- package/esm/src/agent/conversation-hosted-terminal.js +93 -0
- package/esm/src/agent/conversation-root-run-lifecycle.d.ts +22 -0
- package/esm/src/agent/conversation-root-run-lifecycle.d.ts.map +1 -0
- package/esm/src/agent/conversation-root-run-lifecycle.js +14 -0
- package/esm/src/agent/index.d.ts +2 -0
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +2 -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-terminal.ts +149 -0
- package/src/src/agent/conversation-root-run-lifecycle.ts +41 -0
- package/src/src/agent/index.ts +12 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ConversationRunProjection } from "./durable.js";
|
|
2
|
+
import type { HostedLifecycleTerminalState } from "./hosted-lifecycle.js";
|
|
3
|
+
export interface ConversationHostedTerminalStateInput {
|
|
4
|
+
status: HostedLifecycleTerminalState["status"];
|
|
5
|
+
metadata?: HostedLifecycleTerminalState["metadata"];
|
|
6
|
+
terminalErrorCode?: string | null;
|
|
7
|
+
terminalErrorMessage?: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface CreateConversationHostedTerminalAdapterOptions {
|
|
10
|
+
authToken: string;
|
|
11
|
+
apiUrl: string;
|
|
12
|
+
run: ConversationRunProjection | null;
|
|
13
|
+
fallbackModelId: string;
|
|
14
|
+
resolveProvider: (modelId: string) => string;
|
|
15
|
+
onTerminalState?: (terminalState: HostedLifecycleTerminalState) => Promise<void> | void;
|
|
16
|
+
}
|
|
17
|
+
export interface ConversationHostedTerminalAdapter {
|
|
18
|
+
toTerminalState: (state: ConversationHostedTerminalStateInput) => HostedLifecycleTerminalState;
|
|
19
|
+
finalizeRun: (terminalState: HostedLifecycleTerminalState) => Promise<void>;
|
|
20
|
+
cancelRun: (terminalState: HostedLifecycleTerminalState) => Promise<void>;
|
|
21
|
+
onTerminalState: (terminalState: HostedLifecycleTerminalState) => Promise<void>;
|
|
22
|
+
dispatch: (state: ConversationHostedTerminalStateInput) => Promise<HostedLifecycleTerminalState>;
|
|
23
|
+
}
|
|
24
|
+
export declare function toConversationHostedTerminalState(input: {
|
|
25
|
+
fallbackModelId: string;
|
|
26
|
+
state: ConversationHostedTerminalStateInput;
|
|
27
|
+
}): HostedLifecycleTerminalState;
|
|
28
|
+
export declare function createConversationHostedTerminalAdapter(options: CreateConversationHostedTerminalAdapterOptions): ConversationHostedTerminalAdapter;
|
|
29
|
+
//# sourceMappingURL=conversation-hosted-terminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-hosted-terminal.d.ts","sourceRoot":"","sources":["../../../src/src/agent/conversation-hosted-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,WAAW,oCAAoC;IACnD,MAAM,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,8CAA8C;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzF;AAED,MAAM,WAAW,iCAAiC;IAChD,eAAe,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,4BAA4B,CAAC;IAC/F,WAAW,EAAE,CAAC,aAAa,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,SAAS,EAAE,CAAC,aAAa,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,eAAe,EAAE,CAAC,aAAa,EAAE,4BAA4B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAClG;AAqCD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,oCAAoC,CAAC;CAC7C,GAAG,4BAA4B,CAqB/B;AAED,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,8CAA8C,GACtD,iCAAiC,CAsDnC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { finalizeConversationAgentRun, } from "./durable.js";
|
|
2
|
+
function buildConversationHostedLifecycleUsage(usage) {
|
|
3
|
+
if (!usage) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
return {
|
|
7
|
+
...(usage.inputTokens !== undefined ? { inputTokens: usage.inputTokens } : {}),
|
|
8
|
+
...(usage.outputTokens !== undefined ? { outputTokens: usage.outputTokens } : {}),
|
|
9
|
+
...(usage.cachedInputTokens !== undefined
|
|
10
|
+
? { cachedInputTokens: usage.cachedInputTokens }
|
|
11
|
+
: {}),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function buildConversationAgentRunUsage(usage) {
|
|
15
|
+
if (!usage) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const inputTokens = usage.inputTokens ?? 0;
|
|
19
|
+
const outputTokens = usage.outputTokens ?? 0;
|
|
20
|
+
return {
|
|
21
|
+
inputTokens,
|
|
22
|
+
outputTokens,
|
|
23
|
+
totalTokens: inputTokens + outputTokens,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function toConversationHostedTerminalState(input) {
|
|
27
|
+
const modelId = input.state.metadata?.modelId ?? input.fallbackModelId;
|
|
28
|
+
const usage = buildConversationHostedLifecycleUsage(input.state.metadata?.usage);
|
|
29
|
+
return {
|
|
30
|
+
status: input.state.status,
|
|
31
|
+
...(modelId || usage
|
|
32
|
+
? {
|
|
33
|
+
metadata: {
|
|
34
|
+
...(modelId ? { modelId } : {}),
|
|
35
|
+
...(usage ? { usage } : {}),
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
: {}),
|
|
39
|
+
...(input.state.terminalErrorCode !== undefined
|
|
40
|
+
? { terminalErrorCode: input.state.terminalErrorCode }
|
|
41
|
+
: {}),
|
|
42
|
+
...(input.state.terminalErrorMessage !== undefined
|
|
43
|
+
? { terminalErrorMessage: input.state.terminalErrorMessage }
|
|
44
|
+
: {}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export function createConversationHostedTerminalAdapter(options) {
|
|
48
|
+
let durableRunFinalized = false;
|
|
49
|
+
const finalizeDurableRun = async (terminalState, status) => {
|
|
50
|
+
if (!options.run || durableRunFinalized) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
durableRunFinalized = true;
|
|
54
|
+
const modelId = terminalState.metadata?.modelId ?? options.fallbackModelId;
|
|
55
|
+
await finalizeConversationAgentRun({
|
|
56
|
+
authToken: options.authToken,
|
|
57
|
+
apiUrl: options.apiUrl,
|
|
58
|
+
conversationId: options.run.conversationId,
|
|
59
|
+
runId: options.run.runId,
|
|
60
|
+
status,
|
|
61
|
+
model: modelId,
|
|
62
|
+
provider: options.resolveProvider(modelId),
|
|
63
|
+
usage: buildConversationAgentRunUsage(terminalState.metadata?.usage),
|
|
64
|
+
terminalErrorCode: terminalState.terminalErrorCode,
|
|
65
|
+
terminalErrorMessage: terminalState.terminalErrorMessage,
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
toTerminalState: (state) => toConversationHostedTerminalState({
|
|
70
|
+
fallbackModelId: options.fallbackModelId,
|
|
71
|
+
state,
|
|
72
|
+
}),
|
|
73
|
+
finalizeRun: (terminalState) => finalizeDurableRun(terminalState, terminalState.status),
|
|
74
|
+
cancelRun: (terminalState) => finalizeDurableRun(terminalState, "cancelled"),
|
|
75
|
+
onTerminalState: async (terminalState) => {
|
|
76
|
+
await options.onTerminalState?.(terminalState);
|
|
77
|
+
},
|
|
78
|
+
dispatch: async (state) => {
|
|
79
|
+
const terminalState = toConversationHostedTerminalState({
|
|
80
|
+
fallbackModelId: options.fallbackModelId,
|
|
81
|
+
state,
|
|
82
|
+
});
|
|
83
|
+
if (terminalState.status === "cancelled") {
|
|
84
|
+
await finalizeDurableRun(terminalState, "cancelled");
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
await finalizeDurableRun(terminalState, terminalState.status);
|
|
88
|
+
}
|
|
89
|
+
await options.onTerminalState?.(terminalState);
|
|
90
|
+
return terminalState;
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ConversationRootRunContext } from "./conversation-root-run-context.js";
|
|
2
|
+
import type { ConversationRunProjection } from "./durable.js";
|
|
3
|
+
export interface ConversationRootRunLifecycle<TMirror> extends ConversationRootRunContext {
|
|
4
|
+
mirror: TMirror | null;
|
|
5
|
+
}
|
|
6
|
+
export interface PrepareConversationRootRunLifecycleOptions<TMirror> {
|
|
7
|
+
startRun: (input: {
|
|
8
|
+
abortSignal: AbortSignal;
|
|
9
|
+
}) => Promise<{
|
|
10
|
+
run: ConversationRunProjection | null;
|
|
11
|
+
}> | {
|
|
12
|
+
run: ConversationRunProjection | null;
|
|
13
|
+
};
|
|
14
|
+
parentRunId?: string;
|
|
15
|
+
parentMessageId?: string;
|
|
16
|
+
appendParentRunEvents?: ((events: unknown[]) => Promise<void> | void) | undefined;
|
|
17
|
+
createMirror?: (run: ConversationRunProjection) => Promise<TMirror> | TMirror;
|
|
18
|
+
}
|
|
19
|
+
export declare function prepareConversationRootRunLifecycle<TMirror>(input: PrepareConversationRootRunLifecycleOptions<TMirror>, options: {
|
|
20
|
+
abortSignal: AbortSignal;
|
|
21
|
+
}): Promise<ConversationRootRunLifecycle<TMirror>>;
|
|
22
|
+
//# sourceMappingURL=conversation-root-run-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-root-run-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/src/agent/conversation-root-run-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAEhC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,4BAA4B,CAAC,OAAO,CAAE,SAAQ,0BAA0B;IACvF,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,0CAA0C,CAAC,OAAO;IACjE,QAAQ,EAAE,CACR,KAAK,EAAE;QAAE,WAAW,EAAE,WAAW,CAAA;KAAE,KAChC,OAAO,CAAC;QAAE,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAAA;KAAE,CAAC,GAAG;QACxD,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAAC;KACvC,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAClF,YAAY,CAAC,EAAE,CACb,GAAG,EAAE,yBAAyB,KAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACjC;AAED,wBAAsB,mCAAmC,CAAC,OAAO,EAC/D,KAAK,EAAE,0CAA0C,CAAC,OAAO,CAAC,EAC1D,OAAO,EAAE;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,GACpC,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAahD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createConversationRootRunContext, } from "./conversation-root-run-context.js";
|
|
2
|
+
export async function prepareConversationRootRunLifecycle(input, options) {
|
|
3
|
+
const { run } = await input.startRun({ abortSignal: options.abortSignal });
|
|
4
|
+
const context = createConversationRootRunContext({
|
|
5
|
+
run,
|
|
6
|
+
parentRunId: input.parentRunId,
|
|
7
|
+
parentMessageId: input.parentMessageId,
|
|
8
|
+
appendParentRunEvents: input.appendParentRunEvents,
|
|
9
|
+
});
|
|
10
|
+
return {
|
|
11
|
+
...context,
|
|
12
|
+
mirror: run && input.createMirror ? await input.createMirror(run) : null,
|
|
13
|
+
};
|
|
14
|
+
}
|
package/esm/src/agent/index.d.ts
CHANGED
|
@@ -91,8 +91,10 @@ export { type AgUiBrowserEncodedEvent, type AgUiBrowserEncoderState, type AgUiBr
|
|
|
91
91
|
export { type AgUiBrowserResponseEncoder, type AgUiBrowserResponseExecution, type AgUiBrowserResponseRequestState, createAgUiBrowserResponseStream, type CreateAgUiBrowserResponseStreamInput, } from "./ag-ui-browser-response-stream.js";
|
|
92
92
|
export { type ConversationRunContext, createConversationRunContext, } from "./conversation-run-context.js";
|
|
93
93
|
export { type ConversationRootRunContext, type ConversationRootRunDescriptor, createConversationRootRunContext, createConversationRootRunStartAdapter, prepareConversationRootRunContext, startConversationRootRun, } from "./conversation-root-run-context.js";
|
|
94
|
+
export { type ConversationRootRunLifecycle, prepareConversationRootRunLifecycle, type PrepareConversationRootRunLifecycleOptions, } from "./conversation-root-run-lifecycle.js";
|
|
94
95
|
export { bootstrapConversationAgentRun, type BootstrapConversationAgentRunResult, type ConversationMessageRecord, ConversationMessageRecordSchema, type ConversationRecord, ConversationRecordSchema, createConversationMessage, createConversationRecord, ensureConversationProjectLink, fetchConversationRecord, } from "./conversation-bootstrap.js";
|
|
95
96
|
export { type ConversationChildLifecycleContext, type ConversationHostedLifecycleFinalizeInput, createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, type CreateConversationHostedLifecycleAdapterOptions, createConversationHostedStreamLifecycleAdapter, } from "./conversation-hosted-lifecycle.js";
|
|
97
|
+
export { type ConversationHostedTerminalAdapter, type ConversationHostedTerminalStateInput, createConversationHostedTerminalAdapter, type CreateConversationHostedTerminalAdapterOptions, toConversationHostedTerminalState, } from "./conversation-hosted-terminal.js";
|
|
96
98
|
export { getConversationRunEventJsonByteLength, normalizeConversationRunEvent, normalizeConversationRunEvents, } from "./conversation-run-event-normalization.js";
|
|
97
99
|
export { type ConversationRunEvent, ConversationRunEventEncoder, ConversationRunEventSchema, conversationRunEventTypes, encodeConversationRunEvents, normalizeEncodedConversationRunEvents, } from "./conversation-run-events.js";
|
|
98
100
|
export { prepareConversationRunExternalEvents, prepareConversationRunStreamEvents, } from "./conversation-run-event-preparation.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
|
@@ -90,8 +90,10 @@ export { buildAgUiBrowserFinalizeResponse, createAgUiBrowserEncoderState, finali
|
|
|
90
90
|
export { createAgUiBrowserResponseStream, } from "./ag-ui-browser-response-stream.js";
|
|
91
91
|
export { createConversationRunContext, } from "./conversation-run-context.js";
|
|
92
92
|
export { createConversationRootRunContext, createConversationRootRunStartAdapter, prepareConversationRootRunContext, startConversationRootRun, } from "./conversation-root-run-context.js";
|
|
93
|
+
export { prepareConversationRootRunLifecycle, } from "./conversation-root-run-lifecycle.js";
|
|
93
94
|
export { bootstrapConversationAgentRun, ConversationMessageRecordSchema, ConversationRecordSchema, createConversationMessage, createConversationRecord, ensureConversationProjectLink, fetchConversationRecord, } from "./conversation-bootstrap.js";
|
|
94
95
|
export { createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, createConversationHostedStreamLifecycleAdapter, } from "./conversation-hosted-lifecycle.js";
|
|
96
|
+
export { createConversationHostedTerminalAdapter, toConversationHostedTerminalState, } from "./conversation-hosted-terminal.js";
|
|
95
97
|
export { getConversationRunEventJsonByteLength, normalizeConversationRunEvent, normalizeConversationRunEvents, } from "./conversation-run-event-normalization.js";
|
|
96
98
|
export { ConversationRunEventEncoder, ConversationRunEventSchema, conversationRunEventTypes, encodeConversationRunEvents, normalizeEncodedConversationRunEvents, } from "./conversation-run-events.js";
|
|
97
99
|
export { prepareConversationRunExternalEvents, prepareConversationRunStreamEvents, } from "./conversation-run-event-preparation.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.257";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ConversationAgentRunUsage,
|
|
3
|
+
type ConversationRunProjection,
|
|
4
|
+
finalizeConversationAgentRun,
|
|
5
|
+
} from "./durable.js";
|
|
6
|
+
import type { HostedLifecycleTerminalState } from "./hosted-lifecycle.js";
|
|
7
|
+
|
|
8
|
+
export interface ConversationHostedTerminalStateInput {
|
|
9
|
+
status: HostedLifecycleTerminalState["status"];
|
|
10
|
+
metadata?: HostedLifecycleTerminalState["metadata"];
|
|
11
|
+
terminalErrorCode?: string | null;
|
|
12
|
+
terminalErrorMessage?: string | null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface CreateConversationHostedTerminalAdapterOptions {
|
|
16
|
+
authToken: string;
|
|
17
|
+
apiUrl: string;
|
|
18
|
+
run: ConversationRunProjection | null;
|
|
19
|
+
fallbackModelId: string;
|
|
20
|
+
resolveProvider: (modelId: string) => string;
|
|
21
|
+
onTerminalState?: (terminalState: HostedLifecycleTerminalState) => Promise<void> | void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface ConversationHostedTerminalAdapter {
|
|
25
|
+
toTerminalState: (state: ConversationHostedTerminalStateInput) => HostedLifecycleTerminalState;
|
|
26
|
+
finalizeRun: (terminalState: HostedLifecycleTerminalState) => Promise<void>;
|
|
27
|
+
cancelRun: (terminalState: HostedLifecycleTerminalState) => Promise<void>;
|
|
28
|
+
onTerminalState: (terminalState: HostedLifecycleTerminalState) => Promise<void>;
|
|
29
|
+
dispatch: (state: ConversationHostedTerminalStateInput) => Promise<HostedLifecycleTerminalState>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type HostedLifecycleUsage = NonNullable<HostedLifecycleTerminalState["metadata"]>["usage"];
|
|
33
|
+
|
|
34
|
+
function buildConversationHostedLifecycleUsage(
|
|
35
|
+
usage: HostedLifecycleUsage | undefined,
|
|
36
|
+
): HostedLifecycleUsage | undefined {
|
|
37
|
+
if (!usage) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
...(usage.inputTokens !== undefined ? { inputTokens: usage.inputTokens } : {}),
|
|
43
|
+
...(usage.outputTokens !== undefined ? { outputTokens: usage.outputTokens } : {}),
|
|
44
|
+
...(usage.cachedInputTokens !== undefined
|
|
45
|
+
? { cachedInputTokens: usage.cachedInputTokens }
|
|
46
|
+
: {}),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function buildConversationAgentRunUsage(
|
|
51
|
+
usage: HostedLifecycleUsage | undefined,
|
|
52
|
+
): ConversationAgentRunUsage | undefined {
|
|
53
|
+
if (!usage) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const inputTokens = usage.inputTokens ?? 0;
|
|
58
|
+
const outputTokens = usage.outputTokens ?? 0;
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
inputTokens,
|
|
62
|
+
outputTokens,
|
|
63
|
+
totalTokens: inputTokens + outputTokens,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function toConversationHostedTerminalState(input: {
|
|
68
|
+
fallbackModelId: string;
|
|
69
|
+
state: ConversationHostedTerminalStateInput;
|
|
70
|
+
}): HostedLifecycleTerminalState {
|
|
71
|
+
const modelId = input.state.metadata?.modelId ?? input.fallbackModelId;
|
|
72
|
+
const usage = buildConversationHostedLifecycleUsage(input.state.metadata?.usage);
|
|
73
|
+
|
|
74
|
+
return {
|
|
75
|
+
status: input.state.status,
|
|
76
|
+
...(modelId || usage
|
|
77
|
+
? {
|
|
78
|
+
metadata: {
|
|
79
|
+
...(modelId ? { modelId } : {}),
|
|
80
|
+
...(usage ? { usage } : {}),
|
|
81
|
+
},
|
|
82
|
+
}
|
|
83
|
+
: {}),
|
|
84
|
+
...(input.state.terminalErrorCode !== undefined
|
|
85
|
+
? { terminalErrorCode: input.state.terminalErrorCode }
|
|
86
|
+
: {}),
|
|
87
|
+
...(input.state.terminalErrorMessage !== undefined
|
|
88
|
+
? { terminalErrorMessage: input.state.terminalErrorMessage }
|
|
89
|
+
: {}),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export function createConversationHostedTerminalAdapter(
|
|
94
|
+
options: CreateConversationHostedTerminalAdapterOptions,
|
|
95
|
+
): ConversationHostedTerminalAdapter {
|
|
96
|
+
let durableRunFinalized = false;
|
|
97
|
+
|
|
98
|
+
const finalizeDurableRun = async (
|
|
99
|
+
terminalState: HostedLifecycleTerminalState,
|
|
100
|
+
status: HostedLifecycleTerminalState["status"],
|
|
101
|
+
): Promise<void> => {
|
|
102
|
+
if (!options.run || durableRunFinalized) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
durableRunFinalized = true;
|
|
107
|
+
const modelId = terminalState.metadata?.modelId ?? options.fallbackModelId;
|
|
108
|
+
|
|
109
|
+
await finalizeConversationAgentRun({
|
|
110
|
+
authToken: options.authToken,
|
|
111
|
+
apiUrl: options.apiUrl,
|
|
112
|
+
conversationId: options.run.conversationId,
|
|
113
|
+
runId: options.run.runId,
|
|
114
|
+
status,
|
|
115
|
+
model: modelId,
|
|
116
|
+
provider: options.resolveProvider(modelId),
|
|
117
|
+
usage: buildConversationAgentRunUsage(terminalState.metadata?.usage),
|
|
118
|
+
terminalErrorCode: terminalState.terminalErrorCode,
|
|
119
|
+
terminalErrorMessage: terminalState.terminalErrorMessage,
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
toTerminalState: (state) =>
|
|
125
|
+
toConversationHostedTerminalState({
|
|
126
|
+
fallbackModelId: options.fallbackModelId,
|
|
127
|
+
state,
|
|
128
|
+
}),
|
|
129
|
+
finalizeRun: (terminalState) => finalizeDurableRun(terminalState, terminalState.status),
|
|
130
|
+
cancelRun: (terminalState) => finalizeDurableRun(terminalState, "cancelled"),
|
|
131
|
+
onTerminalState: async (terminalState) => {
|
|
132
|
+
await options.onTerminalState?.(terminalState);
|
|
133
|
+
},
|
|
134
|
+
dispatch: async (state) => {
|
|
135
|
+
const terminalState = toConversationHostedTerminalState({
|
|
136
|
+
fallbackModelId: options.fallbackModelId,
|
|
137
|
+
state,
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
if (terminalState.status === "cancelled") {
|
|
141
|
+
await finalizeDurableRun(terminalState, "cancelled");
|
|
142
|
+
} else {
|
|
143
|
+
await finalizeDurableRun(terminalState, terminalState.status);
|
|
144
|
+
}
|
|
145
|
+
await options.onTerminalState?.(terminalState);
|
|
146
|
+
return terminalState;
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ConversationRootRunContext,
|
|
3
|
+
createConversationRootRunContext,
|
|
4
|
+
} from "./conversation-root-run-context.js";
|
|
5
|
+
import type { ConversationRunProjection } from "./durable.js";
|
|
6
|
+
|
|
7
|
+
export interface ConversationRootRunLifecycle<TMirror> extends ConversationRootRunContext {
|
|
8
|
+
mirror: TMirror | null;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface PrepareConversationRootRunLifecycleOptions<TMirror> {
|
|
12
|
+
startRun: (
|
|
13
|
+
input: { abortSignal: AbortSignal },
|
|
14
|
+
) => Promise<{ run: ConversationRunProjection | null }> | {
|
|
15
|
+
run: ConversationRunProjection | null;
|
|
16
|
+
};
|
|
17
|
+
parentRunId?: string;
|
|
18
|
+
parentMessageId?: string;
|
|
19
|
+
appendParentRunEvents?: ((events: unknown[]) => Promise<void> | void) | undefined;
|
|
20
|
+
createMirror?: (
|
|
21
|
+
run: ConversationRunProjection,
|
|
22
|
+
) => Promise<TMirror> | TMirror;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export async function prepareConversationRootRunLifecycle<TMirror>(
|
|
26
|
+
input: PrepareConversationRootRunLifecycleOptions<TMirror>,
|
|
27
|
+
options: { abortSignal: AbortSignal },
|
|
28
|
+
): Promise<ConversationRootRunLifecycle<TMirror>> {
|
|
29
|
+
const { run } = await input.startRun({ abortSignal: options.abortSignal });
|
|
30
|
+
const context = createConversationRootRunContext({
|
|
31
|
+
run,
|
|
32
|
+
parentRunId: input.parentRunId,
|
|
33
|
+
parentMessageId: input.parentMessageId,
|
|
34
|
+
appendParentRunEvents: input.appendParentRunEvents,
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
...context,
|
|
39
|
+
mirror: run && input.createMirror ? await input.createMirror(run) : null,
|
|
40
|
+
};
|
|
41
|
+
}
|
package/src/src/agent/index.ts
CHANGED
|
@@ -192,6 +192,11 @@ export {
|
|
|
192
192
|
prepareConversationRootRunContext,
|
|
193
193
|
startConversationRootRun,
|
|
194
194
|
} from "./conversation-root-run-context.js";
|
|
195
|
+
export {
|
|
196
|
+
type ConversationRootRunLifecycle,
|
|
197
|
+
prepareConversationRootRunLifecycle,
|
|
198
|
+
type PrepareConversationRootRunLifecycleOptions,
|
|
199
|
+
} from "./conversation-root-run-lifecycle.js";
|
|
195
200
|
export {
|
|
196
201
|
bootstrapConversationAgentRun,
|
|
197
202
|
type BootstrapConversationAgentRunResult,
|
|
@@ -212,6 +217,13 @@ export {
|
|
|
212
217
|
type CreateConversationHostedLifecycleAdapterOptions,
|
|
213
218
|
createConversationHostedStreamLifecycleAdapter,
|
|
214
219
|
} from "./conversation-hosted-lifecycle.js";
|
|
220
|
+
export {
|
|
221
|
+
type ConversationHostedTerminalAdapter,
|
|
222
|
+
type ConversationHostedTerminalStateInput,
|
|
223
|
+
createConversationHostedTerminalAdapter,
|
|
224
|
+
type CreateConversationHostedTerminalAdapterOptions,
|
|
225
|
+
toConversationHostedTerminalState,
|
|
226
|
+
} from "./conversation-hosted-terminal.js";
|
|
215
227
|
export {
|
|
216
228
|
getConversationRunEventJsonByteLength,
|
|
217
229
|
normalizeConversationRunEvent,
|