@assistant-ui/react 0.7.60 → 0.7.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/cloud/auiV0.d.ts +2 -2
  2. package/dist/cloud/auiV0.d.ts.map +1 -1
  3. package/dist/cloud/auiV0.js.map +1 -1
  4. package/dist/cloud/auiV0.mjs.map +1 -1
  5. package/dist/primitives/threadList/ThreadListRoot.d.ts +12 -0
  6. package/dist/primitives/threadList/ThreadListRoot.d.ts.map +1 -0
  7. package/dist/primitives/threadList/ThreadListRoot.js +37 -0
  8. package/dist/primitives/threadList/ThreadListRoot.js.map +1 -0
  9. package/dist/primitives/threadList/ThreadListRoot.mjs +12 -0
  10. package/dist/primitives/threadList/ThreadListRoot.mjs.map +1 -0
  11. package/dist/primitives/threadList/index.d.ts +1 -0
  12. package/dist/primitives/threadList/index.d.ts.map +1 -1
  13. package/dist/primitives/threadList/index.js +5 -2
  14. package/dist/primitives/threadList/index.js.map +1 -1
  15. package/dist/primitives/threadList/index.mjs +3 -1
  16. package/dist/primitives/threadList/index.mjs.map +1 -1
  17. package/dist/runtimes/external-store/ThreadMessageLike.d.ts +11 -10
  18. package/dist/runtimes/external-store/ThreadMessageLike.d.ts.map +1 -1
  19. package/dist/runtimes/external-store/ThreadMessageLike.js +8 -6
  20. package/dist/runtimes/external-store/ThreadMessageLike.js.map +1 -1
  21. package/dist/runtimes/external-store/ThreadMessageLike.mjs +8 -6
  22. package/dist/runtimes/external-store/ThreadMessageLike.mjs.map +1 -1
  23. package/dist/styles/index.css +1 -1
  24. package/dist/styles/index.css.map +1 -1
  25. package/dist/styles/tailwindcss/thread.css +1 -1
  26. package/dist/styles/tailwindcss/thread.css.json +1 -1
  27. package/dist/ui/thread-list.d.ts +3 -1
  28. package/dist/ui/thread-list.d.ts.map +1 -1
  29. package/dist/ui/thread-list.js +1 -1
  30. package/dist/ui/thread-list.js.map +1 -1
  31. package/dist/ui/thread-list.mjs +1 -1
  32. package/dist/ui/thread-list.mjs.map +1 -1
  33. package/dist/ui/thread-welcome.js +1 -1
  34. package/dist/ui/thread-welcome.js.map +1 -1
  35. package/dist/ui/thread-welcome.mjs +1 -1
  36. package/dist/ui/thread-welcome.mjs.map +1 -1
  37. package/package.json +1 -1
  38. package/src/cloud/auiV0.ts +5 -2
  39. package/src/primitives/threadList/ThreadListRoot.tsx +18 -0
  40. package/src/primitives/threadList/index.ts +1 -0
  41. package/src/runtimes/external-store/ThreadMessageLike.tsx +19 -20
  42. package/src/styles/tailwindcss/thread.css +1 -1
  43. package/src/ui/thread-list.tsx +1 -1
  44. package/src/ui/thread-welcome.tsx +1 -1
@@ -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: ReadonlyJSONValue;
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,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,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,iBAAiB,CAAC;IACjC,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"}
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"}
@@ -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 { ReadonlyJSONValue } 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: ReadonlyJSONValue;\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;AA2CrB,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":[]}
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":[]}
@@ -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 { ReadonlyJSONValue } 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: ReadonlyJSONValue;\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;AA2CrB,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":[]}
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,3 +1,4 @@
1
1
  export { ThreadListPrimitiveNew as New } from "./ThreadListNew";
2
2
  export { ThreadListPrimitiveItems as Items } from "./ThreadListItems";
