@copilotkit/vue 1.62.0 → 1.62.2-canary.1783457132

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/PARITY.md +7 -7
  2. package/dist/index-By5nIKxT.js +1632 -0
  3. package/dist/index-By5nIKxT.js.map +1 -0
  4. package/dist/index-LFxZI63k.cjs +748 -0
  5. package/dist/index-LFxZI63k.cjs.map +1 -0
  6. package/dist/index.cjs +1 -1
  7. package/dist/index.mjs +70 -69
  8. package/dist/styles.css +1 -1
  9. package/dist/{use-render-activity-message-Bzh3Bckz.js → use-render-activity-message-DbGuwvBd.js} +3363 -3064
  10. package/dist/use-render-activity-message-DbGuwvBd.js.map +1 -0
  11. package/dist/use-render-activity-message-hlNcbV9l.cjs +85 -0
  12. package/dist/use-render-activity-message-hlNcbV9l.cjs.map +1 -0
  13. package/dist/v2/components/chat/CopilotChat.vue.d.ts.map +1 -1
  14. package/dist/v2/components/chat/CopilotModalHeader.vue.d.ts.map +1 -1
  15. package/dist/v2/components/chat/CopilotThreadsDrawer.vue.d.ts +42 -0
  16. package/dist/v2/components/chat/CopilotThreadsDrawer.vue.d.ts.map +1 -0
  17. package/dist/v2/components/chat/index.d.ts +1 -0
  18. package/dist/v2/components/chat/index.d.ts.map +1 -1
  19. package/dist/v2/components/icons/index.d.ts +1 -1
  20. package/dist/v2/components/icons/index.d.ts.map +1 -1
  21. package/dist/v2/hooks/use-agent.d.ts.map +1 -1
  22. package/dist/v2/hooks/use-threads.d.ts +12 -0
  23. package/dist/v2/hooks/use-threads.d.ts.map +1 -1
  24. package/dist/v2/index.cjs +1 -1
  25. package/dist/v2/index.mjs +44 -43
  26. package/dist/v2/lib/is-mobile-viewport.d.ts +15 -0
  27. package/dist/v2/lib/is-mobile-viewport.d.ts.map +1 -0
  28. package/dist/v2/providers/CopilotChatConfigurationProvider.vue.d.ts.map +1 -1
  29. package/dist/v2/providers/types.d.ts +24 -0
  30. package/dist/v2/providers/types.d.ts.map +1 -1
  31. package/package.json +7 -6
  32. package/src/v2/components/chat/CopilotChat.vue +22 -4
  33. package/src/v2/components/chat/CopilotModalHeader.vue +61 -2
  34. package/src/v2/components/chat/CopilotThreadsDrawer.vue +285 -0
  35. package/src/v2/components/chat/__tests__/CopilotChat.clearOnFresh.test.ts +160 -0
  36. package/src/v2/components/chat/__tests__/CopilotModalHeader.drawerLauncher.test.ts +125 -0
  37. package/src/v2/components/chat/__tests__/CopilotThreadsDrawer.ssr.test.ts +25 -0
  38. package/src/v2/components/chat/__tests__/CopilotThreadsDrawer.test.ts +835 -0
  39. package/src/v2/components/chat/index.ts +1 -0
  40. package/src/v2/components/icons/index.ts +1 -0
  41. package/src/v2/hooks/__tests__/use-agent.test.ts +60 -1
  42. package/src/v2/hooks/__tests__/use-human-in-the-loop.e2e.test.ts +4 -4
  43. package/src/v2/hooks/__tests__/use-threads.test.ts +303 -6
  44. package/src/v2/hooks/use-agent.ts +4 -1
  45. package/src/v2/hooks/use-threads.ts +137 -8
  46. package/src/v2/lib/__tests__/is-mobile-viewport.test.ts +48 -0
  47. package/src/v2/lib/is-mobile-viewport.ts +23 -0
  48. package/src/v2/providers/CopilotChatConfigurationProvider.vue +120 -4
  49. package/src/v2/providers/__tests__/CopilotChatConfigurationProvider.test.ts +105 -1
  50. package/src/v2/providers/types.ts +25 -0
  51. package/dist/use-render-activity-message-Bzh3Bckz.js.map +0 -1
  52. package/dist/use-render-activity-message-CW3vipBB.cjs +0 -85
  53. package/dist/use-render-activity-message-CW3vipBB.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-By5nIKxT.js","sources":["../../web-components/dist/threads-drawer/generated-tokens.mjs","../../../node_modules/.pnpm/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/.pnpm/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/lit-html.js","../../../node_modules/.pnpm/lit-element@4.2.2/node_modules/lit-element/lit-element.js","../../web-components/dist/threads-drawer/styles.mjs","../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directive.js","../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directive-helpers.js","../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/repeat.js","../../../node_modules/.pnpm/lit-html@3.3.2/node_modules/lit-html/directives/class-map.js","../../web-components/dist/threads-drawer/copilotkit-threads-drawer.mjs","../../web-components/dist/threads-drawer/define.mjs"],"sourcesContent":["//#region src/threads-drawer/generated-tokens.ts\n/**\n* GENERATED FILE — DO NOT EDIT BY HAND.\n*\n* Bundled default values for the drawer's design tokens, derived at build time\n* from the canonical react-core theme (`packages/react-core/src/v2/styles/globals.css`)\n* by `scripts/generate-tokens.ts`. Run `pnpm run gen:tokens` to regenerate.\n*\n* The drawer's shadow-DOM CSS references these as fallbacks, e.g.\n* `var(--cpk-drawer-bg, <built default>)`, so consumers can override every\n* token while the built-in skin stays in sync with react-core.\n*/\nconst GENERATED_DRAWER_TOKEN_DEFAULTS = {\n\tbg: \"oklch(1 0 0)\",\n\tfg: \"oklch(0.145 0 0)\",\n\tsurface: \"oklch(1 0 0)\",\n\t\"surface-fg\": \"oklch(0.145 0 0)\",\n\tmuted: \"oklch(0.97 0 0)\",\n\t\"muted-fg\": \"oklch(0.556 0 0)\",\n\taccent: \"oklch(0.97 0 0)\",\n\t\"accent-fg\": \"oklch(0.205 0 0)\",\n\tprimary: \"oklch(0.205 0 0)\",\n\t\"primary-fg\": \"oklch(0.985 0 0)\",\n\tdanger: \"oklch(0.577 0.245 27.325)\",\n\tborder: \"oklch(0.922 0 0)\",\n\tring: \"oklch(0.708 0 0)\",\n\tradius: \"0.625rem\"\n};\n\n//#endregion\nexport { GENERATED_DRAWER_TOKEN_DEFAULTS };\n//# sourceMappingURL=generated-tokens.mjs.map","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { GENERATED_DRAWER_TOKEN_DEFAULTS } from \"./generated-tokens.mjs\";\nimport { css, unsafeCSS } from \"lit\";\n\n//#region src/threads-drawer/styles.ts\n/**\n* Wraps a generated token default value so it can be safely interpolated into a\n* lit `css` template. Values come from the checked-in generated tokens file\n* (derived from react-core), never from user input, so `unsafeCSS` is safe\n* here.\n*/\nconst tok = (value) => unsafeCSS(value);\nconst T = GENERATED_DRAWER_TOKEN_DEFAULTS;\n/**\n* Self-contained shadow-DOM styles for `<copilotkit-threads-drawer>`.\n*\n* Authoring rules baked in here:\n* - Every visual value is a `var(--cpk-drawer-<token>, <built default>)`. The\n* built defaults come from {@link GENERATED_DRAWER_TOKEN_DEFAULTS}, derived\n* from react-core's canonical theme at build time (anti-drift). Consumers\n* override by setting `--cpk-drawer-*` from the light DOM — CSS custom\n* properties pierce the shadow boundary by design.\n* - Inherited properties (font, color, line-height) are RE-PINNED on `:host`\n* so a hostile host stylesheet (`all: unset`, `* { ... !important }`,\n* Tailwind preflight) cannot leak into or strip styling from the element.\n* - Structural nodes expose `::part(...)` hooks for fine-grained theming.\n*\n* Token fallbacks are interpolated as literals (not runtime-read) so the CSS is\n* static and ships compiled.\n*/\nconst drawerStyles = css`\n :host {\n /* Re-pin inheritable properties to close inheritance leaks from hostile\n host CSS. These are the only properties that cross the shadow boundary\n via inheritance, so we hard-set them at the root. */\n all: initial;\n display: block;\n height: 100%;\n box-sizing: border-box;\n font-family:\n var(--cpk-drawer-font-family, ui-sans-serif, system-ui, sans-serif);\n font-size: var(--cpk-drawer-font-size, 14px);\n line-height: var(--cpk-drawer-line-height, 1.4);\n color: var(--cpk-drawer-fg, var(--foreground, ${tok(T.fg)}));\n\n /* Three-level token resolution, highest priority first:\n 1. explicit per-token override (--cpk-drawer-*),\n 2. the host app's theme variable (--background/--card/… — the standard\n react-core/shadcn names), so the drawer follows the host's light/dark\n theme by inheritance (custom properties are NOT reset by all:initial),\n 3. the built-in light default derived from react-core at build time, so a\n host with no theme still renders correctly (self-contained). */\n --_bg: var(--cpk-drawer-bg, var(--background, ${tok(T.bg)}));\n --_surface: var(--cpk-drawer-surface, var(--card, ${tok(T.surface)}));\n --_surface-fg: var(\n --cpk-drawer-surface-fg,\n var(--card-foreground, ${tok(T[\"surface-fg\"])})\n );\n --_muted: var(--cpk-drawer-muted, var(--muted, ${tok(T.muted)}));\n --_muted-fg: var(\n --cpk-drawer-muted-fg,\n var(--muted-foreground, ${tok(T[\"muted-fg\"])})\n );\n --_accent: var(--cpk-drawer-accent, var(--accent, ${tok(T.accent)}));\n --_accent-fg: var(\n --cpk-drawer-accent-fg,\n var(--accent-foreground, ${tok(T[\"accent-fg\"])})\n );\n --_primary: var(--cpk-drawer-primary, var(--primary, ${tok(T.primary)}));\n --_primary-fg: var(\n --cpk-drawer-primary-fg,\n var(--primary-foreground, ${tok(T[\"primary-fg\"])})\n );\n --_danger: var(--cpk-drawer-danger, var(--destructive, ${tok(T.danger)}));\n --_border: var(--cpk-drawer-border, var(--border, ${tok(T.border)}));\n --_ring: var(--cpk-drawer-ring, var(--ring, ${tok(T.ring)}));\n --_radius: var(--cpk-drawer-radius, var(--radius, ${tok(T.radius)}));\n --_width: var(--cpk-drawer-width, 320px);\n --_rail-width: var(--cpk-drawer-rail-width, 56px);\n }\n\n :host([hidden]) {\n display: none;\n }\n\n * {\n box-sizing: border-box;\n }\n\n .root {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: var(--_width);\n background: var(--_bg);\n border-right: 1px solid var(--_border);\n overflow: hidden;\n transition: width 0.2s ease;\n /* Positioning context for the confirm-delete dialog's absolutely-positioned\n backdrop (see .dialog-backdrop). Without this the backdrop's inset:0\n resolves against the initial containing block (the viewport) and its\n low z-index competes in the light-DOM root stacking context, so on\n desktop the dialog escapes the drawer column and paints UNDER the chat\n input (which sits in a sibling column). Anchoring here confines the\n modal to the drawer, where its z-index only needs to beat the rows.\n The mobile path already establishes its own context via position:fixed. */\n position: relative;\n }\n\n .root.collapsed {\n width: var(--_rail-width);\n }\n\n /* Mobile: off-canvas overlay (modal pattern). */\n .root.mobile {\n position: fixed;\n inset: 0 auto 0 0;\n z-index: 1000;\n width: min(var(--_width), 85vw);\n transform: translateX(-100%);\n transition: transform 0.2s ease;\n box-shadow: 0 0 0 100vmax transparent;\n }\n\n .root.mobile.open {\n transform: translateX(0);\n }\n\n .backdrop {\n position: fixed;\n inset: 0;\n z-index: 999;\n background: rgba(0, 0, 0, 0.4);\n border: 0;\n padding: 0;\n margin: 0;\n cursor: pointer;\n }\n\n /* Mobile-only floating affordance to OPEN the off-canvas drawer. Rendered by\n the element itself so phones always have a way in with no host wiring. */\n .launcher {\n position: fixed;\n z-index: 998;\n /* Position is themeable so a host can line the launcher up with its own\n header controls (e.g. vertically centering it on a toggle group). */\n top: var(--cpk-drawer-launcher-top, 12px);\n left: var(--cpk-drawer-launcher-left, 12px);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: 999px;\n border: 1px solid var(--_border);\n background: var(--_surface);\n color: var(--_surface-fg);\n cursor: pointer;\n box-shadow: 0 2px 8px rgb(0 0 0 / 0.12);\n }\n\n .launcher-icon {\n width: 18px;\n height: 18px;\n display: block;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 12px;\n border-bottom: 1px solid var(--_border);\n }\n\n .filters {\n display: flex;\n gap: 4px;\n padding: 8px 12px;\n }\n\n .filter-btn {\n flex: 1;\n padding: 6px 10px;\n border: 1px solid var(--_border);\n border-radius: var(--_radius);\n background: var(--_bg);\n color: var(--_muted-fg);\n cursor: pointer;\n font: inherit;\n }\n\n .filter-btn[aria-pressed=\"true\"] {\n background: var(--_accent);\n color: var(--_accent-fg);\n border-color: var(--_ring);\n }\n\n .list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 8px 12px;\n margin: 0;\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 10px;\n border-radius: var(--_radius);\n cursor: pointer;\n background: transparent;\n color: inherit;\n border: 1px solid transparent;\n opacity: 0;\n transform: translateY(4px);\n animation: cpk-drawer-row-in 0.18s ease forwards;\n /* Positioned so the hovered row can be lifted above later rows (below). */\n position: relative;\n }\n\n /* The entry animation leaves each row with a (non-none) transform, making it\n its own stacking context — which would paint the name tooltip UNDER the\n following rows (their text bled through the bubble). Lifting the hovered\n row's z-index re-floats its tooltip above the rows beneath it. */\n .row.name-clipped:hover {\n z-index: 2;\n }\n\n @keyframes cpk-drawer-row-in {\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .row.active {\n background: var(--_accent);\n color: var(--_accent-fg);\n border-color: var(--_ring);\n }\n\n .row.archived .row-name {\n color: var(--_muted-fg);\n }\n\n .row-name {\n /* The outer name element owns NO overflow clip so it can host the name\n tooltip pseudo-element; the inner .row-name-text does the ellipsis. */\n flex: 1;\n min-width: 0;\n position: relative;\n }\n\n .row-name-text {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* Name tooltip: matches the row-action tooltip (instant primary bubble with\n an arrow), shown ONLY when the name is clipped. Positioned below the name,\n wrapping within the drawer width (a long name can't fit one line). */\n .row-name.name-clipped[data-tooltip]:hover::after {\n content: attr(data-tooltip);\n position: absolute;\n left: 0;\n top: calc(100% + 6px);\n white-space: normal;\n max-width: 240px;\n background: var(--_primary);\n color: var(--_primary-fg);\n border-radius: 6px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 1.4;\n box-shadow: 0 4px 12px rgb(0 0 0 / 0.18);\n pointer-events: none;\n z-index: 20;\n }\n\n .row-name.name-clipped[data-tooltip]:hover::before {\n content: \"\";\n position: absolute;\n left: 10px;\n top: calc(100% + 1.5px);\n transform: rotate(45deg);\n width: 7px;\n height: 7px;\n background: var(--_primary);\n border-radius: 1px;\n pointer-events: none;\n z-index: 21;\n }\n\n .row-name.placeholder {\n color: var(--_muted-fg);\n font-style: italic;\n }\n\n .row-name.revealed {\n animation: cpk-drawer-name-reveal 0.3s ease;\n }\n\n @keyframes cpk-drawer-name-reveal {\n from {\n opacity: 0.4;\n }\n to {\n opacity: 1;\n }\n }\n\n .row-action {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n border: 0;\n background: transparent;\n color: var(--_muted-fg);\n cursor: pointer;\n font: inherit;\n padding: 5px;\n border-radius: 6px;\n }\n\n /* Instant tooltip (matches the react components' delayDuration:0) styled to\n match the CPK standard tooltip: a solid primary-colored bubble with\n primary-foreground text, rounded corners, no border, and a small arrow —\n NOT a surface/bordered box (which reads as a button). Rendered to the LEFT\n of the action so the list's vertical overflow never clips it; the native\n \\`title\\` tooltip is avoided because its show-delay is browser-fixed (~1.5s)\n and cannot be tuned. */\n .row-action[data-tooltip]:hover::after,\n .row-action[data-tooltip]:focus-visible::after {\n content: attr(data-tooltip);\n position: absolute;\n right: calc(100% + 8px);\n top: 50%;\n transform: translateY(-50%);\n white-space: nowrap;\n background: var(--_primary);\n color: var(--_primary-fg);\n border-radius: 6px;\n padding: 4px 8px;\n font-size: 12px;\n line-height: 1.4;\n box-shadow: 0 4px 12px rgb(0 0 0 / 0.18);\n pointer-events: none;\n z-index: 20;\n }\n\n /* Arrow: a small rotated square at the bubble's right edge, pointing at the\n action — same primary fill as the bubble. */\n .row-action[data-tooltip]:hover::before,\n .row-action[data-tooltip]:focus-visible::before {\n content: \"\";\n position: absolute;\n right: calc(100% + 4.5px);\n top: 50%;\n transform: translateY(-50%) rotate(45deg);\n width: 7px;\n height: 7px;\n background: var(--_primary);\n border-radius: 1px;\n pointer-events: none;\n z-index: 21;\n }\n\n /* While the delete-confirmation dialog is open, suppress row-action tooltips:\n the clicked trash button keeps :focus-visible (and may stay hovered), which\n would otherwise leave its \"Delete\" tooltip floating over the dialog. */\n .root.confirming .row-action[data-tooltip]:hover::after,\n .root.confirming .row-action[data-tooltip]:focus-visible::after,\n .root.confirming .row-action[data-tooltip]:hover::before,\n .root.confirming .row-action[data-tooltip]:focus-visible::before {\n content: none;\n display: none;\n }\n\n .row-action:hover,\n .row-action:focus-visible {\n background: var(--_muted);\n color: inherit;\n }\n\n .row-action.danger:hover,\n .row-action.danger:focus-visible {\n color: var(--_danger);\n }\n\n .row-action-icon {\n width: 15px;\n height: 15px;\n display: block;\n }\n\n button.primary {\n background: var(--_primary);\n color: var(--_primary-fg);\n border: 0;\n border-radius: var(--_radius);\n padding: 8px 12px;\n cursor: pointer;\n font: inherit;\n }\n\n .state {\n padding: 24px 16px;\n text-align: center;\n color: var(--_muted-fg);\n }\n\n .state.error {\n color: var(--_danger);\n }\n\n .fetch-more-error {\n padding: 8px 12px;\n text-align: center;\n color: var(--_danger);\n font-size: 0.9em;\n }\n\n .load-more {\n display: block;\n width: 100%;\n padding: 8px 12px;\n background: none;\n border: none;\n color: var(--_muted-fg);\n font: inherit;\n font-size: 0.9em;\n cursor: pointer;\n }\n\n .load-more:hover,\n .load-more:focus-visible {\n color: var(--_surface-fg);\n background: var(--_muted);\n }\n\n .licensed {\n padding: 24px 16px;\n text-align: center;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .memories {\n border-top: 1px solid var(--_border);\n padding: 8px 12px;\n }\n\n .memories[hidden] {\n display: none;\n }\n\n .dialog-backdrop {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.3);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n }\n\n .dialog {\n background: var(--_surface);\n color: var(--_surface-fg);\n border-radius: var(--_radius);\n padding: 16px;\n max-width: 80%;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .dialog-actions {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n }\n\n .footer {\n border-top: 1px solid var(--_border);\n padding: 12px;\n }\n\n .footer[hidden] {\n display: none;\n }\n`;\n\n//#endregion\nexport { drawerStyles };\n//# sourceMappingURL=styles.mjs.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { drawerStyles } from \"./styles.mjs\";\nimport { LitElement, html, nothing } from \"lit\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n//#region src/threads-drawer/copilotkit-threads-drawer.ts\n/** Tag name the element registers under. */\nconst COPILOTKIT_THREADS_DRAWER_TAG = \"copilotkit-threads-drawer\";\n/** Mobile breakpoint (px). At or below this width the drawer is a modal overlay. */\nconst MOBILE_BREAKPOINT = 768;\n/**\n* Whether an inbound error message should surface an error state. Only a\n* non-empty, non-whitespace string counts — `null`, `\"\"`, and whitespace-only\n* strings are treated as \"no error\" so an empty error never conflates with a\n* real one (and never blanks the list behind an empty error panel).\n*/\nfunction hasErrorMessage(value) {\n\treturn value !== null && value.trim().length > 0;\n}\n/**\n* Builds the per-row slot name (`row:<id>`) used for consumer projection, but\n* only when the thread id is safe to embed in a slot `name` / `slot` attribute\n* token. A slot name is matched character-for-character against the consumer's\n* `slot=\"...\"` attribute; whitespace splits attribute tokens and quotes/angle\n* brackets can break attribute serialization, so an id containing any of those\n* would silently fail projection. For such an id we return `null` and the row\n* renders its default name span (no per-row slot), which is the safe fallback.\n*/\nfunction rowSlotName(id) {\n\tif (id.length === 0 || /[\\s\"'<>=]/.test(id)) return null;\n\treturn `row:${id}`;\n}\n/**\n* Inline row-action icons. The element is framework-agnostic Lit, so it cannot\n* depend on a React icon library — these are the lucide `archive`,\n* `archive-restore`, and `trash-2` glyphs inlined as SVG, drawn with\n* `currentColor` so they inherit the button's themed color.\n*/\nconst iconArchive = html`\n <svg\n class=\"row-action-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"20\" height=\"5\" x=\"2\" y=\"3\" rx=\"1\" />\n <path d=\"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8\" />\n <path d=\"M10 12h4\" />\n </svg>\n`;\nconst iconUnarchive = html`\n <svg\n class=\"row-action-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"20\" height=\"5\" x=\"2\" y=\"3\" rx=\"1\" />\n <path d=\"M4 8v11a2 2 0 0 0 2 2h2\" />\n <path d=\"M20 8v11a2 2 0 0 1-2 2h-2\" />\n <path d=\"m9 15 3-3 3 3\" />\n <path d=\"M12 12v9\" />\n </svg>\n`;\nconst iconDelete = html`\n <svg\n class=\"row-action-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M3 6h18\" />\n <path\n d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"\n />\n <line x1=\"10\" x2=\"10\" y1=\"11\" y2=\"17\" />\n <line x1=\"14\" x2=\"14\" y1=\"11\" y2=\"17\" />\n </svg>\n`;\nconst iconLauncher = html`\n <svg\n class=\"launcher-icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" />\n <path d=\"M9 3v18\" />\n <path d=\"m14 9 3 3-3 3\" />\n </svg>\n`;\n/**\n* `<copilotkit-threads-drawer>` — a public, self-contained, controlled, framework-agnostic\n* threads drawer rendered into a shadow root.\n*\n* Pure VIEW: domain data (threads/loading/error/etc.) comes IN as properties and\n* user intent goes OUT as bubbling+composed DOM `CustomEvent`s. The element owns\n* VIEW state (open/collapsed, Active/All filter, confirm-delete dialog, per-row\n* animations) while the consumer owns DOMAIN state. `open` is additionally\n* externally controllable via the `open` property + `open-change` event so a\n* host can coordinate mobile open/close.\n*\n* The element is AUTHORITATIVE over row order and the Active/All filter.\n*/\nvar CopilotKitThreadsDrawer = class extends LitElement {\n\tconstructor(..._args) {\n\t\tsuper(..._args);\n\t\tthis.label = \"Threads\";\n\t\tthis.threads = [];\n\t\tthis.loading = false;\n\t\tthis.error = null;\n\t\tthis.activeThreadId = null;\n\t\tthis.licensed = true;\n\t\tthis.licenseUrl = \"https://docs.copilotkit.ai/intelligence\";\n\t\tthis.hasMore = false;\n\t\tthis.fetchingMore = false;\n\t\tthis.fetchMoreError = null;\n\t\tthis.open = true;\n\t\tthis.collapsed = false;\n\t\tthis._filter = \"active\";\n\t\tthis._confirmingDeleteId = null;\n\t\tthis._viewportIsMobile = false;\n\t\tthis._hasMemories = false;\n\t\tthis._hasFooter = false;\n\t\tthis._mediaQuery = null;\n\t\tthis._onMediaChange = (event) => {\n\t\t\tthis._viewportIsMobile = event.matches;\n\t\t};\n\t\tthis._onKeyDown = (event) => {\n\t\t\tif (event.key === \"Escape\") {\n\t\t\t\tif (this._confirmingDeleteId !== null) {\n\t\t\t\t\tthis._confirmingDeleteId = null;\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (this._viewportIsMobile && this.open) {\n\t\t\t\t\tthis._setOpen(false);\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (event.key === \"Tab\") this._trapTab(event);\n\t\t};\n\t\tthis._seenNamed = /* @__PURE__ */ new Set();\n\t\tthis._justRevealed = /* @__PURE__ */ new Set();\n\t\tthis._scrollLocked = false;\n\t\tthis._prevBodyOverflow = \"\";\n\t\tthis._trapTab = (event) => {\n\t\t\tif (event.key !== \"Tab\" || !this._isMobileModalOpen()) return;\n\t\t\tconst focusable = this._composedFocusable();\n\t\t\tif (focusable.length === 0) return;\n\t\t\tconst first = focusable[0];\n\t\t\tconst last = focusable[focusable.length - 1];\n\t\t\tconst active = this.renderRoot.activeElement ?? document.activeElement;\n\t\t\tif (event.shiftKey && active === first) {\n\t\t\t\tlast.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t} else if (!event.shiftKey && active === last) {\n\t\t\t\tfirst.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t};\n\t}\n\tstatic {\n\t\tthis.styles = drawerStyles;\n\t}\n\tstatic {\n\t\tthis.properties = {\n\t\t\tthreads: { attribute: false },\n\t\t\tloading: { type: Boolean },\n\t\t\terror: { type: String },\n\t\t\tactiveThreadId: {\n\t\t\t\tattribute: \"active-thread-id\",\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\tlicensed: { type: Boolean },\n\t\t\tlicenseUrl: {\n\t\t\t\tattribute: \"license-url\",\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\thasMore: {\n\t\t\t\tattribute: \"has-more\",\n\t\t\t\ttype: Boolean\n\t\t\t},\n\t\t\tfetchingMore: {\n\t\t\t\tattribute: \"fetching-more\",\n\t\t\t\ttype: Boolean\n\t\t\t},\n\t\t\tfetchMoreError: {\n\t\t\t\tattribute: \"fetch-more-error\",\n\t\t\t\ttype: String\n\t\t\t},\n\t\t\tlabel: { type: String },\n\t\t\topen: {\n\t\t\t\ttype: Boolean,\n\t\t\t\treflect: true\n\t\t\t},\n\t\t\tcollapsed: {\n\t\t\t\ttype: Boolean,\n\t\t\t\treflect: true\n\t\t\t},\n\t\t\t_filter: { state: true },\n\t\t\t_confirmingDeleteId: { state: true },\n\t\t\t_viewportIsMobile: { state: true },\n\t\t\t_hasMemories: { state: true },\n\t\t\t_hasFooter: { state: true }\n\t\t};\n\t}\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tif (typeof window !== \"undefined\" && window.matchMedia) {\n\t\t\tthis._mediaQuery = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`);\n\t\t\tthis._viewportIsMobile = this._mediaQuery.matches;\n\t\t\tthis._mediaQuery.addEventListener(\"change\", this._onMediaChange);\n\t\t}\n\t\tthis.addEventListener(\"keydown\", this._onKeyDown);\n\t}\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tthis._mediaQuery?.removeEventListener(\"change\", this._onMediaChange);\n\t\tthis.removeEventListener(\"keydown\", this._onKeyDown);\n\t\tthis._releaseScrollLock();\n\t}\n\twillUpdate(changed) {\n\t\tif (changed.has(\"threads\")) {\n\t\t\tconst presentIds = /* @__PURE__ */ new Set();\n\t\t\tconst revealed = /* @__PURE__ */ new Set();\n\t\t\tfor (const thread of this.threads) {\n\t\t\t\tpresentIds.add(thread.id);\n\t\t\t\tconst hasName = thread.name !== null && thread.name !== \"\";\n\t\t\t\tif (hasName && !this._seenNamed.has(thread.id)) revealed.add(thread.id);\n\t\t\t\tif (hasName) this._seenNamed.add(thread.id);\n\t\t\t}\n\t\t\tfor (const id of this._seenNamed) if (!presentIds.has(id)) this._seenNamed.delete(id);\n\t\t\tthis._justRevealed = revealed;\n\t\t\tif (this._confirmingDeleteId !== null) {\n\t\t\t\tif (!this._visibleThreads().some((t) => t.id === this._confirmingDeleteId)) this._confirmingDeleteId = null;\n\t\t\t}\n\t\t}\n\t}\n\tupdated(changed) {\n\t\tif (changed.has(\"open\") || changed.has(\"_viewportIsMobile\")) if (this._isMobileModalOpen()) {\n\t\t\tthis._applyScrollLock();\n\t\t\tthis._focusFirstFocusable();\n\t\t} else this._releaseScrollLock();\n\t\tif (this._justRevealed.size > 0) this._justRevealed = /* @__PURE__ */ new Set();\n\t\tthis._syncNameClipping();\n\t}\n\t/**\n\t* Marks each row whose name text is truncated with `name-clipped`, so the CSS\n\t* shows the name tooltip ONLY when the full name isn't already visible (an\n\t* always-on bubble over every row on hover would be noise). Measured after\n\t* render because truncation depends on the laid-out width.\n\t*/\n\t_syncNameClipping() {\n\t\tthis.renderRoot.querySelectorAll(\".row-name\").forEach((name) => {\n\t\t\tconst text = name.querySelector(\".row-name-text\");\n\t\t\tconst clipped = !!text && text.scrollWidth > text.clientWidth;\n\t\t\tname.classList.toggle(\"name-clipped\", clipped);\n\t\t\tname.closest(\".row\")?.classList.toggle(\"name-clipped\", clipped);\n\t\t});\n\t}\n\t_isMobileModalOpen() {\n\t\treturn this._viewportIsMobile && this.open;\n\t}\n\t_setOpen(next) {\n\t\tif (this.open === next) return;\n\t\tthis.open = next;\n\t\tthis._emit(\"open-change\", { open: next });\n\t}\n\t_setFilter(next) {\n\t\tif (this._filter === next) return;\n\t\tthis._filter = next;\n\t\tthis._emit(\"filter-change\", { filter: next });\n\t}\n\t/**\n\t* Element-authoritative ordering + filtering. Active filter hides archived\n\t* threads; ordering is most-recent-first by `lastRunAt`/`updatedAt`.\n\t*/\n\t_visibleThreads() {\n\t\tconst filtered = this._filter === \"active\" ? this.threads.filter((t) => !t.archived) : this.threads;\n\t\tconst ts = (t) => {\n\t\t\tconst raw = t.lastRunAt ?? t.updatedAt ?? t.createdAt;\n\t\t\tconst parsed = Date.parse(raw);\n\t\t\treturn Number.isNaN(parsed) ? null : parsed;\n\t\t};\n\t\treturn [...filtered].map((thread, index) => ({\n\t\t\tthread,\n\t\t\tindex,\n\t\t\tts: ts(thread)\n\t\t})).sort((a, b) => {\n\t\t\tif (a.ts === null && b.ts === null) return a.index - b.index;\n\t\t\tif (a.ts === null) return 1;\n\t\t\tif (b.ts === null) return -1;\n\t\t\tif (a.ts !== b.ts) return b.ts - a.ts;\n\t\t\treturn a.index - b.index;\n\t\t}).map((entry) => entry.thread);\n\t}\n\t_emit(type, detail) {\n\t\tthis.dispatchEvent(new CustomEvent(type, {\n\t\t\tdetail,\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}));\n\t}\n\t_applyScrollLock() {\n\t\tif (this._scrollLocked || typeof document === \"undefined\") return;\n\t\tthis._prevBodyOverflow = document.body.style.overflow;\n\t\tdocument.body.style.overflow = \"hidden\";\n\t\tthis._scrollLocked = true;\n\t}\n\t_releaseScrollLock() {\n\t\tif (!this._scrollLocked || typeof document === \"undefined\") return;\n\t\tdocument.body.style.overflow = this._prevBodyOverflow;\n\t\tthis._scrollLocked = false;\n\t}\n\t/**\n\t* Returns the focusable elements in the composed/flattened tree of the drawer\n\t* root, INCLUDING slotted light-DOM content (so a focus trap covers slotted\n\t* rows). Walks assigned nodes of each `<slot>`.\n\t*/\n\t_composedFocusable() {\n\t\tconst selector = \"a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\\\"-1\\\"])\";\n\t\tconst out = [];\n\t\tconst backdrop = this.renderRoot.querySelector(\".backdrop\");\n\t\tif (backdrop) out.push(backdrop);\n\t\tconst root = this.renderRoot.querySelector(\".root\");\n\t\tif (!root) return out;\n\t\tconst collect = (node) => {\n\t\t\tnode.querySelectorAll(selector).forEach((el) => out.push(el));\n\t\t};\n\t\tcollect(root);\n\t\troot.querySelectorAll(\"slot\").forEach((slot) => {\n\t\t\tslot.assignedElements({ flatten: true }).forEach((assigned) => {\n\t\t\t\tif (assigned.matches(selector)) out.push(assigned);\n\t\t\t\tcollect(assigned);\n\t\t\t});\n\t\t});\n\t\treturn out;\n\t}\n\t_focusFirstFocusable() {\n\t\tqueueMicrotask(() => {\n\t\t\tconst focusable = this._composedFocusable();\n\t\t\tconst backdrop = this.renderRoot.querySelector(\".backdrop\");\n\t\t\t(focusable.find((el) => el !== backdrop) ?? focusable[0])?.focus();\n\t\t});\n\t}\n\trender() {\n\t\tconst rootClasses = {\n\t\t\troot: true,\n\t\t\tcollapsed: this.collapsed && !this._viewportIsMobile,\n\t\t\tmobile: this._viewportIsMobile,\n\t\t\topen: this.open,\n\t\t\tconfirming: this._confirmingDeleteId !== null\n\t\t};\n\t\treturn html`\n ${this._viewportIsMobile && !this.open ? html`<button\n class=\"launcher\"\n part=\"launcher\"\n aria-label=\"Open threads\"\n @click=${() => this._setOpen(true)}\n >\n <slot name=\"launcher-icon\">${iconLauncher}</slot>\n </button>` : nothing}\n ${this._isMobileModalOpen() ? html`<button\n class=\"backdrop\"\n part=\"backdrop\"\n aria-label=\"Close threads drawer\"\n @click=${() => this._setOpen(false)}\n ></button>` : nothing}\n <div\n class=${classMap(rootClasses)}\n part=\"root\"\n role=${this._isMobileModalOpen() ? \"dialog\" : \"region\"}\n aria-modal=${this._isMobileModalOpen() ? \"true\" : nothing}\n aria-label=${this.label}\n >\n ${this._renderHeader()} ${this._renderBody()} ${this._renderMemories()}\n ${this._renderFooter()} ${this._renderConfirmDialog()}\n </div>\n `;\n\t}\n\t_renderHeader() {\n\t\treturn html`\n <div class=\"header\" part=\"header\">\n <slot name=\"header\"><span>${this.label}</span></slot>\n <button\n class=\"primary\"\n part=\"new-thread-button\"\n aria-label=\"New thread\"\n @click=${() => this._emit(\"new-thread\", {})}\n >\n + New\n </button>\n </div>\n ${this.licensed && (!hasErrorMessage(this.error) || this.threads.length > 0) ? html`\n <div class=\"filters\" part=\"filters\" role=\"group\" aria-label=\"Filter threads\">\n <button\n class=\"filter-btn\"\n part=\"filter-active\"\n aria-pressed=${this._filter === \"active\"}\n @click=${() => this._setFilter(\"active\")}\n >\n Active\n </button>\n <button\n class=\"filter-btn\"\n part=\"filter-all\"\n aria-pressed=${this._filter === \"all\"}\n @click=${() => this._setFilter(\"all\")}\n >\n All\n </button>\n </div>\n ` : nothing}\n `;\n\t}\n\t_renderBody() {\n\t\tif (!this.licensed) return this._renderLicensed();\n\t\tif (hasErrorMessage(this.error) && this.threads.length === 0) return this._renderError();\n\t\tif (this.loading && this.threads.length === 0) return this._renderLoading();\n\t\treturn this._renderList();\n\t}\n\t/**\n\t* Handles the Upgrade CTA click in the locked view. Dispatches a cancelable\n\t* `licensed` event carrying the resolved `licenseUrl`; unless a host calls\n\t* `preventDefault()`, opens that URL in a new tab. A blank `licenseUrl`\n\t* suppresses navigation so the event alone drives host behavior.\n\t*/\n\t_onLicensedCta() {\n\t\tif (this.dispatchEvent(new CustomEvent(\"licensed\", {\n\t\t\tdetail: { licenseUrl: this.licenseUrl },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t\tcancelable: true\n\t\t})) && this.licenseUrl && typeof window !== \"undefined\") window.open(this.licenseUrl, \"_blank\", \"noopener,noreferrer\");\n\t}\n\t_renderLicensed() {\n\t\treturn html`\n <div class=\"licensed\" part=\"licensed\" data-testid=\"drawer-licensed\">\n <slot name=\"licensed\">\n <p>Threads are a CopilotKit Intelligence feature.</p>\n <button\n class=\"primary\"\n part=\"licensed-cta\"\n @click=${() => this._onLicensedCta()}\n >\n Upgrade\n </button>\n </slot>\n </div>\n `;\n\t}\n\t_renderError() {\n\t\treturn html`\n <div class=\"state error\" part=\"error\" role=\"alert\" data-testid=\"drawer-error\">\n <p>${this.error}</p>\n <button\n class=\"primary\"\n part=\"retry-button\"\n @click=${() => this._emit(\"retry\", { scope: \"initial\" })}\n >\n Retry\n </button>\n </div>\n `;\n\t}\n\t_renderLoading() {\n\t\treturn html`\n <div class=\"state\" part=\"loading\" data-testid=\"drawer-loading\" aria-busy=\"true\">\n Loading threads…\n </div>\n `;\n\t}\n\t_renderList() {\n\t\tconst visible = this._visibleThreads();\n\t\tif (visible.length === 0) return html`\n <div class=\"state\" part=\"empty\" data-testid=\"drawer-empty\">\n <slot name=\"empty\">No threads yet.</slot>\n </div>\n `;\n\t\treturn html`\n <ul class=\"list\" part=\"list\" role=\"listbox\" aria-label=${this.label}>\n ${repeat(visible, (thread) => thread.id, (thread) => this._renderRow(thread))}\n </ul>\n ${this._renderFetchMore()}\n `;\n\t}\n\t_renderRow(thread) {\n\t\tconst isActive = thread.id === this.activeThreadId;\n\t\tconst hasName = thread.name !== null && thread.name !== \"\";\n\t\tconst justRevealed = this._justRevealed.has(thread.id);\n\t\tconst rowClasses = {\n\t\t\trow: true,\n\t\t\tactive: isActive,\n\t\t\tarchived: thread.archived\n\t\t};\n\t\tconst nameClasses = {\n\t\t\t\"row-name\": true,\n\t\t\tplaceholder: !hasName,\n\t\t\trevealed: justRevealed\n\t\t};\n\t\tconst slotName = rowSlotName(thread.id);\n\t\tconst nameSpan = html`<span\n class=${classMap(nameClasses)}\n part=\"row-name\"\n data-tooltip=${hasName ? thread.name : nothing}\n >\n <span class=\"row-name-text\"\n >${hasName ? thread.name : \"New thread\"}</span\n >\n </span>`;\n\t\treturn html`\n <li\n class=${classMap(rowClasses)}\n part=${isActive ? \"row row-active\" : \"row\"}\n role=\"option\"\n aria-selected=${isActive ? \"true\" : \"false\"}\n tabindex=\"0\"\n data-thread-id=${thread.id}\n @click=${() => this._emit(\"thread-selected\", { threadId: thread.id })}\n @keydown=${(e) => {\n\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis._emit(\"thread-selected\", { threadId: thread.id });\n\t\t\t}\n\t\t}}\n >\n ${slotName !== null ? html`<slot name=${slotName}>${nameSpan}</slot>` : nameSpan}\n ${thread.archived ? html`<button\n class=\"row-action\"\n part=\"row-unarchive\"\n data-tooltip=\"Unarchive\"\n aria-label=${`Unarchive thread ${thread.name ?? \"New thread\"}`}\n @click=${(e) => {\n\t\t\te.stopPropagation();\n\t\t\tthis._emit(\"unarchive\", { threadId: thread.id });\n\t\t}}\n >\n ${iconUnarchive}\n </button>` : html`<button\n class=\"row-action\"\n part=\"row-archive\"\n data-tooltip=\"Archive\"\n aria-label=${`Archive thread ${thread.name ?? \"New thread\"}`}\n @click=${(e) => {\n\t\t\te.stopPropagation();\n\t\t\tthis._emit(\"archive\", { threadId: thread.id });\n\t\t}}\n >\n ${iconArchive}\n </button>`}\n <button\n class=\"row-action danger\"\n part=\"row-delete\"\n data-tooltip=\"Delete\"\n aria-label=${`Delete thread ${thread.name ?? \"New thread\"}`}\n @click=${(e) => {\n\t\t\te.stopPropagation();\n\t\t\tthis._confirmingDeleteId = thread.id;\n\t\t}}\n >\n ${iconDelete}\n </button>\n </li>\n `;\n\t}\n\t_renderFetchMore() {\n\t\tif (hasErrorMessage(this.fetchMoreError)) return html`\n <div class=\"fetch-more-error\" part=\"fetch-more-error\" role=\"alert\">\n Couldn't load more —\n <button\n class=\"row-action\"\n part=\"fetch-more-retry\"\n @click=${() => this._emit(\"retry\", { scope: \"fetch-more\" })}\n >\n retry\n </button>\n </div>\n `;\n\t\tif (this.fetchingMore) return html`\n <div class=\"state\" part=\"fetching-more\" aria-busy=\"true\">Loading more…</div>\n `;\n\t\tif (this.hasMore) return html`\n <button\n class=\"load-more\"\n part=\"load-more\"\n @click=${() => this._emit(\"load-more\", {})}\n >\n Load more\n </button>\n `;\n\t\treturn nothing;\n\t}\n\t_renderMemories() {\n\t\treturn html`\n <div class=\"memories\" part=\"memories\" ?hidden=${!this._hasMemories}>\n <slot\n name=\"memories\"\n @slotchange=${(e) => {\n\t\t\tthis._hasMemories = e.target.assignedElements().length > 0;\n\t\t}}\n ></slot>\n </div>\n `;\n\t}\n\t_renderFooter() {\n\t\treturn html`\n <div class=\"footer\" part=\"footer\" ?hidden=${!this._hasFooter}>\n <slot\n name=\"footer\"\n @slotchange=${(e) => {\n\t\t\tthis._hasFooter = e.target.assignedElements().length > 0;\n\t\t}}\n ></slot>\n </div>\n `;\n\t}\n\t_renderConfirmDialog() {\n\t\tif (this._confirmingDeleteId === null) return nothing;\n\t\tconst id = this._confirmingDeleteId;\n\t\treturn html`\n <div class=\"dialog-backdrop\" part=\"dialog-backdrop\">\n <div\n class=\"dialog\"\n part=\"confirm-dialog\"\n role=\"alertdialog\"\n aria-modal=\"true\"\n aria-label=\"Confirm delete\"\n data-testid=\"drawer-confirm-delete\"\n >\n <p>Delete this thread? This cannot be undone.</p>\n <div class=\"dialog-actions\">\n <button\n class=\"row-action\"\n part=\"confirm-cancel\"\n @click=${() => this._confirmingDeleteId = null}\n >\n Cancel\n </button>\n <button\n class=\"primary\"\n part=\"confirm-delete\"\n @click=${() => {\n\t\t\tthis._confirmingDeleteId = null;\n\t\t\tthis._emit(\"delete\", { threadId: id });\n\t\t}}\n >\n Delete\n </button>\n </div>\n </div>\n </div>\n `;\n\t}\n};\n\n//#endregion\nexport { COPILOTKIT_THREADS_DRAWER_TAG, CopilotKitThreadsDrawer };\n//# sourceMappingURL=copilotkit-threads-drawer.mjs.map","import { COPILOTKIT_THREADS_DRAWER_TAG, CopilotKitThreadsDrawer } from \"./copilotkit-threads-drawer.mjs\";\n\n//#region src/threads-drawer/define.ts\n/**\n* Registers the `<copilotkit-threads-drawer>` custom element. Idempotent — safe to call\n* multiple times (e.g. from several framework wrappers in the same page); a\n* second registration of the same tag is a no-op.\n*/\nfunction defineCopilotKitThreadsDrawer() {\n\tif (typeof customElements !== \"undefined\" && !customElements.get(COPILOTKIT_THREADS_DRAWER_TAG)) customElements.define(COPILOTKIT_THREADS_DRAWER_TAG, CopilotKitThreadsDrawer);\n}\n\n//#endregion\nexport { defineCopilotKitThreadsDrawer };\n//# sourceMappingURL=define.mjs.map"],"names":["GENERATED_DRAWER_TOKEN_DEFAULTS","t","e","s","o","n$2","r","n","i","S","c","h","a","l","p","d","u","f","b","y$1","y","v","_","m","g","$","x","E","A","C","P","V","N","I","L","z","H","M","R","k","Z","j","B","D","tok","value","unsafeCSS","T","drawerStyles","css","i$1","w","COPILOTKIT_THREADS_DRAWER_TAG","MOBILE_BREAKPOINT","hasErrorMessage","rowSlotName","id","iconArchive","html","iconUnarchive","iconDelete","iconLauncher","_a","CopilotKitThreadsDrawer","LitElement","_args","event","focusable","first","last","active","changed","presentIds","revealed","thread","hasName","name","text","clipped","next","filtered","ts","raw","parsed","index","entry","type","detail","selector","out","backdrop","root","collect","node","el","slot","assigned","rootClasses","nothing","classMap","visible","repeat","isActive","justRevealed","rowClasses","nameClasses","slotName","nameSpan","defineCopilotKitThreadsDrawer"],"mappings":"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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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","x_google_ignoreList":[1,2,3,4,6,7,8,9]}