veryfront 0.1.254 → 0.1.256
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 +2 -0
- package/esm/src/agent/conversation-hosted-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/conversation-hosted-lifecycle.js +7 -0
- 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-run-stream-mirror.d.ts +21 -0
- package/esm/src/agent/conversation-run-stream-mirror.d.ts.map +1 -0
- package/esm/src/agent/conversation-run-stream-mirror.js +31 -0
- package/esm/src/agent/index.d.ts +3 -1
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +3 -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/conversation-hosted-lifecycle.ts +14 -0
- package/src/src/agent/conversation-hosted-terminal.ts +149 -0
- package/src/src/agent/conversation-run-stream-mirror.ts +59 -0
- package/src/src/agent/index.ts +12 -0
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ConversationAgentRunUsage, type ConversationRunProjection } from "./durable.js";
|
|
2
2
|
import { type InvokeAgentChildRunProgressEvent, type InvokeAgentChildRunProgressInput } from "./invoke-agent-child-runs.js";
|
|
3
|
+
import type { ChatStreamEvent } from "../chat/protocol.js";
|
|
3
4
|
import type { HostedChildLifecycleAdapter } from "./hosted-child-lifecycle.js";
|
|
4
5
|
import type { HostedLifecycleAdapter, HostedLifecycleTerminalState } from "./hosted-lifecycle.js";
|
|
5
6
|
export interface ConversationHostedLifecycleFinalizeInput {
|
|
@@ -22,6 +23,7 @@ export interface CreateConversationHostedLifecycleAdapterOptions<TChunk> {
|
|
|
22
23
|
}) => Promise<ConversationHostedLifecycleFinalizeInput> | ConversationHostedLifecycleFinalizeInput;
|
|
23
24
|
}
|
|
24
25
|
export declare function createConversationHostedLifecycleAdapter<TChunk>(options: CreateConversationHostedLifecycleAdapterOptions<TChunk>): HostedLifecycleAdapter<ConversationRunProjection, TChunk>;
|
|
26
|
+
export declare function createConversationHostedStreamLifecycleAdapter(options: Omit<CreateConversationHostedLifecycleAdapterOptions<ChatStreamEvent>, "mapChunkToEvents">): HostedLifecycleAdapter<ConversationRunProjection, ChatStreamEvent>;
|
|
25
27
|
export interface ConversationChildLifecycleContext {
|
|
26
28
|
authToken: string;
|
|
27
29
|
apiUrl: string;
|
|
@@ -1 +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;
|
|
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;AAEtB,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,gCAAgC,EAEtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,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,wBAAgB,8CAA8C,CAC5D,OAAO,EAAE,IAAI,CACX,+CAA+C,CAAC,eAAe,CAAC,EAChE,kBAAkB,CACnB,GACA,sBAAsB,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAKpE;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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { appendConversationRunEvents, finalizeConversationAgentRun, } from "./durable.js";
|
|
2
|
+
import { prepareConversationRunStreamEvents } from "./conversation-run-event-preparation.js";
|
|
2
3
|
import { publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
3
4
|
export function createConversationHostedLifecycleAdapter(options) {
|
|
4
5
|
return {
|
|
@@ -54,6 +55,12 @@ export function createConversationHostedLifecycleAdapter(options) {
|
|
|
54
55
|
},
|
|
55
56
|
};
|
|
56
57
|
}
|
|
58
|
+
export function createConversationHostedStreamLifecycleAdapter(options) {
|
|
59
|
+
return createConversationHostedLifecycleAdapter({
|
|
60
|
+
...options,
|
|
61
|
+
mapChunkToEvents: (chunk) => prepareConversationRunStreamEvents([chunk]),
|
|
62
|
+
});
|
|
63
|
+
}
|
|
57
64
|
function toConversationChildUsage(usage) {
|
|
58
65
|
if (!usage) {
|
|
59
66
|
return undefined;
|
|
@@ -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,21 @@
|
|
|
1
|
+
import { type ChatStreamEvent } from "../chat/protocol.js";
|
|
2
|
+
import { type ConversationRunEvent, ConversationRunEventEncoder } from "./conversation-run-events.js";
|
|
3
|
+
import { type ConversationRunMirror, type ConversationRunMirrorRetryScheduledState, type ConversationRunMirrorStoppedState } from "./conversation-run-mirror.js";
|
|
4
|
+
import { type ConversationRunEventQueueController } from "./durable.js";
|
|
5
|
+
export interface ConversationRunStreamMirror {
|
|
6
|
+
handleStreamEvent(event: ChatStreamEvent): void;
|
|
7
|
+
appendEvents(events: ConversationRunEvent[]): void;
|
|
8
|
+
flush(): Promise<void>;
|
|
9
|
+
getSnapshot(): ReturnType<ConversationRunMirror["getSnapshot"]>;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function createConversationRunStreamMirror(input: {
|
|
13
|
+
queueController: ConversationRunEventQueueController;
|
|
14
|
+
immediateFlushEventCount: number;
|
|
15
|
+
encoder?: ConversationRunEventEncoder;
|
|
16
|
+
flushDelayMs?: number;
|
|
17
|
+
getRetryDelayMs?: (consecutiveFailures: number) => number;
|
|
18
|
+
onRetryScheduled?: (state: ConversationRunMirrorRetryScheduledState) => Promise<void> | void;
|
|
19
|
+
onStopped?: (state: ConversationRunMirrorStoppedState) => Promise<void> | void;
|
|
20
|
+
}): ConversationRunStreamMirror;
|
|
21
|
+
//# sourceMappingURL=conversation-run-stream-mirror.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-run-stream-mirror.d.ts","sourceRoot":"","sources":["../../../src/src/agent/conversation-run-stream-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EACzB,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,wCAAwC,EAC7C,KAAK,iCAAiC,EAEvC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,WAAW,IAAI,UAAU,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;IAChE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,eAAe,EAAE,mCAAmC,CAAC;IACrD,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,wCAAwC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChF,GAAG,2BAA2B,CA4B9B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ConversationRunEventEncoder, } from "./conversation-run-events.js";
|
|
2
|
+
import { createConversationRunMirror, } from "./conversation-run-mirror.js";
|
|
3
|
+
import { normalizeConversationRunEvents } from "./conversation-run-event-normalization.js";
|
|
4
|
+
export function createConversationRunStreamMirror(input) {
|
|
5
|
+
const encoder = input.encoder ?? new ConversationRunEventEncoder();
|
|
6
|
+
const mirror = createConversationRunMirror({
|
|
7
|
+
queueController: input.queueController,
|
|
8
|
+
immediateFlushEventCount: input.immediateFlushEventCount,
|
|
9
|
+
...(input.flushDelayMs !== undefined ? { flushDelayMs: input.flushDelayMs } : {}),
|
|
10
|
+
...(input.getRetryDelayMs ? { getRetryDelayMs: input.getRetryDelayMs } : {}),
|
|
11
|
+
...(input.onRetryScheduled ? { onRetryScheduled: input.onRetryScheduled } : {}),
|
|
12
|
+
...(input.onStopped ? { onStopped: input.onStopped } : {}),
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
handleStreamEvent(event) {
|
|
16
|
+
mirror.enqueue(normalizeConversationRunEvents(encoder.encode(event)));
|
|
17
|
+
},
|
|
18
|
+
appendEvents(events) {
|
|
19
|
+
mirror.enqueue(normalizeConversationRunEvents(events));
|
|
20
|
+
},
|
|
21
|
+
flush() {
|
|
22
|
+
return mirror.flush();
|
|
23
|
+
},
|
|
24
|
+
getSnapshot() {
|
|
25
|
+
return mirror.getSnapshot();
|
|
26
|
+
},
|
|
27
|
+
dispose() {
|
|
28
|
+
mirror.dispose();
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
}
|
package/esm/src/agent/index.d.ts
CHANGED
|
@@ -92,11 +92,13 @@ export { type AgUiBrowserResponseEncoder, type AgUiBrowserResponseExecution, typ
|
|
|
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
94
|
export { bootstrapConversationAgentRun, type BootstrapConversationAgentRunResult, type ConversationMessageRecord, ConversationMessageRecordSchema, type ConversationRecord, ConversationRecordSchema, createConversationMessage, createConversationRecord, ensureConversationProjectLink, fetchConversationRecord, } from "./conversation-bootstrap.js";
|
|
95
|
-
export { type ConversationChildLifecycleContext, type ConversationHostedLifecycleFinalizeInput, createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, type CreateConversationHostedLifecycleAdapterOptions, } from "./conversation-hosted-lifecycle.js";
|
|
95
|
+
export { type ConversationChildLifecycleContext, type ConversationHostedLifecycleFinalizeInput, createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, type CreateConversationHostedLifecycleAdapterOptions, createConversationHostedStreamLifecycleAdapter, } from "./conversation-hosted-lifecycle.js";
|
|
96
|
+
export { type ConversationHostedTerminalAdapter, type ConversationHostedTerminalStateInput, createConversationHostedTerminalAdapter, type CreateConversationHostedTerminalAdapterOptions, toConversationHostedTerminalState, } from "./conversation-hosted-terminal.js";
|
|
96
97
|
export { getConversationRunEventJsonByteLength, normalizeConversationRunEvent, normalizeConversationRunEvents, } from "./conversation-run-event-normalization.js";
|
|
97
98
|
export { type ConversationRunEvent, ConversationRunEventEncoder, ConversationRunEventSchema, conversationRunEventTypes, encodeConversationRunEvents, normalizeEncodedConversationRunEvents, } from "./conversation-run-events.js";
|
|
98
99
|
export { prepareConversationRunExternalEvents, prepareConversationRunStreamEvents, } from "./conversation-run-event-preparation.js";
|
|
99
100
|
export { type ConversationRunMirror, type ConversationRunMirrorRetryScheduledState, type ConversationRunMirrorSnapshot, type ConversationRunMirrorStoppedState, createConversationRunMirror, } from "./conversation-run-mirror.js";
|
|
101
|
+
export { type ConversationRunStreamMirror, createConversationRunStreamMirror, } from "./conversation-run-stream-mirror.js";
|
|
100
102
|
export { type ActiveConversationRunStatus, appendConversationRunEvents, AppendConversationRunEventsError, type AppendConversationRunEventsResponse, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, type ConversationAgentRunUsage, type ConversationRunAppendCursorResyncResult, type ConversationRunAppendExecutionOutcome, type ConversationRunAppendFailureOutcome, type ConversationRunAppendRecoveryOutcome, type ConversationRunBatchFlushOutcome, type ConversationRunEventQueueController, type ConversationRunProjection, ConversationRunProjectionSchema, type ConversationRunQueueFlushOutcome, ConversationRunStatusSchema, type ConversationRunTargets, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, createConversationRunEventQueueController, finalizeConversationAgentRun, flushConversationRunEventBatches, flushConversationRunEventQueue, getConversationRun, isActiveConversationRunStatus, isAppendableConversationRunProjection, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, recoverConversationRunAppendExecution, recoverConversationRunAppendFailure, recoverConversationRunCursorMismatch, resolveConversationRunTargets, resyncConversationRunAppendCursor, type TerminalConversationRunStatus, } from "./durable.js";
|
|
101
103
|
export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, type InvokeAgentChildRunLifecycleCustomEvent, InvokeAgentChildRunLifecycleCustomEventSchema, type InvokeAgentChildRunLifecycleValue, InvokeAgentChildRunLifecycleValueSchema, type InvokeAgentChildRunProgressEvent, type InvokeAgentChildRunProgressInput, type InvokeAgentChildRunStateDelta, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
102
104
|
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":"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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
|
@@ -91,11 +91,13 @@ export { createAgUiBrowserResponseStream, } from "./ag-ui-browser-response-strea
|
|
|
91
91
|
export { createConversationRunContext, } from "./conversation-run-context.js";
|
|
92
92
|
export { createConversationRootRunContext, createConversationRootRunStartAdapter, prepareConversationRootRunContext, startConversationRootRun, } from "./conversation-root-run-context.js";
|
|
93
93
|
export { bootstrapConversationAgentRun, ConversationMessageRecordSchema, ConversationRecordSchema, createConversationMessage, createConversationRecord, ensureConversationProjectLink, fetchConversationRecord, } from "./conversation-bootstrap.js";
|
|
94
|
-
export { createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, } from "./conversation-hosted-lifecycle.js";
|
|
94
|
+
export { createConversationChildLifecycleAdapter, createConversationHostedLifecycleAdapter, createConversationHostedStreamLifecycleAdapter, } from "./conversation-hosted-lifecycle.js";
|
|
95
|
+
export { createConversationHostedTerminalAdapter, toConversationHostedTerminalState, } from "./conversation-hosted-terminal.js";
|
|
95
96
|
export { getConversationRunEventJsonByteLength, normalizeConversationRunEvent, normalizeConversationRunEvents, } from "./conversation-run-event-normalization.js";
|
|
96
97
|
export { ConversationRunEventEncoder, ConversationRunEventSchema, conversationRunEventTypes, encodeConversationRunEvents, normalizeEncodedConversationRunEvents, } from "./conversation-run-events.js";
|
|
97
98
|
export { prepareConversationRunExternalEvents, prepareConversationRunStreamEvents, } from "./conversation-run-event-preparation.js";
|
|
98
99
|
export { createConversationRunMirror, } from "./conversation-run-mirror.js";
|
|
100
|
+
export { createConversationRunStreamMirror, } from "./conversation-run-stream-mirror.js";
|
|
99
101
|
export { appendConversationRunEvents, AppendConversationRunEventsError, AppendConversationRunEventsResponseSchema, CompleteConversationRunResponseSchema, ConversationRunProjectionSchema, ConversationRunStatusSchema, ConversationRunTargetsSchema, ConversationRunTerminalStateError, createConversationAgentRun, createConversationRunEventQueueController, finalizeConversationAgentRun, flushConversationRunEventBatches, flushConversationRunEventQueue, getConversationRun, isActiveConversationRunStatus, isAppendableConversationRunProjection, isCursorMismatchConversationRunAppendError, isIgnorableConversationRunAppendError, monitorConversationRunStatus, parseAppendConversationRunEventsErrorBody, recoverConversationRunAppendExecution, recoverConversationRunAppendFailure, recoverConversationRunCursorMismatch, resolveConversationRunTargets, resyncConversationRunAppendCursor, } from "./durable.js";
|
|
100
102
|
export { buildInvokeAgentChildRunLifecycleCustomEvent, buildInvokeAgentChildRunProgressEvents, buildInvokeAgentChildRunStateDelta, InvokeAgentChildRunLifecycleCustomEventSchema, InvokeAgentChildRunLifecycleValueSchema, InvokeAgentChildRunStateDeltaSchema, publishInvokeAgentChildRunProgress, } from "./invoke-agent-child-runs.js";
|
|
101
103
|
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.256";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
|
@@ -4,11 +4,13 @@ import {
|
|
|
4
4
|
type ConversationRunProjection,
|
|
5
5
|
finalizeConversationAgentRun,
|
|
6
6
|
} from "./durable.js";
|
|
7
|
+
import { prepareConversationRunStreamEvents } from "./conversation-run-event-preparation.js";
|
|
7
8
|
import {
|
|
8
9
|
type InvokeAgentChildRunProgressEvent,
|
|
9
10
|
type InvokeAgentChildRunProgressInput,
|
|
10
11
|
publishInvokeAgentChildRunProgress,
|
|
11
12
|
} from "./invoke-agent-child-runs.js";
|
|
13
|
+
import type { ChatStreamEvent } from "../chat/protocol.js";
|
|
12
14
|
import type {
|
|
13
15
|
HostedChildLifecycleAdapter,
|
|
14
16
|
HostedChildLifecycleTerminalState,
|
|
@@ -100,6 +102,18 @@ export function createConversationHostedLifecycleAdapter<TChunk>(
|
|
|
100
102
|
};
|
|
101
103
|
}
|
|
102
104
|
|
|
105
|
+
export function createConversationHostedStreamLifecycleAdapter(
|
|
106
|
+
options: Omit<
|
|
107
|
+
CreateConversationHostedLifecycleAdapterOptions<ChatStreamEvent>,
|
|
108
|
+
"mapChunkToEvents"
|
|
109
|
+
>,
|
|
110
|
+
): HostedLifecycleAdapter<ConversationRunProjection, ChatStreamEvent> {
|
|
111
|
+
return createConversationHostedLifecycleAdapter({
|
|
112
|
+
...options,
|
|
113
|
+
mapChunkToEvents: (chunk) => prepareConversationRunStreamEvents([chunk]),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
|
|
103
117
|
export interface ConversationChildLifecycleContext {
|
|
104
118
|
authToken: string;
|
|
105
119
|
apiUrl: string;
|
|
@@ -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,59 @@
|
|
|
1
|
+
import { type ChatStreamEvent } from "../chat/protocol.js";
|
|
2
|
+
import {
|
|
3
|
+
type ConversationRunEvent,
|
|
4
|
+
ConversationRunEventEncoder,
|
|
5
|
+
} from "./conversation-run-events.js";
|
|
6
|
+
import {
|
|
7
|
+
type ConversationRunMirror,
|
|
8
|
+
type ConversationRunMirrorRetryScheduledState,
|
|
9
|
+
type ConversationRunMirrorStoppedState,
|
|
10
|
+
createConversationRunMirror,
|
|
11
|
+
} from "./conversation-run-mirror.js";
|
|
12
|
+
import { normalizeConversationRunEvents } from "./conversation-run-event-normalization.js";
|
|
13
|
+
import { type ConversationRunEventQueueController } from "./durable.js";
|
|
14
|
+
|
|
15
|
+
export interface ConversationRunStreamMirror {
|
|
16
|
+
handleStreamEvent(event: ChatStreamEvent): void;
|
|
17
|
+
appendEvents(events: ConversationRunEvent[]): void;
|
|
18
|
+
flush(): Promise<void>;
|
|
19
|
+
getSnapshot(): ReturnType<ConversationRunMirror["getSnapshot"]>;
|
|
20
|
+
dispose(): void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function createConversationRunStreamMirror(input: {
|
|
24
|
+
queueController: ConversationRunEventQueueController;
|
|
25
|
+
immediateFlushEventCount: number;
|
|
26
|
+
encoder?: ConversationRunEventEncoder;
|
|
27
|
+
flushDelayMs?: number;
|
|
28
|
+
getRetryDelayMs?: (consecutiveFailures: number) => number;
|
|
29
|
+
onRetryScheduled?: (state: ConversationRunMirrorRetryScheduledState) => Promise<void> | void;
|
|
30
|
+
onStopped?: (state: ConversationRunMirrorStoppedState) => Promise<void> | void;
|
|
31
|
+
}): ConversationRunStreamMirror {
|
|
32
|
+
const encoder = input.encoder ?? new ConversationRunEventEncoder();
|
|
33
|
+
const mirror = createConversationRunMirror({
|
|
34
|
+
queueController: input.queueController,
|
|
35
|
+
immediateFlushEventCount: input.immediateFlushEventCount,
|
|
36
|
+
...(input.flushDelayMs !== undefined ? { flushDelayMs: input.flushDelayMs } : {}),
|
|
37
|
+
...(input.getRetryDelayMs ? { getRetryDelayMs: input.getRetryDelayMs } : {}),
|
|
38
|
+
...(input.onRetryScheduled ? { onRetryScheduled: input.onRetryScheduled } : {}),
|
|
39
|
+
...(input.onStopped ? { onStopped: input.onStopped } : {}),
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
handleStreamEvent(event) {
|
|
44
|
+
mirror.enqueue(normalizeConversationRunEvents(encoder.encode(event)));
|
|
45
|
+
},
|
|
46
|
+
appendEvents(events) {
|
|
47
|
+
mirror.enqueue(normalizeConversationRunEvents(events));
|
|
48
|
+
},
|
|
49
|
+
flush() {
|
|
50
|
+
return mirror.flush();
|
|
51
|
+
},
|
|
52
|
+
getSnapshot() {
|
|
53
|
+
return mirror.getSnapshot();
|
|
54
|
+
},
|
|
55
|
+
dispose() {
|
|
56
|
+
mirror.dispose();
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
package/src/src/agent/index.ts
CHANGED
|
@@ -210,7 +210,15 @@ export {
|
|
|
210
210
|
createConversationChildLifecycleAdapter,
|
|
211
211
|
createConversationHostedLifecycleAdapter,
|
|
212
212
|
type CreateConversationHostedLifecycleAdapterOptions,
|
|
213
|
+
createConversationHostedStreamLifecycleAdapter,
|
|
213
214
|
} from "./conversation-hosted-lifecycle.js";
|
|
215
|
+
export {
|
|
216
|
+
type ConversationHostedTerminalAdapter,
|
|
217
|
+
type ConversationHostedTerminalStateInput,
|
|
218
|
+
createConversationHostedTerminalAdapter,
|
|
219
|
+
type CreateConversationHostedTerminalAdapterOptions,
|
|
220
|
+
toConversationHostedTerminalState,
|
|
221
|
+
} from "./conversation-hosted-terminal.js";
|
|
214
222
|
export {
|
|
215
223
|
getConversationRunEventJsonByteLength,
|
|
216
224
|
normalizeConversationRunEvent,
|
|
@@ -235,6 +243,10 @@ export {
|
|
|
235
243
|
type ConversationRunMirrorStoppedState,
|
|
236
244
|
createConversationRunMirror,
|
|
237
245
|
} from "./conversation-run-mirror.js";
|
|
246
|
+
export {
|
|
247
|
+
type ConversationRunStreamMirror,
|
|
248
|
+
createConversationRunStreamMirror,
|
|
249
|
+
} from "./conversation-run-stream-mirror.js";
|
|
238
250
|
export {
|
|
239
251
|
type ActiveConversationRunStatus,
|
|
240
252
|
appendConversationRunEvents,
|