3
+ export { ThreadListPrimitiveRoot as Root } from "./ThreadListRoot";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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, ToolCallContentPart, UIContentPart, ThreadMessage, CompleteAttachment, FileContentPart, Unstable_AudioContentPart } from "../../types";
2
- import { CoreToolCallContentPart, ThreadStep } from "../../types/AssistantTypes";
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 | ToolCallContentPart<any, any> | CoreToolCallContentPart<any, any> | {
7
- type: "tool-call";
8
- toolCallId: string;
9
- toolName: string;
10
- argsText: string;
11
- result?: unknown | undefined;
12
- isError?: boolean | undefined;
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":"AAAA,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,aAAa,EAMb,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,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,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC7B,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,GACjC;QACE,IAAI,EAAE,WAAW,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC/B,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"}
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 ("argsText" in part) {
55
- if ("args" in part) {
56
- return part;
57
- }
55
+ if (part.args) {
58
56
  return {
59
57
  ...part,
60
- args: (0, import_parse_partial_json.parsePartialJson)(part.argsText)
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
- argsText: JSON.stringify(part.args)
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 ToolCallContentPart,\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 {\n CoreToolCallContentPart,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { ReadonlyJSONValue } 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 | ToolCallContentPart<any, any>\n | CoreToolCallContentPart<any, any>\n | {\n type: \"tool-call\";\n toolCallId: string;\n toolName: string;\n argsText: string;\n result?: unknown | undefined;\n 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 (\"argsText\" in part) {\n if (\"args\" in part) {\n return part;\n }\n\n return {\n ...part,\n args: parsePartialJson(part.argsText),\n };\n }\n return {\n ...part,\n argsText: JSON.stringify(part.args),\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
+ {"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 ("argsText" in part) {
31
- if ("args" in part) {
32
- return part;
33
- }
31
+ if (part.args) {
34
32
  return {
35
33
  ...part,
36
- args: parsePartialJson(part.argsText)
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
- argsText: JSON.stringify(part.args)
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 ToolCallContentPart,\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 {\n CoreToolCallContentPart,\n ThreadStep,\n} from \"../../types/AssistantTypes\";\nimport { ReadonlyJSONValue } 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 | ToolCallContentPart<any, any>\n | CoreToolCallContentPart<any, any>\n | {\n type: \"tool-call\";\n toolCallId: string;\n toolName: string;\n argsText: string;\n result?: unknown | undefined;\n 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 (\"argsText\" in part) {\n if (\"args\" in part) {\n return part;\n }\n\n return {\n ...part,\n args: parsePartialJson(part.argsText),\n };\n }\n return {\n ...part,\n argsText: JSON.stringify(part.args),\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":";AAqBA,SAAS,wBAAwB;AAuC1B,IAAM,wBAAwB,CACnC,MACA,YACA,mBACkB;AAClB,QAAM,EAAE,MAAM,IAAI,WAAW,aAAa,QAAQ,SAAS,IAAI;AAC/D,QAAM,SAAS;AAAA,IACb,IAAI,MAAM;AAAA,IACV,WAAW,aAAa,oBAAI,KAAK;AAAA,EACnC;AAEA,QAAM,UACJ,OAAO,KAAK,YAAY,WACpB,CAAC,EAAE,MAAM,QAAiB,MAAM,KAAK,QAAQ,CAAC,IAC9C,KAAK;AAEX,MAAI,SAAS,UAAU;AACrB,UAAM,IAAI,MAAM,kDAAkD;AAEpE,MAAI,SAAS,eAAe;AAC1B,UAAM,IAAI,MAAM,iDAAiD;AAEnE,MAAI,SAAS,eAAe,UAAU;AACpC,UAAM,IAAI,MAAM,yDAAyD;AAE3E,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QACN,IAAI,CAAC,SAA4C;AAChD,gBAAM,OAAO,KAAK;AAClB,kBAAQ,MAAM;AAAA,YACZ,KAAK;AACH,kBAAI,KAAK,KAAK,KAAK,EAAE,WAAW,EAAG,QAAO;AAC1C,qBAAO;AAAA,YAET,KAAK;AACH,qBAAO;AAAA,YAET,KAAK,aAAa;AAChB,kBAAI,cAAc,MAAM;AACtB,oBAAI,UAAU,MAAM;AAClB,yBAAO;AAAA,gBACT;AAEA,uBAAO;AAAA,kBACL,GAAG;AAAA,kBACH,MAAM,iBAAiB,KAAK,QAAQ;AAAA,gBACtC;AAAA,cACF;AACA,qBAAO;AAAA,gBACL,GAAG;AAAA,gBACH,UAAU,KAAK,UAAU,KAAK,IAAI;AAAA,cACpC;AAAA,YACF;AAAA,YAEA,SAAS;AACP,oBAAM,gBAA4C;AAClD,oBAAM,IAAI;AAAA,gBACR,4CAA4C,aAAa;AAAA,cAC3D;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC,EACA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAAA,QACpB,QAAQ,UAAU;AAAA,QAClB,UAAU;AAAA,UACR,sBAAsB,UAAU,wBAAwB,CAAC;AAAA,UACzD,eAAe,UAAU,iBAAiB,CAAC;AAAA,UAC3C,QAAQ,UAAU,UAAU,CAAC;AAAA,UAC7B,OAAO,UAAU,SAAS,CAAC;AAAA,QAC7B;AAAA,MACF;AAAA,IAEF,KAAK;AACH,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,SAAS,QAAQ,IAAI,CAAC,SAAgC;AACpD,gBAAM,OAAO,KAAK;AAClB,kBAAQ,MAAM;AAAA,YACZ,KAAK;AAAA,YACL,KAAK;AAAA,YACL,KAAK;AAAA,YACL,KAAK;AAAA,YACL,KAAK;AACH,qBAAO;AAAA,YAET,SAAS;AACP,oBAAM,gBAA6B;AACnC,oBAAM,IAAI;AAAA,gBACR,uCAAuC,aAAa;AAAA,cACtD;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AAAA,QACD,aAAa,eAAe,CAAC;AAAA,QAC7B,UAAU;AAAA,UACR,QAAQ,UAAU,UAAU,CAAC;AAAA,QAC/B;AAAA,MACF;AAAA,IAEF,KAAK;AACH,UAAI,QAAQ,WAAW,KAAK,QAAQ,CAAC,EAAG,SAAS;AAC/C,cAAM,IAAI;AAAA,UACR;AAAA,QACF;AAEF,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA,UAAU;AAAA,UACR,QAAQ,UAAU,UAAU,CAAC;AAAA,QAC/B;AAAA,MACF;AAAA,IAEF,SAAS;AACP,YAAM,kBAAyB;AAC/B,YAAM,IAAI,MAAM,yBAAyB,eAAe,EAAE;AAAA,IAC5D;AAAA,EACF;AACF;","names":[]}
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":[]}
@@ -674,7 +674,7 @@
674
674
  margin-top: 1rem;
675
675
  font-weight: 500;
676
676
  }
677
- .aui-thread-welcome-suggestion-container {
677
+ .aui-thread-welcome-suggestions {
678
678
  margin-top: 0.75rem;
679
679
  display: flex;
680
680
  width: 100%;
@@ -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":[]}
@@ -38,7 +38,7 @@
38
38
  @apply mt-4 font-medium;
39
39
  }
40
40
 
41
- .aui-thread-welcome-suggestion-container {
41
+ .aui-thread-welcome-suggestions {
42
42
  @apply mt-3 flex w-full items-stretch justify-center gap-4;
43
43
  }
44
44
 
@@ -27,7 +27,7 @@
27
27
  ".aui-thread-welcome-message": {
28
28
  "@apply mt-4 font-medium": {}
29
29
  },
30
- ".aui-thread-welcome-suggestion-container": {
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": {
@@ -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<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">> & import("react").RefAttributes<HTMLDivElement>>;
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;;;;;;;;;CAIZ,CAAC;wBAEmD,OAAO,UAAU,GACpE,OAAO,OAAO;AADhB,wBACiB"}
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"}
@@ -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)("div", {
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(\"div\", {\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,OAAO;AAAA,EACzC,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"]}
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"]}
@@ -15,7 +15,7 @@ var ThreadList = () => {
15
15
  /* @__PURE__ */ jsx(ThreadListItems, {})
16
16
  ] });
17
17
  };
18
- var ThreadListRoot = withDefaults("div", {
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(\"div\", {\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,OAAO;AAAA,EACzC,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":[]}
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-suggestion-container"
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-suggestion-container\",\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"]}
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-suggestion-container"
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-suggestion-container\",\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":[]}
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
@@ -29,7 +29,7 @@
29
29
  "conversational-ui",
30
30
  "conversational-ai"
31
31
  ],
32
- "version": "0.7.60",
32
+ "version": "0.7.61",
33
33
  "license": "MIT",
34
34
  "exports": {
35
35
  ".": {
@@ -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 { ReadonlyJSONValue } from "../utils/json/json-value";
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: ReadonlyJSONValue;
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,2 +1,3 @@
1
1
  export { ThreadListPrimitiveNew as New } from "./ThreadListNew";
2
2
  export { ThreadListPrimitiveItems as Items } from "./ThreadListItems";
3
+ export { ThreadListPrimitiveRoot as Root } from "./ThreadListRoot";
@@ -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
- CoreToolCallContentPart,
19
- ThreadStep,
20
- } from "../../types/AssistantTypes";
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: string;
38
- toolName: string;
39
- argsText: string;
40
- result?: unknown | undefined;
41
- isError?: boolean | undefined;
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 ("argsText" in part) {
104
- if ("args" in part) {
105
- return part;
106
- }
107
-
102
+ if (part.args) {
108
103
  return {
109
104
  ...part,
110
- args: parsePartialJson(part.argsText),
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
- argsText: JSON.stringify(part.args),
112
+ toolCallId: part.toolCallId ?? "tool-" + generateId(),
113
+ args: part.args ?? parsePartialJson(part.argsText ?? ""),
114
+ argsText: part.argsText ?? "",
116
115
  };
117
116
  }
118
117
 
@@ -38,7 +38,7 @@
38
38
  @apply mt-4 font-medium;
39
39
  }
40
40
 
41
- .aui-thread-welcome-suggestion-container {
41
+ .aui-thread-welcome-suggestions {
42
42
  @apply mt-3 flex w-full items-stretch justify-center gap-4;
43
43
  }
44
44
 
@@ -18,7 +18,7 @@ const ThreadList: FC = () => {
18
18
  );
19
19
  };
20
20
 
21
- const ThreadListRoot = withDefaults("div", {
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-suggestion-container",
87
+ className: "aui-thread-welcome-suggestions",
88
88
  });
89
89
 
90
90
  const ThreadWelcomeSuggestionStyled = withDefaults(ThreadPrimitive.Suggestion, {