@assistant-ui/react 0.10.7 → 0.10.9
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/dist/api/ThreadRuntime.d.ts +8 -0
- package/dist/api/ThreadRuntime.d.ts.map +1 -1
- package/dist/api/ThreadRuntime.js +1 -0
- package/dist/api/ThreadRuntime.js.map +1 -1
- package/dist/cloud/AssistantCloudThreadMessages.d.ts +1 -1
- package/dist/cloud/AssistantCloudThreadMessages.d.ts.map +1 -1
- package/dist/cloud/AssistantCloudThreadMessages.js.map +1 -1
- package/dist/cloud/auiV0.d.ts +2 -1
- package/dist/cloud/auiV0.d.ts.map +1 -1
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/model-context/tool.d.ts.map +1 -1
- package/dist/model-context/tool.js.map +1 -1
- package/dist/primitives/composer/ComposerAddAttachment.js.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts +1 -0
- package/dist/runtimes/core/BaseThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/core/BaseThreadRuntimeCore.js +10 -0
- package/dist/runtimes/core/BaseThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts +2 -0
- package/dist/runtimes/core/ThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts +2 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +1 -0
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.d.ts.map +1 -1
- package/dist/runtimes/external-store/external-message-converter.js +3 -0
- package/dist/runtimes/external-store/external-message-converter.js.map +1 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts +2 -1
- package/dist/runtimes/local/ChatModelAdapter.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +2 -0
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js +1 -0
- package/dist/runtimes/remote-thread-list/EMPTY_THREAD_CORE.js.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts +2 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListHookInstanceManager.d.ts.map +1 -1
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts +2 -0
- package/dist/runtimes/remote-thread-list/RemoteThreadListThreadListRuntimeCore.d.ts.map +1 -1
- package/dist/tests/setup.js +8 -8
- package/dist/tests/setup.js.map +1 -1
- package/dist/types/AssistantTypes.d.ts +3 -1
- package/dist/types/AssistantTypes.d.ts.map +1 -1
- package/dist/utils/json/is-json.d.ts +1 -1
- package/dist/utils/json/is-json.d.ts.map +1 -1
- package/dist/utils/json/is-json.js.map +1 -1
- package/package.json +2 -2
- package/src/api/ThreadRuntime.ts +9 -0
- package/src/cloud/AssistantCloudThreadMessages.tsx +1 -1
- package/src/cloud/auiV0.ts +2 -4
- package/src/model-context/tool.ts +2 -0
- package/src/primitives/composer/ComposerAddAttachment.tsx +4 -4
- package/src/runtimes/core/BaseThreadRuntimeCore.tsx +12 -0
- package/src/runtimes/core/ThreadRuntimeCore.tsx +2 -0
- package/src/runtimes/external-store/ThreadMessageLike.tsx +3 -4
- package/src/runtimes/external-store/external-message-converter.tsx +4 -0
- package/src/runtimes/local/ChatModelAdapter.tsx +2 -1
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +4 -0
- package/src/runtimes/remote-thread-list/EMPTY_THREAD_CORE.tsx +2 -0
- package/src/tests/MessageRepository.test.ts +1 -0
- package/src/types/AssistantTypes.ts +3 -4
- package/src/utils/json/is-json.ts +1 -1
- package/dist/utils/json/json-value.d.ts +0 -6
- package/dist/utils/json/json-value.d.ts.map +0 -1
- package/dist/utils/json/json-value.js +0 -1
- package/dist/utils/json/json-value.js.map +0 -1
- package/src/utils/json/json-value.ts +0 -13
@@ -1,5 +1,5 @@
|
|
1
1
|
import { CompleteAttachment } from "./AttachmentTypes";
|
2
|
-
import { ReadonlyJSONObject, ReadonlyJSONValue } from "
|
2
|
+
import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
|
3
3
|
export type MessageRole = ThreadMessage["role"];
|
4
4
|
export type TextContentPart = {
|
5
5
|
readonly type: "text";
|
@@ -101,6 +101,7 @@ export type ThreadAssistantMessage = MessageCommonProps & {
|
|
101
101
|
readonly content: readonly ThreadAssistantContentPart[];
|
102
102
|
readonly status: MessageStatus;
|
103
103
|
readonly metadata: {
|
104
|
+
readonly unstable_state: ReadonlyJSONValue;
|
104
105
|
readonly unstable_annotations: readonly ReadonlyJSONValue[];
|
105
106
|
readonly unstable_data: readonly ReadonlyJSONValue[];
|
106
107
|
readonly steps: readonly ThreadStep[];
|
@@ -120,6 +121,7 @@ export type AppendMessage = Omit<ThreadMessage, "id"> & {
|
|
120
121
|
type BaseThreadMessage = {
|
121
122
|
readonly status?: ThreadAssistantMessage["status"];
|
122
123
|
readonly metadata: {
|
124
|
+
readonly unstable_state?: ReadonlyJSONValue;
|
123
125
|
readonly unstable_annotations?: readonly ReadonlyJSONValue[];
|
124
126
|
readonly unstable_data?: readonly ReadonlyJSONValue[];
|
125
127
|
readonly steps?: readonly ThreadStep[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"AssistantTypes.d.ts","sourceRoot":"","sources":["../../src/types/AssistantTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,
|
1
|
+
{"version":3,"file":"AssistantTypes.d.ts","sourceRoot":"","sources":["../../src/types/AssistantTypes.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ReadonlyJSONArray, ReadonlyJSONObject, ReadonlyJSONValue } from "
|
1
|
+
import { ReadonlyJSONArray, ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
|
2
2
|
export declare function isJSONValue(value: unknown, currentDepth?: number): value is ReadonlyJSONValue;
|
3
3
|
export declare function isJSONArray(value: unknown): value is ReadonlyJSONArray;
|
4
4
|
export declare function isJSONObject(value: unknown): value is ReadonlyJSONObject;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"is-json.d.ts","sourceRoot":"","sources":["../../../src/utils/json/is-json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,
|
1
|
+
{"version":3,"file":"is-json.d.ts","sourceRoot":"","sources":["../../../src/utils/json/is-json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,YAAY,GAAE,MAAU,GACvB,KAAK,IAAI,iBAAiB,CA+B5B;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAEtE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAQxE"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/json/is-json.ts"],"sourcesContent":["import {\n ReadonlyJSONArray,\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"
|
1
|
+
{"version":3,"sources":["../../../src/utils/json/is-json.ts"],"sourcesContent":["import {\n ReadonlyJSONArray,\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"assistant-stream/utils\";\n\nexport function isJSONValue(\n value: unknown,\n currentDepth: number = 0,\n): value is ReadonlyJSONValue {\n // Protect against too deep recursion\n if (currentDepth > 100) {\n return false;\n }\n\n if (\n value === null ||\n typeof value === \"string\" ||\n typeof value === \"boolean\"\n ) {\n return true;\n }\n\n // Handle special number cases\n if (typeof value === \"number\") {\n return !Number.isNaN(value) && Number.isFinite(value);\n }\n\n if (Array.isArray(value)) {\n return value.every((item) => isJSONValue(item, currentDepth + 1));\n }\n\n if (typeof value === \"object\") {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === \"string\" && isJSONValue(val, currentDepth + 1),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is ReadonlyJSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is ReadonlyJSONObject {\n return (\n value != null &&\n typeof value === \"object\" &&\n Object.entries(value).every(\n ([key, val]) => typeof key === \"string\" && isJSONValue(val),\n )\n );\n}\n"],"mappings":";AAMO,SAAS,YACd,OACA,eAAuB,GACK;AAE5B,MAAI,eAAe,KAAK;AACtB,WAAO;AAAA,EACT;AAEA,MACE,UAAU,QACV,OAAO,UAAU,YACjB,OAAO,UAAU,WACjB;AACA,WAAO;AAAA,EACT;AAGA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,CAAC,OAAO,MAAM,KAAK,KAAK,OAAO,SAAS,KAAK;AAAA,EACtD;AAEA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,MAAM,CAAC,SAAS,YAAY,MAAM,eAAe,CAAC,CAAC;AAAA,EAClE;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,OAAO,QAAQ,KAAK,EAAE;AAAA,MAC3B,CAAC,CAAC,KAAK,GAAG,MACR,OAAO,QAAQ,YAAY,YAAY,KAAK,eAAe,CAAC;AAAA,IAChE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,YAAY,OAA4C;AACtE,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,WAAW;AACxD;AAEO,SAAS,aAAa,OAA6C;AACxE,SACE,SAAS,QACT,OAAO,UAAU,YACjB,OAAO,QAAQ,KAAK,EAAE;AAAA,IACpB,CAAC,CAAC,KAAK,GAAG,MAAM,OAAO,QAAQ,YAAY,YAAY,GAAG;AAAA,EAC5D;AAEJ;","names":[]}
|
package/package.json
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
"conversational-ui",
|
29
29
|
"conversational-ai"
|
30
30
|
],
|
31
|
-
"version": "0.10.
|
31
|
+
"version": "0.10.9",
|
32
32
|
"license": "MIT",
|
33
33
|
"type": "module",
|
34
34
|
"exports": {
|
@@ -57,7 +57,7 @@
|
|
57
57
|
"@radix-ui/react-use-callback-ref": "^1.1.1",
|
58
58
|
"@radix-ui/react-use-escape-keydown": "^1.1.1",
|
59
59
|
"@standard-schema/spec": "^1.0.0",
|
60
|
-
"assistant-stream": "^0.2.
|
60
|
+
"assistant-stream": "^0.2.7",
|
61
61
|
"json-schema": "^0.4.0",
|
62
62
|
"nanoid": "5.1.5",
|
63
63
|
"react-textarea-autosize": "^8.5.9",
|
package/src/api/ThreadRuntime.ts
CHANGED
@@ -33,6 +33,7 @@ import { EventSubscriptionSubject } from "./subscribable/EventSubscriptionSubjec
|
|
33
33
|
import { symbolInnerMessage } from "../runtimes/external-store/getExternalStoreMessage";
|
34
34
|
import { ModelContext } from "../model-context";
|
35
35
|
import { ChatModelRunOptions, ChatModelRunResult } from "../runtimes";
|
36
|
+
import { ReadonlyJSONValue } from "assistant-stream/utils";
|
36
37
|
|
37
38
|
export type CreateStartRunConfig = {
|
38
39
|
parentId: string | null;
|
@@ -150,6 +151,13 @@ export type ThreadState = {
|
|
150
151
|
*/
|
151
152
|
readonly messages: readonly ThreadMessage[];
|
152
153
|
|
154
|
+
/**
|
155
|
+
* The thread state.
|
156
|
+
*
|
157
|
+
* @deprecated This feature is experimental
|
158
|
+
*/
|
159
|
+
readonly state: ReadonlyJSONValue;
|
160
|
+
|
153
161
|
/**
|
154
162
|
* Follow up message suggestions to show the user.
|
155
163
|
*/
|
@@ -181,6 +189,7 @@ export const getThreadState = (
|
|
181
189
|
? false
|
182
190
|
: lastMessage.status.type === "running",
|
183
191
|
messages: runtime.messages,
|
192
|
+
state: runtime.state,
|
184
193
|
suggestions: runtime.suggestions,
|
185
194
|
extras: runtime.extras,
|
186
195
|
speech: runtime.speech,
|
package/src/cloud/auiV0.ts
CHANGED
@@ -3,10 +3,7 @@ import { MessageStatus } from "../types/AssistantTypes";
|
|
3
3
|
import { fromThreadMessageLike } from "../runtimes/external-store/ThreadMessageLike";
|
4
4
|
import { CloudMessage } from "./AssistantCloudThreadMessages";
|
5
5
|
import { isJSONValue } from "../utils/json/is-json";
|
6
|
-
import {
|
7
|
-
ReadonlyJSONObject,
|
8
|
-
ReadonlyJSONValue,
|
9
|
-
} from "../utils/json/json-value";
|
6
|
+
import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
|
10
7
|
import { ExportedMessageRepositoryItem } from "../runtimes/utils/MessageRepository";
|
11
8
|
|
12
9
|
type AuiV0MessageContentPart =
|
@@ -47,6 +44,7 @@ type AuiV0Message = {
|
|
47
44
|
readonly status?: MessageStatus;
|
48
45
|
readonly content: readonly AuiV0MessageContentPart[];
|
49
46
|
readonly metadata: {
|
47
|
+
readonly unstable_state?: ReadonlyJSONValue;
|
50
48
|
readonly unstable_annotations: readonly ReadonlyJSONValue[];
|
51
49
|
readonly unstable_data: readonly ReadonlyJSONValue[];
|
52
50
|
readonly steps: readonly {
|
@@ -27,9 +27,9 @@ const useComposerAddAttachment = ({
|
|
27
27
|
if (attachmentAccept !== "*") {
|
28
28
|
input.accept = attachmentAccept;
|
29
29
|
}
|
30
|
-
|
30
|
+
|
31
31
|
document.body.appendChild(input);
|
32
|
-
|
32
|
+
|
33
33
|
input.onchange = (e) => {
|
34
34
|
const fileList = (e.target as HTMLInputElement).files;
|
35
35
|
if (!fileList) return;
|
@@ -44,8 +44,8 @@ const useComposerAddAttachment = ({
|
|
44
44
|
if (!input.files || input.files.length === 0) {
|
45
45
|
document.body.removeChild(input);
|
46
46
|
}
|
47
|
-
}
|
48
|
-
|
47
|
+
};
|
48
|
+
|
49
49
|
input.click();
|
50
50
|
}, [composerRuntime, multiple]);
|
51
51
|
|
@@ -50,6 +50,18 @@ export abstract class BaseThreadRuntimeCore implements ThreadRuntimeCore {
|
|
50
50
|
return this.repository.getMessages();
|
51
51
|
}
|
52
52
|
|
53
|
+
public get state() {
|
54
|
+
let mostRecentAssistantMessage;
|
55
|
+
for (const message of this.messages) {
|
56
|
+
if (message.role === "assistant") {
|
57
|
+
mostRecentAssistantMessage = message;
|
58
|
+
break;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
return mostRecentAssistantMessage?.metadata.unstable_state ?? null;
|
63
|
+
}
|
64
|
+
|
53
65
|
public readonly composer = new DefaultThreadComposerRuntimeCore(this);
|
54
66
|
|
55
67
|
constructor(private readonly _contextProvider: ModelContextProvider) {}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { ReadonlyJSONValue } from "assistant-stream/utils";
|
1
2
|
import { ModelContext } from "../../model-context";
|
2
3
|
import { AppendMessage, ThreadMessage } from "../../types";
|
3
4
|
import { RunConfig } from "../../types/AssistantTypes";
|
@@ -99,6 +100,7 @@ export type ThreadRuntimeCore = Readonly<{
|
|
99
100
|
capabilities: Readonly<RuntimeCapabilities>;
|
100
101
|
isDisabled: boolean;
|
101
102
|
messages: readonly ThreadMessage[];
|
103
|
+
state: ReadonlyJSONValue;
|
102
104
|
suggestions: readonly ThreadSuggestion[];
|
103
105
|
|
104
106
|
// TODO deprecate for a more elegant solution
|
@@ -19,10 +19,7 @@ import {
|
|
19
19
|
SourceContentPart,
|
20
20
|
ThreadStep,
|
21
21
|
} from "../../types/AssistantTypes";
|
22
|
-
import {
|
23
|
-
ReadonlyJSONObject,
|
24
|
-
ReadonlyJSONValue,
|
25
|
-
} from "../../utils/json/json-value";
|
22
|
+
import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
|
26
23
|
|
27
24
|
export type ThreadMessageLike = {
|
28
25
|
readonly role: "assistant" | "user" | "system";
|
@@ -52,6 +49,7 @@ export type ThreadMessageLike = {
|
|
52
49
|
readonly attachments?: readonly CompleteAttachment[] | undefined;
|
53
50
|
readonly metadata?:
|
54
51
|
| {
|
52
|
+
readonly unstable_state?: ReadonlyJSONValue;
|
55
53
|
readonly unstable_annotations?:
|
56
54
|
| readonly ReadonlyJSONValue[]
|
57
55
|
| undefined;
|
@@ -136,6 +134,7 @@ export const fromThreadMessageLike = (
|
|
136
134
|
.filter((c) => !!c),
|
137
135
|
status: status ?? fallbackStatus,
|
138
136
|
metadata: {
|
137
|
+
unstable_state: metadata?.unstable_state ?? null,
|
139
138
|
unstable_annotations: metadata?.unstable_annotations ?? [],
|
140
139
|
unstable_data: metadata?.unstable_data ?? [],
|
141
140
|
custom: metadata?.custom ?? {},
|
@@ -113,6 +113,10 @@ const joinExternalMessages = (
|
|
113
113
|
|
114
114
|
if (output.metadata) {
|
115
115
|
assistantMessage.metadata ??= {};
|
116
|
+
if (output.metadata.unstable_state) {
|
117
|
+
assistantMessage.metadata.unstable_state =
|
118
|
+
output.metadata.unstable_state;
|
119
|
+
}
|
116
120
|
if (output.metadata.unstable_annotations) {
|
117
121
|
assistantMessage.metadata.unstable_annotations = [
|
118
122
|
...(assistantMessage.metadata.unstable_annotations ?? []),
|
@@ -11,7 +11,7 @@ import type {
|
|
11
11
|
ToolCallContentPart,
|
12
12
|
} from "../../types/AssistantTypes";
|
13
13
|
import type { ModelContext } from "../../model-context/ModelContextTypes";
|
14
|
-
import { ReadonlyJSONValue } from "
|
14
|
+
import { ReadonlyJSONValue } from "assistant-stream/utils";
|
15
15
|
|
16
16
|
export type ChatModelRunUpdate = {
|
17
17
|
readonly content: readonly ThreadAssistantContentPart[];
|
@@ -22,6 +22,7 @@ export type ChatModelRunResult = {
|
|
22
22
|
readonly content?: readonly ThreadAssistantContentPart[] | undefined;
|
23
23
|
readonly status?: MessageStatus | undefined;
|
24
24
|
readonly metadata?: {
|
25
|
+
readonly unstable_state?: ReadonlyJSONValue;
|
25
26
|
readonly unstable_annotations?: readonly ReadonlyJSONValue[] | undefined;
|
26
27
|
readonly unstable_data?: readonly ReadonlyJSONValue[] | undefined;
|
27
28
|
readonly steps?: readonly ThreadStep[] | undefined;
|
@@ -160,6 +160,7 @@ export class LocalThreadRuntimeCore
|
|
160
160
|
status: { type: "running" },
|
161
161
|
content: [],
|
162
162
|
metadata: {
|
163
|
+
unstable_state: this.state,
|
163
164
|
unstable_annotations: [],
|
164
165
|
unstable_data: [],
|
165
166
|
steps: [],
|
@@ -251,6 +252,9 @@ export class LocalThreadRuntimeCore
|
|
251
252
|
? {
|
252
253
|
metadata: {
|
253
254
|
...message.metadata,
|
255
|
+
...(m.metadata.unstable_state
|
256
|
+
? { unstable_state: m.metadata.unstable_state }
|
257
|
+
: undefined),
|
254
258
|
...(annotations
|
255
259
|
? { unstable_annotations: annotations }
|
256
260
|
: undefined),
|
@@ -1,8 +1,5 @@
|
|
1
1
|
import { CompleteAttachment } from "./AttachmentTypes";
|
2
|
-
import {
|
3
|
-
ReadonlyJSONObject,
|
4
|
-
ReadonlyJSONValue,
|
5
|
-
} from "../utils/json/json-value";
|
2
|
+
import { ReadonlyJSONObject, ReadonlyJSONValue } from "assistant-stream/utils";
|
6
3
|
|
7
4
|
export type MessageRole = ThreadMessage["role"];
|
8
5
|
|
@@ -156,6 +153,7 @@ export type ThreadAssistantMessage = MessageCommonProps & {
|
|
156
153
|
readonly content: readonly ThreadAssistantContentPart[];
|
157
154
|
readonly status: MessageStatus;
|
158
155
|
readonly metadata: {
|
156
|
+
readonly unstable_state: ReadonlyJSONValue;
|
159
157
|
readonly unstable_annotations: readonly ReadonlyJSONValue[];
|
160
158
|
readonly unstable_data: readonly ReadonlyJSONValue[];
|
161
159
|
readonly steps: readonly ThreadStep[];
|
@@ -180,6 +178,7 @@ export type AppendMessage = Omit<ThreadMessage, "id"> & {
|
|
180
178
|
type BaseThreadMessage = {
|
181
179
|
readonly status?: ThreadAssistantMessage["status"];
|
182
180
|
readonly metadata: {
|
181
|
+
readonly unstable_state?: ReadonlyJSONValue;
|
183
182
|
readonly unstable_annotations?: readonly ReadonlyJSONValue[];
|
184
183
|
readonly unstable_data?: readonly ReadonlyJSONValue[];
|
185
184
|
readonly steps?: readonly ThreadStep[];
|
@@ -1,6 +0,0 @@
|
|
1
|
-
export type ReadonlyJSONValue = null | string | number | boolean | ReadonlyJSONObject | ReadonlyJSONArray;
|
2
|
-
export type ReadonlyJSONObject = {
|
3
|
-
readonly [key: string]: ReadonlyJSONValue;
|
4
|
-
};
|
5
|
-
export type ReadonlyJSONArray = readonly ReadonlyJSONValue[];
|
6
|
-
//# sourceMappingURL=json-value.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"json-value.d.ts","sourceRoot":"","sources":["../../../src/utils/json/json-value.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,IAAI,GACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,SAAS,iBAAiB,EAAE,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
//# sourceMappingURL=json-value.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
export type ReadonlyJSONValue =
|
2
|
-
| null
|
3
|
-
| string
|
4
|
-
| number
|
5
|
-
| boolean
|
6
|
-
| ReadonlyJSONObject
|
7
|
-
| ReadonlyJSONArray;
|
8
|
-
|
9
|
-
export type ReadonlyJSONObject = {
|
10
|
-
readonly [key: string]: ReadonlyJSONValue;
|
11
|
-
};
|
12
|
-
|
13
|
-
export type ReadonlyJSONArray = readonly ReadonlyJSONValue[];
|