@assistant-ui/react 0.7.60 → 0.7.61
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cloud/auiV0.d.ts +2 -2
- package/dist/cloud/auiV0.d.ts.map +1 -1
- package/dist/cloud/auiV0.js.map +1 -1
- package/dist/cloud/auiV0.mjs.map +1 -1
- package/dist/primitives/threadList/ThreadListRoot.d.ts +12 -0
- package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
- package/dist/primitives/threadList/ThreadListRoot.js +37 -0
- package/dist/primitives/threadList/ThreadListRoot.js.map +1 -0
- package/dist/primitives/threadList/ThreadListRoot.mjs +12 -0
- package/dist/primitives/threadList/ThreadListRoot.mjs.map +1 -0
- package/dist/primitives/threadList/index.d.ts +1 -0
- package/dist/primitives/threadList/index.d.ts.map +1 -1
- package/dist/primitives/threadList/index.js +5 -2
- package/dist/primitives/threadList/index.js.map +1 -1
- package/dist/primitives/threadList/index.mjs +3 -1
- package/dist/primitives/threadList/index.mjs.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts +11 -10
- package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.js +8 -6
- package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
- package/dist/runtimes/external-store/ThreadMessageLike.mjs +8 -6
- package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/tailwindcss/thread.css +1 -1
- package/dist/styles/tailwindcss/thread.css.json +1 -1
- package/dist/ui/thread-list.d.ts +3 -1
- package/dist/ui/thread-list.d.ts.map +1 -1
- package/dist/ui/thread-list.js +1 -1
- package/dist/ui/thread-list.js.map +1 -1
- package/dist/ui/thread-list.mjs +1 -1
- package/dist/ui/thread-list.mjs.map +1 -1
- package/dist/ui/thread-welcome.js +1 -1
- package/dist/ui/thread-welcome.js.map +1 -1
- package/dist/ui/thread-welcome.mjs +1 -1
- package/dist/ui/thread-welcome.mjs.map +1 -1
- package/package.json +1 -1
- package/src/cloud/auiV0.ts +5 -2
- package/src/primitives/threadList/ThreadListRoot.tsx +18 -0
- package/src/primitives/threadList/index.ts +1 -0
- package/src/runtimes/external-store/ThreadMessageLike.tsx +19 -20
- package/src/styles/tailwindcss/thread.css +1 -1
- package/src/ui/thread-list.tsx +1 -1
- package/src/ui/thread-welcome.tsx +1 -1
package/dist/cloud/auiV0.d.ts
CHANGED
@@ -2,7 +2,7 @@ import { JSONObject } from "@ai-sdk/provider";
|
|
2
2
|
import { ThreadMessage } from "../types";
|
3
3
|
import { MessageStatus } from "../types/AssistantTypes";
|
4
4
|
import { CloudMessage } from "./AssistantCloudThreadMessages";
|
5
|
-
import { ReadonlyJSONValue } from "../utils/json/json-value";
|
5
|
+
import { ReadonlyJSONObject, ReadonlyJSONValue } from "../utils/json/json-value";
|
6
6
|
import { ExportedMessageRepositoryItem } from "../runtimes/utils/MessageRepository";
|
7
7
|
type AuiV0MessageContentPart = {
|
8
8
|
readonly type: "text";
|
@@ -11,7 +11,7 @@ type AuiV0MessageContentPart = {
|
|
11
11
|
readonly type: "tool-call";
|
12
12
|
readonly toolCallId: string;
|
13
13
|
readonly toolName: string;
|
14
|
-
readonly args:
|
14
|
+
readonly args: ReadonlyJSONObject;
|
15
15
|
readonly result?: ReadonlyJSONValue;
|
16
16
|
readonly isError?: true;
|
17
17
|
} | {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"auiV0.d.ts","sourceRoot":"","sources":["../../src/cloud/auiV0.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,
|
1
|
+
{"version":3,"file":"auiV0.d.ts","sourceRoot":"","sources":["../../src/cloud/auiV0.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,KAAK,uBAAuB,GACxB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;CACzB,CAAC;AAEN,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,oBAAoB,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAC5D,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACrD,QAAQ,CAAC,KAAK,EAAE,SAAS;YACvB,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;aACnC,CAAC;SACH,EAAE,CAAC;QACJ,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,aAAa,KAAG,YA0DpD,CAAC;AAEF,eAAO,MAAM,WAAW,iBACR,YAAY,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,KAChD,6BAmBF,CAAC"}
|
package/dist/cloud/auiV0.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/cloud/auiV0.ts"],"sourcesContent":["import { JSONObject } from \"@ai-sdk/provider\";\nimport { ThreadMessage } from \"../types\";\nimport { MessageStatus } from \"../types/AssistantTypes\";\nimport { fromThreadMessageLike } from \"../runtimes/external-store/ThreadMessageLike\";\nimport { CloudMessage } from \"./AssistantCloudThreadMessages\";\nimport { isJSONValue } from \"../utils/json/is-json\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/cloud/auiV0.ts"],"sourcesContent":["import { JSONObject } from \"@ai-sdk/provider\";\nimport { ThreadMessage } from \"../types\";\nimport { MessageStatus } from \"../types/AssistantTypes\";\nimport { fromThreadMessageLike } from \"../runtimes/external-store/ThreadMessageLike\";\nimport { CloudMessage } from \"./AssistantCloudThreadMessages\";\nimport { isJSONValue } from \"../utils/json/is-json\";\nimport {\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"../utils/json/json-value\";\nimport { ExportedMessageRepositoryItem } from \"../runtimes/utils/MessageRepository\";\n\ntype AuiV0MessageContentPart =\n | {\n readonly type: \"text\";\n readonly text: string;\n }\n | {\n readonly type: \"tool-call\";\n readonly toolCallId: string;\n readonly toolName: string;\n readonly args: ReadonlyJSONObject;\n readonly result?: ReadonlyJSONValue;\n readonly isError?: true;\n }\n | {\n readonly type: \"tool-call\";\n readonly toolCallId: string;\n readonly toolName: string;\n readonly argsText: string;\n readonly result?: ReadonlyJSONValue;\n readonly isError?: true;\n };\n\ntype AuiV0Message = {\n readonly role: \"assistant\" | \"user\" | \"system\";\n readonly status?: MessageStatus;\n readonly content: readonly AuiV0MessageContentPart[];\n readonly metadata: {\n readonly unstable_annotations: readonly ReadonlyJSONValue[];\n readonly unstable_data: readonly ReadonlyJSONValue[];\n readonly steps: readonly {\n readonly usage?: {\n readonly promptTokens: number;\n readonly completionTokens: number;\n };\n }[];\n readonly custom: Readonly<JSONObject>;\n };\n};\n\nexport const auiV0Encode = (message: ThreadMessage): AuiV0Message => {\n // TODO attachments are currently intentionally ignored\n // info: ID and createdAt are ignored (we use the server value instead)\n return {\n role: message.role,\n content: message.content.map((part) => {\n const type = part.type;\n switch (type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n\n case \"tool-call\": {\n if (!isJSONValue(part.result)) {\n console.warn(\n \"tool-call result is not JSON! \" + JSON.stringify(part),\n );\n }\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n ...(JSON.stringify(part.args) === part.argsText\n ? {\n args: part.args,\n }\n : { argsText: part.argsText }),\n ...(part.result\n ? { result: part.result as ReadonlyJSONValue }\n : {}),\n ...(part.isError ? { isError: true } : {}),\n };\n }\n\n default: {\n const unhandledType: \"ui\" | \"image\" | \"file\" | \"audio\" = type;\n throw new Error(\n `Content part type not supported by aui/v0: ${unhandledType}`,\n );\n }\n }\n }),\n metadata: message.metadata as AuiV0Message[\"metadata\"],\n ...(message.status\n ? {\n status:\n message.status?.type === \"running\"\n ? {\n type: \"incomplete\",\n reason: \"cancelled\",\n }\n : message.status,\n }\n : undefined),\n };\n};\n\nexport const auiV0Decode = (\n cloudMessage: CloudMessage & { format: \"aui/v0\" },\n): ExportedMessageRepositoryItem => {\n const payload = cloudMessage.content as unknown as AuiV0Message;\n const message = fromThreadMessageLike(\n {\n id: cloudMessage.id,\n createdAt: cloudMessage.created_at,\n ...payload,\n },\n cloudMessage.id,\n {\n type: \"complete\",\n reason: \"unknown\",\n },\n );\n\n return {\n parentId: cloudMessage.parent_id,\n message,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,+BAAsC;AAEtC,qBAA4B;AA8CrB,IAAM,cAAc,CAAC,YAAyC;AAGnE,SAAO;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,YAAM,OAAO,KAAK;AAClB,cAAQ,MAAM;AAAA,QACZ,KAAK,QAAQ;AACX,iBAAO;AAAA,YACL,MAAM;AAAA,YACN,MAAM,KAAK;AAAA,UACb;AAAA,QACF;AAAA,QAEA,KAAK,aAAa;AAChB,cAAI,KAAC,4BAAY,KAAK,MAAM,GAAG;AAC7B,oBAAQ;AAAA,cACN,mCAAmC,KAAK,UAAU,IAAI;AAAA,YACxD;AAAA,UACF;AACA,iBAAO;AAAA,YACL,MAAM;AAAA,YACN,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,GAAI,KAAK,UAAU,KAAK,IAAI,MAAM,KAAK,WACnC;AAAA,cACE,MAAM,KAAK;AAAA,YACb,IACA,EAAE,UAAU,KAAK,SAAS;AAAA,YAC9B,GAAI,KAAK,SACL,EAAE,QAAQ,KAAK,OAA4B,IAC3C,CAAC;AAAA,YACL,GAAI,KAAK,UAAU,EAAE,SAAS,KAAK,IAAI,CAAC;AAAA,UAC1C;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,gBAAmD;AACzD,gBAAM,IAAI;AAAA,YACR,8CAA8C,aAAa;AAAA,UAC7D;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,UAAU,QAAQ;AAAA,IAClB,GAAI,QAAQ,SACR;AAAA,MACE,QACE,QAAQ,QAAQ,SAAS,YACrB;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,MACV,IACA,QAAQ;AAAA,IAChB,IACA;AAAA,EACN;AACF;AAEO,IAAM,cAAc,CACzB,iBACkC;AAClC,QAAM,UAAU,aAAa;AAC7B,QAAM,cAAU;AAAA,IACd;AAAA,MACE,IAAI,aAAa;AAAA,MACjB,WAAW,aAAa;AAAA,MACxB,GAAG;AAAA,IACL;AAAA,IACA,aAAa;AAAA,IACb;AAAA,MACE,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AAAA,IACL,UAAU,aAAa;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|
package/dist/cloud/auiV0.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/cloud/auiV0.ts"],"sourcesContent":["import { JSONObject } from \"@ai-sdk/provider\";\nimport { ThreadMessage } from \"../types\";\nimport { MessageStatus } from \"../types/AssistantTypes\";\nimport { fromThreadMessageLike } from \"../runtimes/external-store/ThreadMessageLike\";\nimport { CloudMessage } from \"./AssistantCloudThreadMessages\";\nimport { isJSONValue } from \"../utils/json/is-json\";\nimport {
|
1
|
+
{"version":3,"sources":["../../src/cloud/auiV0.ts"],"sourcesContent":["import { JSONObject } from \"@ai-sdk/provider\";\nimport { ThreadMessage } from \"../types\";\nimport { MessageStatus } from \"../types/AssistantTypes\";\nimport { fromThreadMessageLike } from \"../runtimes/external-store/ThreadMessageLike\";\nimport { CloudMessage } from \"./AssistantCloudThreadMessages\";\nimport { isJSONValue } from \"../utils/json/is-json\";\nimport {\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"../utils/json/json-value\";\nimport { ExportedMessageRepositoryItem } from \"../runtimes/utils/MessageRepository\";\n\ntype AuiV0MessageContentPart =\n | {\n readonly type: \"text\";\n readonly text: string;\n }\n | {\n readonly type: \"tool-call\";\n readonly toolCallId: string;\n readonly toolName: string;\n readonly args: ReadonlyJSONObject;\n readonly result?: ReadonlyJSONValue;\n readonly isError?: true;\n }\n | {\n readonly type: \"tool-call\";\n readonly toolCallId: string;\n readonly toolName: string;\n readonly argsText: string;\n readonly result?: ReadonlyJSONValue;\n readonly isError?: true;\n };\n\ntype AuiV0Message = {\n readonly role: \"assistant\" | \"user\" | \"system\";\n readonly status?: MessageStatus;\n readonly content: readonly AuiV0MessageContentPart[];\n readonly metadata: {\n readonly unstable_annotations: readonly ReadonlyJSONValue[];\n readonly unstable_data: readonly ReadonlyJSONValue[];\n readonly steps: readonly {\n readonly usage?: {\n readonly promptTokens: number;\n readonly completionTokens: number;\n };\n }[];\n readonly custom: Readonly<JSONObject>;\n };\n};\n\nexport const auiV0Encode = (message: ThreadMessage): AuiV0Message => {\n // TODO attachments are currently intentionally ignored\n // info: ID and createdAt are ignored (we use the server value instead)\n return {\n role: message.role,\n content: message.content.map((part) => {\n const type = part.type;\n switch (type) {\n case \"text\": {\n return {\n type: \"text\",\n text: part.text,\n };\n }\n\n case \"tool-call\": {\n if (!isJSONValue(part.result)) {\n console.warn(\n \"tool-call result is not JSON! \" + JSON.stringify(part),\n );\n }\n return {\n type: \"tool-call\",\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n ...(JSON.stringify(part.args) === part.argsText\n ? {\n args: part.args,\n }\n : { argsText: part.argsText }),\n ...(part.result\n ? { result: part.result as ReadonlyJSONValue }\n : {}),\n ...(part.isError ? { isError: true } : {}),\n };\n }\n\n default: {\n const unhandledType: \"ui\" | \"image\" | \"file\" | \"audio\" = type;\n throw new Error(\n `Content part type not supported by aui/v0: ${unhandledType}`,\n );\n }\n }\n }),\n metadata: message.metadata as AuiV0Message[\"metadata\"],\n ...(message.status\n ? {\n status:\n message.status?.type === \"running\"\n ? {\n type: \"incomplete\",\n reason: \"cancelled\",\n }\n : message.status,\n }\n : undefined),\n };\n};\n\nexport const auiV0Decode = (\n cloudMessage: CloudMessage & { format: \"aui/v0\" },\n): ExportedMessageRepositoryItem => {\n const payload = cloudMessage.content as unknown as AuiV0Message;\n const message = fromThreadMessageLike(\n {\n id: cloudMessage.id,\n createdAt: cloudMessage.created_at,\n ...payload,\n },\n cloudMessage.id,\n {\n type: \"complete\",\n reason: \"unknown\",\n },\n );\n\n return {\n parentId: cloudMessage.parent_id,\n message,\n };\n};\n"],"mappings":";AAGA,SAAS,6BAA6B;AAEtC,SAAS,mBAAmB;AA8CrB,IAAM,cAAc,CAAC,YAAyC;AAGnE,SAAO;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,SAAS,QAAQ,QAAQ,IAAI,CAAC,SAAS;AACrC,YAAM,OAAO,KAAK;AAClB,cAAQ,MAAM;AAAA,QACZ,KAAK,QAAQ;AACX,iBAAO;AAAA,YACL,MAAM;AAAA,YACN,MAAM,KAAK;AAAA,UACb;AAAA,QACF;AAAA,QAEA,KAAK,aAAa;AAChB,cAAI,CAAC,YAAY,KAAK,MAAM,GAAG;AAC7B,oBAAQ;AAAA,cACN,mCAAmC,KAAK,UAAU,IAAI;AAAA,YACxD;AAAA,UACF;AACA,iBAAO;AAAA,YACL,MAAM;AAAA,YACN,YAAY,KAAK;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,GAAI,KAAK,UAAU,KAAK,IAAI,MAAM,KAAK,WACnC;AAAA,cACE,MAAM,KAAK;AAAA,YACb,IACA,EAAE,UAAU,KAAK,SAAS;AAAA,YAC9B,GAAI,KAAK,SACL,EAAE,QAAQ,KAAK,OAA4B,IAC3C,CAAC;AAAA,YACL,GAAI,KAAK,UAAU,EAAE,SAAS,KAAK,IAAI,CAAC;AAAA,UAC1C;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,gBAAmD;AACzD,gBAAM,IAAI;AAAA,YACR,8CAA8C,aAAa;AAAA,UAC7D;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,UAAU,QAAQ;AAAA,IAClB,GAAI,QAAQ,SACR;AAAA,MACE,QACE,QAAQ,QAAQ,SAAS,YACrB;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,MACV,IACA,QAAQ;AAAA,IAChB,IACA;AAAA,EACN;AACF;AAEO,IAAM,cAAc,CACzB,iBACkC;AAClC,QAAM,UAAU,aAAa;AAC7B,QAAM,UAAU;AAAA,IACd;AAAA,MACE,IAAI,aAAa;AAAA,MACjB,WAAW,aAAa;AAAA,MACxB,GAAG;AAAA,IACL;AAAA,IACA,aAAa;AAAA,IACb;AAAA,MACE,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,SAAO;AAAA,IACL,UAAU,aAAa;AAAA,IACvB;AAAA,EACF;AACF;","names":[]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Primitive } from "@radix-ui/react-primitive";
|
2
|
+
import { ComponentPropsWithoutRef, ComponentRef } from "react";
|
3
|
+
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
4
|
+
export declare namespace ThreadListPrimitiveRoot {
|
5
|
+
type Element = ComponentRef<typeof Primitive.div>;
|
6
|
+
type Props = PrimitiveDivProps;
|
7
|
+
}
|
8
|
+
export declare const ThreadListPrimitiveRoot: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
9
|
+
asChild?: boolean;
|
10
|
+
}, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
11
|
+
export {};
|
12
|
+
//# sourceMappingURL=ThreadListRoot.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ThreadListRoot.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAc,MAAM,OAAO,CAAC;AAE3E,KAAK,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AAExE,yBAAiB,uBAAuB,CAAC;IACvC,KAAY,OAAO,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IACzD,KAAY,KAAK,GAAG,iBAAiB,CAAC;CACvC;AAED,eAAO,MAAM,uBAAuB;;0DAKlC,CAAC"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
9
|
+
};
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
12
|
+
for (let key of __getOwnPropNames(from))
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
15
|
+
}
|
16
|
+
return to;
|
17
|
+
};
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
|
+
|
20
|
+
// src/primitives/threadList/ThreadListRoot.tsx
|
21
|
+
var ThreadListRoot_exports = {};
|
22
|
+
__export(ThreadListRoot_exports, {
|
23
|
+
ThreadListPrimitiveRoot: () => ThreadListPrimitiveRoot
|
24
|
+
});
|
25
|
+
module.exports = __toCommonJS(ThreadListRoot_exports);
|
26
|
+
var import_react_primitive = require("@radix-ui/react-primitive");
|
27
|
+
var import_react = require("react");
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
29
|
+
var ThreadListPrimitiveRoot = (0, import_react.forwardRef)((props, ref) => {
|
30
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.div, { ...props, ref });
|
31
|
+
});
|
32
|
+
ThreadListPrimitiveRoot.displayName = "ThreadListPrimitive.Root";
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
34
|
+
0 && (module.exports = {
|
35
|
+
ThreadListPrimitiveRoot
|
36
|
+
});
|
37
|
+
//# sourceMappingURL=ThreadListRoot.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { ComponentPropsWithoutRef, ComponentRef, forwardRef } from \"react\";\n\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport namespace ThreadListPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = PrimitiveDivProps;\n}\n\nexport const ThreadListPrimitiveRoot = forwardRef<\n ThreadListPrimitiveRoot.Element,\n ThreadListPrimitiveRoot.Props\n>((props, ref) => {\n return <Primitive.div {...props} ref={ref} />;\n});\n\nThreadListPrimitiveRoot.displayName = \"ThreadListPrimitive.Root\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA0B;AAC1B,mBAAmE;AAa1D;AAJF,IAAM,8BAA0B,yBAGrC,CAAC,OAAO,QAAQ;AAChB,SAAO,4CAAC,iCAAU,KAAV,EAAe,GAAG,OAAO,KAAU;AAC7C,CAAC;AAED,wBAAwB,cAAc;","names":[]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// src/primitives/threadList/ThreadListRoot.tsx
|
2
|
+
import { Primitive } from "@radix-ui/react-primitive";
|
3
|
+
import { forwardRef } from "react";
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
5
|
+
var ThreadListPrimitiveRoot = forwardRef((props, ref) => {
|
6
|
+
return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref });
|
7
|
+
});
|
8
|
+
ThreadListPrimitiveRoot.displayName = "ThreadListPrimitive.Root";
|
9
|
+
export {
|
10
|
+
ThreadListPrimitiveRoot
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=ThreadListRoot.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../src/primitives/threadList/ThreadListRoot.tsx"],"sourcesContent":["import { Primitive } from \"@radix-ui/react-primitive\";\nimport { ComponentPropsWithoutRef, ComponentRef, forwardRef } from \"react\";\n\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport namespace ThreadListPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = PrimitiveDivProps;\n}\n\nexport const ThreadListPrimitiveRoot = forwardRef<\n ThreadListPrimitiveRoot.Element,\n ThreadListPrimitiveRoot.Props\n>((props, ref) => {\n return <Primitive.div {...props} ref={ref} />;\n});\n\nThreadListPrimitiveRoot.displayName = \"ThreadListPrimitive.Root\";\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAiD,kBAAkB;AAa1D;AAJF,IAAM,0BAA0B,WAGrC,CAAC,OAAO,QAAQ;AAChB,SAAO,oBAAC,UAAU,KAAV,EAAe,GAAG,OAAO,KAAU;AAC7C,CAAC;AAED,wBAAwB,cAAc;","names":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/threadList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,wBAAwB,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,uBAAuB,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC"}
|
@@ -21,14 +21,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
21
21
|
var threadList_exports = {};
|
22
22
|
__export(threadList_exports, {
|
23
23
|
Items: () => import_ThreadListItems.ThreadListPrimitiveItems,
|
24
|
-
New: () => import_ThreadListNew.ThreadListPrimitiveNew
|
24
|
+
New: () => import_ThreadListNew.ThreadListPrimitiveNew,
|
25
|
+
Root: () => import_ThreadListRoot.ThreadListPrimitiveRoot
|
25
26
|
});
|
26
27
|
module.exports = __toCommonJS(threadList_exports);
|
27
28
|
var import_ThreadListNew = require("./ThreadListNew.js");
|
28
29
|
var import_ThreadListItems = require("./ThreadListItems.js");
|
30
|
+
var import_ThreadListRoot = require("./ThreadListRoot.js");
|
29
31
|
// Annotate the CommonJS export names for ESM import in node:
|
30
32
|
0 && (module.exports = {
|
31
33
|
Items,
|
32
|
-
New
|
34
|
+
New,
|
35
|
+
Root
|
33
36
|
});
|
34
37
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/threadList/index.ts"],"sourcesContent":["export { ThreadListPrimitiveNew as New } from \"./ThreadListNew\";\nexport { ThreadListPrimitiveItems as Items } from \"./ThreadListItems\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8C;AAC9C,6BAAkD;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/primitives/threadList/index.ts"],"sourcesContent":["export { ThreadListPrimitiveNew as New } from \"./ThreadListNew\";\nexport { ThreadListPrimitiveItems as Items } from \"./ThreadListItems\";\nexport { ThreadListPrimitiveRoot as Root } from \"./ThreadListRoot\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA8C;AAC9C,6BAAkD;AAClD,4BAAgD;","names":[]}
|
@@ -1,8 +1,10 @@
|
|
1
1
|
// src/primitives/threadList/index.ts
|
2
2
|
import { ThreadListPrimitiveNew } from "./ThreadListNew.mjs";
|
3
3
|
import { ThreadListPrimitiveItems } from "./ThreadListItems.mjs";
|
4
|
+
import { ThreadListPrimitiveRoot } from "./ThreadListRoot.mjs";
|
4
5
|
export {
|
5
6
|
ThreadListPrimitiveItems as Items,
|
6
|
-
ThreadListPrimitiveNew as New
|
7
|
+
ThreadListPrimitiveNew as New,
|
8
|
+
ThreadListPrimitiveRoot as Root
|
7
9
|
};
|
8
10
|
//# sourceMappingURL=index.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/primitives/threadList/index.ts"],"sourcesContent":["export { ThreadListPrimitiveNew as New } from \"./ThreadListNew\";\nexport { ThreadListPrimitiveItems as Items } from \"./ThreadListItems\";\n"],"mappings":";AAAA,SAAmC,8BAAW;AAC9C,SAAqC,gCAAa;","names":[]}
|
1
|
+
{"version":3,"sources":["../../../src/primitives/threadList/index.ts"],"sourcesContent":["export { ThreadListPrimitiveNew as New } from \"./ThreadListNew\";\nexport { ThreadListPrimitiveItems as Items } from \"./ThreadListItems\";\nexport { ThreadListPrimitiveRoot as Root } from \"./ThreadListRoot\";\n"],"mappings":";AAAA,SAAmC,8BAAW;AAC9C,SAAqC,gCAAa;AAClD,SAAoC,+BAAY;","names":[]}
|
@@ -1,15 +1,16 @@
|
|
1
|
-
import { MessageStatus, TextContentPart, ImageContentPart,
|
2
|
-
import {
|
3
|
-
import { ReadonlyJSONValue } from "../../utils/json/json-value";
|
1
|
+
import { MessageStatus, TextContentPart, ImageContentPart, UIContentPart, ThreadMessage, CompleteAttachment, FileContentPart, Unstable_AudioContentPart } from "../../types";
|
2
|
+
import { ThreadStep } from "../../types/AssistantTypes";
|
3
|
+
import { ReadonlyJSONObject, ReadonlyJSONValue } from "../../utils/json/json-value";
|
4
4
|
export type ThreadMessageLike = {
|
5
5
|
readonly role: "assistant" | "user" | "system";
|
6
|
-
readonly content: string | readonly (TextContentPart | ImageContentPart | FileContentPart | Unstable_AudioContentPart |
|
7
|
-
type: "tool-call";
|
8
|
-
toolCallId
|
9
|
-
toolName: string;
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
readonly content: string | readonly (TextContentPart | ImageContentPart | FileContentPart | Unstable_AudioContentPart | {
|
7
|
+
readonly type: "tool-call";
|
8
|
+
readonly toolCallId?: string;
|
9
|
+
readonly toolName: string;
|
10
|
+
readonly args?: ReadonlyJSONObject;
|
11
|
+
readonly argsText?: string;
|
12
|
+
readonly result?: any | undefined;
|
13
|
+
readonly isError?: boolean | undefined;
|
13
14
|
} | UIContentPart)[];
|
14
15
|
readonly id?: string | undefined;
|
15
16
|
readonly createdAt?: Date | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ThreadMessageLike.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ThreadMessageLike.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"ThreadMessageLike.d.ts","sourceRoot":"","sources":["../../../src/runtimes/external-store/ThreadMessageLike.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EAMb,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC/C,QAAQ,CAAC,OAAO,EACZ,MAAM,GACN,SAAS,CACL,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,yBAAyB,GACzB;QACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;QAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;QACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACxC,GACD,aAAa,CAChB,EAAE,CAAC;IACR,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,QAAQ,CAAC,EACd;QACE,QAAQ,CAAC,oBAAoB,CAAC,EAC1B,SAAS,iBAAiB,EAAE,GAC5B,SAAS,CAAC;QACd,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,CAAC;QAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAAC;QACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACvD,GACD,SAAS,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAC1B,iBAAiB,cACX,MAAM,kBACF,aAAa,KAC5B,aAwHF,CAAC"}
|
@@ -23,6 +23,7 @@ __export(ThreadMessageLike_exports, {
|
|
23
23
|
fromThreadMessageLike: () => fromThreadMessageLike
|
24
24
|
});
|
25
25
|
module.exports = __toCommonJS(ThreadMessageLike_exports);
|
26
|
+
var import_internal = require("../../internal.js");
|
26
27
|
var import_parse_partial_json = require("../../utils/json/parse-partial-json.js");
|
27
28
|
var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
28
29
|
const { role, id, createdAt, attachments, status, metadata } = like;
|
@@ -51,18 +52,19 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
51
52
|
case "ui":
|
52
53
|
return part;
|
53
54
|
case "tool-call": {
|
54
|
-
if (
|
55
|
-
if ("args" in part) {
|
56
|
-
return part;
|
57
|
-
}
|
55
|
+
if (part.args) {
|
58
56
|
return {
|
59
57
|
...part,
|
60
|
-
|
58
|
+
toolCallId: part.toolCallId ?? "tool-" + (0, import_internal.generateId)(),
|
59
|
+
args: part.args,
|
60
|
+
argsText: JSON.stringify(part.args)
|
61
61
|
};
|
62
62
|
}
|
63
63
|
return {
|
64
64
|
...part,
|
65
|
-
|
65
|
+
toolCallId: part.toolCallId ?? "tool-" + (0, import_internal.generateId)(),
|
66
|
+
args: part.args ?? (0, import_parse_partial_json.parsePartialJson)(part.argsText ?? ""),
|
67
|
+
argsText: part.argsText ?? ""
|
66
68
|
};
|
67
69
|
}
|
68
70
|
default: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ThreadMessageLike.tsx"],"sourcesContent":["import {\n MessageStatus,\n TextContentPart,\n ImageContentPart,\n
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/external-store/ThreadMessageLike.tsx"],"sourcesContent":["import { generateId } from \"../../internal\";\nimport {\n MessageStatus,\n TextContentPart,\n ImageContentPart,\n UIContentPart,\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadAssistantMessage,\n ThreadUserContentPart,\n ThreadUserMessage,\n ThreadSystemMessage,\n CompleteAttachment,\n FileContentPart,\n Unstable_AudioContentPart,\n} from \"../../types\";\nimport { ThreadStep } from \"../../types/AssistantTypes\";\nimport {\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"../../utils/json/json-value\";\nimport { parsePartialJson } from \"../../utils/json/parse-partial-json\";\n\nexport type ThreadMessageLike = {\n readonly role: \"assistant\" | \"user\" | \"system\";\n readonly content:\n | string\n | readonly (\n | TextContentPart\n | ImageContentPart\n | FileContentPart\n | Unstable_AudioContentPart\n | {\n readonly type: \"tool-call\";\n readonly toolCallId?: string;\n readonly toolName: string;\n readonly args?: ReadonlyJSONObject;\n readonly argsText?: string;\n readonly result?: any | undefined;\n readonly isError?: boolean | undefined;\n }\n | UIContentPart\n )[];\n readonly id?: string | undefined;\n readonly createdAt?: Date | undefined;\n readonly status?: MessageStatus | undefined;\n readonly attachments?: readonly CompleteAttachment[] | undefined;\n readonly metadata?:\n | {\n readonly unstable_annotations?:\n | readonly ReadonlyJSONValue[]\n | undefined;\n readonly unstable_data?: readonly ReadonlyJSONValue[] | undefined;\n readonly steps?: readonly ThreadStep[] | undefined;\n readonly custom?: Record<string, unknown> | undefined;\n }\n | undefined;\n};\n\nexport const fromThreadMessageLike = (\n like: ThreadMessageLike,\n fallbackId: string,\n fallbackStatus: MessageStatus,\n): ThreadMessage => {\n const { role, id, createdAt, attachments, status, metadata } = like;\n const common = {\n id: id ?? fallbackId,\n createdAt: createdAt ?? new Date(),\n };\n\n const content =\n typeof like.content === \"string\"\n ? [{ type: \"text\" as const, text: like.content }]\n : like.content;\n\n if (role !== \"user\" && attachments)\n throw new Error(\"attachments are only supported for user messages\");\n\n if (role !== \"assistant\" && status)\n throw new Error(\"status is only supported for assistant messages\");\n\n if (role !== \"assistant\" && metadata?.steps)\n throw new Error(\"metadata.steps is only supported for assistant messages\");\n\n switch (role) {\n case \"assistant\":\n return {\n ...common,\n role,\n content: content\n .map((part): ThreadAssistantContentPart | null => {\n const type = part.type;\n switch (type) {\n case \"text\":\n if (part.text.trim().length === 0) return null;\n return part;\n\n case \"ui\":\n return part;\n\n case \"tool-call\": {\n if (part.args) {\n return {\n ...part,\n toolCallId: part.toolCallId ?? \"tool-\" + generateId(),\n args: part.args,\n argsText: JSON.stringify(part.args),\n };\n }\n return {\n ...part,\n toolCallId: part.toolCallId ?? \"tool-\" + generateId(),\n args: part.args ?? parsePartialJson(part.argsText ?? \"\"),\n argsText: part.argsText ?? \"\",\n };\n }\n\n default: {\n const unhandledType: \"image\" | \"audio\" | \"file\" = type;\n throw new Error(\n `Unsupported assistant content part type: ${unhandledType}`,\n );\n }\n }\n })\n .filter((c) => !!c),\n status: status ?? fallbackStatus,\n metadata: {\n unstable_annotations: metadata?.unstable_annotations ?? [],\n unstable_data: metadata?.unstable_data ?? [],\n custom: metadata?.custom ?? {},\n steps: metadata?.steps ?? [],\n },\n } satisfies ThreadAssistantMessage;\n\n case \"user\":\n return {\n ...common,\n role,\n content: content.map((part): ThreadUserContentPart => {\n const type = part.type;\n switch (type) {\n case \"text\":\n case \"ui\":\n case \"image\":\n case \"audio\":\n case \"file\":\n return part;\n\n default: {\n const unhandledType: \"tool-call\" = type;\n throw new Error(\n `Unsupported user content part type: ${unhandledType}`,\n );\n }\n }\n }),\n attachments: attachments ?? [],\n metadata: {\n custom: metadata?.custom ?? {},\n },\n } satisfies ThreadUserMessage;\n\n case \"system\":\n if (content.length !== 1 || content[0]!.type !== \"text\")\n throw new Error(\n \"System messages must have exactly one text content part.\",\n );\n\n return {\n ...common,\n role,\n content: content as [TextContentPart],\n metadata: {\n custom: metadata?.custom ?? {},\n },\n } satisfies ThreadSystemMessage;\n\n default: {\n const unsupportedRole: never = role;\n throw new Error(`Unknown message role: ${unsupportedRole}`);\n }\n }\n};\n"],"mappings":"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","names":[]}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
// src/runtimes/external-store/ThreadMessageLike.tsx
|
2
|
+
import { generateId } from "../../internal.mjs";
|
2
3
|
import { parsePartialJson } from "../../utils/json/parse-partial-json.mjs";
|
3
4
|
var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
4
5
|
const { role, id, createdAt, attachments, status, metadata } = like;
|
@@ -27,18 +28,19 @@ var fromThreadMessageLike = (like, fallbackId, fallbackStatus) => {
|
|
27
28
|
case "ui":
|
28
29
|
return part;
|
29
30
|
case "tool-call": {
|
30
|
-
if (
|
31
|
-
if ("args" in part) {
|
32
|
-
return part;
|
33
|
-
}
|
31
|
+
if (part.args) {
|
34
32
|
return {
|
35
33
|
...part,
|
36
|
-
|
34
|
+
toolCallId: part.toolCallId ?? "tool-" + generateId(),
|
35
|
+
args: part.args,
|
36
|
+
argsText: JSON.stringify(part.args)
|
37
37
|
};
|
38
38
|
}
|
39
39
|
return {
|
40
40
|
...part,
|
41
|
-
|
41
|
+
toolCallId: part.toolCallId ?? "tool-" + generateId(),
|
42
|
+
args: part.args ?? parsePartialJson(part.argsText ?? ""),
|
43
|
+
argsText: part.argsText ?? ""
|
42
44
|
};
|
43
45
|
}
|
44
46
|
default: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/external-store/ThreadMessageLike.tsx"],"sourcesContent":["import {\n MessageStatus,\n TextContentPart,\n ImageContentPart,\n
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/external-store/ThreadMessageLike.tsx"],"sourcesContent":["import { generateId } from \"../../internal\";\nimport {\n MessageStatus,\n TextContentPart,\n ImageContentPart,\n UIContentPart,\n ThreadMessage,\n ThreadAssistantContentPart,\n ThreadAssistantMessage,\n ThreadUserContentPart,\n ThreadUserMessage,\n ThreadSystemMessage,\n CompleteAttachment,\n FileContentPart,\n Unstable_AudioContentPart,\n} from \"../../types\";\nimport { ThreadStep } from \"../../types/AssistantTypes\";\nimport {\n ReadonlyJSONObject,\n ReadonlyJSONValue,\n} from \"../../utils/json/json-value\";\nimport { parsePartialJson } from \"../../utils/json/parse-partial-json\";\n\nexport type ThreadMessageLike = {\n readonly role: \"assistant\" | \"user\" | \"system\";\n readonly content:\n | string\n | readonly (\n | TextContentPart\n | ImageContentPart\n | FileContentPart\n | Unstable_AudioContentPart\n | {\n readonly type: \"tool-call\";\n readonly toolCallId?: string;\n readonly toolName: string;\n readonly args?: ReadonlyJSONObject;\n readonly argsText?: string;\n readonly result?: any | undefined;\n readonly isError?: boolean | undefined;\n }\n | UIContentPart\n )[];\n readonly id?: string | undefined;\n readonly createdAt?: Date | undefined;\n readonly status?: MessageStatus | undefined;\n readonly attachments?: readonly CompleteAttachment[] | undefined;\n readonly metadata?:\n | {\n readonly unstable_annotations?:\n | readonly ReadonlyJSONValue[]\n | undefined;\n readonly unstable_data?: readonly ReadonlyJSONValue[] | undefined;\n readonly steps?: readonly ThreadStep[] | undefined;\n readonly custom?: Record<string, unknown> | undefined;\n }\n | undefined;\n};\n\nexport const fromThreadMessageLike = (\n like: ThreadMessageLike,\n fallbackId: string,\n fallbackStatus: MessageStatus,\n): ThreadMessage => {\n const { role, id, createdAt, attachments, status, metadata } = like;\n const common = {\n id: id ?? fallbackId,\n createdAt: createdAt ?? new Date(),\n };\n\n const content =\n typeof like.content === \"string\"\n ? [{ type: \"text\" as const, text: like.content }]\n : like.content;\n\n if (role !== \"user\" && attachments)\n throw new Error(\"attachments are only supported for user messages\");\n\n if (role !== \"assistant\" && status)\n throw new Error(\"status is only supported for assistant messages\");\n\n if (role !== \"assistant\" && metadata?.steps)\n throw new Error(\"metadata.steps is only supported for assistant messages\");\n\n switch (role) {\n case \"assistant\":\n return {\n ...common,\n role,\n content: content\n .map((part): ThreadAssistantContentPart | null => {\n const type = part.type;\n switch (type) {\n case \"text\":\n if (part.text.trim().length === 0) return null;\n return part;\n\n case \"ui\":\n return part;\n\n case \"tool-call\": {\n if (part.args) {\n return {\n ...part,\n toolCallId: part.toolCallId ?? \"tool-\" + generateId(),\n args: part.args,\n argsText: JSON.stringify(part.args),\n };\n }\n return {\n ...part,\n toolCallId: part.toolCallId ?? \"tool-\" + generateId(),\n args: part.args ?? parsePartialJson(part.argsText ?? \"\"),\n argsText: part.argsText ?? \"\",\n };\n }\n\n default: {\n const unhandledType: \"image\" | \"audio\" | \"file\" = type;\n throw new Error(\n `Unsupported assistant content part type: ${unhandledType}`,\n );\n }\n }\n })\n .filter((c) => !!c),\n status: status ?? fallbackStatus,\n metadata: {\n unstable_annotations: metadata?.unstable_annotations ?? [],\n unstable_data: metadata?.unstable_data ?? [],\n custom: metadata?.custom ?? {},\n steps: metadata?.steps ?? [],\n },\n } satisfies ThreadAssistantMessage;\n\n case \"user\":\n return {\n ...common,\n role,\n content: content.map((part): ThreadUserContentPart => {\n const type = part.type;\n switch (type) {\n case \"text\":\n case \"ui\":\n case \"image\":\n case \"audio\":\n case \"file\":\n return part;\n\n default: {\n const unhandledType: \"tool-call\" = type;\n throw new Error(\n `Unsupported user content part type: ${unhandledType}`,\n );\n }\n }\n }),\n attachments: attachments ?? [],\n metadata: {\n custom: metadata?.custom ?? {},\n },\n } satisfies ThreadUserMessage;\n\n case \"system\":\n if (content.length !== 1 || content[0]!.type !== \"text\")\n throw new Error(\n \"System messages must have exactly one text content part.\",\n );\n\n return {\n ...common,\n role,\n content: content as [TextContentPart],\n metadata: {\n custom: metadata?.custom ?? {},\n },\n } satisfies ThreadSystemMessage;\n\n default: {\n const unsupportedRole: never = role;\n throw new Error(`Unknown message role: ${unsupportedRole}`);\n }\n }\n};\n"],"mappings":"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","names":[]}
|
package/dist/styles/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/styles/base.css","../../src/styles/tailwindcss/base-components.css","../../src/styles/tailwindcss/thread.css","../../src/styles/themes/default.css"],"sourcesContent":[":where(.aui-root) *, :where(.aui-root) ::before, :where(.aui-root) ::after {\n --aui-border-spacing-x: 0;\n --aui-border-spacing-y: 0;\n --aui-translate-x: 0;\n --aui-translate-y: 0;\n --aui-rotate: 0;\n --aui-skew-x: 0;\n --aui-skew-y: 0;\n --aui-scale-x: 1;\n --aui-scale-y: 1;\n --aui-ring-inset: ;\n --aui-ring-offset-width: 0px;\n --aui-ring-offset-color: #fff;\n --aui-ring-color: rgb(59 130 246 / 0.5);\n --aui-ring-offset-shadow: 0 0 #0000;\n --aui-ring-shadow: 0 0 #0000;\n --aui-shadow: 0 0 #0000;\n --aui-shadow-colored: 0 0 #0000;\n --aui-blur: ;\n --aui-brightness: ;\n --aui-contrast: ;\n --aui-grayscale: ;\n --aui-hue-rotate: ;\n --aui-invert: ;\n --aui-saturate: ;\n --aui-sepia: ;\n --aui-drop-shadow: ;\n --aui-backdrop-blur: ;\n --aui-backdrop-brightness: ;\n --aui-backdrop-contrast: ;\n --aui-backdrop-grayscale: ;\n --aui-backdrop-hue-rotate: ;\n --aui-backdrop-invert: ;\n --aui-backdrop-opacity: ;\n --aui-backdrop-saturate: ;\n --aui-backdrop-sepia: ;\n --aui-contain-size: ;\n --aui-contain-layout: ;\n --aui-contain-paint: ;\n --aui-contain-style: ;\n}\n :where(.aui-root) ::backdrop {\n --aui-border-spacing-x: 0;\n --aui-border-spacing-y: 0;\n --aui-translate-x: 0;\n --aui-translate-y: 0;\n --aui-rotate: 0;\n --aui-skew-x: 0;\n --aui-skew-y: 0;\n --aui-scale-x: 1;\n --aui-scale-y: 1;\n --aui-ring-inset: ;\n --aui-ring-offset-width: 0px;\n --aui-ring-offset-color: #fff;\n --aui-ring-color: rgb(59 130 246 / 0.5);\n --aui-ring-offset-shadow: 0 0 #0000;\n --aui-ring-shadow: 0 0 #0000;\n --aui-shadow: 0 0 #0000;\n --aui-shadow-colored: 0 0 #0000;\n --aui-blur: ;\n --aui-brightness: ;\n --aui-contrast: ;\n --aui-grayscale: ;\n --aui-hue-rotate: ;\n --aui-invert: ;\n --aui-saturate: ;\n --aui-sepia: ;\n --aui-drop-shadow: ;\n --aui-backdrop-blur: ;\n --aui-backdrop-brightness: ;\n --aui-backdrop-contrast: ;\n --aui-backdrop-grayscale: ;\n --aui-backdrop-hue-rotate: ;\n --aui-backdrop-invert: ;\n --aui-backdrop-opacity: ;\n --aui-backdrop-saturate: ;\n --aui-backdrop-sepia: ;\n --aui-contain-size: ;\n --aui-contain-layout: ;\n --aui-contain-paint: ;\n --aui-contain-style: ;\n}\n /*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*/\n /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n :where(.aui-root) *,\n:where(.aui-root) ::before,\n:where(.aui-root) ::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n :where(.aui-root) ::before,\n:where(.aui-root) ::after {\n --aui-content: '';\n}\n /*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n :where(.aui-root) html,\n:where(.aui-root) :host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n /*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n :where(.aui-root) body {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n /*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n :where(.aui-root) hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n /*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n :where(.aui-root) abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n /*\nRemove the default font size and weight for headings.\n*/\n :where(.aui-root) h1,\n:where(.aui-root) h2,\n:where(.aui-root) h3,\n:where(.aui-root) h4,\n:where(.aui-root) h5,\n:where(.aui-root) h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n /*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n :where(.aui-root) a {\n color: inherit;\n text-decoration: inherit;\n}\n /*\nAdd the correct font weight in Edge and Safari.\n*/\n :where(.aui-root) b,\n:where(.aui-root) strong {\n font-weight: bolder;\n}\n /*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n :where(.aui-root) code,\n:where(.aui-root) kbd,\n:where(.aui-root) samp,\n:where(.aui-root) pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n /*\nAdd the correct font size in all browsers.\n*/\n :where(.aui-root) small {\n font-size: 80%;\n}\n /*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n :where(.aui-root) sub,\n:where(.aui-root) sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n :where(.aui-root) sub {\n bottom: -0.25em;\n}\n :where(.aui-root) sup {\n top: -0.5em;\n}\n /*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n :where(.aui-root) table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n /*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n :where(.aui-root) button,\n:where(.aui-root) input,\n:where(.aui-root) optgroup,\n:where(.aui-root) select,\n:where(.aui-root) textarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n /*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n :where(.aui-root) button,\n:where(.aui-root) select {\n text-transform: none;\n}\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n :where(.aui-root) button,\n:where(.aui-root) input:where([type='button']),\n:where(.aui-root) input:where([type='reset']),\n:where(.aui-root) input:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n /*\nUse the modern Firefox focus style for all focusable elements.\n*/\n :where(.aui-root) :-moz-focusring {\n outline: auto;\n}\n /*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n :where(.aui-root) :-moz-ui-invalid {\n box-shadow: none;\n}\n /*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n :where(.aui-root) progress {\n vertical-align: baseline;\n}\n /*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n :where(.aui-root) ::-webkit-inner-spin-button,\n:where(.aui-root) ::-webkit-outer-spin-button {\n height: auto;\n}\n /*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n :where(.aui-root) [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n /*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n :where(.aui-root) ::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n :where(.aui-root) ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n /*\nAdd the correct display in Chrome and Safari.\n*/\n :where(.aui-root) summary {\n display: list-item;\n}\n /*\nRemoves the default spacing and border for appropriate elements.\n*/\n :where(.aui-root) blockquote,\n:where(.aui-root) dl,\n:where(.aui-root) dd,\n:where(.aui-root) h1,\n:where(.aui-root) h2,\n:where(.aui-root) h3,\n:where(.aui-root) h4,\n:where(.aui-root) h5,\n:where(.aui-root) h6,\n:where(.aui-root) hr,\n:where(.aui-root) figure,\n:where(.aui-root) p,\n:where(.aui-root) pre {\n margin: 0;\n}\n :where(.aui-root) fieldset {\n margin: 0;\n padding: 0;\n}\n :where(.aui-root) legend {\n padding: 0;\n}\n :where(.aui-root) ol,\n:where(.aui-root) ul,\n:where(.aui-root) menu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n /*\nReset default styling for dialogs.\n*/\n :where(.aui-root) dialog {\n padding: 0;\n}\n /*\nPrevent resizing textareas horizontally by default.\n*/\n :where(.aui-root) textarea {\n resize: vertical;\n}\n /*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n :where(.aui-root) input::-moz-placeholder, :where(.aui-root) textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n :where(.aui-root) input::placeholder,\n:where(.aui-root) textarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n /*\nSet the default cursor for buttons.\n*/\n :where(.aui-root) button,\n:where(.aui-root) [role=\"button\"] {\n cursor: pointer;\n}\n /*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n :where(.aui-root) :disabled {\n cursor: default;\n}\n /*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n :where(.aui-root) img,\n:where(.aui-root) svg,\n:where(.aui-root) video,\n:where(.aui-root) canvas,\n:where(.aui-root) audio,\n:where(.aui-root) iframe,\n:where(.aui-root) embed,\n:where(.aui-root) object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n /*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n :where(.aui-root) img,\n:where(.aui-root) video {\n max-width: 100%;\n height: auto;\n}\n /* Make elements with the HTML hidden attribute stay hidden by default */\n :where(.aui-root) [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n@keyframes aui-enter {\n from {\n opacity: var(--aui-enter-opacity, 1);\n transform: translate3d(\n var(--aui-enter-translate-x, 0),\n var(--aui-enter-translate-y, 0),\n 0\n )\n scale3d(\n var(--aui-enter-scale, 1),\n var(--aui-enter-scale, 1),\n var(--aui-enter-scale, 1)\n )\n rotate(var(--aui-enter-rotate, 0));\n }\n}\n\n@keyframes aui-exit {\n to {\n opacity: var(--aui-exit-opacity, 1);\n transform: translate3d(\n var(--aui-exit-translate-x, 0),\n var(--aui-exit-translate-y, 0),\n 0\n )\n scale3d(\n var(--aui-exit-scale, 1),\n var(--aui-exit-scale, 1),\n var(--aui-exit-scale, 1)\n )\n rotate(var(--aui-exit-rotate, 0));\n }\n}\n",".aui-root {\n\n color: hsl(var(--aui-foreground))\n}\n\n.aui-root * {\n\n border-color: hsl(var(--aui-border))\n}\n\n/* shadcn-ui/button */\n.aui-button {\n\n display: inline-flex;\n\n align-items: center;\n\n justify-content: center;\n\n gap: 0.5rem;\n\n white-space: nowrap;\n\n border-radius: calc(var(--aui-radius) - 2px);\n\n font-size: 0.875rem;\n\n line-height: 1.25rem;\n\n font-weight: 500;\n\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-duration: 150ms\n}\n.aui-button:focus-visible {\n\n outline: 2px solid transparent;\n\n outline-offset: 2px;\n\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(1px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000);\n\n --aui-ring-color: hsl(var(--aui-ring))\n}\n.aui-button:disabled {\n\n pointer-events: none;\n\n opacity: 0.5\n}\n.aui-button svg {\n\n pointer-events: none;\n\n width: 1rem;\n\n height: 1rem;\n\n flex-shrink: 0\n}\n\n.aui-button-primary {\n\n background-color: hsl(var(--aui-primary));\n\n color: hsl(var(--aui-primary-foreground));\n\n --aui-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n\n --aui-shadow-colored: 0 1px 3px 0 var(--aui-shadow-color), 0 1px 2px -1px var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n.aui-button-primary:hover {\n\n background-color: hsl(var(--aui-primary) / 0.9)\n}\n\n.aui-button-outline {\n\n border-width: 1px;\n\n border-color: hsl(var(--aui-input));\n\n background-color: hsl(var(--aui-background));\n\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n.aui-button-outline:hover {\n\n background-color: hsl(var(--aui-accent));\n\n color: hsl(var(--aui-accent-foreground))\n}\n\n.aui-button-ghost:hover {\n\n background-color: hsl(var(--aui-accent));\n\n color: hsl(var(--aui-accent-foreground))\n}\n\n.aui-button-medium {\n\n height: 2.25rem;\n\n padding-left: 1rem;\n\n padding-right: 1rem;\n\n padding-top: 0.5rem;\n\n padding-bottom: 0.5rem\n}\n\n/** tooltip icon button */\n.aui-button-icon {\n\n width: 1.5rem;\n\n height: 1.5rem;\n\n padding: 0.25rem\n}\n\n.aui-sr-only {\n\n position: absolute;\n\n width: 1px;\n\n height: 1px;\n\n padding: 0;\n\n margin: -1px;\n\n overflow: hidden;\n\n clip: rect(0, 0, 0, 0);\n\n white-space: nowrap;\n\n border-width: 0\n}\n\n/* shadcn-ui/avatar */\n\n.aui-avatar-root {\n\n position: relative;\n\n display: flex;\n\n height: 2.5rem;\n\n width: 2.5rem;\n\n flex-shrink: 0;\n\n overflow: hidden;\n\n border-radius: 9999px\n}\n\n.aui-avatar-image {\n\n aspect-ratio: 1 / 1;\n\n height: 100%;\n\n width: 100%;\n\n -o-object-fit: cover;\n\n object-fit: cover\n}\n\n.aui-avatar-fallback {\n\n display: flex;\n\n height: 100%;\n\n width: 100%;\n\n align-items: center;\n\n justify-content: center;\n\n border-radius: 9999px;\n\n background-color: hsl(var(--aui-muted))\n}\n\n/* shadcn-ui/tooltip */\n\n.aui-tooltip-content {\n\n z-index: 50;\n\n overflow: hidden;\n\n border-radius: calc(var(--aui-radius) - 2px);\n\n background-color: hsl(var(--aui-primary));\n\n padding-left: 0.75rem;\n\n padding-right: 0.75rem;\n\n padding-top: 0.375rem;\n\n padding-bottom: 0.375rem;\n\n font-size: 0.75rem;\n\n line-height: 1rem;\n\n color: hsl(var(--aui-primary-foreground));\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial;\n\n --aui-enter-opacity: 0;\n\n --aui-enter-scale: .95\n}\n\n.aui-tooltip-content[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0;\n\n --aui-exit-scale: .95\n}\n\n.aui-tooltip-content[data-side=\"bottom\"] {\n\n --aui-enter-translate-y: -0.5rem\n}\n\n.aui-tooltip-content[data-side=\"left\"] {\n\n --aui-enter-translate-x: 0.5rem\n}\n\n.aui-tooltip-content[data-side=\"right\"] {\n\n --aui-enter-translate-x: -0.5rem\n}\n\n.aui-tooltip-content[data-side=\"top\"] {\n\n --aui-enter-translate-y: 0.5rem\n}\n\n/* shadcn-ui/dialog */\n\n.aui-dialog-overlay {\n\n position: fixed;\n\n inset: 0px;\n\n z-index: 50;\n\n background-color: rgb(0 0 0 / 0.8)\n}\n\n.aui-dialog-overlay[data-state=\"open\"] {\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial\n}\n\n.aui-dialog-overlay[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0\n}\n\n.aui-dialog-overlay[data-state=\"open\"] {\n\n --aui-enter-opacity: 0\n}\n\n.aui-dialog-content {\n\n position: fixed;\n\n left: 50%;\n\n top: 50%;\n\n z-index: 50\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-opacity: 0\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n --aui-exit-scale: .95\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-scale: .95\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n --aui-exit-translate-x: -50%;\n\n --aui-exit-translate-y: -48%\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-translate-x: -50%;\n\n --aui-enter-translate-y: -48%\n}\n\n.aui-dialog-content {\n\n display: grid;\n\n --aui-translate-x: -50%;\n\n --aui-translate-y: -50%;\n\n transform: translate(var(--aui-translate-x), var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));\n\n --aui-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n\n --aui-shadow-colored: 0 10px 15px -3px var(--aui-shadow-color), 0 4px 6px -4px var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow);\n\n transition-duration: 200ms;\n\n animation-duration: 200ms\n /* @apply w-full bg-aui-background max-w-lg gap-4 border p-6 sm:rounded-lg; */\n}\n","/* thread */\n.aui-thread-root {\n box-sizing: border-box;\n height: 100%;\n background-color: hsl(var(--aui-background))\n}\n.aui-thread-root>.aui-thread-viewport {\n background-color: inherit\n}\n\n.aui-thread-viewport {\n display: flex;\n height: 100%;\n flex-direction: column;\n align-items: center;\n overflow-y: scroll;\n scroll-behavior: smooth;\n background-color: hsl(var(--aui-background));\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 2rem\n}\n\n.aui-thread-viewport-footer {\n position: sticky;\n bottom: 0px;\n margin-top: 0.75rem;\n display: flex;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n border-top-left-radius: var(--aui-radius);\n border-top-right-radius: var(--aui-radius);\n background-color: inherit;\n padding-bottom: 1rem\n}\n\n.aui-thread-scroll-to-bottom {\n position: absolute;\n top: -2rem;\n border-radius: 9999px\n}\n\n.aui-thread-scroll-to-bottom:disabled {\n visibility: hidden\n}\n\n.aui-thread-followup-suggestions {\n display: flex;\n min-height: 2rem;\n align-items: center;\n justify-content: center;\n gap: 0.5rem\n}\n\n.aui-thread-followup-suggestion {\n border-radius: 9999px;\n border-width: 1px;\n background-color: hsl(var(--aui-background));\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-thread-followup-suggestion:hover {\n background-color: hsl(var(--aui-muted) / 0.8)\n}\n\n/* thread welcome */\n\n.aui-thread-welcome-root {\n display: flex;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n flex-grow: 1;\n flex-direction: column\n}\n\n.aui-thread-welcome-center {\n display: flex;\n width: 100%;\n flex-grow: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center\n}\n\n.aui-thread-welcome-message {\n margin-top: 1rem;\n font-weight: 500\n}\n\n.aui-thread-welcome-suggestion-container {\n margin-top: 0.75rem;\n display: flex;\n width: 100%;\n align-items: stretch;\n justify-content: center;\n gap: 1rem\n}\n\n.aui-thread-welcome-suggestion {\n display: flex;\n max-width: 24rem;\n flex-grow: 1;\n flex-basis: 0px;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: var(--aui-radius);\n border-width: 1px;\n padding: 0.75rem;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-thread-welcome-suggestion:hover {\n background-color: hsl(var(--aui-muted) / 0.8)\n}\n\n.aui-thread-welcome-suggestion-text {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 600\n}\n\n/* thread composer */\n\n.aui-composer-root {\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: flex-end;\n border-radius: var(--aui-radius);\n border-width: 1px;\n background-color: inherit;\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow);\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-composer-root:focus-within {\n border-color: hsl(var(--aui-ring) / 0.2)\n}\n\n.aui-composer-input {\n max-height: 10rem;\n flex-grow: 1;\n resize: none;\n border-style: none;\n background-color: transparent;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 1rem;\n padding-bottom: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n outline: 2px solid transparent;\n outline-offset: 2px\n}\n\n.aui-composer-input::-moz-placeholder {\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-composer-input::placeholder {\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-composer-input:focus {\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(0px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000)\n}\n\n.aui-composer-input:disabled {\n cursor: not-allowed\n}\n\n.aui-composer-send,\n.aui-composer-cancel,\n.aui-composer-attach {\n margin-top: 0.625rem;\n margin-bottom: 0.625rem;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-composer-attachments {\n display: flex;\n width: 100%;\n flex-direction: row;\n gap: 0.75rem;\n padding-left: 2.5rem;\n padding-right: 2.5rem\n}\n\n/* attachment */\n\n.aui-attachment-root {\n position: relative;\n margin-top: 0.75rem\n}\n\n.aui-attachment-content {\n display: flex;\n height: 3rem;\n width: 10rem;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n border-radius: var(--aui-radius);\n border-width: 1px;\n padding: 0.25rem\n}\n\n.aui-attachment-preview-trigger {\n cursor: pointer;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n\n.aui-attachment-preview-trigger:hover {\n background-color: hsl(var(--aui-accent) / 0.5)\n}\n\n.aui-attachment-thumb {\n display: flex;\n width: 2.5rem;\n height: 2.5rem;\n align-items: center;\n justify-content: center;\n border-radius: 0.25rem;\n border-width: 1px;\n background-color: hsl(var(--aui-muted));\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n\n.aui-attachment-text {\n flex-grow: 1;\n flex-basis: 0px\n}\n\n.aui-attachment-name {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n text-overflow: ellipsis;\n word-break: break-all;\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 700;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-attachment-type {\n font-size: 0.75rem;\n line-height: 1rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-attachment-remove {\n position: absolute;\n right: -0.75rem;\n top: -0.75rem;\n width: 1.5rem;\n height: 1.5rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-attachment-remove>svg {\n width: 1rem;\n height: 1rem;\n border-radius: 9999px;\n background-color: hsl(var(--aui-background))\n}\n\n/* user message */\n\n.aui-user-message-root {\n display: grid;\n grid-auto-rows: auto;\n grid-template-columns: minmax(72px,1fr) auto;\n row-gap: 0.5rem\n}\n\n.aui-user-message-root>* {\n grid-column-start: 2\n}\n\n.aui-user-message-root {\n width: 100%;\n max-width: var(--aui-thread-max-width);\n padding-top: 1rem;\n padding-bottom: 1rem\n}\n\n:where(.aui-user-message-root) > .aui-user-action-bar-root {\n grid-column-start: 1;\n grid-row-start: 2;\n margin-right: 0.75rem;\n margin-top: 0.625rem\n}\n\n:where(.aui-user-message-root) > .aui-user-message-attachments {\n grid-column: 1 / -1;\n grid-column-start: 1;\n grid-row-start: 1;\n justify-content: flex-end\n}\n\n:where(.aui-user-message-root) > .aui-user-message-content {\n grid-column-start: 2;\n grid-row-start: 2\n}\n\n:where(.aui-user-message-root) > .aui-branch-picker-root {\n grid-column: 1 / -1;\n grid-column-start: 1;\n grid-row-start: 3;\n margin-right: -0.25rem;\n justify-content: flex-end\n}\n\n.aui-user-message-content {\n max-width: calc(var(--aui-thread-max-width) * 0.8);\n overflow-wrap: break-word;\n border-radius: 1.5rem;\n background-color: hsl(var(--aui-muted));\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n color: hsl(var(--aui-foreground))\n}\n\n.aui-user-message-attachments {\n display: flex;\n width: 100%;\n flex-direction: row;\n gap: 0.75rem\n}\n\n/* user action bar */\n\n.aui-user-action-bar-root {\n display: flex;\n flex-direction: column;\n align-items: flex-end\n}\n\n/* edit composer */\n\n.aui-edit-composer-root {\n margin-top: 1rem;\n margin-bottom: 1rem;\n display: flex;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n flex-direction: column;\n gap: 0.5rem;\n border-radius: 0.75rem;\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-edit-composer-input {\n display: flex;\n height: 2rem;\n width: 100%;\n resize: none;\n background-color: transparent;\n padding: 1rem;\n padding-bottom: 0px;\n color: hsl(var(--aui-foreground));\n outline: 2px solid transparent;\n outline-offset: 2px\n}\n\n.aui-edit-composer-footer {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n margin-bottom: 0.75rem;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n align-self: flex-end\n}\n\n/* assistant message */\n\n.aui-assistant-message-root {\n display: grid;\n grid-template-columns: auto auto 1fr;\n grid-template-rows: auto 1fr;\n position: relative;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n padding-top: 1rem;\n padding-bottom: 1rem\n}\n\n:where(.aui-assistant-message-root) > .aui-avatar-root {\n grid-column-start: 1;\n grid-row: 1 / -1;\n grid-row-start: 1;\n margin-right: 1rem\n}\n\n:where(.aui-assistant-message-root) > .aui-branch-picker-root {\n grid-column-start: 2;\n grid-row-start: 2;\n margin-left: -0.5rem;\n margin-right: 0.5rem\n}\n\n:where(.aui-assistant-message-root) > .aui-assistant-action-bar-root {\n grid-column-start: 3;\n grid-row-start: 2;\n margin-left: -0.25rem\n}\n\n:where(.aui-assistant-message-root) > .aui-assistant-message-content {\n grid-column: span 2 / span 2;\n grid-column-start: 2;\n grid-row-start: 1;\n margin-top: 0.375rem;\n margin-bottom: 0.375rem\n}\n\n.aui-assistant-message-content {\n max-width: calc(var(--aui-thread-max-width) * 0.8);\n overflow-wrap: break-word;\n line-height: 1.75rem;\n color: hsl(var(--aui-foreground))\n}\n\n/* assistant action bar */\n\n.aui-assistant-action-bar-root {\n display: flex;\n gap: 0.25rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n:where(.aui-assistant-action-bar-root)[data-floating] {\n position: absolute;\n border-radius: calc(var(--aui-radius) - 2px);\n border-width: 1px;\n background-color: hsl(var(--aui-background));\n padding: 0.25rem;\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n:where(.aui-assistant-action-bar-feedback-positive)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(22 163 74 / var(--aui-text-opacity, 1))\n}\n\n:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(21 128 61 / var(--aui-text-opacity, 1))\n}\n\n@media (prefers-color-scheme: dark) {\n :where(.aui-assistant-action-bar-feedback-positive)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(34 197 94 / var(--aui-text-opacity, 1))\n }\n :where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(74 222 128 / var(--aui-text-opacity, 1))\n }\n}\n\n:where(.aui-assistant-action-bar-feedback-negative)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(220 38 38 / var(--aui-text-opacity, 1))\n}\n\n:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(185 28 28 / var(--aui-text-opacity, 1))\n}\n\n@media (prefers-color-scheme: dark) {\n :where(.aui-assistant-action-bar-feedback-negative)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(239 68 68 / var(--aui-text-opacity, 1))\n }\n :where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(248 113 113 / var(--aui-text-opacity, 1))\n }\n}\n\n/* branch picker */\n\n.aui-branch-picker-root {\n display: inline-flex;\n align-items: center;\n font-size: 0.75rem;\n line-height: 1rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-branch-picker-state {\n font-weight: 500\n}\n\n/* text */\n\n.aui-text {\n white-space: pre-line\n}\n\n@keyframes aui-pulse {\n 50% {\n opacity: .5\n }\n}\n\n.aui-text-running::after {\n animation: aui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --aui-content: '\\25CF';\n content: var(--aui-content)\n}\n\n.aui-text-running:where([dir=\"ltr\"], [dir=\"ltr\"] *)::after {\n margin-left: 0.25rem\n}\n\n.aui-text-running:where([dir=\"rtl\"], [dir=\"rtl\"] *)::after {\n margin-right: 0.25rem\n}\n\n/* thread-list */\n\n.aui-thread-list-root {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 0.375rem\n}\n\n.aui-thread-list-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n border-radius: var(--aui-radius);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n\n.aui-thread-list-item:hover {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-item:focus-visible {\n background-color: hsl(var(--aui-muted));\n outline: 2px solid transparent;\n outline-offset: 2px;\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(2px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000);\n --aui-ring-color: hsl(var(--aui-ring))\n}\n\n.aui-thread-list-item[data-active] {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-new {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 0.25rem;\n border-radius: var(--aui-radius);\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n text-align: start\n}\n\n.aui-thread-list-new:hover {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-new[data-active] {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-new > .lucide-plus {\n width: 1.25rem;\n height: 1.25rem\n}\n\n.aui-thread-list-item-trigger {\n flex-grow: 1;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n text-align: start\n}\n\n.aui-thread-list-item-title {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n\n.aui-thread-list-item-archive {\n margin-left: auto;\n margin-right: 0.75rem;\n width: 1rem;\n height: 1rem;\n padding: 0px;\n color: hsl(var(--aui-foreground))\n}\n\n.aui-thread-list-item-archive:hover {\n color: hsl(var(--aui-primary))\n}\n",":root {\n --aui-background: 0 0% 100%;\n --aui-foreground: 240 10% 3.9%;\n\n --aui-card: 0 0% 100%;\n --aui-card-foreground: 240 10% 3.9%;\n\n --aui-popover: 0 0% 100%;\n --aui-popover-foreground: 240 10% 3.9%;\n\n --aui-primary: 240 5.9% 10%;\n --aui-primary-foreground: 0 0% 98%;\n\n --aui-secondary: 240 4.8% 95.9%;\n --aui-secondary-foreground: 240 5.9% 10%;\n\n --aui-muted: 240 4.8% 95.9%;\n --aui-muted-foreground: 240 3.8% 46.1%;\n\n --aui-accent: 240 4.8% 95.9%;\n --aui-accent-foreground: 240 5.9% 10%;\n\n --aui-destructive: 0 84.2% 60.2%;\n --aui-destructive-foreground: 0 0% 98%;\n\n --aui-border: 240 5.9% 90%;\n --aui-input: 240 5.9% 90%;\n --aui-ring: 240 10% 3.9%;\n\n --aui-radius: 0.5rem;\n\n /* aui specific */\n --aui-thread-max-width: 42rem;\n}\n\n.dark {\n --aui-background: 0 0% 7%;\n --aui-foreground: 0 0% 98%;\n\n --aui-card: 240 10% 3.9%;\n --aui-card-foreground: 0 0% 98%;\n\n --aui-popover: 240 10% 3.9%;\n --aui-popover-foreground: 0 0% 98%;\n\n --aui-primary: 0 0% 98%;\n --aui-primary-foreground: 240 5.9% 10%;\n\n --aui-secondary: 240 3.7% 15.9%;\n --aui-secondary-foreground: 0 0% 98%;\n\n --aui-muted: 240 3.7% 15.9%;\n --aui-muted-foreground: 240 5% 64.9%;\n\n --aui-accent: 240 3.7% 15.9%;\n --aui-accent-foreground: 0 0% 98%;\n\n --aui-destructive: 0 62.8% 30.6%;\n --aui-destructive-foreground: 0 0% 98%;\n\n --aui-border: 240 3.7% 15.9%;\n --aui-input: 240 3.7% 15.9%;\n --aui-ring: 240 4.9% 83.9%;\n}\n"],"mappings":"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","names":[]}
|
1
|
+
{"version":3,"sources":["../../src/styles/base.css","../../src/styles/tailwindcss/base-components.css","../../src/styles/tailwindcss/thread.css","../../src/styles/themes/default.css"],"sourcesContent":[":where(.aui-root) *, :where(.aui-root) ::before, :where(.aui-root) ::after {\n --aui-border-spacing-x: 0;\n --aui-border-spacing-y: 0;\n --aui-translate-x: 0;\n --aui-translate-y: 0;\n --aui-rotate: 0;\n --aui-skew-x: 0;\n --aui-skew-y: 0;\n --aui-scale-x: 1;\n --aui-scale-y: 1;\n --aui-ring-inset: ;\n --aui-ring-offset-width: 0px;\n --aui-ring-offset-color: #fff;\n --aui-ring-color: rgb(59 130 246 / 0.5);\n --aui-ring-offset-shadow: 0 0 #0000;\n --aui-ring-shadow: 0 0 #0000;\n --aui-shadow: 0 0 #0000;\n --aui-shadow-colored: 0 0 #0000;\n --aui-blur: ;\n --aui-brightness: ;\n --aui-contrast: ;\n --aui-grayscale: ;\n --aui-hue-rotate: ;\n --aui-invert: ;\n --aui-saturate: ;\n --aui-sepia: ;\n --aui-drop-shadow: ;\n --aui-backdrop-blur: ;\n --aui-backdrop-brightness: ;\n --aui-backdrop-contrast: ;\n --aui-backdrop-grayscale: ;\n --aui-backdrop-hue-rotate: ;\n --aui-backdrop-invert: ;\n --aui-backdrop-opacity: ;\n --aui-backdrop-saturate: ;\n --aui-backdrop-sepia: ;\n --aui-contain-size: ;\n --aui-contain-layout: ;\n --aui-contain-paint: ;\n --aui-contain-style: ;\n}\n :where(.aui-root) ::backdrop {\n --aui-border-spacing-x: 0;\n --aui-border-spacing-y: 0;\n --aui-translate-x: 0;\n --aui-translate-y: 0;\n --aui-rotate: 0;\n --aui-skew-x: 0;\n --aui-skew-y: 0;\n --aui-scale-x: 1;\n --aui-scale-y: 1;\n --aui-ring-inset: ;\n --aui-ring-offset-width: 0px;\n --aui-ring-offset-color: #fff;\n --aui-ring-color: rgb(59 130 246 / 0.5);\n --aui-ring-offset-shadow: 0 0 #0000;\n --aui-ring-shadow: 0 0 #0000;\n --aui-shadow: 0 0 #0000;\n --aui-shadow-colored: 0 0 #0000;\n --aui-blur: ;\n --aui-brightness: ;\n --aui-contrast: ;\n --aui-grayscale: ;\n --aui-hue-rotate: ;\n --aui-invert: ;\n --aui-saturate: ;\n --aui-sepia: ;\n --aui-drop-shadow: ;\n --aui-backdrop-blur: ;\n --aui-backdrop-brightness: ;\n --aui-backdrop-contrast: ;\n --aui-backdrop-grayscale: ;\n --aui-backdrop-hue-rotate: ;\n --aui-backdrop-invert: ;\n --aui-backdrop-opacity: ;\n --aui-backdrop-saturate: ;\n --aui-backdrop-sepia: ;\n --aui-contain-size: ;\n --aui-contain-layout: ;\n --aui-contain-paint: ;\n --aui-contain-style: ;\n}\n /*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*/\n /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n :where(.aui-root) *,\n:where(.aui-root) ::before,\n:where(.aui-root) ::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n :where(.aui-root) ::before,\n:where(.aui-root) ::after {\n --aui-content: '';\n}\n /*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n :where(.aui-root) html,\n:where(.aui-root) :host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n /*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n :where(.aui-root) body {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n /*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n :where(.aui-root) hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n /*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n :where(.aui-root) abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n /*\nRemove the default font size and weight for headings.\n*/\n :where(.aui-root) h1,\n:where(.aui-root) h2,\n:where(.aui-root) h3,\n:where(.aui-root) h4,\n:where(.aui-root) h5,\n:where(.aui-root) h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n /*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n :where(.aui-root) a {\n color: inherit;\n text-decoration: inherit;\n}\n /*\nAdd the correct font weight in Edge and Safari.\n*/\n :where(.aui-root) b,\n:where(.aui-root) strong {\n font-weight: bolder;\n}\n /*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n :where(.aui-root) code,\n:where(.aui-root) kbd,\n:where(.aui-root) samp,\n:where(.aui-root) pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n /*\nAdd the correct font size in all browsers.\n*/\n :where(.aui-root) small {\n font-size: 80%;\n}\n /*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n :where(.aui-root) sub,\n:where(.aui-root) sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n :where(.aui-root) sub {\n bottom: -0.25em;\n}\n :where(.aui-root) sup {\n top: -0.5em;\n}\n /*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n :where(.aui-root) table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n /*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n :where(.aui-root) button,\n:where(.aui-root) input,\n:where(.aui-root) optgroup,\n:where(.aui-root) select,\n:where(.aui-root) textarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n /*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n :where(.aui-root) button,\n:where(.aui-root) select {\n text-transform: none;\n}\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n :where(.aui-root) button,\n:where(.aui-root) input:where([type='button']),\n:where(.aui-root) input:where([type='reset']),\n:where(.aui-root) input:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n /*\nUse the modern Firefox focus style for all focusable elements.\n*/\n :where(.aui-root) :-moz-focusring {\n outline: auto;\n}\n /*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n :where(.aui-root) :-moz-ui-invalid {\n box-shadow: none;\n}\n /*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n :where(.aui-root) progress {\n vertical-align: baseline;\n}\n /*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n :where(.aui-root) ::-webkit-inner-spin-button,\n:where(.aui-root) ::-webkit-outer-spin-button {\n height: auto;\n}\n /*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n :where(.aui-root) [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n /*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n :where(.aui-root) ::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n :where(.aui-root) ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n /*\nAdd the correct display in Chrome and Safari.\n*/\n :where(.aui-root) summary {\n display: list-item;\n}\n /*\nRemoves the default spacing and border for appropriate elements.\n*/\n :where(.aui-root) blockquote,\n:where(.aui-root) dl,\n:where(.aui-root) dd,\n:where(.aui-root) h1,\n:where(.aui-root) h2,\n:where(.aui-root) h3,\n:where(.aui-root) h4,\n:where(.aui-root) h5,\n:where(.aui-root) h6,\n:where(.aui-root) hr,\n:where(.aui-root) figure,\n:where(.aui-root) p,\n:where(.aui-root) pre {\n margin: 0;\n}\n :where(.aui-root) fieldset {\n margin: 0;\n padding: 0;\n}\n :where(.aui-root) legend {\n padding: 0;\n}\n :where(.aui-root) ol,\n:where(.aui-root) ul,\n:where(.aui-root) menu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n /*\nReset default styling for dialogs.\n*/\n :where(.aui-root) dialog {\n padding: 0;\n}\n /*\nPrevent resizing textareas horizontally by default.\n*/\n :where(.aui-root) textarea {\n resize: vertical;\n}\n /*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n :where(.aui-root) input::-moz-placeholder, :where(.aui-root) textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n :where(.aui-root) input::placeholder,\n:where(.aui-root) textarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n /*\nSet the default cursor for buttons.\n*/\n :where(.aui-root) button,\n:where(.aui-root) [role=\"button\"] {\n cursor: pointer;\n}\n /*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n :where(.aui-root) :disabled {\n cursor: default;\n}\n /*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n :where(.aui-root) img,\n:where(.aui-root) svg,\n:where(.aui-root) video,\n:where(.aui-root) canvas,\n:where(.aui-root) audio,\n:where(.aui-root) iframe,\n:where(.aui-root) embed,\n:where(.aui-root) object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n /*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n :where(.aui-root) img,\n:where(.aui-root) video {\n max-width: 100%;\n height: auto;\n}\n /* Make elements with the HTML hidden attribute stay hidden by default */\n :where(.aui-root) [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n@keyframes aui-enter {\n from {\n opacity: var(--aui-enter-opacity, 1);\n transform: translate3d(\n var(--aui-enter-translate-x, 0),\n var(--aui-enter-translate-y, 0),\n 0\n )\n scale3d(\n var(--aui-enter-scale, 1),\n var(--aui-enter-scale, 1),\n var(--aui-enter-scale, 1)\n )\n rotate(var(--aui-enter-rotate, 0));\n }\n}\n\n@keyframes aui-exit {\n to {\n opacity: var(--aui-exit-opacity, 1);\n transform: translate3d(\n var(--aui-exit-translate-x, 0),\n var(--aui-exit-translate-y, 0),\n 0\n )\n scale3d(\n var(--aui-exit-scale, 1),\n var(--aui-exit-scale, 1),\n var(--aui-exit-scale, 1)\n )\n rotate(var(--aui-exit-rotate, 0));\n }\n}\n",".aui-root {\n\n color: hsl(var(--aui-foreground))\n}\n\n.aui-root * {\n\n border-color: hsl(var(--aui-border))\n}\n\n/* shadcn-ui/button */\n.aui-button {\n\n display: inline-flex;\n\n align-items: center;\n\n justify-content: center;\n\n gap: 0.5rem;\n\n white-space: nowrap;\n\n border-radius: calc(var(--aui-radius) - 2px);\n\n font-size: 0.875rem;\n\n line-height: 1.25rem;\n\n font-weight: 500;\n\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-duration: 150ms\n}\n.aui-button:focus-visible {\n\n outline: 2px solid transparent;\n\n outline-offset: 2px;\n\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(1px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000);\n\n --aui-ring-color: hsl(var(--aui-ring))\n}\n.aui-button:disabled {\n\n pointer-events: none;\n\n opacity: 0.5\n}\n.aui-button svg {\n\n pointer-events: none;\n\n width: 1rem;\n\n height: 1rem;\n\n flex-shrink: 0\n}\n\n.aui-button-primary {\n\n background-color: hsl(var(--aui-primary));\n\n color: hsl(var(--aui-primary-foreground));\n\n --aui-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n\n --aui-shadow-colored: 0 1px 3px 0 var(--aui-shadow-color), 0 1px 2px -1px var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n.aui-button-primary:hover {\n\n background-color: hsl(var(--aui-primary) / 0.9)\n}\n\n.aui-button-outline {\n\n border-width: 1px;\n\n border-color: hsl(var(--aui-input));\n\n background-color: hsl(var(--aui-background));\n\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n.aui-button-outline:hover {\n\n background-color: hsl(var(--aui-accent));\n\n color: hsl(var(--aui-accent-foreground))\n}\n\n.aui-button-ghost:hover {\n\n background-color: hsl(var(--aui-accent));\n\n color: hsl(var(--aui-accent-foreground))\n}\n\n.aui-button-medium {\n\n height: 2.25rem;\n\n padding-left: 1rem;\n\n padding-right: 1rem;\n\n padding-top: 0.5rem;\n\n padding-bottom: 0.5rem\n}\n\n/** tooltip icon button */\n.aui-button-icon {\n\n width: 1.5rem;\n\n height: 1.5rem;\n\n padding: 0.25rem\n}\n\n.aui-sr-only {\n\n position: absolute;\n\n width: 1px;\n\n height: 1px;\n\n padding: 0;\n\n margin: -1px;\n\n overflow: hidden;\n\n clip: rect(0, 0, 0, 0);\n\n white-space: nowrap;\n\n border-width: 0\n}\n\n/* shadcn-ui/avatar */\n\n.aui-avatar-root {\n\n position: relative;\n\n display: flex;\n\n height: 2.5rem;\n\n width: 2.5rem;\n\n flex-shrink: 0;\n\n overflow: hidden;\n\n border-radius: 9999px\n}\n\n.aui-avatar-image {\n\n aspect-ratio: 1 / 1;\n\n height: 100%;\n\n width: 100%;\n\n -o-object-fit: cover;\n\n object-fit: cover\n}\n\n.aui-avatar-fallback {\n\n display: flex;\n\n height: 100%;\n\n width: 100%;\n\n align-items: center;\n\n justify-content: center;\n\n border-radius: 9999px;\n\n background-color: hsl(var(--aui-muted))\n}\n\n/* shadcn-ui/tooltip */\n\n.aui-tooltip-content {\n\n z-index: 50;\n\n overflow: hidden;\n\n border-radius: calc(var(--aui-radius) - 2px);\n\n background-color: hsl(var(--aui-primary));\n\n padding-left: 0.75rem;\n\n padding-right: 0.75rem;\n\n padding-top: 0.375rem;\n\n padding-bottom: 0.375rem;\n\n font-size: 0.75rem;\n\n line-height: 1rem;\n\n color: hsl(var(--aui-primary-foreground));\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial;\n\n --aui-enter-opacity: 0;\n\n --aui-enter-scale: .95\n}\n\n.aui-tooltip-content[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0;\n\n --aui-exit-scale: .95\n}\n\n.aui-tooltip-content[data-side=\"bottom\"] {\n\n --aui-enter-translate-y: -0.5rem\n}\n\n.aui-tooltip-content[data-side=\"left\"] {\n\n --aui-enter-translate-x: 0.5rem\n}\n\n.aui-tooltip-content[data-side=\"right\"] {\n\n --aui-enter-translate-x: -0.5rem\n}\n\n.aui-tooltip-content[data-side=\"top\"] {\n\n --aui-enter-translate-y: 0.5rem\n}\n\n/* shadcn-ui/dialog */\n\n.aui-dialog-overlay {\n\n position: fixed;\n\n inset: 0px;\n\n z-index: 50;\n\n background-color: rgb(0 0 0 / 0.8)\n}\n\n.aui-dialog-overlay[data-state=\"open\"] {\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial\n}\n\n.aui-dialog-overlay[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0\n}\n\n.aui-dialog-overlay[data-state=\"open\"] {\n\n --aui-enter-opacity: 0\n}\n\n.aui-dialog-content {\n\n position: fixed;\n\n left: 50%;\n\n top: 50%;\n\n z-index: 50\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-opacity: 0\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n --aui-exit-scale: .95\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-scale: .95\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n --aui-exit-translate-x: -50%;\n\n --aui-exit-translate-y: -48%\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-translate-x: -50%;\n\n --aui-enter-translate-y: -48%\n}\n\n.aui-dialog-content {\n\n display: grid;\n\n --aui-translate-x: -50%;\n\n --aui-translate-y: -50%;\n\n transform: translate(var(--aui-translate-x), var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));\n\n --aui-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n\n --aui-shadow-colored: 0 10px 15px -3px var(--aui-shadow-color), 0 4px 6px -4px var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow);\n\n transition-duration: 200ms;\n\n animation-duration: 200ms\n /* @apply w-full bg-aui-background max-w-lg gap-4 border p-6 sm:rounded-lg; */\n}\n","/* thread */\n.aui-thread-root {\n box-sizing: border-box;\n height: 100%;\n background-color: hsl(var(--aui-background))\n}\n.aui-thread-root>.aui-thread-viewport {\n background-color: inherit\n}\n\n.aui-thread-viewport {\n display: flex;\n height: 100%;\n flex-direction: column;\n align-items: center;\n overflow-y: scroll;\n scroll-behavior: smooth;\n background-color: hsl(var(--aui-background));\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 2rem\n}\n\n.aui-thread-viewport-footer {\n position: sticky;\n bottom: 0px;\n margin-top: 0.75rem;\n display: flex;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n flex-direction: column;\n align-items: center;\n justify-content: flex-end;\n border-top-left-radius: var(--aui-radius);\n border-top-right-radius: var(--aui-radius);\n background-color: inherit;\n padding-bottom: 1rem\n}\n\n.aui-thread-scroll-to-bottom {\n position: absolute;\n top: -2rem;\n border-radius: 9999px\n}\n\n.aui-thread-scroll-to-bottom:disabled {\n visibility: hidden\n}\n\n.aui-thread-followup-suggestions {\n display: flex;\n min-height: 2rem;\n align-items: center;\n justify-content: center;\n gap: 0.5rem\n}\n\n.aui-thread-followup-suggestion {\n border-radius: 9999px;\n border-width: 1px;\n background-color: hsl(var(--aui-background));\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-thread-followup-suggestion:hover {\n background-color: hsl(var(--aui-muted) / 0.8)\n}\n\n/* thread welcome */\n\n.aui-thread-welcome-root {\n display: flex;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n flex-grow: 1;\n flex-direction: column\n}\n\n.aui-thread-welcome-center {\n display: flex;\n width: 100%;\n flex-grow: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center\n}\n\n.aui-thread-welcome-message {\n margin-top: 1rem;\n font-weight: 500\n}\n\n.aui-thread-welcome-suggestions {\n margin-top: 0.75rem;\n display: flex;\n width: 100%;\n align-items: stretch;\n justify-content: center;\n gap: 1rem\n}\n\n.aui-thread-welcome-suggestion {\n display: flex;\n max-width: 24rem;\n flex-grow: 1;\n flex-basis: 0px;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: var(--aui-radius);\n border-width: 1px;\n padding: 0.75rem;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-thread-welcome-suggestion:hover {\n background-color: hsl(var(--aui-muted) / 0.8)\n}\n\n.aui-thread-welcome-suggestion-text {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 600\n}\n\n/* thread composer */\n\n.aui-composer-root {\n display: flex;\n width: 100%;\n flex-wrap: wrap;\n align-items: flex-end;\n border-radius: var(--aui-radius);\n border-width: 1px;\n background-color: inherit;\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow);\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-composer-root:focus-within {\n border-color: hsl(var(--aui-ring) / 0.2)\n}\n\n.aui-composer-input {\n max-height: 10rem;\n flex-grow: 1;\n resize: none;\n border-style: none;\n background-color: transparent;\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n padding-top: 1rem;\n padding-bottom: 1rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n outline: 2px solid transparent;\n outline-offset: 2px\n}\n\n.aui-composer-input::-moz-placeholder {\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-composer-input::placeholder {\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-composer-input:focus {\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(0px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000)\n}\n\n.aui-composer-input:disabled {\n cursor: not-allowed\n}\n\n.aui-composer-send,\n.aui-composer-cancel,\n.aui-composer-attach {\n margin-top: 0.625rem;\n margin-bottom: 0.625rem;\n width: 2rem;\n height: 2rem;\n padding: 0.5rem;\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n animation-timing-function: cubic-bezier(0.4, 0, 1, 1)\n}\n\n.aui-composer-attachments {\n display: flex;\n width: 100%;\n flex-direction: row;\n gap: 0.75rem;\n padding-left: 2.5rem;\n padding-right: 2.5rem\n}\n\n/* attachment */\n\n.aui-attachment-root {\n position: relative;\n margin-top: 0.75rem\n}\n\n.aui-attachment-content {\n display: flex;\n height: 3rem;\n width: 10rem;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n border-radius: var(--aui-radius);\n border-width: 1px;\n padding: 0.25rem\n}\n\n.aui-attachment-preview-trigger {\n cursor: pointer;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n\n.aui-attachment-preview-trigger:hover {\n background-color: hsl(var(--aui-accent) / 0.5)\n}\n\n.aui-attachment-thumb {\n display: flex;\n width: 2.5rem;\n height: 2.5rem;\n align-items: center;\n justify-content: center;\n border-radius: 0.25rem;\n border-width: 1px;\n background-color: hsl(var(--aui-muted));\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n\n.aui-attachment-text {\n flex-grow: 1;\n flex-basis: 0px\n}\n\n.aui-attachment-name {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n text-overflow: ellipsis;\n word-break: break-all;\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 700;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-attachment-type {\n font-size: 0.75rem;\n line-height: 1rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-attachment-remove {\n position: absolute;\n right: -0.75rem;\n top: -0.75rem;\n width: 1.5rem;\n height: 1.5rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-attachment-remove>svg {\n width: 1rem;\n height: 1rem;\n border-radius: 9999px;\n background-color: hsl(var(--aui-background))\n}\n\n/* user message */\n\n.aui-user-message-root {\n display: grid;\n grid-auto-rows: auto;\n grid-template-columns: minmax(72px,1fr) auto;\n row-gap: 0.5rem\n}\n\n.aui-user-message-root>* {\n grid-column-start: 2\n}\n\n.aui-user-message-root {\n width: 100%;\n max-width: var(--aui-thread-max-width);\n padding-top: 1rem;\n padding-bottom: 1rem\n}\n\n:where(.aui-user-message-root) > .aui-user-action-bar-root {\n grid-column-start: 1;\n grid-row-start: 2;\n margin-right: 0.75rem;\n margin-top: 0.625rem\n}\n\n:where(.aui-user-message-root) > .aui-user-message-attachments {\n grid-column: 1 / -1;\n grid-column-start: 1;\n grid-row-start: 1;\n justify-content: flex-end\n}\n\n:where(.aui-user-message-root) > .aui-user-message-content {\n grid-column-start: 2;\n grid-row-start: 2\n}\n\n:where(.aui-user-message-root) > .aui-branch-picker-root {\n grid-column: 1 / -1;\n grid-column-start: 1;\n grid-row-start: 3;\n margin-right: -0.25rem;\n justify-content: flex-end\n}\n\n.aui-user-message-content {\n max-width: calc(var(--aui-thread-max-width) * 0.8);\n overflow-wrap: break-word;\n border-radius: 1.5rem;\n background-color: hsl(var(--aui-muted));\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n color: hsl(var(--aui-foreground))\n}\n\n.aui-user-message-attachments {\n display: flex;\n width: 100%;\n flex-direction: row;\n gap: 0.75rem\n}\n\n/* user action bar */\n\n.aui-user-action-bar-root {\n display: flex;\n flex-direction: column;\n align-items: flex-end\n}\n\n/* edit composer */\n\n.aui-edit-composer-root {\n margin-top: 1rem;\n margin-bottom: 1rem;\n display: flex;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n flex-direction: column;\n gap: 0.5rem;\n border-radius: 0.75rem;\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-edit-composer-input {\n display: flex;\n height: 2rem;\n width: 100%;\n resize: none;\n background-color: transparent;\n padding: 1rem;\n padding-bottom: 0px;\n color: hsl(var(--aui-foreground));\n outline: 2px solid transparent;\n outline-offset: 2px\n}\n\n.aui-edit-composer-footer {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n margin-bottom: 0.75rem;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n align-self: flex-end\n}\n\n/* assistant message */\n\n.aui-assistant-message-root {\n display: grid;\n grid-template-columns: auto auto 1fr;\n grid-template-rows: auto 1fr;\n position: relative;\n width: 100%;\n max-width: var(--aui-thread-max-width);\n padding-top: 1rem;\n padding-bottom: 1rem\n}\n\n:where(.aui-assistant-message-root) > .aui-avatar-root {\n grid-column-start: 1;\n grid-row: 1 / -1;\n grid-row-start: 1;\n margin-right: 1rem\n}\n\n:where(.aui-assistant-message-root) > .aui-branch-picker-root {\n grid-column-start: 2;\n grid-row-start: 2;\n margin-left: -0.5rem;\n margin-right: 0.5rem\n}\n\n:where(.aui-assistant-message-root) > .aui-assistant-action-bar-root {\n grid-column-start: 3;\n grid-row-start: 2;\n margin-left: -0.25rem\n}\n\n:where(.aui-assistant-message-root) > .aui-assistant-message-content {\n grid-column: span 2 / span 2;\n grid-column-start: 2;\n grid-row-start: 1;\n margin-top: 0.375rem;\n margin-bottom: 0.375rem\n}\n\n.aui-assistant-message-content {\n max-width: calc(var(--aui-thread-max-width) * 0.8);\n overflow-wrap: break-word;\n line-height: 1.75rem;\n color: hsl(var(--aui-foreground))\n}\n\n/* assistant action bar */\n\n.aui-assistant-action-bar-root {\n display: flex;\n gap: 0.25rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n:where(.aui-assistant-action-bar-root)[data-floating] {\n position: absolute;\n border-radius: calc(var(--aui-radius) - 2px);\n border-width: 1px;\n background-color: hsl(var(--aui-background));\n padding: 0.25rem;\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n:where(.aui-assistant-action-bar-feedback-positive)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(22 163 74 / var(--aui-text-opacity, 1))\n}\n\n:where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(21 128 61 / var(--aui-text-opacity, 1))\n}\n\n@media (prefers-color-scheme: dark) {\n :where(.aui-assistant-action-bar-feedback-positive)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(34 197 94 / var(--aui-text-opacity, 1))\n }\n :where(.aui-assistant-action-bar-feedback-positive)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(74 222 128 / var(--aui-text-opacity, 1))\n }\n}\n\n:where(.aui-assistant-action-bar-feedback-negative)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(220 38 38 / var(--aui-text-opacity, 1))\n}\n\n:where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(185 28 28 / var(--aui-text-opacity, 1))\n}\n\n@media (prefers-color-scheme: dark) {\n :where(.aui-assistant-action-bar-feedback-negative)[data-submitted] {\n --aui-text-opacity: 1;\n color: rgb(239 68 68 / var(--aui-text-opacity, 1))\n }\n :where(.aui-assistant-action-bar-feedback-negative)[data-submitted]:hover {\n --aui-text-opacity: 1;\n color: rgb(248 113 113 / var(--aui-text-opacity, 1))\n }\n}\n\n/* branch picker */\n\n.aui-branch-picker-root {\n display: inline-flex;\n align-items: center;\n font-size: 0.75rem;\n line-height: 1rem;\n color: hsl(var(--aui-muted-foreground))\n}\n\n.aui-branch-picker-state {\n font-weight: 500\n}\n\n/* text */\n\n.aui-text {\n white-space: pre-line\n}\n\n@keyframes aui-pulse {\n 50% {\n opacity: .5\n }\n}\n\n.aui-text-running::after {\n animation: aui-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --aui-content: '\\25CF';\n content: var(--aui-content)\n}\n\n.aui-text-running:where([dir=\"ltr\"], [dir=\"ltr\"] *)::after {\n margin-left: 0.25rem\n}\n\n.aui-text-running:where([dir=\"rtl\"], [dir=\"rtl\"] *)::after {\n margin-right: 0.25rem\n}\n\n/* thread-list */\n\n.aui-thread-list-root {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 0.375rem\n}\n\n.aui-thread-list-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n border-radius: var(--aui-radius);\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms\n}\n\n.aui-thread-list-item:hover {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-item:focus-visible {\n background-color: hsl(var(--aui-muted));\n outline: 2px solid transparent;\n outline-offset: 2px;\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(2px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000);\n --aui-ring-color: hsl(var(--aui-ring))\n}\n\n.aui-thread-list-item[data-active] {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-new {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 0.25rem;\n border-radius: var(--aui-radius);\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n text-align: start\n}\n\n.aui-thread-list-new:hover {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-new[data-active] {\n background-color: hsl(var(--aui-muted))\n}\n\n.aui-thread-list-new > .lucide-plus {\n width: 1.25rem;\n height: 1.25rem\n}\n\n.aui-thread-list-item-trigger {\n flex-grow: 1;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n text-align: start\n}\n\n.aui-thread-list-item-title {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n\n.aui-thread-list-item-archive {\n margin-left: auto;\n margin-right: 0.75rem;\n width: 1rem;\n height: 1rem;\n padding: 0px;\n color: hsl(var(--aui-foreground))\n}\n\n.aui-thread-list-item-archive:hover {\n color: hsl(var(--aui-primary))\n}\n",":root {\n --aui-background: 0 0% 100%;\n --aui-foreground: 240 10% 3.9%;\n\n --aui-card: 0 0% 100%;\n --aui-card-foreground: 240 10% 3.9%;\n\n --aui-popover: 0 0% 100%;\n --aui-popover-foreground: 240 10% 3.9%;\n\n --aui-primary: 240 5.9% 10%;\n --aui-primary-foreground: 0 0% 98%;\n\n --aui-secondary: 240 4.8% 95.9%;\n --aui-secondary-foreground: 240 5.9% 10%;\n\n --aui-muted: 240 4.8% 95.9%;\n --aui-muted-foreground: 240 3.8% 46.1%;\n\n --aui-accent: 240 4.8% 95.9%;\n --aui-accent-foreground: 240 5.9% 10%;\n\n --aui-destructive: 0 84.2% 60.2%;\n --aui-destructive-foreground: 0 0% 98%;\n\n --aui-border: 240 5.9% 90%;\n --aui-input: 240 5.9% 90%;\n --aui-ring: 240 10% 3.9%;\n\n --aui-radius: 0.5rem;\n\n /* aui specific */\n --aui-thread-max-width: 42rem;\n}\n\n.dark {\n --aui-background: 0 0% 7%;\n --aui-foreground: 0 0% 98%;\n\n --aui-card: 240 10% 3.9%;\n --aui-card-foreground: 0 0% 98%;\n\n --aui-popover: 240 10% 3.9%;\n --aui-popover-foreground: 0 0% 98%;\n\n --aui-primary: 0 0% 98%;\n --aui-primary-foreground: 240 5.9% 10%;\n\n --aui-secondary: 240 3.7% 15.9%;\n --aui-secondary-foreground: 0 0% 98%;\n\n --aui-muted: 240 3.7% 15.9%;\n --aui-muted-foreground: 240 5% 64.9%;\n\n --aui-accent: 240 3.7% 15.9%;\n --aui-accent-foreground: 0 0% 98%;\n\n --aui-destructive: 0 62.8% 30.6%;\n --aui-destructive-foreground: 0 0% 98%;\n\n --aui-border: 240 3.7% 15.9%;\n --aui-input: 240 3.7% 15.9%;\n --aui-ring: 240 4.9% 83.9%;\n}\n"],"mappings":"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","names":[]}
|
@@ -27,7 +27,7 @@
|
|
27
27
|
".aui-thread-welcome-message": {
|
28
28
|
"@apply mt-4 font-medium": {}
|
29
29
|
},
|
30
|
-
".aui-thread-welcome-
|
30
|
+
".aui-thread-welcome-suggestions": {
|
31
31
|
"@apply mt-3 flex w-full items-stretch justify-center gap-4": {}
|
32
32
|
},
|
33
33
|
".aui-thread-welcome-suggestion": {
|
package/dist/ui/thread-list.d.ts
CHANGED
@@ -11,7 +11,9 @@ declare namespace ThreadListItems {
|
|
11
11
|
}
|
12
12
|
declare const ThreadListItems: FC<ThreadListItems.Props>;
|
13
13
|
declare const exports: {
|
14
|
-
Root: import("react").ForwardRefExoticComponent<Partial<Omit<
|
14
|
+
Root: import("react").ForwardRefExoticComponent<Partial<Omit<Omit<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
|
15
|
+
asChild?: boolean;
|
16
|
+
}, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref">> & import("react").RefAttributes<HTMLDivElement>>;
|
15
17
|
New: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & {
|
16
18
|
asChild?: boolean;
|
17
19
|
}, "ref"> & import("class-variance-authority").VariantProps<(props?: ({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"thread-list.d.ts","sourceRoot":"","sources":["../../src/ui/thread-list.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,QAAA,MAAM,UAAU,EAAE,EAOjB,CAAC;AA8BF,kBAAU,eAAe,CAAC;IACxB,KAAY,KAAK,GAAG;QAClB;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;KACrE,CAAC;CACH;AAED,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAS9C,CAAC;AAIF,QAAA,MAAM,OAAO
|
1
|
+
{"version":3,"file":"thread-list.d.ts","sourceRoot":"","sources":["../../src/ui/thread-list.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAI5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,QAAA,MAAM,UAAU,EAAE,EAOjB,CAAC;AA8BF,kBAAU,eAAe,CAAC;IACxB,KAAY,KAAK,GAAG;QAClB;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;KACrE,CAAC;CACH;AAED,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAS9C,CAAC;AAIF,QAAA,MAAM,OAAO;;;;;;;;;;;CAIZ,CAAC;wBAEmD,OAAO,UAAU,GACpE,OAAO,OAAO;AADhB,wBACiB"}
|
package/dist/ui/thread-list.js
CHANGED
@@ -48,7 +48,7 @@ var ThreadList = () => {
|
|
48
48
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThreadListItems, {})
|
49
49
|
] });
|
50
50
|
};
|
51
|
-
var ThreadListRoot = (0, import_withDefaults.withDefaults)(
|
51
|
+
var ThreadListRoot = (0, import_withDefaults.withDefaults)(import_primitives.ThreadListPrimitive.Root, {
|
52
52
|
className: "aui-root aui-thread-list-root"
|
53
53
|
});
|
54
54
|
ThreadListRoot.displayName = "ThreadListRoot";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/ui/thread-list.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PlusIcon } from \"lucide-react\";\n\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { ThreadListPrimitive } from \"../primitives\";\nimport ThreadListItem from \"./thread-list-item\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { Button, ButtonProps } from \"./base\";\n\nconst ThreadList: FC = () => {\n return (\n <ThreadListRoot>\n <ThreadListNew />\n <ThreadListItems />\n </ThreadListRoot>\n );\n};\n\nconst ThreadListRoot = withDefaults(
|
1
|
+
{"version":3,"sources":["../../src/ui/thread-list.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PlusIcon } from \"lucide-react\";\n\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { ThreadListPrimitive } from \"../primitives\";\nimport ThreadListItem from \"./thread-list-item\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { Button, ButtonProps } from \"./base\";\n\nconst ThreadList: FC = () => {\n return (\n <ThreadListRoot>\n <ThreadListNew />\n <ThreadListItems />\n </ThreadListRoot>\n );\n};\n\nconst ThreadListRoot = withDefaults(ThreadListPrimitive.Root, {\n className: \"aui-root aui-thread-list-root\",\n});\nThreadListRoot.displayName = \"ThreadListRoot\";\n\nconst ThreadListNew = forwardRef<\n HTMLButtonElement,\n ThreadListPrimitive.New.Props & ButtonProps\n>((props, ref) => {\n const config = useThreadConfig();\n const label = config.strings?.threadList?.new?.label ?? \"New Thread\";\n\n return (\n <ThreadListPrimitive.New asChild>\n <Button\n ref={ref}\n className=\"aui-thread-list-new\"\n variant=\"ghost\"\n {...props}\n >\n <PlusIcon />\n {label}\n </Button>\n </ThreadListPrimitive.New>\n );\n});\nThreadListNew.displayName = \"ThreadListNew\";\n\nnamespace ThreadListItems {\n export type Props = {\n /**\n * Optional custom components to override default thread list items\n */\n components?: Partial<ThreadListPrimitive.Items.Props[\"components\"]>;\n };\n}\n\nconst ThreadListItems: FC<ThreadListItems.Props> = ({ components }) => {\n return (\n <ThreadListPrimitive.Items\n components={{\n ...components,\n ThreadListItem: components?.ThreadListItem ?? ThreadListItem,\n }}\n />\n );\n};\n\nThreadListItems.displayName = \"ThreadListItems\";\n\nconst exports = {\n Root: ThreadListRoot,\n New: ThreadListNew,\n Items: ThreadListItems,\n};\n\nexport default Object.assign(ThreadList, exports) as typeof ThreadList &\n typeof exports;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAoC;AACpC,0BAAyB;AAEzB,0BAA6B;AAC7B,wBAAoC;AACpC,8BAA2B;AAC3B,2BAAgC;AAChC,kBAAoC;AAIhC;AAFJ,IAAM,aAAiB,MAAM;AAC3B,SACE,6CAAC,kBACC;AAAA,gDAAC,iBAAc;AAAA,IACf,4CAAC,mBAAgB;AAAA,KACnB;AAEJ;AAEA,IAAM,qBAAiB,kCAAa,sCAAoB,MAAM;AAAA,EAC5D,WAAW;AACb,CAAC;AACD,eAAe,cAAc;AAE7B,IAAM,oBAAgB,yBAGpB,CAAC,OAAO,QAAQ;AAChB,QAAM,aAAS,sCAAgB;AAC/B,QAAM,QAAQ,OAAO,SAAS,YAAY,KAAK,SAAS;AAExD,SACE,4CAAC,sCAAoB,KAApB,EAAwB,SAAO,MAC9B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAU;AAAA,MACV,SAAQ;AAAA,MACP,GAAG;AAAA,MAEJ;AAAA,oDAAC,gCAAS;AAAA,QACT;AAAA;AAAA;AAAA,EACH,GACF;AAEJ,CAAC;AACD,cAAc,cAAc;AAW5B,IAAM,kBAA6C,CAAC,EAAE,WAAW,MAAM;AACrE,SACE;AAAA,IAAC,sCAAoB;AAAA,IAApB;AAAA,MACC,YAAY;AAAA,QACV,GAAG;AAAA,QACH,gBAAgB,YAAY,kBAAkB,wBAAAA;AAAA,MAChD;AAAA;AAAA,EACF;AAEJ;AAEA,gBAAgB,cAAc;AAE9B,IAAMC,WAAU;AAAA,EACd,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AACT;AAEA,IAAO,sBAAQ,OAAO,OAAO,YAAYA,QAAO;","names":["ThreadListItem","exports"]}
|
package/dist/ui/thread-list.mjs
CHANGED
@@ -15,7 +15,7 @@ var ThreadList = () => {
|
|
15
15
|
/* @__PURE__ */ jsx(ThreadListItems, {})
|
16
16
|
] });
|
17
17
|
};
|
18
|
-
var ThreadListRoot = withDefaults(
|
18
|
+
var ThreadListRoot = withDefaults(ThreadListPrimitive.Root, {
|
19
19
|
className: "aui-root aui-thread-list-root"
|
20
20
|
});
|
21
21
|
ThreadListRoot.displayName = "ThreadListRoot";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/ui/thread-list.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PlusIcon } from \"lucide-react\";\n\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { ThreadListPrimitive } from \"../primitives\";\nimport ThreadListItem from \"./thread-list-item\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { Button, ButtonProps } from \"./base\";\n\nconst ThreadList: FC = () => {\n return (\n <ThreadListRoot>\n <ThreadListNew />\n <ThreadListItems />\n </ThreadListRoot>\n );\n};\n\nconst ThreadListRoot = withDefaults(
|
1
|
+
{"version":3,"sources":["../../src/ui/thread-list.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, type FC } from \"react\";\nimport { PlusIcon } from \"lucide-react\";\n\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { ThreadListPrimitive } from \"../primitives\";\nimport ThreadListItem from \"./thread-list-item\";\nimport { useThreadConfig } from \"./thread-config\";\nimport { Button, ButtonProps } from \"./base\";\n\nconst ThreadList: FC = () => {\n return (\n <ThreadListRoot>\n <ThreadListNew />\n <ThreadListItems />\n </ThreadListRoot>\n );\n};\n\nconst ThreadListRoot = withDefaults(ThreadListPrimitive.Root, {\n className: \"aui-root aui-thread-list-root\",\n});\nThreadListRoot.displayName = \"ThreadListRoot\";\n\nconst ThreadListNew = forwardRef<\n HTMLButtonElement,\n ThreadListPrimitive.New.Props & ButtonProps\n>((props, ref) => {\n const config = useThreadConfig();\n const label = config.strings?.threadList?.new?.label ?? \"New Thread\";\n\n return (\n <ThreadListPrimitive.New asChild>\n <Button\n ref={ref}\n className=\"aui-thread-list-new\"\n variant=\"ghost\"\n {...props}\n >\n <PlusIcon />\n {label}\n </Button>\n </ThreadListPrimitive.New>\n );\n});\nThreadListNew.displayName = \"ThreadListNew\";\n\nnamespace ThreadListItems {\n export type Props = {\n /**\n * Optional custom components to override default thread list items\n */\n components?: Partial<ThreadListPrimitive.Items.Props[\"components\"]>;\n };\n}\n\nconst ThreadListItems: FC<ThreadListItems.Props> = ({ components }) => {\n return (\n <ThreadListPrimitive.Items\n components={{\n ...components,\n ThreadListItem: components?.ThreadListItem ?? ThreadListItem,\n }}\n />\n );\n};\n\nThreadListItems.displayName = \"ThreadListItems\";\n\nconst exports = {\n Root: ThreadListRoot,\n New: ThreadListNew,\n Items: ThreadListItems,\n};\n\nexport default Object.assign(ThreadList, exports) as typeof ThreadList &\n typeof exports;\n"],"mappings":";;;AAEA,SAAS,kBAA2B;AACpC,SAAS,gBAAgB;AAEzB,SAAS,oBAAoB;AAC7B,SAAS,2BAA2B;AACpC,OAAO,oBAAoB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,cAA2B;AAIhC,SACE,KADF;AAFJ,IAAM,aAAiB,MAAM;AAC3B,SACE,qBAAC,kBACC;AAAA,wBAAC,iBAAc;AAAA,IACf,oBAAC,mBAAgB;AAAA,KACnB;AAEJ;AAEA,IAAM,iBAAiB,aAAa,oBAAoB,MAAM;AAAA,EAC5D,WAAW;AACb,CAAC;AACD,eAAe,cAAc;AAE7B,IAAM,gBAAgB,WAGpB,CAAC,OAAO,QAAQ;AAChB,QAAM,SAAS,gBAAgB;AAC/B,QAAM,QAAQ,OAAO,SAAS,YAAY,KAAK,SAAS;AAExD,SACE,oBAAC,oBAAoB,KAApB,EAAwB,SAAO,MAC9B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAU;AAAA,MACV,SAAQ;AAAA,MACP,GAAG;AAAA,MAEJ;AAAA,4BAAC,YAAS;AAAA,QACT;AAAA;AAAA;AAAA,EACH,GACF;AAEJ,CAAC;AACD,cAAc,cAAc;AAW5B,IAAM,kBAA6C,CAAC,EAAE,WAAW,MAAM;AACrE,SACE;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC,YAAY;AAAA,QACV,GAAG;AAAA,QACH,gBAAgB,YAAY,kBAAkB;AAAA,MAChD;AAAA;AAAA,EACF;AAEJ;AAEA,gBAAgB,cAAc;AAE9B,IAAM,UAAU;AAAA,EACd,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AACT;AAEA,IAAO,sBAAQ,OAAO,OAAO,YAAY,OAAO;","names":[]}
|
@@ -69,7 +69,7 @@ var ThreadWelcomeMessage = (0, import_react.forwardRef)(({ message: messageProp,
|
|
69
69
|
});
|
70
70
|
ThreadWelcomeMessage.displayName = "ThreadWelcomeMessage";
|
71
71
|
var ThreadWelcomeSuggestionContainer = (0, import_withDefaults.withDefaults)("div", {
|
72
|
-
className: "aui-thread-welcome-
|
72
|
+
className: "aui-thread-welcome-suggestions"
|
73
73
|
});
|
74
74
|
var ThreadWelcomeSuggestionStyled = (0, import_withDefaults.withDefaults)(import_primitives.ThreadPrimitive.Suggestion, {
|
75
75
|
className: "aui-thread-welcome-suggestion"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/ui/thread-welcome.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentPropsWithoutRef, forwardRef, type FC } from \"react\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { Avatar } from \"./base/avatar\";\nimport { SuggestionConfig, useThreadConfig } from \"./thread-config\";\nimport { ThreadPrimitive } from \"../primitives\";\nimport { useThread } from \"../context\";\n\nconst ThreadWelcome: FC = () => {\n return (\n <ThreadWelcomeRoot>\n <ThreadWelcomeCenter>\n <ThreadWelcomeAvatar />\n <ThreadWelcomeMessage />\n </ThreadWelcomeCenter>\n <ThreadWelcomeSuggestions />\n </ThreadWelcomeRoot>\n );\n};\n\nThreadWelcome.displayName = \"ThreadWelcome\";\n\nconst ThreadWelcomeRootStyled = withDefaults(\"div\", {\n className: \"aui-thread-welcome-root\",\n});\n\nconst ThreadWelcomeCenter = withDefaults(\"div\", {\n className: \"aui-thread-welcome-center\",\n});\n\nnamespace ThreadWelcomeRoot {\n export type Element = HTMLDivElement;\n export type Props = ComponentPropsWithoutRef<\"div\">;\n}\n\nconst ThreadWelcomeRoot = forwardRef<\n ThreadWelcomeRoot.Element,\n ThreadWelcomeRoot.Props\n>((props, ref) => {\n return (\n <ThreadPrimitive.Empty>\n <ThreadWelcomeRootStyled {...props} ref={ref} />\n </ThreadPrimitive.Empty>\n );\n});\n\nThreadWelcomeRoot.displayName = \"ThreadWelcomeRoot\";\n\nconst ThreadWelcomeAvatar: FC = () => {\n const { assistantAvatar: avatar = { fallback: \"A\" } } = useThreadConfig();\n return <Avatar {...avatar} />;\n};\n\nconst ThreadWelcomeMessageStyled = withDefaults(\"p\", {\n className: \"aui-thread-welcome-message\",\n});\n\nnamespace ThreadWelcomeMessage {\n export type Element = HTMLParagraphElement;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof ThreadWelcomeMessageStyled>,\n \"children\"\n > & { message?: string | undefined };\n}\n\nconst ThreadWelcomeMessage = forwardRef<\n ThreadWelcomeMessage.Element,\n ThreadWelcomeMessage.Props\n>(({ message: messageProp, ...rest }, ref) => {\n const {\n welcome: { message } = {},\n strings: {\n welcome: { message: defaultMessage = \"How can I help you today?\" } = {},\n } = {},\n } = useThreadConfig();\n return (\n <ThreadWelcomeMessageStyled {...rest} ref={ref}>\n {messageProp ?? message ?? defaultMessage}\n </ThreadWelcomeMessageStyled>\n );\n});\n\nThreadWelcomeMessage.displayName = \"ThreadWelcomeMessage\";\n\nconst ThreadWelcomeSuggestionContainer = withDefaults(\"div\", {\n className: \"aui-thread-welcome-
|
1
|
+
{"version":3,"sources":["../../src/ui/thread-welcome.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentPropsWithoutRef, forwardRef, type FC } from \"react\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { Avatar } from \"./base/avatar\";\nimport { SuggestionConfig, useThreadConfig } from \"./thread-config\";\nimport { ThreadPrimitive } from \"../primitives\";\nimport { useThread } from \"../context\";\n\nconst ThreadWelcome: FC = () => {\n return (\n <ThreadWelcomeRoot>\n <ThreadWelcomeCenter>\n <ThreadWelcomeAvatar />\n <ThreadWelcomeMessage />\n </ThreadWelcomeCenter>\n <ThreadWelcomeSuggestions />\n </ThreadWelcomeRoot>\n );\n};\n\nThreadWelcome.displayName = \"ThreadWelcome\";\n\nconst ThreadWelcomeRootStyled = withDefaults(\"div\", {\n className: \"aui-thread-welcome-root\",\n});\n\nconst ThreadWelcomeCenter = withDefaults(\"div\", {\n className: \"aui-thread-welcome-center\",\n});\n\nnamespace ThreadWelcomeRoot {\n export type Element = HTMLDivElement;\n export type Props = ComponentPropsWithoutRef<\"div\">;\n}\n\nconst ThreadWelcomeRoot = forwardRef<\n ThreadWelcomeRoot.Element,\n ThreadWelcomeRoot.Props\n>((props, ref) => {\n return (\n <ThreadPrimitive.Empty>\n <ThreadWelcomeRootStyled {...props} ref={ref} />\n </ThreadPrimitive.Empty>\n );\n});\n\nThreadWelcomeRoot.displayName = \"ThreadWelcomeRoot\";\n\nconst ThreadWelcomeAvatar: FC = () => {\n const { assistantAvatar: avatar = { fallback: \"A\" } } = useThreadConfig();\n return <Avatar {...avatar} />;\n};\n\nconst ThreadWelcomeMessageStyled = withDefaults(\"p\", {\n className: \"aui-thread-welcome-message\",\n});\n\nnamespace ThreadWelcomeMessage {\n export type Element = HTMLParagraphElement;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof ThreadWelcomeMessageStyled>,\n \"children\"\n > & { message?: string | undefined };\n}\n\nconst ThreadWelcomeMessage = forwardRef<\n ThreadWelcomeMessage.Element,\n ThreadWelcomeMessage.Props\n>(({ message: messageProp, ...rest }, ref) => {\n const {\n welcome: { message } = {},\n strings: {\n welcome: { message: defaultMessage = \"How can I help you today?\" } = {},\n } = {},\n } = useThreadConfig();\n return (\n <ThreadWelcomeMessageStyled {...rest} ref={ref}>\n {messageProp ?? message ?? defaultMessage}\n </ThreadWelcomeMessageStyled>\n );\n});\n\nThreadWelcomeMessage.displayName = \"ThreadWelcomeMessage\";\n\nconst ThreadWelcomeSuggestionContainer = withDefaults(\"div\", {\n className: \"aui-thread-welcome-suggestions\",\n});\n\nconst ThreadWelcomeSuggestionStyled = withDefaults(ThreadPrimitive.Suggestion, {\n className: \"aui-thread-welcome-suggestion\",\n});\n\nexport namespace ThreadWelcomeSuggestion {\n export type Props = {\n suggestion: SuggestionConfig;\n };\n}\n\nconst ThreadWelcomeSuggestion: FC<ThreadWelcomeSuggestion.Props> = ({\n suggestion: { text, prompt },\n}) => {\n return (\n <ThreadWelcomeSuggestionStyled prompt={prompt} method=\"replace\" autoSend>\n <span className=\"aui-thread-welcome-suggestion-text\">\n {text ?? prompt}\n </span>\n </ThreadWelcomeSuggestionStyled>\n );\n};\n\nconst ThreadWelcomeSuggestions: FC = () => {\n const suggestions2 = useThread((t) => t.suggestions);\n const { welcome: { suggestions } = {} } = useThreadConfig();\n\n const finalSuggestions = suggestions2.length ? suggestions2 : suggestions;\n\n return (\n <ThreadWelcomeSuggestionContainer>\n {finalSuggestions?.map((suggestion, idx) => {\n const key = `${suggestion.prompt}-${idx}`;\n return <ThreadWelcomeSuggestion key={key} suggestion={suggestion} />;\n })}\n </ThreadWelcomeSuggestionContainer>\n );\n};\n\nThreadWelcomeSuggestions.displayName = \"ThreadWelcomeSuggestions\";\n\nconst exports = {\n Root: ThreadWelcomeRoot,\n Center: ThreadWelcomeCenter,\n Avatar: ThreadWelcomeAvatar,\n Message: ThreadWelcomeMessage,\n Suggestions: ThreadWelcomeSuggestions,\n Suggestion: ThreadWelcomeSuggestion,\n};\n\nexport default Object.assign(ThreadWelcome, exports) as typeof ThreadWelcome &\n typeof exports;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA8D;AAC9D,0BAA6B;AAC7B,oBAAuB;AACvB,2BAAkD;AAClD,wBAAgC;AAChC,qBAA0B;AAKpB;AAHN,IAAM,gBAAoB,MAAM;AAC9B,SACE,6CAAC,qBACC;AAAA,iDAAC,uBACC;AAAA,kDAAC,uBAAoB;AAAA,MACrB,4CAAC,wBAAqB;AAAA,OACxB;AAAA,IACA,4CAAC,4BAAyB;AAAA,KAC5B;AAEJ;AAEA,cAAc,cAAc;AAE5B,IAAM,8BAA0B,kCAAa,OAAO;AAAA,EAClD,WAAW;AACb,CAAC;AAED,IAAM,0BAAsB,kCAAa,OAAO;AAAA,EAC9C,WAAW;AACb,CAAC;AAOD,IAAM,wBAAoB,yBAGxB,CAAC,OAAO,QAAQ;AAChB,SACE,4CAAC,kCAAgB,OAAhB,EACC,sDAAC,2BAAyB,GAAG,OAAO,KAAU,GAChD;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAM,sBAA0B,MAAM;AACpC,QAAM,EAAE,iBAAiB,SAAS,EAAE,UAAU,IAAI,EAAE,QAAI,sCAAgB;AACxE,SAAO,4CAAC,wBAAQ,GAAG,QAAQ;AAC7B;AAEA,IAAM,iCAA6B,kCAAa,KAAK;AAAA,EACnD,WAAW;AACb,CAAC;AAUD,IAAM,2BAAuB,yBAG3B,CAAC,EAAE,SAAS,aAAa,GAAG,KAAK,GAAG,QAAQ;AAC5C,QAAM;AAAA,IACJ,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,IACxB,SAAS;AAAA,MACP,SAAS,EAAE,SAAS,iBAAiB,4BAA4B,IAAI,CAAC;AAAA,IACxE,IAAI,CAAC;AAAA,EACP,QAAI,sCAAgB;AACpB,SACE,4CAAC,8BAA4B,GAAG,MAAM,KACnC,yBAAe,WAAW,gBAC7B;AAEJ,CAAC;AAED,qBAAqB,cAAc;AAEnC,IAAM,uCAAmC,kCAAa,OAAO;AAAA,EAC3D,WAAW;AACb,CAAC;AAED,IAAM,oCAAgC,kCAAa,kCAAgB,YAAY;AAAA,EAC7E,WAAW;AACb,CAAC;AAQD,IAAM,0BAA6D,CAAC;AAAA,EAClE,YAAY,EAAE,MAAM,OAAO;AAC7B,MAAM;AACJ,SACE,4CAAC,iCAA8B,QAAgB,QAAO,WAAU,UAAQ,MACtE,sDAAC,UAAK,WAAU,sCACb,kBAAQ,QACX,GACF;AAEJ;AAEA,IAAM,2BAA+B,MAAM;AACzC,QAAM,mBAAe,0BAAU,CAAC,MAAM,EAAE,WAAW;AACnD,QAAM,EAAE,SAAS,EAAE,YAAY,IAAI,CAAC,EAAE,QAAI,sCAAgB;AAE1D,QAAM,mBAAmB,aAAa,SAAS,eAAe;AAE9D,SACE,4CAAC,oCACE,4BAAkB,IAAI,CAAC,YAAY,QAAQ;AAC1C,UAAM,MAAM,GAAG,WAAW,MAAM,IAAI,GAAG;AACvC,WAAO,4CAAC,2BAAkC,cAAL,GAA6B;AAAA,EACpE,CAAC,GACH;AAEJ;AAEA,yBAAyB,cAAc;AAEvC,IAAMA,WAAU;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AACd;AAEA,IAAO,yBAAQ,OAAO,OAAO,eAAeA,QAAO;","names":["exports"]}
|
@@ -46,7 +46,7 @@ var ThreadWelcomeMessage = forwardRef(({ message: messageProp, ...rest }, ref) =
|
|
46
46
|
});
|
47
47
|
ThreadWelcomeMessage.displayName = "ThreadWelcomeMessage";
|
48
48
|
var ThreadWelcomeSuggestionContainer = withDefaults("div", {
|
49
|
-
className: "aui-thread-welcome-
|
49
|
+
className: "aui-thread-welcome-suggestions"
|
50
50
|
});
|
51
51
|
var ThreadWelcomeSuggestionStyled = withDefaults(ThreadPrimitive.Suggestion, {
|
52
52
|
className: "aui-thread-welcome-suggestion"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/ui/thread-welcome.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentPropsWithoutRef, forwardRef, type FC } from \"react\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { Avatar } from \"./base/avatar\";\nimport { SuggestionConfig, useThreadConfig } from \"./thread-config\";\nimport { ThreadPrimitive } from \"../primitives\";\nimport { useThread } from \"../context\";\n\nconst ThreadWelcome: FC = () => {\n return (\n <ThreadWelcomeRoot>\n <ThreadWelcomeCenter>\n <ThreadWelcomeAvatar />\n <ThreadWelcomeMessage />\n </ThreadWelcomeCenter>\n <ThreadWelcomeSuggestions />\n </ThreadWelcomeRoot>\n );\n};\n\nThreadWelcome.displayName = \"ThreadWelcome\";\n\nconst ThreadWelcomeRootStyled = withDefaults(\"div\", {\n className: \"aui-thread-welcome-root\",\n});\n\nconst ThreadWelcomeCenter = withDefaults(\"div\", {\n className: \"aui-thread-welcome-center\",\n});\n\nnamespace ThreadWelcomeRoot {\n export type Element = HTMLDivElement;\n export type Props = ComponentPropsWithoutRef<\"div\">;\n}\n\nconst ThreadWelcomeRoot = forwardRef<\n ThreadWelcomeRoot.Element,\n ThreadWelcomeRoot.Props\n>((props, ref) => {\n return (\n <ThreadPrimitive.Empty>\n <ThreadWelcomeRootStyled {...props} ref={ref} />\n </ThreadPrimitive.Empty>\n );\n});\n\nThreadWelcomeRoot.displayName = \"ThreadWelcomeRoot\";\n\nconst ThreadWelcomeAvatar: FC = () => {\n const { assistantAvatar: avatar = { fallback: \"A\" } } = useThreadConfig();\n return <Avatar {...avatar} />;\n};\n\nconst ThreadWelcomeMessageStyled = withDefaults(\"p\", {\n className: \"aui-thread-welcome-message\",\n});\n\nnamespace ThreadWelcomeMessage {\n export type Element = HTMLParagraphElement;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof ThreadWelcomeMessageStyled>,\n \"children\"\n > & { message?: string | undefined };\n}\n\nconst ThreadWelcomeMessage = forwardRef<\n ThreadWelcomeMessage.Element,\n ThreadWelcomeMessage.Props\n>(({ message: messageProp, ...rest }, ref) => {\n const {\n welcome: { message } = {},\n strings: {\n welcome: { message: defaultMessage = \"How can I help you today?\" } = {},\n } = {},\n } = useThreadConfig();\n return (\n <ThreadWelcomeMessageStyled {...rest} ref={ref}>\n {messageProp ?? message ?? defaultMessage}\n </ThreadWelcomeMessageStyled>\n );\n});\n\nThreadWelcomeMessage.displayName = \"ThreadWelcomeMessage\";\n\nconst ThreadWelcomeSuggestionContainer = withDefaults(\"div\", {\n className: \"aui-thread-welcome-
|
1
|
+
{"version":3,"sources":["../../src/ui/thread-welcome.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentPropsWithoutRef, forwardRef, type FC } from \"react\";\nimport { withDefaults } from \"./utils/withDefaults\";\nimport { Avatar } from \"./base/avatar\";\nimport { SuggestionConfig, useThreadConfig } from \"./thread-config\";\nimport { ThreadPrimitive } from \"../primitives\";\nimport { useThread } from \"../context\";\n\nconst ThreadWelcome: FC = () => {\n return (\n <ThreadWelcomeRoot>\n <ThreadWelcomeCenter>\n <ThreadWelcomeAvatar />\n <ThreadWelcomeMessage />\n </ThreadWelcomeCenter>\n <ThreadWelcomeSuggestions />\n </ThreadWelcomeRoot>\n );\n};\n\nThreadWelcome.displayName = \"ThreadWelcome\";\n\nconst ThreadWelcomeRootStyled = withDefaults(\"div\", {\n className: \"aui-thread-welcome-root\",\n});\n\nconst ThreadWelcomeCenter = withDefaults(\"div\", {\n className: \"aui-thread-welcome-center\",\n});\n\nnamespace ThreadWelcomeRoot {\n export type Element = HTMLDivElement;\n export type Props = ComponentPropsWithoutRef<\"div\">;\n}\n\nconst ThreadWelcomeRoot = forwardRef<\n ThreadWelcomeRoot.Element,\n ThreadWelcomeRoot.Props\n>((props, ref) => {\n return (\n <ThreadPrimitive.Empty>\n <ThreadWelcomeRootStyled {...props} ref={ref} />\n </ThreadPrimitive.Empty>\n );\n});\n\nThreadWelcomeRoot.displayName = \"ThreadWelcomeRoot\";\n\nconst ThreadWelcomeAvatar: FC = () => {\n const { assistantAvatar: avatar = { fallback: \"A\" } } = useThreadConfig();\n return <Avatar {...avatar} />;\n};\n\nconst ThreadWelcomeMessageStyled = withDefaults(\"p\", {\n className: \"aui-thread-welcome-message\",\n});\n\nnamespace ThreadWelcomeMessage {\n export type Element = HTMLParagraphElement;\n export type Props = Omit<\n ComponentPropsWithoutRef<typeof ThreadWelcomeMessageStyled>,\n \"children\"\n > & { message?: string | undefined };\n}\n\nconst ThreadWelcomeMessage = forwardRef<\n ThreadWelcomeMessage.Element,\n ThreadWelcomeMessage.Props\n>(({ message: messageProp, ...rest }, ref) => {\n const {\n welcome: { message } = {},\n strings: {\n welcome: { message: defaultMessage = \"How can I help you today?\" } = {},\n } = {},\n } = useThreadConfig();\n return (\n <ThreadWelcomeMessageStyled {...rest} ref={ref}>\n {messageProp ?? message ?? defaultMessage}\n </ThreadWelcomeMessageStyled>\n );\n});\n\nThreadWelcomeMessage.displayName = \"ThreadWelcomeMessage\";\n\nconst ThreadWelcomeSuggestionContainer = withDefaults(\"div\", {\n className: \"aui-thread-welcome-suggestions\",\n});\n\nconst ThreadWelcomeSuggestionStyled = withDefaults(ThreadPrimitive.Suggestion, {\n className: \"aui-thread-welcome-suggestion\",\n});\n\nexport namespace ThreadWelcomeSuggestion {\n export type Props = {\n suggestion: SuggestionConfig;\n };\n}\n\nconst ThreadWelcomeSuggestion: FC<ThreadWelcomeSuggestion.Props> = ({\n suggestion: { text, prompt },\n}) => {\n return (\n <ThreadWelcomeSuggestionStyled prompt={prompt} method=\"replace\" autoSend>\n <span className=\"aui-thread-welcome-suggestion-text\">\n {text ?? prompt}\n </span>\n </ThreadWelcomeSuggestionStyled>\n );\n};\n\nconst ThreadWelcomeSuggestions: FC = () => {\n const suggestions2 = useThread((t) => t.suggestions);\n const { welcome: { suggestions } = {} } = useThreadConfig();\n\n const finalSuggestions = suggestions2.length ? suggestions2 : suggestions;\n\n return (\n <ThreadWelcomeSuggestionContainer>\n {finalSuggestions?.map((suggestion, idx) => {\n const key = `${suggestion.prompt}-${idx}`;\n return <ThreadWelcomeSuggestion key={key} suggestion={suggestion} />;\n })}\n </ThreadWelcomeSuggestionContainer>\n );\n};\n\nThreadWelcomeSuggestions.displayName = \"ThreadWelcomeSuggestions\";\n\nconst exports = {\n Root: ThreadWelcomeRoot,\n Center: ThreadWelcomeCenter,\n Avatar: ThreadWelcomeAvatar,\n Message: ThreadWelcomeMessage,\n Suggestions: ThreadWelcomeSuggestions,\n Suggestion: ThreadWelcomeSuggestion,\n};\n\nexport default Object.assign(ThreadWelcome, exports) as typeof ThreadWelcome &\n typeof exports;\n"],"mappings":";;;AAEA,SAAmC,kBAA2B;AAC9D,SAAS,oBAAoB;AAC7B,SAAS,cAAc;AACvB,SAA2B,uBAAuB;AAClD,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAKpB,SACE,KADF;AAHN,IAAM,gBAAoB,MAAM;AAC9B,SACE,qBAAC,qBACC;AAAA,yBAAC,uBACC;AAAA,0BAAC,uBAAoB;AAAA,MACrB,oBAAC,wBAAqB;AAAA,OACxB;AAAA,IACA,oBAAC,4BAAyB;AAAA,KAC5B;AAEJ;AAEA,cAAc,cAAc;AAE5B,IAAM,0BAA0B,aAAa,OAAO;AAAA,EAClD,WAAW;AACb,CAAC;AAED,IAAM,sBAAsB,aAAa,OAAO;AAAA,EAC9C,WAAW;AACb,CAAC;AAOD,IAAM,oBAAoB,WAGxB,CAAC,OAAO,QAAQ;AAChB,SACE,oBAAC,gBAAgB,OAAhB,EACC,8BAAC,2BAAyB,GAAG,OAAO,KAAU,GAChD;AAEJ,CAAC;AAED,kBAAkB,cAAc;AAEhC,IAAM,sBAA0B,MAAM;AACpC,QAAM,EAAE,iBAAiB,SAAS,EAAE,UAAU,IAAI,EAAE,IAAI,gBAAgB;AACxE,SAAO,oBAAC,UAAQ,GAAG,QAAQ;AAC7B;AAEA,IAAM,6BAA6B,aAAa,KAAK;AAAA,EACnD,WAAW;AACb,CAAC;AAUD,IAAM,uBAAuB,WAG3B,CAAC,EAAE,SAAS,aAAa,GAAG,KAAK,GAAG,QAAQ;AAC5C,QAAM;AAAA,IACJ,SAAS,EAAE,QAAQ,IAAI,CAAC;AAAA,IACxB,SAAS;AAAA,MACP,SAAS,EAAE,SAAS,iBAAiB,4BAA4B,IAAI,CAAC;AAAA,IACxE,IAAI,CAAC;AAAA,EACP,IAAI,gBAAgB;AACpB,SACE,oBAAC,8BAA4B,GAAG,MAAM,KACnC,yBAAe,WAAW,gBAC7B;AAEJ,CAAC;AAED,qBAAqB,cAAc;AAEnC,IAAM,mCAAmC,aAAa,OAAO;AAAA,EAC3D,WAAW;AACb,CAAC;AAED,IAAM,gCAAgC,aAAa,gBAAgB,YAAY;AAAA,EAC7E,WAAW;AACb,CAAC;AAQD,IAAM,0BAA6D,CAAC;AAAA,EAClE,YAAY,EAAE,MAAM,OAAO;AAC7B,MAAM;AACJ,SACE,oBAAC,iCAA8B,QAAgB,QAAO,WAAU,UAAQ,MACtE,8BAAC,UAAK,WAAU,sCACb,kBAAQ,QACX,GACF;AAEJ;AAEA,IAAM,2BAA+B,MAAM;AACzC,QAAM,eAAe,UAAU,CAAC,MAAM,EAAE,WAAW;AACnD,QAAM,EAAE,SAAS,EAAE,YAAY,IAAI,CAAC,EAAE,IAAI,gBAAgB;AAE1D,QAAM,mBAAmB,aAAa,SAAS,eAAe;AAE9D,SACE,oBAAC,oCACE,4BAAkB,IAAI,CAAC,YAAY,QAAQ;AAC1C,UAAM,MAAM,GAAG,WAAW,MAAM,IAAI,GAAG;AACvC,WAAO,oBAAC,2BAAkC,cAAL,GAA6B;AAAA,EACpE,CAAC,GACH;AAEJ;AAEA,yBAAyB,cAAc;AAEvC,IAAM,UAAU;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,aAAa;AAAA,EACb,YAAY;AACd;AAEA,IAAO,yBAAQ,OAAO,OAAO,eAAe,OAAO;","names":[]}
|
package/package.json
CHANGED
package/src/cloud/auiV0.ts
CHANGED
@@ -4,7 +4,10 @@ import { MessageStatus } from "../types/AssistantTypes";
|
|
4
4
|
import { fromThreadMessageLike } from "../runtimes/external-store/ThreadMessageLike";
|
5
5
|
import { CloudMessage } from "./AssistantCloudThreadMessages";
|
6
6
|
import { isJSONValue } from "../utils/json/is-json";
|
7
|
-
import {
|
7
|
+
import {
|
8
|
+
ReadonlyJSONObject,
|
9
|
+
ReadonlyJSONValue,
|
10
|
+
} from "../utils/json/json-value";
|
8
11
|
import { ExportedMessageRepositoryItem } from "../runtimes/utils/MessageRepository";
|
9
12
|
|
10
13
|
type AuiV0MessageContentPart =
|
@@ -16,7 +19,7 @@ type AuiV0MessageContentPart =
|
|
16
19
|
readonly type: "tool-call";
|
17
20
|
readonly toolCallId: string;
|
18
21
|
readonly toolName: string;
|
19
|
-
readonly args:
|
22
|
+
readonly args: ReadonlyJSONObject;
|
20
23
|
readonly result?: ReadonlyJSONValue;
|
21
24
|
readonly isError?: true;
|
22
25
|
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Primitive } from "@radix-ui/react-primitive";
|
2
|
+
import { ComponentPropsWithoutRef, ComponentRef, forwardRef } from "react";
|
3
|
+
|
4
|
+
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
5
|
+
|
6
|
+
export namespace ThreadListPrimitiveRoot {
|
7
|
+
export type Element = ComponentRef<typeof Primitive.div>;
|
8
|
+
export type Props = PrimitiveDivProps;
|
9
|
+
}
|
10
|
+
|
11
|
+
export const ThreadListPrimitiveRoot = forwardRef<
|
12
|
+
ThreadListPrimitiveRoot.Element,
|
13
|
+
ThreadListPrimitiveRoot.Props
|
14
|
+
>((props, ref) => {
|
15
|
+
return <Primitive.div {...props} ref={ref} />;
|
16
|
+
});
|
17
|
+
|
18
|
+
ThreadListPrimitiveRoot.displayName = "ThreadListPrimitive.Root";
|
@@ -1,8 +1,8 @@
|
|
1
|
+
import { generateId } from "../../internal";
|
1
2
|
import {
|
2
3
|
MessageStatus,
|
3
4
|
TextContentPart,
|
4
5
|
ImageContentPart,
|
5
|
-
ToolCallContentPart,
|
6
6
|
UIContentPart,
|
7
7
|
ThreadMessage,
|
8
8
|
ThreadAssistantContentPart,
|
@@ -14,11 +14,11 @@ import {
|
|
14
14
|
FileContentPart,
|
15
15
|
Unstable_AudioContentPart,
|
16
16
|
} from "../../types";
|
17
|
+
import { ThreadStep } from "../../types/AssistantTypes";
|
17
18
|
import {
|
18
|
-
|
19
|
-
|
20
|
-
} from "../../
|
21
|
-
import { ReadonlyJSONValue } from "../../utils/json/json-value";
|
19
|
+
ReadonlyJSONObject,
|
20
|
+
ReadonlyJSONValue,
|
21
|
+
} from "../../utils/json/json-value";
|
22
22
|
import { parsePartialJson } from "../../utils/json/parse-partial-json";
|
23
23
|
|
24
24
|
export type ThreadMessageLike = {
|
@@ -30,15 +30,14 @@ export type ThreadMessageLike = {
|
|
30
30
|
| ImageContentPart
|
31
31
|
| FileContentPart
|
32
32
|
| Unstable_AudioContentPart
|
33
|
-
| ToolCallContentPart<any, any>
|
34
|
-
| CoreToolCallContentPart<any, any>
|
35
33
|
| {
|
36
|
-
type: "tool-call";
|
37
|
-
toolCallId
|
38
|
-
toolName: string;
|
39
|
-
|
40
|
-
|
41
|
-
|
34
|
+
readonly type: "tool-call";
|
35
|
+
readonly toolCallId?: string;
|
36
|
+
readonly toolName: string;
|
37
|
+
readonly args?: ReadonlyJSONObject;
|
38
|
+
readonly argsText?: string;
|
39
|
+
readonly result?: any | undefined;
|
40
|
+
readonly isError?: boolean | undefined;
|
42
41
|
}
|
43
42
|
| UIContentPart
|
44
43
|
)[];
|
@@ -100,19 +99,19 @@ export const fromThreadMessageLike = (
|
|
100
99
|
return part;
|
101
100
|
|
102
101
|
case "tool-call": {
|
103
|
-
if (
|
104
|
-
if ("args" in part) {
|
105
|
-
return part;
|
106
|
-
}
|
107
|
-
|
102
|
+
if (part.args) {
|
108
103
|
return {
|
109
104
|
...part,
|
110
|
-
|
105
|
+
toolCallId: part.toolCallId ?? "tool-" + generateId(),
|
106
|
+
args: part.args,
|
107
|
+
argsText: JSON.stringify(part.args),
|
111
108
|
};
|
112
109
|
}
|
113
110
|
return {
|
114
111
|
...part,
|
115
|
-
|
112
|
+
toolCallId: part.toolCallId ?? "tool-" + generateId(),
|
113
|
+
args: part.args ?? parsePartialJson(part.argsText ?? ""),
|
114
|
+
argsText: part.argsText ?? "",
|
116
115
|
};
|
117
116
|
}
|
118
117
|
|
package/src/ui/thread-list.tsx
CHANGED
@@ -18,7 +18,7 @@ const ThreadList: FC = () => {
|
|
18
18
|
);
|
19
19
|
};
|
20
20
|
|
21
|
-
const ThreadListRoot = withDefaults(
|
21
|
+
const ThreadListRoot = withDefaults(ThreadListPrimitive.Root, {
|
22
22
|
className: "aui-root aui-thread-list-root",
|
23
23
|
});
|
24
24
|
ThreadListRoot.displayName = "ThreadListRoot";
|
@@ -84,7 +84,7 @@ const ThreadWelcomeMessage = forwardRef<
|
|
84
84
|
ThreadWelcomeMessage.displayName = "ThreadWelcomeMessage";
|
85
85
|
|
86
86
|
const ThreadWelcomeSuggestionContainer = withDefaults("div", {
|
87
|
-
className: "aui-thread-welcome-
|
87
|
+
className: "aui-thread-welcome-suggestions",
|
88
88
|
});
|
89
89
|
|
90
90
|
const ThreadWelcomeSuggestionStyled = withDefaults(ThreadPrimitive.Suggestion, {
|