('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty = (\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property() content_type: ContentType = \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n\n render() {\n const noContent = this.content.trim().length === 0;\n const icon = noContent ? ICONS.dots_fade : ICONS.robot;\n\n return html`\n ${unsafeHTML(icon)}
\n \n `;\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\";\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n\n this.textarea.focus();\n }\n\n setInputValue(value: string): void {\n this.textarea.value = value;\n this.disabled = value.trim().length === 0;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n }\n}\n\nclass ChatContainer extends LightElement {\n @property() placeholder = \"Enter a message...\";\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#removeLoadingMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value);\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\ncustomElements.define(CHAT_MESSAGE_TAG, ChatMessage);\ncustomElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\ncustomElements.define(CHAT_MESSAGES_TAG, ChatMessages);\ncustomElements.define(CHAT_INPUT_TAG, ChatInput);\ncustomElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n\n$(function () {\n Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n function (message: ShinyChatMessage) {\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n );\n});\n"],
- "mappings": "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",
+ "sourcesContent": ["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic spec behavior](https://wicg.github.io/construct-stylesheets/#using-constructed-stylesheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n const issuedWarnings: Set = (global.litIssuedWarnings ??=\n new Set());\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (!issuedWarnings.has(warning)) {\n console.warn(warning);\n issuedWarnings.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty = (\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property() content_type: ContentType = \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n\n render() {\n const noContent = this.content.trim().length === 0;\n const icon = noContent ? ICONS.dots_fade : ICONS.robot;\n\n return html`\n ${unsafeHTML(icon)}
\n \n `;\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\";\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n\n this.textarea.focus();\n }\n\n setInputValue(value: string): void {\n this.textarea.value = value;\n this.disabled = value.trim().length === 0;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n }\n}\n\nclass ChatContainer extends LightElement {\n @property() placeholder = \"Enter a message...\";\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#removeLoadingMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value);\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\ncustomElements.define(CHAT_MESSAGE_TAG, ChatMessage);\ncustomElements.define(CHAT_USER_MESSAGE_TAG, ChatUserMessage);\ncustomElements.define(CHAT_MESSAGES_TAG, ChatMessages);\ncustomElements.define(CHAT_INPUT_TAG, ChatInput);\ncustomElements.define(CHAT_CONTAINER_TAG, ChatContainer);\n\n$(function () {\n Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n function (message: ShinyChatMessage) {\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n );\n});\n"],
+ "mappings": "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",
"names": ["global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "prototype", "get", "v", "call", "oldValue", "requestUpdate", "configurable", "enumerable", "hasOwnProperty", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "_$changeProperty", "__enqueueUpdate", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "wrapped", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "svgElement", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "globalThis", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "globalThis", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "wrapped", "Object", "getOwnPropertyDescriptor", "createElement", "tag_name", "attrs", "el", "key", "value", "LightElement", "s", "showShinyClientMessage", "headline", "message", "status", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "#onKeyDown", "#onInput", "#sendInput", "sentEvent", "value", "inputEvent", "ChatContainer", "last", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "event", "#appendMessage", "#addLoadingMessage", "message", "finalize", "#removeLoadingMessage", "TAG_NAME", "msg", "createElement", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "evt", "el", "showShinyClientMessage"]
}
diff --git a/tests/playwright/shiny/components/MarkdownStream/basic/app.py b/tests/playwright/shiny/components/MarkdownStream/basic/app.py
index bdadc3303..c57e14d39 100644
--- a/tests/playwright/shiny/components/MarkdownStream/basic/app.py
+++ b/tests/playwright/shiny/components/MarkdownStream/basic/app.py
@@ -10,8 +10,8 @@
readme_chunks = f.read().replace("\n", " \n ").split(" ")
-stream = ui.MarkdownStream("shiny-readme")
-stream_err = ui.MarkdownStream("shiny-readme-err")
+stream = ui.MarkdownStream("shiny_readme")
+stream_err = ui.MarkdownStream("shiny_readme_err")
async def readme_generator():
@@ -46,7 +46,7 @@ async def _():
stream_err.ui()
-basic_stream = ui.MarkdownStream("basic-stream-result")
+basic_stream = ui.MarkdownStream("basic_stream_result")
basic_stream.ui()
diff --git a/tests/playwright/shiny/components/MarkdownStream/basic/test_stream_basic.py b/tests/playwright/shiny/components/MarkdownStream/basic/test_stream_basic.py
index ecb92b66c..1916e4619 100644
--- a/tests/playwright/shiny/components/MarkdownStream/basic/test_stream_basic.py
+++ b/tests/playwright/shiny/components/MarkdownStream/basic/test_stream_basic.py
@@ -28,7 +28,7 @@ def is_element_scrolled_to_bottom(page: Page, selector: str) -> bool:
def test_validate_stream_basic(page: Page, local_app: ShinyAppProc) -> None:
page.goto(local_app.url)
- stream = page.locator("#shiny-readme")
+ stream = page.locator("#shiny_readme")
expect(stream).to_be_visible(timeout=30 * 1000)
expect(stream).to_contain_text("pip install shiny")
@@ -37,7 +37,7 @@ def test_validate_stream_basic(page: Page, local_app: ShinyAppProc) -> None:
is_scrolled = is_element_scrolled_to_bottom(page, ".card-body")
assert is_scrolled, "The card body container should be scrolled to the bottom"
- stream2 = page.locator("#shiny-readme-err")
+ stream2 = page.locator("#shiny_readme_err")
expect(stream2).to_be_visible(timeout=30 * 1000)
expect(stream2).to_contain_text("Shiny")