@assistant-ui/react 0.7.75 → 0.7.77
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +36 -0
- package/dist/api/AssistantRuntime.d.ts +1 -1
- package/dist/api/AssistantRuntime.js +1 -1
- package/dist/api/AssistantRuntime.js.map +1 -1
- package/dist/api/AssistantRuntime.mjs +1 -1
- package/dist/api/AssistantRuntime.mjs.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.js.map +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.mjs +1 -1
- package/dist/context/providers/AssistantRuntimeProvider.mjs.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.js +1 -1
- package/dist/primitives/threadList/ThreadListItems.js.map +1 -1
- package/dist/primitives/threadList/ThreadListItems.mjs +1 -1
- package/dist/primitives/threadList/ThreadListItems.mjs.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.d.ts.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.js +2 -2
- package/dist/runtimes/edge/converters/toLanguageModelMessages.js.map +1 -1
- package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs +2 -2
- package/dist/runtimes/edge/converters/toLanguageModelMessages.mjs.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.js +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.js.map +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.mjs +1 -1
- package/dist/runtimes/edge/streams/toolResultStream.mjs.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts +4 -5
- package/dist/runtimes/local/LocalRuntimeOptions.d.ts.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.js +2 -2
- package/dist/runtimes/local/LocalRuntimeOptions.js.map +1 -1
- package/dist/runtimes/local/LocalRuntimeOptions.mjs +2 -2
- package/dist/runtimes/local/LocalRuntimeOptions.mjs.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.d.ts.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.js +2 -8
- package/dist/runtimes/local/LocalThreadRuntimeCore.js.map +1 -1
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs +2 -8
- package/dist/runtimes/local/LocalThreadRuntimeCore.mjs.map +1 -1
- package/dist/runtimes/local/shouldContinue.d.ts +1 -1
- package/dist/runtimes/local/shouldContinue.d.ts.map +1 -1
- package/dist/runtimes/local/shouldContinue.js +8 -3
- package/dist/runtimes/local/shouldContinue.js.map +1 -1
- package/dist/runtimes/local/shouldContinue.mjs +8 -3
- package/dist/runtimes/local/shouldContinue.mjs.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/index.css.map +1 -1
- package/dist/styles/tailwindcss/thread.css +7 -7
- package/dist/styles/tailwindcss/thread.css.json +6 -6
- package/package.json +3 -3
- package/src/api/AssistantRuntime.ts +2 -2
- package/src/context/providers/AssistantRuntimeProvider.tsx +1 -1
- package/src/primitives/threadList/ThreadListItems.tsx +2 -2
- package/src/runtimes/edge/converters/toLanguageModelMessages.ts +5 -2
- package/src/runtimes/edge/streams/toolResultStream.ts +1 -1
- package/src/runtimes/local/LocalRuntimeOptions.tsx +4 -5
- package/src/runtimes/local/LocalThreadRuntimeCore.tsx +2 -10
- package/src/runtimes/local/shouldContinue.tsx +21 -9
- package/src/styles/tailwindcss/thread.css +7 -7
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadRuntimeCore.tsx"],"sourcesContent":["import { generateId } from \"../../internal\";\nimport type { AppendMessage, ThreadAssistantMessage } from \"../../types\";\nimport { fromCoreMessage } from \"../edge\";\nimport type { ChatModelRunResult } from \"./ChatModelAdapter\";\nimport { shouldContinue } from \"./shouldContinue\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n ThreadRuntimeCore,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { BaseThreadRuntimeCore } from \"../core/BaseThreadRuntimeCore\";\nimport { RunConfig } from \"../../types/AssistantTypes\";\nimport { ModelContextProvider } from \"../../model-context\";\n\nexport class LocalThreadRuntimeCore\n extends BaseThreadRuntimeCore\n implements ThreadRuntimeCore\n{\n public readonly capabilities = {\n switchToBranch: true,\n edit: true,\n reload: true,\n cancel: true,\n unstable_copy: true,\n speech: false,\n attachments: false,\n feedback: false,\n };\n\n private abortController: AbortController | null = null;\n\n public readonly isDisabled = false;\n public readonly suggestions: readonly ThreadSuggestion[] = [];\n\n public get adapters() {\n return this._options.adapters;\n }\n\n constructor(\n contextProvider: ModelContextProvider,\n options: LocalRuntimeOptionsBase,\n ) {\n super(contextProvider);\n this.__internal_setOptions(options);\n }\n\n private _options!: LocalRuntimeOptionsBase;\n\n private _lastRunConfig: RunConfig = {};\n\n public get extras() {\n return undefined;\n }\n\n public __internal_setOptions(options: LocalRuntimeOptionsBase) {\n if (this._options === options) return;\n\n this._options = options;\n\n let hasUpdates = false;\n\n const canSpeak = options.adapters?.speech !== undefined;\n if (this.capabilities.speech !== canSpeak) {\n this.capabilities.speech = canSpeak;\n hasUpdates = true;\n }\n\n const canAttach = options.adapters?.attachments !== undefined;\n if (this.capabilities.attachments !== canAttach) {\n this.capabilities.attachments = canAttach;\n hasUpdates = true;\n }\n\n const canFeedback = options.adapters?.feedback !== undefined;\n if (this.capabilities.feedback !== canFeedback) {\n this.capabilities.feedback = canFeedback;\n hasUpdates = true;\n }\n\n if (hasUpdates) this._notifySubscribers();\n }\n\n private _loadPromise: Promise<void> | undefined;\n public __internal_load() {\n if (this._loadPromise) return this._loadPromise;\n\n const promise = this.adapters.history?.load() ?? Promise.resolve(null);\n\n this._loadPromise = promise.then((repo) => {\n if (!repo) return;\n this.repository.import(repo);\n this._notifySubscribers();\n });\n\n return this._loadPromise;\n }\n\n public async append(message: AppendMessage): Promise<void> {\n this.ensureInitialized();\n\n const newMessage = fromCoreMessage(message, {\n attachments: message.attachments,\n });\n this.repository.addOrUpdateMessage(message.parentId, newMessage);\n this._options.adapters.history?.append({\n parentId: message.parentId,\n message: newMessage,\n });\n\n const startRun = message.startRun ?? message.role === \"user\";\n if (startRun) {\n await this.startRun({\n parentId: newMessage.id,\n sourceId: message.sourceId,\n runConfig: message.runConfig ?? {},\n });\n } else {\n this.repository.resetHead(newMessage.id);\n this._notifySubscribers();\n }\n }\n\n public async startRun({\n parentId,\n runConfig,\n }: StartRunConfig): Promise<void> {\n this.ensureInitialized();\n\n this.repository.resetHead(parentId);\n\n // add assistant message\n const id = generateId();\n let message: ThreadAssistantMessage = {\n id,\n role: \"assistant\",\n status: { type: \"running\" },\n content: [],\n metadata: {\n unstable_annotations: [],\n unstable_data: [],\n steps: [],\n custom: {},\n },\n createdAt: new Date(),\n };\n\n this._notifyEventSubscribers(\"run-start\");\n\n try {\n do {\n message = await this.performRoundtrip(parentId, message, runConfig);\n } while (\n shouldContinue(\n message,\n this._options.unstable_shouldContinueIgnoreToolNames ?? [],\n )\n );\n } finally {\n this._notifyEventSubscribers(\"run-end\");\n }\n }\n\n private async performRoundtrip(\n parentId: string | null,\n message: ThreadAssistantMessage,\n runConfig: RunConfig | undefined,\n ) {\n const messages = this.repository.getMessages();\n\n // abort existing run\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n const initialContent = message.content;\n const initialAnnotations = message.metadata?.unstable_annotations;\n const initialData = message.metadata?.unstable_data;\n const initialSteps = message.metadata?.steps;\n const initalCustom = message.metadata?.custom;\n const updateMessage = (m: Partial<ChatModelRunResult>) => {\n const newSteps = m.metadata?.steps;\n const steps = newSteps\n ? [...(initialSteps ?? []), ...newSteps]\n : undefined;\n\n const newAnnotations = m.metadata?.unstable_annotations;\n const newData = m.metadata?.unstable_data;\n const annotations = newAnnotations\n ? [...(initialAnnotations ?? []), ...newAnnotations]\n : undefined;\n const data = newData ? [...(initialData ?? []), ...newData] : undefined;\n\n message = {\n ...message,\n ...(m.content\n ? { content: [...initialContent, ...(m.content ?? [])] }\n : undefined),\n status: m.status ?? message.status,\n ...(m.metadata\n ? {\n metadata: {\n ...message.metadata,\n ...(annotations\n ? { unstable_annotations: annotations }\n : undefined),\n ...(data ? { unstable_data: data } : undefined),\n ...(steps ? { steps } : undefined),\n ...(m.metadata?.custom\n ? {\n custom: { ...(initalCustom ?? {}), ...m.metadata.custom },\n }\n : undefined),\n },\n }\n : undefined),\n };\n this.repository.addOrUpdateMessage(parentId, message);\n this._notifySubscribers();\n };\n\n const maxSteps = this._options.maxSteps ?? 2;\n\n const steps = message.metadata?.steps?.length ?? 0;\n if (steps >= maxSteps) {\n // reached max tool steps\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"tool-calls\",\n },\n });\n return message;\n } else {\n updateMessage({\n status: {\n type: \"running\",\n },\n });\n }\n\n try {\n this._lastRunConfig = runConfig ?? {};\n const context = this.getModelContext();\n const promiseOrGenerator = this.adapters.chatModel.run({\n messages,\n runConfig: this._lastRunConfig,\n abortSignal: this.abortController.signal,\n context,\n config: context,\n unstable_assistantMessageId: message.id,\n unstable_getMessage() {\n return message;\n },\n });\n\n // handle async iterator for streaming results\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n updateMessage(r);\n }\n } else {\n updateMessage(await promiseOrGenerator);\n }\n\n this.abortController = null;\n\n if (message.status.type === \"running\") {\n updateMessage({\n status: { type: \"complete\", reason: \"unknown\" },\n });\n }\n } catch (e) {\n this.abortController = null;\n\n // TODO this should be handled by the run result stream\n if (e instanceof Error && e.name === \"AbortError\") {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n } else {\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"error\",\n error:\n e instanceof Error\n ? e.message\n : `[${typeof e}] ${new String(e).toString()}`,\n },\n });\n\n throw e;\n }\n } finally {\n if (\n message.status.type === \"complete\" ||\n message.status.type === \"incomplete\"\n ) {\n await this._options.adapters.history?.append({\n parentId,\n message: message,\n });\n }\n }\n return message;\n }\n\n public cancelRun() {\n this.abortController?.abort();\n this.abortController = null;\n }\n\n public addToolResult({\n messageId,\n toolCallId,\n result,\n }: AddToolResultOptions) {\n const messageData = this.repository.getMessage(messageId);\n const { parentId } = messageData;\n let { message } = messageData;\n\n if (message.role !== \"assistant\")\n throw new Error(\"Tried to add tool result to non-assistant message\");\n\n let added = false;\n let found = false;\n const newContent = message.content.map((c) => {\n if (c.type !== \"tool-call\") return c;\n if (c.toolCallId !== toolCallId) return c;\n found = true;\n if (!c.result) added = true;\n return {\n ...c,\n result,\n };\n });\n\n if (!found)\n throw new Error(\"Tried to add tool result to non-existing tool call\");\n\n message = {\n ...message,\n content: newContent,\n };\n this.repository.addOrUpdateMessage(parentId, message);\n\n if (\n added &&\n shouldContinue(\n message,\n this._options.unstable_shouldContinueIgnoreToolNames ?? [],\n )\n ) {\n this.performRoundtrip(parentId, message, this._lastRunConfig);\n }\n }\n}\n"],"mappings":"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","names":["steps"]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadRuntimeCore.tsx"],"sourcesContent":["import { generateId } from \"../../internal\";\nimport type { AppendMessage, ThreadAssistantMessage } from \"../../types\";\nimport { fromCoreMessage } from \"../edge\";\nimport type { ChatModelRunResult } from \"./ChatModelAdapter\";\nimport { shouldContinue } from \"./shouldContinue\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n ThreadRuntimeCore,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { BaseThreadRuntimeCore } from \"../core/BaseThreadRuntimeCore\";\nimport { RunConfig } from \"../../types/AssistantTypes\";\nimport { ModelContextProvider } from \"../../model-context\";\n\nexport class LocalThreadRuntimeCore\n extends BaseThreadRuntimeCore\n implements ThreadRuntimeCore\n{\n public readonly capabilities = {\n switchToBranch: true,\n edit: true,\n reload: true,\n cancel: true,\n unstable_copy: true,\n speech: false,\n attachments: false,\n feedback: false,\n };\n\n private abortController: AbortController | null = null;\n\n public readonly isDisabled = false;\n public readonly suggestions: readonly ThreadSuggestion[] = [];\n\n public get adapters() {\n return this._options.adapters;\n }\n\n constructor(\n contextProvider: ModelContextProvider,\n options: LocalRuntimeOptionsBase,\n ) {\n super(contextProvider);\n this.__internal_setOptions(options);\n }\n\n private _options!: LocalRuntimeOptionsBase;\n\n private _lastRunConfig: RunConfig = {};\n\n public get extras() {\n return undefined;\n }\n\n public __internal_setOptions(options: LocalRuntimeOptionsBase) {\n if (this._options === options) return;\n\n this._options = options;\n\n let hasUpdates = false;\n\n const canSpeak = options.adapters?.speech !== undefined;\n if (this.capabilities.speech !== canSpeak) {\n this.capabilities.speech = canSpeak;\n hasUpdates = true;\n }\n\n const canAttach = options.adapters?.attachments !== undefined;\n if (this.capabilities.attachments !== canAttach) {\n this.capabilities.attachments = canAttach;\n hasUpdates = true;\n }\n\n const canFeedback = options.adapters?.feedback !== undefined;\n if (this.capabilities.feedback !== canFeedback) {\n this.capabilities.feedback = canFeedback;\n hasUpdates = true;\n }\n\n if (hasUpdates) this._notifySubscribers();\n }\n\n private _loadPromise: Promise<void> | undefined;\n public __internal_load() {\n if (this._loadPromise) return this._loadPromise;\n\n const promise = this.adapters.history?.load() ?? Promise.resolve(null);\n\n this._loadPromise = promise.then((repo) => {\n if (!repo) return;\n this.repository.import(repo);\n this._notifySubscribers();\n });\n\n return this._loadPromise;\n }\n\n public async append(message: AppendMessage): Promise<void> {\n this.ensureInitialized();\n\n const newMessage = fromCoreMessage(message, {\n attachments: message.attachments,\n });\n this.repository.addOrUpdateMessage(message.parentId, newMessage);\n this._options.adapters.history?.append({\n parentId: message.parentId,\n message: newMessage,\n });\n\n const startRun = message.startRun ?? message.role === \"user\";\n if (startRun) {\n await this.startRun({\n parentId: newMessage.id,\n sourceId: message.sourceId,\n runConfig: message.runConfig ?? {},\n });\n } else {\n this.repository.resetHead(newMessage.id);\n this._notifySubscribers();\n }\n }\n\n public async startRun({\n parentId,\n runConfig,\n }: StartRunConfig): Promise<void> {\n this.ensureInitialized();\n\n this.repository.resetHead(parentId);\n\n // add assistant message\n const id = generateId();\n let message: ThreadAssistantMessage = {\n id,\n role: \"assistant\",\n status: { type: \"running\" },\n content: [],\n metadata: {\n unstable_annotations: [],\n unstable_data: [],\n steps: [],\n custom: {},\n },\n createdAt: new Date(),\n };\n\n this._notifyEventSubscribers(\"run-start\");\n\n try {\n do {\n message = await this.performRoundtrip(parentId, message, runConfig);\n } while (shouldContinue(message, this._options.unstable_humanToolNames));\n } finally {\n this._notifyEventSubscribers(\"run-end\");\n }\n }\n\n private async performRoundtrip(\n parentId: string | null,\n message: ThreadAssistantMessage,\n runConfig: RunConfig | undefined,\n ) {\n const messages = this.repository.getMessages();\n\n // abort existing run\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n const initialContent = message.content;\n const initialAnnotations = message.metadata?.unstable_annotations;\n const initialData = message.metadata?.unstable_data;\n const initialSteps = message.metadata?.steps;\n const initalCustom = message.metadata?.custom;\n const updateMessage = (m: Partial<ChatModelRunResult>) => {\n const newSteps = m.metadata?.steps;\n const steps = newSteps\n ? [...(initialSteps ?? []), ...newSteps]\n : undefined;\n\n const newAnnotations = m.metadata?.unstable_annotations;\n const newData = m.metadata?.unstable_data;\n const annotations = newAnnotations\n ? [...(initialAnnotations ?? []), ...newAnnotations]\n : undefined;\n const data = newData ? [...(initialData ?? []), ...newData] : undefined;\n\n message = {\n ...message,\n ...(m.content\n ? { content: [...initialContent, ...(m.content ?? [])] }\n : undefined),\n status: m.status ?? message.status,\n ...(m.metadata\n ? {\n metadata: {\n ...message.metadata,\n ...(annotations\n ? { unstable_annotations: annotations }\n : undefined),\n ...(data ? { unstable_data: data } : undefined),\n ...(steps ? { steps } : undefined),\n ...(m.metadata?.custom\n ? {\n custom: { ...(initalCustom ?? {}), ...m.metadata.custom },\n }\n : undefined),\n },\n }\n : undefined),\n };\n this.repository.addOrUpdateMessage(parentId, message);\n this._notifySubscribers();\n };\n\n const maxSteps = this._options.maxSteps ?? 2;\n\n const steps = message.metadata?.steps?.length ?? 0;\n if (steps >= maxSteps) {\n // reached max tool steps\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"tool-calls\",\n },\n });\n return message;\n } else {\n updateMessage({\n status: {\n type: \"running\",\n },\n });\n }\n\n try {\n this._lastRunConfig = runConfig ?? {};\n const context = this.getModelContext();\n const promiseOrGenerator = this.adapters.chatModel.run({\n messages,\n runConfig: this._lastRunConfig,\n abortSignal: this.abortController.signal,\n context,\n config: context,\n unstable_assistantMessageId: message.id,\n unstable_getMessage() {\n return message;\n },\n });\n\n // handle async iterator for streaming results\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n updateMessage(r);\n }\n } else {\n updateMessage(await promiseOrGenerator);\n }\n\n this.abortController = null;\n\n if (message.status.type === \"running\") {\n updateMessage({\n status: { type: \"complete\", reason: \"unknown\" },\n });\n }\n } catch (e) {\n this.abortController = null;\n\n // TODO this should be handled by the run result stream\n if (e instanceof Error && e.name === \"AbortError\") {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n } else {\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"error\",\n error:\n e instanceof Error\n ? e.message\n : `[${typeof e}] ${new String(e).toString()}`,\n },\n });\n\n throw e;\n }\n } finally {\n if (\n message.status.type === \"complete\" ||\n message.status.type === \"incomplete\"\n ) {\n await this._options.adapters.history?.append({\n parentId,\n message: message,\n });\n }\n }\n return message;\n }\n\n public cancelRun() {\n this.abortController?.abort();\n this.abortController = null;\n }\n\n public addToolResult({\n messageId,\n toolCallId,\n result,\n }: AddToolResultOptions) {\n const messageData = this.repository.getMessage(messageId);\n const { parentId } = messageData;\n let { message } = messageData;\n\n if (message.role !== \"assistant\")\n throw new Error(\"Tried to add tool result to non-assistant message\");\n\n let added = false;\n let found = false;\n const newContent = message.content.map((c) => {\n if (c.type !== \"tool-call\") return c;\n if (c.toolCallId !== toolCallId) return c;\n found = true;\n if (!c.result) added = true;\n return {\n ...c,\n result,\n };\n });\n\n if (!found)\n throw new Error(\"Tried to add tool result to non-existing tool call\");\n\n message = {\n ...message,\n content: newContent,\n };\n this.repository.addOrUpdateMessage(parentId, message);\n\n if (\n added &&\n shouldContinue(message, this._options.unstable_humanToolNames)\n ) {\n this.performRoundtrip(parentId, message, this._lastRunConfig);\n }\n }\n}\n"],"mappings":"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","names":["steps"]}
|
@@ -107,10 +107,7 @@ var LocalThreadRuntimeCore = class extends BaseThreadRuntimeCore {
|
|
107
107
|
try {
|
108
108
|
do {
|
109
109
|
message = await this.performRoundtrip(parentId, message, runConfig);
|
110
|
-
} while (shouldContinue(
|
111
|
-
message,
|
112
|
-
this._options.unstable_shouldContinueIgnoreToolNames ?? []
|
113
|
-
));
|
110
|
+
} while (shouldContinue(message, this._options.unstable_humanToolNames));
|
114
111
|
} finally {
|
115
112
|
this._notifyEventSubscribers("run-end");
|
116
113
|
}
|
@@ -253,10 +250,7 @@ var LocalThreadRuntimeCore = class extends BaseThreadRuntimeCore {
|
|
253
250
|
content: newContent
|
254
251
|
};
|
255
252
|
this.repository.addOrUpdateMessage(parentId, message);
|
256
|
-
if (added && shouldContinue(
|
257
|
-
message,
|
258
|
-
this._options.unstable_shouldContinueIgnoreToolNames ?? []
|
259
|
-
)) {
|
253
|
+
if (added && shouldContinue(message, this._options.unstable_humanToolNames)) {
|
260
254
|
this.performRoundtrip(parentId, message, this._lastRunConfig);
|
261
255
|
}
|
262
256
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadRuntimeCore.tsx"],"sourcesContent":["import { generateId } from \"../../internal\";\nimport type { AppendMessage, ThreadAssistantMessage } from \"../../types\";\nimport { fromCoreMessage } from \"../edge\";\nimport type { ChatModelRunResult } from \"./ChatModelAdapter\";\nimport { shouldContinue } from \"./shouldContinue\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n ThreadRuntimeCore,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { BaseThreadRuntimeCore } from \"../core/BaseThreadRuntimeCore\";\nimport { RunConfig } from \"../../types/AssistantTypes\";\nimport { ModelContextProvider } from \"../../model-context\";\n\nexport class LocalThreadRuntimeCore\n extends BaseThreadRuntimeCore\n implements ThreadRuntimeCore\n{\n public readonly capabilities = {\n switchToBranch: true,\n edit: true,\n reload: true,\n cancel: true,\n unstable_copy: true,\n speech: false,\n attachments: false,\n feedback: false,\n };\n\n private abortController: AbortController | null = null;\n\n public readonly isDisabled = false;\n public readonly suggestions: readonly ThreadSuggestion[] = [];\n\n public get adapters() {\n return this._options.adapters;\n }\n\n constructor(\n contextProvider: ModelContextProvider,\n options: LocalRuntimeOptionsBase,\n ) {\n super(contextProvider);\n this.__internal_setOptions(options);\n }\n\n private _options!: LocalRuntimeOptionsBase;\n\n private _lastRunConfig: RunConfig = {};\n\n public get extras() {\n return undefined;\n }\n\n public __internal_setOptions(options: LocalRuntimeOptionsBase) {\n if (this._options === options) return;\n\n this._options = options;\n\n let hasUpdates = false;\n\n const canSpeak = options.adapters?.speech !== undefined;\n if (this.capabilities.speech !== canSpeak) {\n this.capabilities.speech = canSpeak;\n hasUpdates = true;\n }\n\n const canAttach = options.adapters?.attachments !== undefined;\n if (this.capabilities.attachments !== canAttach) {\n this.capabilities.attachments = canAttach;\n hasUpdates = true;\n }\n\n const canFeedback = options.adapters?.feedback !== undefined;\n if (this.capabilities.feedback !== canFeedback) {\n this.capabilities.feedback = canFeedback;\n hasUpdates = true;\n }\n\n if (hasUpdates) this._notifySubscribers();\n }\n\n private _loadPromise: Promise<void> | undefined;\n public __internal_load() {\n if (this._loadPromise) return this._loadPromise;\n\n const promise = this.adapters.history?.load() ?? Promise.resolve(null);\n\n this._loadPromise = promise.then((repo) => {\n if (!repo) return;\n this.repository.import(repo);\n this._notifySubscribers();\n });\n\n return this._loadPromise;\n }\n\n public async append(message: AppendMessage): Promise<void> {\n this.ensureInitialized();\n\n const newMessage = fromCoreMessage(message, {\n attachments: message.attachments,\n });\n this.repository.addOrUpdateMessage(message.parentId, newMessage);\n this._options.adapters.history?.append({\n parentId: message.parentId,\n message: newMessage,\n });\n\n const startRun = message.startRun ?? message.role === \"user\";\n if (startRun) {\n await this.startRun({\n parentId: newMessage.id,\n sourceId: message.sourceId,\n runConfig: message.runConfig ?? {},\n });\n } else {\n this.repository.resetHead(newMessage.id);\n this._notifySubscribers();\n }\n }\n\n public async startRun({\n parentId,\n runConfig,\n }: StartRunConfig): Promise<void> {\n this.ensureInitialized();\n\n this.repository.resetHead(parentId);\n\n // add assistant message\n const id = generateId();\n let message: ThreadAssistantMessage = {\n id,\n role: \"assistant\",\n status: { type: \"running\" },\n content: [],\n metadata: {\n unstable_annotations: [],\n unstable_data: [],\n steps: [],\n custom: {},\n },\n createdAt: new Date(),\n };\n\n this._notifyEventSubscribers(\"run-start\");\n\n try {\n do {\n message = await this.performRoundtrip(parentId, message, runConfig);\n } while (\n shouldContinue(\n message,\n this._options.unstable_shouldContinueIgnoreToolNames ?? [],\n )\n );\n } finally {\n this._notifyEventSubscribers(\"run-end\");\n }\n }\n\n private async performRoundtrip(\n parentId: string | null,\n message: ThreadAssistantMessage,\n runConfig: RunConfig | undefined,\n ) {\n const messages = this.repository.getMessages();\n\n // abort existing run\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n const initialContent = message.content;\n const initialAnnotations = message.metadata?.unstable_annotations;\n const initialData = message.metadata?.unstable_data;\n const initialSteps = message.metadata?.steps;\n const initalCustom = message.metadata?.custom;\n const updateMessage = (m: Partial<ChatModelRunResult>) => {\n const newSteps = m.metadata?.steps;\n const steps = newSteps\n ? [...(initialSteps ?? []), ...newSteps]\n : undefined;\n\n const newAnnotations = m.metadata?.unstable_annotations;\n const newData = m.metadata?.unstable_data;\n const annotations = newAnnotations\n ? [...(initialAnnotations ?? []), ...newAnnotations]\n : undefined;\n const data = newData ? [...(initialData ?? []), ...newData] : undefined;\n\n message = {\n ...message,\n ...(m.content\n ? { content: [...initialContent, ...(m.content ?? [])] }\n : undefined),\n status: m.status ?? message.status,\n ...(m.metadata\n ? {\n metadata: {\n ...message.metadata,\n ...(annotations\n ? { unstable_annotations: annotations }\n : undefined),\n ...(data ? { unstable_data: data } : undefined),\n ...(steps ? { steps } : undefined),\n ...(m.metadata?.custom\n ? {\n custom: { ...(initalCustom ?? {}), ...m.metadata.custom },\n }\n : undefined),\n },\n }\n : undefined),\n };\n this.repository.addOrUpdateMessage(parentId, message);\n this._notifySubscribers();\n };\n\n const maxSteps = this._options.maxSteps ?? 2;\n\n const steps = message.metadata?.steps?.length ?? 0;\n if (steps >= maxSteps) {\n // reached max tool steps\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"tool-calls\",\n },\n });\n return message;\n } else {\n updateMessage({\n status: {\n type: \"running\",\n },\n });\n }\n\n try {\n this._lastRunConfig = runConfig ?? {};\n const context = this.getModelContext();\n const promiseOrGenerator = this.adapters.chatModel.run({\n messages,\n runConfig: this._lastRunConfig,\n abortSignal: this.abortController.signal,\n context,\n config: context,\n unstable_assistantMessageId: message.id,\n unstable_getMessage() {\n return message;\n },\n });\n\n // handle async iterator for streaming results\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n updateMessage(r);\n }\n } else {\n updateMessage(await promiseOrGenerator);\n }\n\n this.abortController = null;\n\n if (message.status.type === \"running\") {\n updateMessage({\n status: { type: \"complete\", reason: \"unknown\" },\n });\n }\n } catch (e) {\n this.abortController = null;\n\n // TODO this should be handled by the run result stream\n if (e instanceof Error && e.name === \"AbortError\") {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n } else {\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"error\",\n error:\n e instanceof Error\n ? e.message\n : `[${typeof e}] ${new String(e).toString()}`,\n },\n });\n\n throw e;\n }\n } finally {\n if (\n message.status.type === \"complete\" ||\n message.status.type === \"incomplete\"\n ) {\n await this._options.adapters.history?.append({\n parentId,\n message: message,\n });\n }\n }\n return message;\n }\n\n public cancelRun() {\n this.abortController?.abort();\n this.abortController = null;\n }\n\n public addToolResult({\n messageId,\n toolCallId,\n result,\n }: AddToolResultOptions) {\n const messageData = this.repository.getMessage(messageId);\n const { parentId } = messageData;\n let { message } = messageData;\n\n if (message.role !== \"assistant\")\n throw new Error(\"Tried to add tool result to non-assistant message\");\n\n let added = false;\n let found = false;\n const newContent = message.content.map((c) => {\n if (c.type !== \"tool-call\") return c;\n if (c.toolCallId !== toolCallId) return c;\n found = true;\n if (!c.result) added = true;\n return {\n ...c,\n result,\n };\n });\n\n if (!found)\n throw new Error(\"Tried to add tool result to non-existing tool call\");\n\n message = {\n ...message,\n content: newContent,\n };\n this.repository.addOrUpdateMessage(parentId, message);\n\n if (\n added &&\n shouldContinue(\n message,\n this._options.unstable_shouldContinueIgnoreToolNames ?? [],\n )\n ) {\n this.performRoundtrip(parentId, message, this._lastRunConfig);\n }\n }\n}\n"],"mappings":"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","names":["steps"]}
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/LocalThreadRuntimeCore.tsx"],"sourcesContent":["import { generateId } from \"../../internal\";\nimport type { AppendMessage, ThreadAssistantMessage } from \"../../types\";\nimport { fromCoreMessage } from \"../edge\";\nimport type { ChatModelRunResult } from \"./ChatModelAdapter\";\nimport { shouldContinue } from \"./shouldContinue\";\nimport { LocalRuntimeOptionsBase } from \"./LocalRuntimeOptions\";\nimport {\n AddToolResultOptions,\n ThreadSuggestion,\n ThreadRuntimeCore,\n StartRunConfig,\n} from \"../core/ThreadRuntimeCore\";\nimport { BaseThreadRuntimeCore } from \"../core/BaseThreadRuntimeCore\";\nimport { RunConfig } from \"../../types/AssistantTypes\";\nimport { ModelContextProvider } from \"../../model-context\";\n\nexport class LocalThreadRuntimeCore\n extends BaseThreadRuntimeCore\n implements ThreadRuntimeCore\n{\n public readonly capabilities = {\n switchToBranch: true,\n edit: true,\n reload: true,\n cancel: true,\n unstable_copy: true,\n speech: false,\n attachments: false,\n feedback: false,\n };\n\n private abortController: AbortController | null = null;\n\n public readonly isDisabled = false;\n public readonly suggestions: readonly ThreadSuggestion[] = [];\n\n public get adapters() {\n return this._options.adapters;\n }\n\n constructor(\n contextProvider: ModelContextProvider,\n options: LocalRuntimeOptionsBase,\n ) {\n super(contextProvider);\n this.__internal_setOptions(options);\n }\n\n private _options!: LocalRuntimeOptionsBase;\n\n private _lastRunConfig: RunConfig = {};\n\n public get extras() {\n return undefined;\n }\n\n public __internal_setOptions(options: LocalRuntimeOptionsBase) {\n if (this._options === options) return;\n\n this._options = options;\n\n let hasUpdates = false;\n\n const canSpeak = options.adapters?.speech !== undefined;\n if (this.capabilities.speech !== canSpeak) {\n this.capabilities.speech = canSpeak;\n hasUpdates = true;\n }\n\n const canAttach = options.adapters?.attachments !== undefined;\n if (this.capabilities.attachments !== canAttach) {\n this.capabilities.attachments = canAttach;\n hasUpdates = true;\n }\n\n const canFeedback = options.adapters?.feedback !== undefined;\n if (this.capabilities.feedback !== canFeedback) {\n this.capabilities.feedback = canFeedback;\n hasUpdates = true;\n }\n\n if (hasUpdates) this._notifySubscribers();\n }\n\n private _loadPromise: Promise<void> | undefined;\n public __internal_load() {\n if (this._loadPromise) return this._loadPromise;\n\n const promise = this.adapters.history?.load() ?? Promise.resolve(null);\n\n this._loadPromise = promise.then((repo) => {\n if (!repo) return;\n this.repository.import(repo);\n this._notifySubscribers();\n });\n\n return this._loadPromise;\n }\n\n public async append(message: AppendMessage): Promise<void> {\n this.ensureInitialized();\n\n const newMessage = fromCoreMessage(message, {\n attachments: message.attachments,\n });\n this.repository.addOrUpdateMessage(message.parentId, newMessage);\n this._options.adapters.history?.append({\n parentId: message.parentId,\n message: newMessage,\n });\n\n const startRun = message.startRun ?? message.role === \"user\";\n if (startRun) {\n await this.startRun({\n parentId: newMessage.id,\n sourceId: message.sourceId,\n runConfig: message.runConfig ?? {},\n });\n } else {\n this.repository.resetHead(newMessage.id);\n this._notifySubscribers();\n }\n }\n\n public async startRun({\n parentId,\n runConfig,\n }: StartRunConfig): Promise<void> {\n this.ensureInitialized();\n\n this.repository.resetHead(parentId);\n\n // add assistant message\n const id = generateId();\n let message: ThreadAssistantMessage = {\n id,\n role: \"assistant\",\n status: { type: \"running\" },\n content: [],\n metadata: {\n unstable_annotations: [],\n unstable_data: [],\n steps: [],\n custom: {},\n },\n createdAt: new Date(),\n };\n\n this._notifyEventSubscribers(\"run-start\");\n\n try {\n do {\n message = await this.performRoundtrip(parentId, message, runConfig);\n } while (shouldContinue(message, this._options.unstable_humanToolNames));\n } finally {\n this._notifyEventSubscribers(\"run-end\");\n }\n }\n\n private async performRoundtrip(\n parentId: string | null,\n message: ThreadAssistantMessage,\n runConfig: RunConfig | undefined,\n ) {\n const messages = this.repository.getMessages();\n\n // abort existing run\n this.abortController?.abort();\n this.abortController = new AbortController();\n\n const initialContent = message.content;\n const initialAnnotations = message.metadata?.unstable_annotations;\n const initialData = message.metadata?.unstable_data;\n const initialSteps = message.metadata?.steps;\n const initalCustom = message.metadata?.custom;\n const updateMessage = (m: Partial<ChatModelRunResult>) => {\n const newSteps = m.metadata?.steps;\n const steps = newSteps\n ? [...(initialSteps ?? []), ...newSteps]\n : undefined;\n\n const newAnnotations = m.metadata?.unstable_annotations;\n const newData = m.metadata?.unstable_data;\n const annotations = newAnnotations\n ? [...(initialAnnotations ?? []), ...newAnnotations]\n : undefined;\n const data = newData ? [...(initialData ?? []), ...newData] : undefined;\n\n message = {\n ...message,\n ...(m.content\n ? { content: [...initialContent, ...(m.content ?? [])] }\n : undefined),\n status: m.status ?? message.status,\n ...(m.metadata\n ? {\n metadata: {\n ...message.metadata,\n ...(annotations\n ? { unstable_annotations: annotations }\n : undefined),\n ...(data ? { unstable_data: data } : undefined),\n ...(steps ? { steps } : undefined),\n ...(m.metadata?.custom\n ? {\n custom: { ...(initalCustom ?? {}), ...m.metadata.custom },\n }\n : undefined),\n },\n }\n : undefined),\n };\n this.repository.addOrUpdateMessage(parentId, message);\n this._notifySubscribers();\n };\n\n const maxSteps = this._options.maxSteps ?? 2;\n\n const steps = message.metadata?.steps?.length ?? 0;\n if (steps >= maxSteps) {\n // reached max tool steps\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"tool-calls\",\n },\n });\n return message;\n } else {\n updateMessage({\n status: {\n type: \"running\",\n },\n });\n }\n\n try {\n this._lastRunConfig = runConfig ?? {};\n const context = this.getModelContext();\n const promiseOrGenerator = this.adapters.chatModel.run({\n messages,\n runConfig: this._lastRunConfig,\n abortSignal: this.abortController.signal,\n context,\n config: context,\n unstable_assistantMessageId: message.id,\n unstable_getMessage() {\n return message;\n },\n });\n\n // handle async iterator for streaming results\n if (Symbol.asyncIterator in promiseOrGenerator) {\n for await (const r of promiseOrGenerator) {\n updateMessage(r);\n }\n } else {\n updateMessage(await promiseOrGenerator);\n }\n\n this.abortController = null;\n\n if (message.status.type === \"running\") {\n updateMessage({\n status: { type: \"complete\", reason: \"unknown\" },\n });\n }\n } catch (e) {\n this.abortController = null;\n\n // TODO this should be handled by the run result stream\n if (e instanceof Error && e.name === \"AbortError\") {\n updateMessage({\n status: { type: \"incomplete\", reason: \"cancelled\" },\n });\n } else {\n updateMessage({\n status: {\n type: \"incomplete\",\n reason: \"error\",\n error:\n e instanceof Error\n ? e.message\n : `[${typeof e}] ${new String(e).toString()}`,\n },\n });\n\n throw e;\n }\n } finally {\n if (\n message.status.type === \"complete\" ||\n message.status.type === \"incomplete\"\n ) {\n await this._options.adapters.history?.append({\n parentId,\n message: message,\n });\n }\n }\n return message;\n }\n\n public cancelRun() {\n this.abortController?.abort();\n this.abortController = null;\n }\n\n public addToolResult({\n messageId,\n toolCallId,\n result,\n }: AddToolResultOptions) {\n const messageData = this.repository.getMessage(messageId);\n const { parentId } = messageData;\n let { message } = messageData;\n\n if (message.role !== \"assistant\")\n throw new Error(\"Tried to add tool result to non-assistant message\");\n\n let added = false;\n let found = false;\n const newContent = message.content.map((c) => {\n if (c.type !== \"tool-call\") return c;\n if (c.toolCallId !== toolCallId) return c;\n found = true;\n if (!c.result) added = true;\n return {\n ...c,\n result,\n };\n });\n\n if (!found)\n throw new Error(\"Tried to add tool result to non-existing tool call\");\n\n message = {\n ...message,\n content: newContent,\n };\n this.repository.addOrUpdateMessage(parentId, message);\n\n if (\n added &&\n shouldContinue(message, this._options.unstable_humanToolNames)\n ) {\n this.performRoundtrip(parentId, message, this._lastRunConfig);\n }\n }\n}\n"],"mappings":"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","names":["steps"]}
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import type { ThreadAssistantMessage } from "../../types";
|
2
|
-
export declare const shouldContinue: (result: ThreadAssistantMessage,
|
2
|
+
export declare const shouldContinue: (result: ThreadAssistantMessage, humanToolNames: string[] | undefined) => boolean;
|
3
3
|
//# sourceMappingURL=shouldContinue.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shouldContinue.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/shouldContinue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,cAAc,WACjB,sBAAsB,
|
1
|
+
{"version":3,"file":"shouldContinue.d.ts","sourceRoot":"","sources":["../../../src/runtimes/local/shouldContinue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,cAAc,WACjB,sBAAsB,kBACd,MAAM,EAAE,GAAG,SAAS,YAqBrC,CAAC"}
|
@@ -23,9 +23,14 @@ __export(shouldContinue_exports, {
|
|
23
23
|
shouldContinue: () => shouldContinue
|
24
24
|
});
|
25
25
|
module.exports = __toCommonJS(shouldContinue_exports);
|
26
|
-
var shouldContinue = (result,
|
27
|
-
(
|
28
|
-
);
|
26
|
+
var shouldContinue = (result, humanToolNames) => {
|
27
|
+
if (humanToolNames === void 0) {
|
28
|
+
return result.status?.type === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
|
29
|
+
}
|
30
|
+
return result.status?.type === "requires-action" && result.status.reason === "tool-calls" && result.content.every(
|
31
|
+
(c) => c.type !== "tool-call" || !!c.result || !humanToolNames.includes(c.toolName)
|
32
|
+
);
|
33
|
+
};
|
29
34
|
// Annotate the CommonJS export names for ESM import in node:
|
30
35
|
0 && (module.exports = {
|
31
36
|
shouldContinue
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/shouldContinue.tsx"],"sourcesContent":["import type { ThreadAssistantMessage } from \"../../types\";\n\nexport const shouldContinue = (\n result: ThreadAssistantMessage,\n
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/shouldContinue.tsx"],"sourcesContent":["import type { ThreadAssistantMessage } from \"../../types\";\n\nexport const shouldContinue = (\n result: ThreadAssistantMessage,\n humanToolNames: string[] | undefined,\n) => {\n // TODO legacy behavior -- make specifying human tool names required\n if (humanToolNames === undefined) {\n return (\n result.status?.type === \"requires-action\" &&\n result.status.reason === \"tool-calls\" &&\n result.content.every((c) => c.type !== \"tool-call\" || !!c.result)\n );\n }\n\n return (\n result.status?.type === \"requires-action\" &&\n result.status.reason === \"tool-calls\" &&\n result.content.every(\n (c) =>\n c.type !== \"tool-call\" ||\n !!c.result ||\n !humanToolNames.includes(c.toolName),\n )\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM,iBAAiB,CAC5B,QACA,mBACG;AAEH,MAAI,mBAAmB,QAAW;AAChC,WACE,OAAO,QAAQ,SAAS,qBACxB,OAAO,OAAO,WAAW,gBACzB,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,MAAM;AAAA,EAEpE;AAEA,SACE,OAAO,QAAQ,SAAS,qBACxB,OAAO,OAAO,WAAW,gBACzB,OAAO,QAAQ;AAAA,IACb,CAAC,MACC,EAAE,SAAS,eACX,CAAC,CAAC,EAAE,UACJ,CAAC,eAAe,SAAS,EAAE,QAAQ;AAAA,EACvC;AAEJ;","names":[]}
|
@@ -1,7 +1,12 @@
|
|
1
1
|
// src/runtimes/local/shouldContinue.tsx
|
2
|
-
var shouldContinue = (result,
|
3
|
-
(
|
4
|
-
);
|
2
|
+
var shouldContinue = (result, humanToolNames) => {
|
3
|
+
if (humanToolNames === void 0) {
|
4
|
+
return result.status?.type === "requires-action" && result.status.reason === "tool-calls" && result.content.every((c) => c.type !== "tool-call" || !!c.result);
|
5
|
+
}
|
6
|
+
return result.status?.type === "requires-action" && result.status.reason === "tool-calls" && result.content.every(
|
7
|
+
(c) => c.type !== "tool-call" || !!c.result || !humanToolNames.includes(c.toolName)
|
8
|
+
);
|
9
|
+
};
|
5
10
|
export {
|
6
11
|
shouldContinue
|
7
12
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/runtimes/local/shouldContinue.tsx"],"sourcesContent":["import type { ThreadAssistantMessage } from \"../../types\";\n\nexport const shouldContinue = (\n result: ThreadAssistantMessage,\n
|
1
|
+
{"version":3,"sources":["../../../src/runtimes/local/shouldContinue.tsx"],"sourcesContent":["import type { ThreadAssistantMessage } from \"../../types\";\n\nexport const shouldContinue = (\n result: ThreadAssistantMessage,\n humanToolNames: string[] | undefined,\n) => {\n // TODO legacy behavior -- make specifying human tool names required\n if (humanToolNames === undefined) {\n return (\n result.status?.type === \"requires-action\" &&\n result.status.reason === \"tool-calls\" &&\n result.content.every((c) => c.type !== \"tool-call\" || !!c.result)\n );\n }\n\n return (\n result.status?.type === \"requires-action\" &&\n result.status.reason === \"tool-calls\" &&\n result.content.every(\n (c) =>\n c.type !== \"tool-call\" ||\n !!c.result ||\n !humanToolNames.includes(c.toolName),\n )\n );\n};\n"],"mappings":";AAEO,IAAM,iBAAiB,CAC5B,QACA,mBACG;AAEH,MAAI,mBAAmB,QAAW;AAChC,WACE,OAAO,QAAQ,SAAS,qBACxB,OAAO,OAAO,WAAW,gBACzB,OAAO,QAAQ,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,MAAM;AAAA,EAEpE;AAEA,SACE,OAAO,QAAQ,SAAS,qBACxB,OAAO,OAAO,WAAW,gBACzB,OAAO,QAAQ;AAAA,IACb,CAAC,MACC,EAAE,SAAS,eACX,CAAC,CAAC,EAAE,UACJ,CAAC,eAAe,SAAS,EAAE,QAAQ;AAAA,EACvC;AAEJ;","names":[]}
|
package/dist/styles/index.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/styles/base.css","../../src/styles/tailwindcss/base-components.css","../../src/styles/tailwindcss/thread.css","../../src/styles/themes/default.css"],"sourcesContent":[":where(.aui-root) *, :where(.aui-root) ::before, :where(.aui-root) ::after {\n --aui-border-spacing-x: 0;\n --aui-border-spacing-y: 0;\n --aui-translate-x: 0;\n --aui-translate-y: 0;\n --aui-rotate: 0;\n --aui-skew-x: 0;\n --aui-skew-y: 0;\n --aui-scale-x: 1;\n --aui-scale-y: 1;\n --aui-ring-inset: ;\n --aui-ring-offset-width: 0px;\n --aui-ring-offset-color: #fff;\n --aui-ring-color: rgb(59 130 246 / 0.5);\n --aui-ring-offset-shadow: 0 0 #0000;\n --aui-ring-shadow: 0 0 #0000;\n --aui-shadow: 0 0 #0000;\n --aui-shadow-colored: 0 0 #0000;\n --aui-blur: ;\n --aui-brightness: ;\n --aui-contrast: ;\n --aui-grayscale: ;\n --aui-hue-rotate: ;\n --aui-invert: ;\n --aui-saturate: ;\n --aui-sepia: ;\n --aui-drop-shadow: ;\n --aui-backdrop-blur: ;\n --aui-backdrop-brightness: ;\n --aui-backdrop-contrast: ;\n --aui-backdrop-grayscale: ;\n --aui-backdrop-hue-rotate: ;\n --aui-backdrop-invert: ;\n --aui-backdrop-opacity: ;\n --aui-backdrop-saturate: ;\n --aui-backdrop-sepia: ;\n --aui-contain-size: ;\n --aui-contain-layout: ;\n --aui-contain-paint: ;\n --aui-contain-style: ;\n}\n :where(.aui-root) ::backdrop {\n --aui-border-spacing-x: 0;\n --aui-border-spacing-y: 0;\n --aui-translate-x: 0;\n --aui-translate-y: 0;\n --aui-rotate: 0;\n --aui-skew-x: 0;\n --aui-skew-y: 0;\n --aui-scale-x: 1;\n --aui-scale-y: 1;\n --aui-ring-inset: ;\n --aui-ring-offset-width: 0px;\n --aui-ring-offset-color: #fff;\n --aui-ring-color: rgb(59 130 246 / 0.5);\n --aui-ring-offset-shadow: 0 0 #0000;\n --aui-ring-shadow: 0 0 #0000;\n --aui-shadow: 0 0 #0000;\n --aui-shadow-colored: 0 0 #0000;\n --aui-blur: ;\n --aui-brightness: ;\n --aui-contrast: ;\n --aui-grayscale: ;\n --aui-hue-rotate: ;\n --aui-invert: ;\n --aui-saturate: ;\n --aui-sepia: ;\n --aui-drop-shadow: ;\n --aui-backdrop-blur: ;\n --aui-backdrop-brightness: ;\n --aui-backdrop-contrast: ;\n --aui-backdrop-grayscale: ;\n --aui-backdrop-hue-rotate: ;\n --aui-backdrop-invert: ;\n --aui-backdrop-opacity: ;\n --aui-backdrop-saturate: ;\n --aui-backdrop-sepia: ;\n --aui-contain-size: ;\n --aui-contain-layout: ;\n --aui-contain-paint: ;\n --aui-contain-style: ;\n}\n /*\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\n*/\n /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n :where(.aui-root) *,\n:where(.aui-root) ::before,\n:where(.aui-root) ::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n :where(.aui-root) ::before,\n:where(.aui-root) ::after {\n --aui-content: '';\n}\n /*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n :where(.aui-root) html,\n:where(.aui-root) :host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n -o-tab-size: 4;\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n /*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n :where(.aui-root) body {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n /*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n :where(.aui-root) hr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n /*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n :where(.aui-root) abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n /*\nRemove the default font size and weight for headings.\n*/\n :where(.aui-root) h1,\n:where(.aui-root) h2,\n:where(.aui-root) h3,\n:where(.aui-root) h4,\n:where(.aui-root) h5,\n:where(.aui-root) h6 {\n font-size: inherit;\n font-weight: inherit;\n}\n /*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n :where(.aui-root) a {\n color: inherit;\n text-decoration: inherit;\n}\n /*\nAdd the correct font weight in Edge and Safari.\n*/\n :where(.aui-root) b,\n:where(.aui-root) strong {\n font-weight: bolder;\n}\n /*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n :where(.aui-root) code,\n:where(.aui-root) kbd,\n:where(.aui-root) samp,\n:where(.aui-root) pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n /*\nAdd the correct font size in all browsers.\n*/\n :where(.aui-root) small {\n font-size: 80%;\n}\n /*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n :where(.aui-root) sub,\n:where(.aui-root) sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n :where(.aui-root) sub {\n bottom: -0.25em;\n}\n :where(.aui-root) sup {\n top: -0.5em;\n}\n /*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n :where(.aui-root) table {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n /*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n :where(.aui-root) button,\n:where(.aui-root) input,\n:where(.aui-root) optgroup,\n:where(.aui-root) select,\n:where(.aui-root) textarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n /*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n :where(.aui-root) button,\n:where(.aui-root) select {\n text-transform: none;\n}\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n :where(.aui-root) button,\n:where(.aui-root) input:where([type='button']),\n:where(.aui-root) input:where([type='reset']),\n:where(.aui-root) input:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n /*\nUse the modern Firefox focus style for all focusable elements.\n*/\n :where(.aui-root) :-moz-focusring {\n outline: auto;\n}\n /*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n :where(.aui-root) :-moz-ui-invalid {\n box-shadow: none;\n}\n /*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n :where(.aui-root) progress {\n vertical-align: baseline;\n}\n /*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n :where(.aui-root) ::-webkit-inner-spin-button,\n:where(.aui-root) ::-webkit-outer-spin-button {\n height: auto;\n}\n /*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n :where(.aui-root) [type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n /*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n :where(.aui-root) ::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n :where(.aui-root) ::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n /*\nAdd the correct display in Chrome and Safari.\n*/\n :where(.aui-root) summary {\n display: list-item;\n}\n /*\nRemoves the default spacing and border for appropriate elements.\n*/\n :where(.aui-root) blockquote,\n:where(.aui-root) dl,\n:where(.aui-root) dd,\n:where(.aui-root) h1,\n:where(.aui-root) h2,\n:where(.aui-root) h3,\n:where(.aui-root) h4,\n:where(.aui-root) h5,\n:where(.aui-root) h6,\n:where(.aui-root) hr,\n:where(.aui-root) figure,\n:where(.aui-root) p,\n:where(.aui-root) pre {\n margin: 0;\n}\n :where(.aui-root) fieldset {\n margin: 0;\n padding: 0;\n}\n :where(.aui-root) legend {\n padding: 0;\n}\n :where(.aui-root) ol,\n:where(.aui-root) ul,\n:where(.aui-root) menu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n /*\nReset default styling for dialogs.\n*/\n :where(.aui-root) dialog {\n padding: 0;\n}\n /*\nPrevent resizing textareas horizontally by default.\n*/\n :where(.aui-root) textarea {\n resize: vertical;\n}\n /*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n :where(.aui-root) input::-moz-placeholder, :where(.aui-root) textarea::-moz-placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n :where(.aui-root) input::placeholder,\n:where(.aui-root) textarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n /*\nSet the default cursor for buttons.\n*/\n :where(.aui-root) button,\n:where(.aui-root) [role=\"button\"] {\n cursor: pointer;\n}\n /*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n :where(.aui-root) :disabled {\n cursor: default;\n}\n /*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n :where(.aui-root) img,\n:where(.aui-root) svg,\n:where(.aui-root) video,\n:where(.aui-root) canvas,\n:where(.aui-root) audio,\n:where(.aui-root) iframe,\n:where(.aui-root) embed,\n:where(.aui-root) object {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n /*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n :where(.aui-root) img,\n:where(.aui-root) video {\n max-width: 100%;\n height: auto;\n}\n /* Make elements with the HTML hidden attribute stay hidden by default */\n :where(.aui-root) [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none;\n}\n\n@keyframes aui-enter {\n from {\n opacity: var(--aui-enter-opacity, 1);\n transform: translate3d(\n var(--aui-enter-translate-x, 0),\n var(--aui-enter-translate-y, 0),\n 0\n )\n scale3d(\n var(--aui-enter-scale, 1),\n var(--aui-enter-scale, 1),\n var(--aui-enter-scale, 1)\n )\n rotate(var(--aui-enter-rotate, 0));\n }\n}\n\n@keyframes aui-exit {\n to {\n opacity: var(--aui-exit-opacity, 1);\n transform: translate3d(\n var(--aui-exit-translate-x, 0),\n var(--aui-exit-translate-y, 0),\n 0\n )\n scale3d(\n var(--aui-exit-scale, 1),\n var(--aui-exit-scale, 1),\n var(--aui-exit-scale, 1)\n )\n rotate(var(--aui-exit-rotate, 0));\n }\n}\n",".aui-root {\n\n color: hsl(var(--aui-foreground))\n}\n\n.aui-root * {\n\n border-color: hsl(var(--aui-border))\n}\n\n/* shadcn-ui/button */\n.aui-button {\n\n display: inline-flex;\n\n align-items: center;\n\n justify-content: center;\n\n gap: 0.5rem;\n\n white-space: nowrap;\n\n border-radius: calc(var(--aui-radius) - 2px);\n\n font-size: 0.875rem;\n\n line-height: 1.25rem;\n\n font-weight: 500;\n\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n\n transition-duration: 150ms\n}\n.aui-button:focus-visible {\n\n outline: 2px solid transparent;\n\n outline-offset: 2px;\n\n --aui-ring-offset-shadow: var(--aui-ring-inset) 0 0 0 var(--aui-ring-offset-width) var(--aui-ring-offset-color);\n\n --aui-ring-shadow: var(--aui-ring-inset) 0 0 0 calc(1px + var(--aui-ring-offset-width)) var(--aui-ring-color);\n\n box-shadow: var(--aui-ring-offset-shadow), var(--aui-ring-shadow), var(--aui-shadow, 0 0 #0000);\n\n --aui-ring-color: hsl(var(--aui-ring))\n}\n.aui-button:disabled {\n\n pointer-events: none;\n\n opacity: 0.5\n}\n.aui-button svg {\n\n pointer-events: none;\n\n width: 1rem;\n\n height: 1rem;\n\n flex-shrink: 0\n}\n\n.aui-button-primary {\n\n background-color: hsl(var(--aui-primary));\n\n color: hsl(var(--aui-primary-foreground));\n\n --aui-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n\n --aui-shadow-colored: 0 1px 3px 0 var(--aui-shadow-color), 0 1px 2px -1px var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n.aui-button-primary:hover {\n\n background-color: hsl(var(--aui-primary) / 0.9)\n}\n\n.aui-button-outline {\n\n border-width: 1px;\n\n border-color: hsl(var(--aui-input));\n\n background-color: hsl(var(--aui-background));\n\n --aui-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n\n --aui-shadow-colored: 0 1px 2px 0 var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow)\n}\n\n.aui-button-outline:hover {\n\n background-color: hsl(var(--aui-accent));\n\n color: hsl(var(--aui-accent-foreground))\n}\n\n.aui-button-ghost:hover {\n\n background-color: hsl(var(--aui-accent));\n\n color: hsl(var(--aui-accent-foreground))\n}\n\n.aui-button-medium {\n\n height: 2.25rem;\n\n padding-left: 1rem;\n\n padding-right: 1rem;\n\n padding-top: 0.5rem;\n\n padding-bottom: 0.5rem\n}\n\n/** tooltip icon button */\n.aui-button-icon {\n\n width: 1.5rem;\n\n height: 1.5rem;\n\n padding: 0.25rem\n}\n\n.aui-sr-only {\n\n position: absolute;\n\n width: 1px;\n\n height: 1px;\n\n padding: 0;\n\n margin: -1px;\n\n overflow: hidden;\n\n clip: rect(0, 0, 0, 0);\n\n white-space: nowrap;\n\n border-width: 0\n}\n\n/* shadcn-ui/avatar */\n\n.aui-avatar-root {\n\n position: relative;\n\n display: flex;\n\n height: 2.5rem;\n\n width: 2.5rem;\n\n flex-shrink: 0;\n\n overflow: hidden;\n\n border-radius: 9999px\n}\n\n.aui-avatar-image {\n\n aspect-ratio: 1 / 1;\n\n height: 100%;\n\n width: 100%;\n\n -o-object-fit: cover;\n\n object-fit: cover\n}\n\n.aui-avatar-fallback {\n\n display: flex;\n\n height: 100%;\n\n width: 100%;\n\n align-items: center;\n\n justify-content: center;\n\n border-radius: 9999px;\n\n background-color: hsl(var(--aui-muted))\n}\n\n/* shadcn-ui/tooltip */\n\n.aui-tooltip-content {\n\n z-index: 50;\n\n overflow: hidden;\n\n border-radius: calc(var(--aui-radius) - 2px);\n\n background-color: hsl(var(--aui-primary));\n\n padding-left: 0.75rem;\n\n padding-right: 0.75rem;\n\n padding-top: 0.375rem;\n\n padding-bottom: 0.375rem;\n\n font-size: 0.75rem;\n\n line-height: 1rem;\n\n color: hsl(var(--aui-primary-foreground));\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial;\n\n --aui-enter-opacity: 0;\n\n --aui-enter-scale: .95\n}\n\n.aui-tooltip-content[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0;\n\n --aui-exit-scale: .95\n}\n\n.aui-tooltip-content[data-side=\"bottom\"] {\n\n --aui-enter-translate-y: -0.5rem\n}\n\n.aui-tooltip-content[data-side=\"left\"] {\n\n --aui-enter-translate-x: 0.5rem\n}\n\n.aui-tooltip-content[data-side=\"right\"] {\n\n --aui-enter-translate-x: -0.5rem\n}\n\n.aui-tooltip-content[data-side=\"top\"] {\n\n --aui-enter-translate-y: 0.5rem\n}\n\n/* shadcn-ui/dialog */\n\n.aui-dialog-overlay {\n\n position: fixed;\n\n inset: 0px;\n\n z-index: 50;\n\n background-color: rgb(0 0 0 / 0.8)\n}\n\n.aui-dialog-overlay[data-state=\"open\"] {\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial\n}\n\n.aui-dialog-overlay[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0\n}\n\n.aui-dialog-overlay[data-state=\"open\"] {\n\n --aui-enter-opacity: 0\n}\n\n.aui-dialog-content {\n\n position: fixed;\n\n left: 50%;\n\n top: 50%;\n\n z-index: 50\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n animation-name: aui-enter;\n\n animation-duration: 150ms;\n\n --aui-enter-opacity: initial;\n\n --aui-enter-scale: initial;\n\n --aui-enter-rotate: initial;\n\n --aui-enter-translate-x: initial;\n\n --aui-enter-translate-y: initial\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n animation-name: aui-exit;\n\n animation-duration: 150ms;\n\n --aui-exit-opacity: initial;\n\n --aui-exit-scale: initial;\n\n --aui-exit-rotate: initial;\n\n --aui-exit-translate-x: initial;\n\n --aui-exit-translate-y: initial;\n\n --aui-exit-opacity: 0\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-opacity: 0\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n --aui-exit-scale: .95\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-scale: .95\n}\n\n.aui-dialog-content[data-state=\"closed\"] {\n\n --aui-exit-translate-x: -50%;\n\n --aui-exit-translate-y: -48%\n}\n\n.aui-dialog-content[data-state=\"open\"] {\n\n --aui-enter-translate-x: -50%;\n\n --aui-enter-translate-y: -48%\n}\n\n.aui-dialog-content {\n\n display: grid;\n\n --aui-translate-x: -50%;\n\n --aui-translate-y: -50%;\n\n transform: translate(var(--aui-translate-x), var(--aui-translate-y)) rotate(var(--aui-rotate)) skewX(var(--aui-skew-x)) skewY(var(--aui-skew-y)) scaleX(var(--aui-scale-x)) scaleY(var(--aui-scale-y));\n\n --aui-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n\n --aui-shadow-colored: 0 10px 15px -3px var(--aui-shadow-color), 0 4px 6px -4px var(--aui-shadow-color);\n\n box-shadow: var(--aui-ring-offset-shadow, 0 0 #0000), var(--aui-ring-shadow, 0 0 #0000), var(--aui-shadow);\n\n transition-duration: 200ms;\n\n animation-duration: 200ms\n /* @apply w-full bg-aui-background max-w-lg gap-4 border p-6 sm:rounded-lg; */\n}\n","/* thread */\n.aui-thread-root {\n box-sizing: border-box;\n height: 100%;\n background-color: hsl(var(--aui-background))\n}\n\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: inherit;\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 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.aui-composer-cancel {\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.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-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-branch-picker {\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 grid-column-start: 2;\n grid-row-start: 2\n}\n\n.aui-user-message-attachments {\n display: flex;\n width: 100%;\n flex-direction: row;\n gap: 0.75rem;\n grid-column: 1 / -1;\n grid-column-start: 1;\n grid-row-start: 1;\n justify-content: flex-end\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 grid-column-start: 1;\n grid-row-start: 2;\n margin-right: 0.75rem;\n margin-top: 0.625rem\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.aui-assistant-avatar {\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.aui-assistant-branch-picker {\n grid-column-start: 2;\n grid-row-start: 2;\n margin-left: -0.5rem;\n margin-right: 0.5rem\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 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/* 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 grid-column-start: 3;\n grid-row-start: 2;\n margin-left: -0.25rem\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\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: inherit;\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 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.aui-composer-cancel {\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.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:where(>*) {\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-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-branch-picker {\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 grid-column-start: 2;\n grid-row-start: 2\n}\n\n.aui-user-message-attachments {\n display: flex;\n width: 100%;\n flex-direction: row;\n gap: 0.75rem;\n grid-column: 1 / -1;\n grid-column-start: 1;\n grid-row-start: 1;\n justify-content: flex-end\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 grid-column-start: 1;\n grid-row-start: 2;\n margin-right: 0.75rem;\n margin-top: 0.625rem\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.aui-assistant-avatar {\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.aui-assistant-branch-picker {\n grid-column-start: 2;\n grid-row-start: 2;\n margin-left: -0.5rem;\n margin-right: 0.5rem\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 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/* 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 grid-column-start: 3;\n grid-row-start: 2;\n margin-left: -0.25rem\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":[]}
|
@@ -8,7 +8,7 @@
|
|
8
8
|
}
|
9
9
|
|
10
10
|
.aui-thread-viewport-footer {
|
11
|
-
@apply max-w-[var(--aui-thread-max-width)]
|
11
|
+
@apply sticky bottom-0 mt-3 flex w-full max-w-[var(--aui-thread-max-width)] flex-col items-center justify-end rounded-t-lg bg-inherit pb-4;
|
12
12
|
}
|
13
13
|
|
14
14
|
.aui-thread-scroll-to-bottom {
|
@@ -26,7 +26,7 @@
|
|
26
26
|
/* thread welcome */
|
27
27
|
|
28
28
|
.aui-thread-welcome-root {
|
29
|
-
@apply max-w-[var(--aui-thread-max-width)] flex
|
29
|
+
@apply flex w-full max-w-[var(--aui-thread-max-width)] flex-grow flex-col;
|
30
30
|
}
|
31
31
|
|
32
32
|
.aui-thread-welcome-center {
|
@@ -110,8 +110,8 @@
|
|
110
110
|
/* user message */
|
111
111
|
|
112
112
|
.aui-user-message-root {
|
113
|
-
@apply grid auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 [
|
114
|
-
@apply max-w-[var(--aui-thread-max-width)]
|
113
|
+
@apply grid auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 [&:where(>*)]:col-start-2;
|
114
|
+
@apply w-full max-w-[var(--aui-thread-max-width)] py-4;
|
115
115
|
}
|
116
116
|
|
117
117
|
:where(.aui-user-message-root) > .aui-branch-picker-root {
|
@@ -126,7 +126,7 @@
|
|
126
126
|
|
127
127
|
.aui-user-message-content {
|
128
128
|
@apply bg-aui-muted text-aui-foreground max-w-[calc(var(--aui-thread-max-width)*0.8)] break-words rounded-3xl px-5 py-2.5;
|
129
|
-
|
129
|
+
|
130
130
|
@apply col-start-2 row-start-2;
|
131
131
|
}
|
132
132
|
|
@@ -148,7 +148,7 @@
|
|
148
148
|
/* edit composer */
|
149
149
|
|
150
150
|
.aui-edit-composer-root {
|
151
|
-
@apply bg-aui-muted max-w-[var(--aui-thread-max-width)]
|
151
|
+
@apply bg-aui-muted my-4 flex w-full max-w-[var(--aui-thread-max-width)] flex-col gap-2 rounded-xl;
|
152
152
|
}
|
153
153
|
|
154
154
|
.aui-edit-composer-input {
|
@@ -163,7 +163,7 @@
|
|
163
163
|
|
164
164
|
.aui-assistant-message-root {
|
165
165
|
@apply grid grid-cols-[auto_auto_1fr] grid-rows-[auto_1fr];
|
166
|
-
@apply max-w-[var(--aui-thread-max-width)]
|
166
|
+
@apply relative w-full max-w-[var(--aui-thread-max-width)] py-4;
|
167
167
|
}
|
168
168
|
|
169
169
|
:where(.aui-assistant-message-root) > .aui-avatar-root {
|