veza/apps/web/dist_verification/assets/chatStore-Cmmpwqns.js
senke 670282989b chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification
- apps/web: test updates (Vitest/setup), playbackAnalyticsService, TrackGrid, serviceErrorHandler
- veza-common: logging, metrics, traits, validation, random
- veza-stream-server: audio pipeline, codecs, cache, monitoring, routes
- apps/web/dist_verification: refresh build assets (content-hashed filenames)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 19:39:18 +01:00

1 line
1.9 KiB
JavaScript

import{s as g,g as f,A as u,H as m,I as p,J as U}from"./index-BMBS6scK.js";import{ab as y,ad as S,aA as T}from"./vendor-CjLUfV8Y.js";const v=Object.freeze(Object.defineProperty({__proto__:null,API_TIMEOUTS:u,SLOW_REQUEST_THRESHOLD:m,apiClient:f,validationAlerting:U,validationMetrics:p},Symbol.toStringTag,{value:"Module"})),w=y()(S(T(o=>({userId:null,username:null,currentConversationId:null,conversations:[],messages:{},typingUsers:{},wsToken:null,wsUrl:null,wsStatus:"disconnected",setUserId:(s,e)=>o(i=>{i.userId=s,i.username=e}),setWsToken:(s,e)=>o(i=>{i.wsToken=s,i.wsUrl=e}),setWsStatus:s=>o(e=>{e.wsStatus=s}),addConversation:s=>o(e=>{e.conversations.some(i=>i.id===s.id)||e.conversations.push(s)}),setCurrentConversation:s=>o(e=>{e.currentConversationId=s}),addMessage:s=>o(e=>{e.messages[s.conversation_id]||(e.messages[s.conversation_id]=[]),e.messages[s.conversation_id].push(s)}),loadMessages:(s,e)=>o(i=>{const r=i.messages[s]||[],c=new Set(e.map(a=>a.id)),n=[...r.filter(a=>!c.has(a.id)),...e];n.sort((a,l)=>new Date(a.created_at).getTime()-new Date(l.created_at).getTime()),i.messages[s]=n}),addReaction:(s,e,i,r)=>o(c=>{const t=c.messages[s];if(t){const n=t.find(a=>a.id===e);n&&(n.reactions||(n.reactions={}),Object.keys(n.reactions).forEach(a=>{const l=n.reactions[a];l&&(n.reactions[a]=l.filter(d=>d!==i),n.reactions[a]?.length===0&&delete n.reactions[a])}),n.reactions[r]||(n.reactions[r]=[]),n.reactions[r].includes(i)||n.reactions[r].push(i))}}),removeReaction:(s,e,i)=>o(r=>{const c=r.messages[s];if(c){const t=c.find(n=>n.id===e);t&&t.reactions&&Object.keys(t.reactions).forEach(n=>{const a=t.reactions[n];a&&(t.reactions[n]=a.filter(l=>l!==i),t.reactions[n]?.length===0&&delete t.reactions[n])})}}),setUserTyping:(s,e,i)=>o(r=>{r.typingUsers[s]||(r.typingUsers[s]=[]),i?r.typingUsers[s].includes(e)||r.typingUsers[s].push(e):r.typingUsers[s]=r.typingUsers[s].filter(c=>c!==e)})})),{name:"ChatStore",enabled:g()}));export{v as c,w as u};