@assistant-ui/react-ag-ui 0.0.69 → 0.0.70
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/README.md +1 -1
- package/dist/runtime/AgUiThreadRuntimeCore.d.ts +4 -3
- package/dist/runtime/AgUiThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtime/AgUiThreadRuntimeCore.js +20 -6
- package/dist/runtime/AgUiThreadRuntimeCore.js.map +1 -1
- package/dist/runtime/adapter/conversions.d.ts +5 -0
- package/dist/runtime/adapter/conversions.d.ts.map +1 -1
- package/dist/runtime/adapter/conversions.js +104 -15
- package/dist/runtime/adapter/conversions.js.map +1 -1
- package/dist/runtime/adapter/run-aggregator.d.ts.map +1 -1
- package/dist/runtime/adapter/run-aggregator.js +1 -1
- package/dist/runtime/adapter/run-aggregator.js.map +1 -1
- package/dist/runtime/types.d.ts +16 -2
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/types.js.map +1 -1
- package/dist/useAgUiRuntime.d.ts.map +1 -1
- package/dist/useAgUiRuntime.js +2 -0
- package/dist/useAgUiRuntime.js.map +1 -1
- package/package.json +5 -5
- package/src/runtime/AgUiThreadRuntimeCore.interrupt-cancel.test.ts +202 -0
- package/src/runtime/AgUiThreadRuntimeCore.ts +25 -7
- package/src/runtime/adapter/conversions.metadata.test.ts +400 -0
- package/src/runtime/adapter/conversions.ts +170 -28
- package/src/runtime/adapter/run-aggregator.approval.test.ts +4 -4
- package/src/runtime/adapter/run-aggregator.ts +8 -2
- package/src/runtime/types.ts +18 -1
- package/src/useAgUiRuntime.context.test.tsx +227 -0
- package/src/useAgUiRuntime.ts +2 -0
package/README.md
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { AddToolResultOptions, AppendMessage, CreateAppendMessage, AssistantRuntime, ChatModelRunOptions, ChatModelRunResult, ExportedMessageRepository, RespondToToolApprovalOptions, ThreadHistoryAdapter, ThreadMessage, Unstable_ToolInteraction } from "@assistant-ui/core";
|
|
1
|
+
import type { AddToolResultOptions, AppendMessage, CreateAppendMessage, AssistantRuntime, ChatModelRunOptions, ChatModelRunResult, ExportedMessageRepository, RespondToToolApprovalOptions, RunConfig, ThreadHistoryAdapter, ThreadMessage, Unstable_ToolInteraction } from "@assistant-ui/core";
|
|
2
2
|
import type { AbstractAgent } from "@ag-ui/client";
|
|
3
3
|
import type { Logger } from "./logger.js";
|
|
4
|
-
import type { AgUiInterrupt, AgUiResumeEntry, AgUiResumeTranscript } from "./types.js";
|
|
4
|
+
import type { AgUiInterrupt, AgUiResumeEntry, AgUiResumeTranscript, UseAgUiRuntimeOptions } from "./types.js";
|
|
5
5
|
import type { ReadonlyJSONValue } from "assistant-stream/utils";
|
|
6
|
-
type RunConfig = NonNullable<AppendMessage["runConfig"]>;
|
|
7
6
|
type ResumeStream = (options: ChatModelRunOptions) => AsyncGenerator<ChatModelRunResult, void, unknown>;
|
|
8
7
|
type ResumeRunConfig = {
|
|
9
8
|
parentId: string | null;
|
|
@@ -15,6 +14,7 @@ type CoreOptions = {
|
|
|
15
14
|
agent: AbstractAgent;
|
|
16
15
|
logger: Logger;
|
|
17
16
|
showThinking: boolean;
|
|
17
|
+
getRunContext?: UseAgUiRuntimeOptions["getRunContext"];
|
|
18
18
|
resumeTranscript?: AgUiResumeTranscript | undefined;
|
|
19
19
|
autoCancelPendingToolCalls?: boolean | undefined;
|
|
20
20
|
onError?: (error: Error) => void;
|
|
@@ -26,6 +26,7 @@ export declare class AgUiThreadRuntimeCore {
|
|
|
26
26
|
private agent;
|
|
27
27
|
private logger;
|
|
28
28
|
private showThinking;
|
|
29
|
+
private getRunContext;
|
|
29
30
|
private resumeTranscript;
|
|
30
31
|
private autoCancelPendingToolCalls;
|
|
31
32
|
private onError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgUiThreadRuntimeCore.d.ts","sourceRoot":"","sources":["../../src/runtime/AgUiThreadRuntimeCore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EAEzB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"AgUiThreadRuntimeCore.d.ts","sourceRoot":"","sources":["../../src/runtime/AgUiThreadRuntimeCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ var AgUiThreadRuntimeCore = class {
|
|
|
38
38
|
agent;
|
|
39
39
|
logger;
|
|
40
40
|
showThinking;
|
|
41
|
+
getRunContext;
|
|
41
42
|
resumeTranscript;
|
|
42
43
|
autoCancelPendingToolCalls;
|
|
43
44
|
onError;
|
|
@@ -83,6 +84,7 @@ var AgUiThreadRuntimeCore = class {
|
|
|
83
84
|
this.agent = options.agent;
|
|
84
85
|
this.logger = options.logger;
|
|
85
86
|
this.showThinking = options.showThinking;
|
|
87
|
+
this.getRunContext = options.getRunContext;
|
|
86
88
|
this.resumeTranscript = options.resumeTranscript ?? "full";
|
|
87
89
|
this.autoCancelPendingToolCalls = options.autoCancelPendingToolCalls;
|
|
88
90
|
this.onError = options.onError;
|
|
@@ -108,6 +110,7 @@ var AgUiThreadRuntimeCore = class {
|
|
|
108
110
|
this.agent = options.agent;
|
|
109
111
|
this.logger = options.logger;
|
|
110
112
|
this.showThinking = options.showThinking;
|
|
113
|
+
this.getRunContext = options.getRunContext;
|
|
111
114
|
this.resumeTranscript = options.resumeTranscript ?? "full";
|
|
112
115
|
this.autoCancelPendingToolCalls = options.autoCancelPendingToolCalls;
|
|
113
116
|
this.onError = options.onError;
|
|
@@ -955,29 +958,40 @@ var AgUiThreadRuntimeCore = class {
|
|
|
955
958
|
} });
|
|
956
959
|
}
|
|
957
960
|
buildRunInput(runId, runConfig, historyMessages, resume) {
|
|
961
|
+
const pendingA2uiAction = this.pendingA2uiAction;
|
|
962
|
+
this.pendingA2uiAction = void 0;
|
|
958
963
|
const threadId = this.agent.threadId || "main";
|
|
959
964
|
const messages = toAgUiMessages(this.selectRunMessages(historyMessages ?? this.session.getMessages(), resume));
|
|
960
965
|
const context = this.runtime?.thread.getModelContext();
|
|
961
|
-
|
|
966
|
+
let hostContext = [];
|
|
967
|
+
try {
|
|
968
|
+
hostContext = this.getRunContext?.({
|
|
969
|
+
messages,
|
|
970
|
+
runConfig
|
|
971
|
+
}) ?? [];
|
|
972
|
+
} catch (error) {
|
|
973
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
974
|
+
this.logger.error("[agui] getRunContext failed", err);
|
|
975
|
+
invokeRuntimeCallback("onError", this.onError, err);
|
|
976
|
+
}
|
|
977
|
+
return {
|
|
962
978
|
threadId,
|
|
963
979
|
runId,
|
|
964
980
|
state: this.stateSnapshot ?? null,
|
|
965
981
|
messages,
|
|
966
982
|
tools: toAgUiTools(context?.tools),
|
|
967
|
-
context: context?.system ? [{
|
|
983
|
+
context: [...context?.system ? [{
|
|
968
984
|
description: "system",
|
|
969
985
|
value: context.system
|
|
970
|
-
}] : [],
|
|
986
|
+
}] : [], ...hostContext],
|
|
971
987
|
forwardedProps: {
|
|
972
988
|
...context?.callSettings ?? {},
|
|
973
989
|
...context?.config ?? {},
|
|
974
990
|
...runConfig?.custom ? { runConfig: runConfig.custom } : {},
|
|
975
|
-
...
|
|
991
|
+
...pendingA2uiAction ? { a2uiAction: { userAction: pendingA2uiAction } } : {}
|
|
976
992
|
},
|
|
977
993
|
...resume !== void 0 ? { resume: resume.entries } : {}
|
|
978
994
|
};
|
|
979
|
-
this.pendingA2uiAction = void 0;
|
|
980
|
-
return input;
|
|
981
995
|
}
|
|
982
996
|
/**
|
|
983
997
|
* An anchor the thread no longer carries falls back to the whole transcript.
|