@pimote/pimote 0.2.0 → 0.3.0
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.
- package/README.md +43 -16
- package/client/build/_app/immutable/assets/0.C7loWTOC.css +2 -0
- package/client/build/_app/immutable/assets/2.D9fiCd8W.css +1 -0
- package/client/build/_app/immutable/chunks/BNqgidwO.js +5 -0
- package/client/build/_app/immutable/chunks/D26i4pYm.js +1 -0
- package/client/build/_app/immutable/chunks/D_Fpgknp.js +1 -0
- package/client/build/_app/immutable/chunks/DoVhjU85.js +1 -0
- package/client/build/_app/immutable/chunks/DzqbY2XU.js +1 -0
- package/client/build/_app/immutable/entry/{app.CNzpBgAg.js → app.DO-zgzyy.js} +2 -2
- package/client/build/_app/immutable/entry/start.BZlrOH0-.js +1 -0
- package/client/build/_app/immutable/nodes/0.BEh4bPGQ.js +10 -0
- package/client/build/_app/immutable/nodes/{1.B8zmHMre.js → 1.B2l9JGRO.js} +1 -1
- package/client/build/_app/immutable/nodes/2.ph9M0S1U.js +54 -0
- package/client/build/_app/version.json +1 -1
- package/client/build/index.html +7 -7
- package/package.json +7 -3
- package/server/dist/auto-drain-on-abort.js +49 -0
- package/server/dist/config.js +21 -0
- package/server/dist/extension-ui-bridge.js +14 -1
- package/server/dist/index.js +31 -1
- package/server/dist/message-mapper.js +38 -6
- package/server/dist/server.js +2 -2
- package/server/dist/session-manager.js +64 -2
- package/server/dist/voice/fsm/actions.js +6 -0
- package/server/dist/voice/fsm/events.js +7 -0
- package/server/dist/voice/fsm/reducer.js +74 -0
- package/server/dist/voice/fsm/reducers/lifecycle.js +146 -0
- package/server/dist/voice/fsm/reducers/streaming.js +220 -0
- package/server/dist/voice/fsm/reducers/walkback.js +73 -0
- package/server/dist/voice/fsm/state.js +21 -0
- package/server/dist/voice/fsm/text-extractor.js +128 -0
- package/server/dist/voice/index.js +319 -0
- package/server/dist/voice/interpreter-prompt.js +115 -0
- package/server/dist/voice/speechmux-client.js +153 -0
- package/server/dist/voice/state-machine.js +7 -0
- package/server/dist/voice/wait-for-idle.js +67 -0
- package/server/dist/voice/walk-back.js +198 -0
- package/server/dist/voice-orchestrator-boot.js +90 -0
- package/server/dist/voice-orchestrator.js +91 -0
- package/server/dist/ws-handler.js +108 -5
- package/shared/dist/index.d.ts +1 -0
- package/shared/dist/index.js +2 -0
- package/shared/dist/protocol.d.ts +614 -0
- package/shared/dist/protocol.js +30 -0
- package/client/build/_app/immutable/assets/0.DBrr7n4n.css +0 -2
- package/client/build/_app/immutable/assets/2.DE6k3bQj.css +0 -1
- package/client/build/_app/immutable/chunks/5vSSf6qG.js +0 -5
- package/client/build/_app/immutable/chunks/CT6ckxpD.js +0 -1
- package/client/build/_app/immutable/chunks/DlJOVoUQ.js +0 -1
- package/client/build/_app/immutable/chunks/YxmLwfhj.js +0 -1
- package/client/build/_app/immutable/chunks/yWVx3W2o.js +0 -1
- package/client/build/_app/immutable/entry/start.DYkTAHh1.js +0 -1
- package/client/build/_app/immutable/nodes/0.DNlQhEb_.js +0 -10
- package/client/build/_app/immutable/nodes/2.W9yV4-x2.js +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{U as e,at as t,it as n,nt as r,ot as i,q as a,rt as o}from"./B8lQCytv.js";import{t as s}from"./D26i4pYm.js";var c=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],l=[`difference`,`intersection`,`symmetricDifference`,`union`],u=!1,d=class r extends Set{#e=new Map;#t=i(0);#n=i(0);#r=a||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}u||this.#a()}#i(e){return a===this.#r?i(e):t(e)}#a(){u=!0;var t=r.prototype,n=Set.prototype;for(let r of c)t[r]=function(...t){return e(this.#t),n[r].apply(this,t)};for(let i of l)t[i]=function(...t){return e(this.#t),new r(n[i].apply(this,t))}}has(t){var n=super.has(t),r=this.#e,i=r.get(t);if(i===void 0){if(!n)return e(this.#t),!1;i=this.#i(!0),r.set(t,i)}return e(i),n}add(e){return super.has(e)||(super.add(e),n(this.#n,super.size),o(this.#t)),this}delete(e){var t=super.delete(e),r=this.#e,i=r.get(e);return i!==void 0&&(r.delete(e),n(i,!1)),t&&(n(this.#n,super.size),o(this.#t)),t}clear(){if(super.size!==0){super.clear();var e=this.#e;for(var t of e.values())n(t,!1);e.clear(),n(this.#n,0),o(this.#t)}}keys(){return this.values()}values(){return e(this.#t),super.values()}entries(){return e(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#n)}},f=class extends Map{#e=new Map;#t=i(0);#n=i(0);#r=a||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return a===this.#r?i(e):t(e)}has(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#i(0),n.set(t,r);else return e(this.#t),!1;return e(r),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#i(0),n.set(t,r);else{e(this.#t);return}return e(r),super.get(t)}set(e,t){var r=this.#e,i=r.get(e),a=super.get(e),s=super.set(e,t),c=this.#t;if(i===void 0)i=this.#i(0),r.set(e,i),n(this.#n,super.size),o(c);else if(a!==t){o(i);var l=c.reactions===null?null:new Set(c.reactions);(l===null||!i.reactions?.every(e=>l.has(e)))&&o(c)}return s}delete(e){var t=this.#e,r=t.get(e),i=super.delete(e);return r!==void 0&&(t.delete(e),n(r,-1)),i&&(n(this.#n,super.size),o(this.#t)),i}clear(){if(super.size!==0){super.clear();var e=this.#e;n(this.#n,0);for(var t of e.values())n(t,-1);o(this.#t),e.clear()}}#a(){e(this.#t);var t=this.#e;if(this.#n.v!==t.size){for(var n of super.keys())if(!t.has(n)){var r=this.#i(0);t.set(n,r)}}for([,r]of this.#e)e(r)}keys(){return e(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return e(this.#n),super.size}},p=`pimote:clientId`,m=`pimote:activeSessions`,h=`pimote:viewedSessionId`,g=`pimote:showArchived`,_=`pimote:sessionPillSwipeHintShown`;function v(){try{return localStorage.getItem(p)}catch{return null}}function y(e){try{localStorage.setItem(p,e)}catch{}}function b(){try{let e=localStorage.getItem(m);if(e===null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.sessionId==`string`&&typeof e.folderPath==`string`):[]}catch{return[]}}function x(e){try{localStorage.setItem(m,JSON.stringify(e))}catch{}}function S(){try{return localStorage.getItem(h)}catch{return null}}function C(e){try{e===null?localStorage.removeItem(h):localStorage.setItem(h,e)}catch{}}function w(){try{return localStorage.getItem(g)===`true`}catch{return!1}}function T(e){try{localStorage.setItem(g,String(e))}catch{}}function E(){try{return localStorage.getItem(_)===`true`}catch{return!1}}function D(e){try{localStorage.setItem(_,String(e))}catch{}}var O=null,k=[],A=500;function j(e){O=e;let t=k.splice(0,k.length);for(let n of t)e(n).catch(e=>console.warn(`[voice_trace] flush failed`,e))}function M(e,t,n={}){let r={type:`client_log`,level:n.level??`info`,tag:e,message:t,clientTimestampMs:Date.now(),data:n.data},i=[`[voice_trace][${e}] ${t}`,n.data??``];switch(r.level){case`error`:console.error(...i);break;case`warn`:console.warn(...i);break;default:console.log(...i);break}O?O(r).catch(e=>console.warn(`[voice_trace] send failed`,e)):k.length<A&&k.push(r)}var N=1,P=v()??(()=>{let e=crypto.randomUUID();return y(e),e})(),F=new class{clientId=P;#e=i(`disconnected`);get status(){return e(this.#e)}set status(e){n(this.#e,e,!0)}#t=i(!1);get ready(){return e(this.#t)}set ready(e){n(this.#t,e,!0)}#n=i(`idle`);get phase(){return e(this.#n)}set phase(e){n(this.#n,e,!0)}#r=i(0);get reconnectCountdown(){return e(this.#r)}set reconnectCountdown(e){n(this.#r,e,!0)}#i=i(null);get syncProgress(){return e(this.#i)}set syncProgress(e){n(this.#i,e,!0)}#a=i(null);get syncDetail(){return e(this.#a)}set syncDetail(e){n(this.#a,e,!0)}sessionCursors=new Map;#o=i(r(new f));get subscribedSessions(){return e(this.#o)}set subscribedSessions(e){n(this.#o,e,!0)}ws=null;pending=new Map;listeners=new Set;reconnectTimer=null;countdownInterval=null;reconnectDelay=1e3;intentionalClose=!1;onReconnected=null;onSessionOwned=null;onPendingAdopt=null;pendingAdopt=null;connect(){if(this.ws&&(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN))return;this.installLifecycleListeners(),this.ready=!1,this.clearCountdownInterval(),this.phase=`connecting`,this.status=this.status===`disconnected`?`connecting`:`reconnecting`,this.syncDetail=null;let e=location.protocol===`https:`?`wss:`:`ws:`;this.ws=new WebSocket(`${e}//${location.host}/ws?clientId=${P}&version=${encodeURIComponent(s)}`),this.ws.onopen=()=>{this.status=`connected`,this.reconnectDelay=1e3;let e=this.subscribedSessions.size;e>0&&(this.phase=`syncing`,this.syncProgress={done:0,total:e},this.syncDetail=`Restoring sessions`);let t=[];for(let[n,r]of this.subscribedSessions){let i=this.sessionCursors.get(n),a=this.send({type:`open_session`,folderPath:r,sessionId:n,...i===void 0?{}:{lastCursor:i}}).then(t=>{if(!t.success){t.error===`session_owned`?this.onSessionOwned?.(n):console.warn(`[ConnectionStore] Failed to restore session ${n}: ${t.error??`unknown error`}`);return}let r=t.data;this.phase===`syncing`&&(this.syncDetail=this.labelForRestoreMode(r?.restoreMode,e))}).catch(()=>{}).finally(()=>{this.syncProgress&&={done:this.syncProgress.done+1,total:this.syncProgress.total}});t.push(a)}Promise.all(t).then(()=>{if(this.ready=!0,this.phase=`ready`,this.syncProgress=null,this.syncDetail=null,this.onReconnected?.(),this.pendingAdopt){let{sessionId:e,folderPath:t}=this.pendingAdopt;this.pendingAdopt=null,this.onPendingAdopt?.(e,t)}}),this.reregisterPushSubscription()},this.ws.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}if(`type`in t&&t.type===`version_mismatch`){console.log(`[ConnectionStore] Version mismatch — reloading (server=${t.serverVersion}, client=${s})`),location.reload();return}if(`id`in t&&`success`in t){let e=t,n=this.pending.get(e.id);n&&(this.pending.delete(e.id),n.resolve(e));return}let n=t;if(n.type===`buffered_events`&&`events`in n&&`sessionId`in n){let e=n,t=this.sessionCursors.get(e.sessionId)??0;for(let n of e.events)typeof n.cursor==`number`&&n.cursor>t&&(t=n.cursor);this.sessionCursors.set(e.sessionId,t)}else `cursor`in n&&typeof n.cursor==`number`&&`sessionId`in n&&typeof n.sessionId==`string`&&this.sessionCursors.set(n.sessionId,n.cursor);for(let e of this.listeners)try{e(n)}catch(e){console.error(`[ConnectionStore] Event listener error:`,e)}},this.ws.onclose=()=>{this.ws=null,this.ready=!1;for(let[,e]of this.pending)e.reject(Error(`WebSocket closed`));this.pending.clear(),this.intentionalClose?(this.status=`disconnected`,this.phase=`idle`,this.syncDetail=null,this.intentionalClose=!1):(this.status=`reconnecting`,this.scheduleReconnect())},this.ws.onerror=()=>{}}disconnect(){this.intentionalClose=!0,this.clearCountdownInterval(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.ws?.close()}reconnectNow(){this.phase===`backoff`&&(this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.clearCountdownInterval(),this.reconnectCountdown=0,this.reconnectDelay=1e3,this.connect())}lifecycleListenersInstalled=!1;installLifecycleListeners(){if(this.lifecycleListenersInstalled||typeof window>`u`||typeof document>`u`)return;this.lifecycleListenersInstalled=!0;let e=()=>this.reconnectNow();document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&e()}),window.addEventListener(`focus`,e),window.addEventListener(`online`,e),window.addEventListener(`pageshow`,e)}addSubscribedSession(e,t){this.subscribedSessions.set(e,t)}removeSubscribedSession(e){this.subscribedSessions.delete(e),this.sessionCursors.delete(e)}send(e){let t=e.id??`cmd-${N++}`,n={...e,id:t};return new Promise((e,r)=>{if(!this.ws||this.ws.readyState!==WebSocket.OPEN){r(Error(`WebSocket not connected`));return}this.pending.set(t,{resolve:e,reject:r}),this.ws.send(JSON.stringify(n))})}onEvent(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}async reregisterPushSubscription(){try{if(!(`serviceWorker`in navigator)||!(`PushManager`in window)||Notification.permission!==`granted`)return;let e=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!e)return;let t=e.toJSON();if(!t.endpoint||!t.keys?.p256dh||!t.keys?.auth)return;await this.send({type:`register_push`,subscription:{endpoint:t.endpoint,keys:{p256dh:t.keys.p256dh,auth:t.keys.auth}}})}catch{}}clearCountdownInterval(){this.countdownInterval&&=(clearInterval(this.countdownInterval),null)}scheduleReconnect(){this.reconnectTimer||=(this.phase=`backoff`,this.syncDetail=null,this.reconnectCountdown=Math.ceil(this.reconnectDelay/1e3),this.clearCountdownInterval(),this.countdownInterval=setInterval(()=>{this.reconnectCountdown=Math.max(0,this.reconnectCountdown-1)},1e3),setTimeout(async()=>{this.reconnectTimer=null,this.reconnectDelay=Math.min(this.reconnectDelay*2,3e4);try{let e=await fetch(location.href,{method:`HEAD`,redirect:`manual`});if(e.type===`opaqueredirect`||e.status===401||e.status===403){location.reload();return}}catch{}this.connect()},this.reconnectDelay))}get phaseLabel(){return this.phase===`ready`?`Connected`:this.phase===`syncing`?this.syncProgress?`Syncing ${this.syncProgress.done}/${this.syncProgress.total}…`:`Syncing…`:this.phase===`connecting`?this.status===`reconnecting`?`Reconnecting…`:`Connecting…`:this.phase===`backoff`?`Reconnecting in ${this.reconnectCountdown}s`:`Disconnected`}labelForRestoreMode(e,t){if(t>1)switch(e){case`incremental_replay`:return`Replaying sessions from offset`;case`full_resync_cursor_stale`:return`Full resync (offset too old)`;case`disk_full_resync`:return`Reopening sessions from disk`;default:return`Full resync`}switch(e){case`incremental_replay`:return`Replaying from offset`;case`full_resync_cursor_stale`:return`Full resync (offset too old)`;case`disk_full_resync`:return`Reopening from disk`;default:return`Full resync`}}};j(e=>F.send(e));function I(){let e=new f;return{getCommands(t){return e.get(t)??[]},setCommands(t,n){e.set(t,n)},removeSession(t){e.delete(t)},clear(){e.clear()}}}var L=I(),R=new class{#e=i(r([]));get cards(){return e(this.#e)}set cards(e){n(this.#e,e,!0)}get hasCards(){return this.cards.length>0}handlePanelUpdate(e){this.cards=e}reset(){this.cards=[]}},z=class{#e=i(r({}));get sessions(){return e(this.#e)}set sessions(e){n(this.#e,e,!0)}#t=i(null);get viewedSessionId(){return e(this.#t)}set viewedSessionId(e){n(this.#t,e,!0)}#n=i(null);get pendingNewSession(){return e(this.#n)}set pendingNewSession(e){n(this.#n,e,!0)}_nextMessageKey=0;generateMessageKeys(e){return Array.from({length:e},()=>`msg-`+ this._nextMessageKey++)}get viewed(){return this.sessions[this.viewedSessionId]??null}get activeSessions(){return Object.values(this.sessions)}createSessionState(e,t,n){return{sessionId:e,folderPath:t,projectName:n,firstMessage:void 0,messages:[],isStreaming:!1,isCompacting:!1,model:null,thinkingLevel:`off`,availableThinkingLevels:[],streamingMessage:null,streamingKey:null,messageKeys:[],toolExecutions:{},autoCompactionEnabled:!1,messageCount:0,status:`idle`,needsAttention:!1,conflictingProcesses:[],conflictingRemoteSessions:[],pendingTakeover:!1,sessionName:null,extensionTitle:null,restoreMode:null,isRestoring:!1,panelCards:[],widgetCards:{},gitBranch:null,contextUsage:null,draftText:``,pendingSteeringMessages:[],lastBotActivityTimestamp:null,optimisticMessageKey:null}}firstUserMessage(e){for(let t of e){if(t.role!==`user`)continue;let e=t.content.find(e=>e.type===`text`);if(e?.text)return e.text}}persistSessions(){x(Object.values(this.sessions).filter(e=>!e.sessionId.startsWith(`pending-`)).map(e=>({sessionId:e.sessionId,folderPath:e.folderPath})))}persistViewedSession(){this.viewedSessionId?.startsWith(`pending-`)||C(this.viewedSessionId)}addOptimisticUserMessage(e,t){let n=this.sessions[e];if(!n)return;let r=[];t&&r.push({type:`text`,text:t});let i={role:`user`,content:r},a=`msg-`+ this._nextMessageKey++;n.messages=[...n.messages,i],n.messageKeys=[...n.messageKeys,a],n.optimisticMessageKey=a}handleEvent(e){let t=`sessionId`in e?e.sessionId:void 0;if(e.type===`buffered_events`){let t=e;for(let e of t.events)this.handleEvent(e);return}if(!t)return;let n=this.sessions[t];if(n){switch(e.type){case`agent_start`:n.status=`working`,n.isStreaming=!0;break;case`agent_end`:{let r=e;if(n.status=`idle`,n.isStreaming=!1,n.streamingMessage=null,n.streamingKey=null,t!==this.viewedSessionId&&(n.needsAttention=!0),r.messageEntryIds){let e=r.messageEntryIds,t=0;for(let r=0;r<n.messages.length&&t<e.length;r++){let i=n.messages[r];i.role===`assistant`&&i.aborted===!0&&i.content.every(e=>e.type===`text`&&!e.text)||(i.entryId||=e[t],t++)}}F.send({type:`get_session_meta`,sessionId:t}).then(e=>{e.success&&e.data&&this.updateMeta(t,e.data.meta)}).catch(()=>{});break}case`message_start`:{let t=e;if(t.role===`user`&&n.optimisticMessageKey)break;n.streamingKey=`msg-`+ this._nextMessageKey++,n.streamingMessage={role:t.role,content:[]};break}case`message_update`:{let t=e;if(!n.streamingMessage)break;if(t.subtype===`start`){let e={type:t.content.type,text:``,streaming:!0};t.content.type===`tool_call`&&(e.toolCallId=t.toolCallId,e.toolName=t.toolName),n.streamingMessage.content[t.contentIndex]=e}else if(t.subtype===`delta`){let e=n.streamingMessage.content[t.contentIndex];e&&(e.text=(e.text??``)+t.content.text)}else if(t.subtype===`end`){let e=n.streamingMessage.content[t.contentIndex];e&&(e.streaming=!1)}break}case`message_end`:{let r=e,i=r.message;if(i.role===`user`&&n.optimisticMessageKey){let e=n.messageKeys.indexOf(n.optimisticMessageKey);if(e!==-1){let t=[...n.messages];t[e]=i,n.messages=t}n.optimisticMessageKey=null,n.streamingMessage=null,n.streamingKey=null}else{n.messages=[...n.messages,i];let e=n.streamingKey??`msg-`+ this._nextMessageKey++;n.streamingKey||console.error(`[session-desync] message_end without streamingKey`,{sessionId:t,cursor:r.cursor,role:i.role,messagesLen:n.messages.length,keysLen:n.messageKeys.length}),n.messageKeys=[...n.messageKeys,e],n.streamingMessage=null,n.streamingKey=null}if(n.messageCount++,i.role===`user`&&n.firstMessage===void 0){let e=i.content.find(e=>e.type===`text`);e&&e.text&&(n.firstMessage=e.text)}if(i.role===`user`&&n.pendingSteeringMessages.length>0){let e=i.content.find(e=>e.type===`text`);if(e?.text){let t=n.pendingSteeringMessages.indexOf(e.text);t!==-1&&n.pendingSteeringMessages.splice(t,1)}}i.role===`toolResult`&&this.applyToolResults(n,i);break}case`tool_execution_start`:{let t=e;n.toolExecutions[t.toolCallId]={name:t.toolName,args:t.args,partialResult:``,status:`running`};break}case`tool_execution_update`:{let t=e,r=n.toolExecutions[t.toolCallId];r&&(r.partialResult+=t.content);break}case`tool_execution_end`:{let t=e,r=n.toolExecutions[t.toolCallId];r&&(r.status=`completed`,r.result=t.result,r.isError=t.isError);break}case`auto_compaction_start`:n.isCompacting=!0;break;case`auto_compaction_end`:n.isCompacting=!1,F.send({type:`get_session_meta`,sessionId:t}).then(e=>{e.success&&e.data&&this.updateMeta(t,e.data.meta)}).catch(()=>{});break;case`full_resync`:{let r=e,i=r.state,a=r.messages,o=this.createSessionState(n.sessionId,n.folderPath,n.projectName);o.draftText=n.draftText,o.extensionTitle=n.extensionTitle,o.restoreMode=n.restoreMode,o.isRestoring=n.isRestoring,o.widgetCards=n.widgetCards,o.model=i.model,o.thinkingLevel=i.thinkingLevel,o.availableThinkingLevels=i.availableThinkingLevels??[],o.isStreaming=i.isStreaming,o.isCompacting=i.isCompacting,o.autoCompactionEnabled=i.autoCompactionEnabled,o.messageCount=i.messageCount,o.sessionName=i.sessionName??null,o.messages=a,o.firstMessage=this.firstUserMessage(a),o.status=i.isStreaming?`working`:`idle`,o.messageKeys=this.generateMessageKeys(a.length),this.rebuildToolExecutions(o),this.sessions[t]=o;break}case`session_restore`:{let t=e;n.restoreMode=t.status===`started`?t.mode:null,n.isRestoring=t.status===`started`;break}case`session_conflict`:{let t=e;n.conflictingProcesses=t.processes,n.conflictingRemoteSessions=t.remoteSessions??[];break}case`session_state_changed`:{let t=e;if(t.gitBranch!==void 0)for(let e of Object.values(this.sessions))e.folderPath===t.folderPath&&(e.gitBranch=t.gitBranch);break}case`session_renamed`:n.sessionName=e.name;break;case`panel_update`:n.panelCards=e.cards,t===this.viewedSessionId&&this.syncViewedPanelStore();break}`timestamp`in e&&typeof e.timestamp==`string`&&(n.lastBotActivityTimestamp=e.timestamp)}}combinedPanelCards(e){return e?[...e.panelCards,...Object.values(e.widgetCards)]:[]}syncViewedPanelStore(){R.handlePanelUpdate(this.combinedPanelCards(this.viewed))}addSession(e,t,n){this.sessions[e]=this.createSessionState(e,t,n),this.persistSessions()}removeSession(e){let t=this.viewedSessionId===e,{[e]:n,...r}=this.sessions;if(this.sessions=r,t){let e=Object.keys(this.sessions);this.viewedSessionId=e.length>0?e[0]:null,this.syncViewedPanelStore()}this.persistSessions(),this.persistViewedSession()}replaceSession(e,t,n,r){let i=this.sessions[e];if(!i)return;let{[e]:a,...o}=this.sessions,s=this.createSessionState(t,n,r);s.model=i.model,s.thinkingLevel=i.thinkingLevel,s.availableThinkingLevels=i.availableThinkingLevels,s.autoCompactionEnabled=i.autoCompactionEnabled,s.gitBranch=i.gitBranch,o[t]=s,this.sessions=o,this.viewedSessionId===e&&(this.viewedSessionId=t,this.syncViewedPanelStore()),this.persistSessions(),this.persistViewedSession()}switchTo(e){this.viewedSessionId=e;let t=this.sessions[e];t&&(t.needsAttention=!1),this.syncViewedPanelStore(),this.persistViewedSession()}isActiveSession(e){return e in this.sessions}updateMeta(e,t){let n=this.sessions[e];if(n){n.contextUsage=t.contextUsage;for(let e of Object.values(this.sessions))e.folderPath===n.folderPath&&(e.gitBranch=t.gitBranch)}}applyToolResults(e,t){for(let n of t.content)if(n.type===`tool_result`&&n.toolCallId){let t=e.toolExecutions[n.toolCallId];t?(t.status=`completed`,t.result=n.result,t.isError=n.isError):e.toolExecutions[n.toolCallId]={name:n.toolName??`unknown`,args:void 0,partialResult:``,status:`completed`,result:n.result,isError:n.isError}}}rebuildToolExecutions(e){e.toolExecutions={};for(let t of e.messages)t.role===`toolResult`&&this.applyToolResults(e,t)}clearConflict(e){let t=this.sessions[e];t&&(t.conflictingProcesses=[],t.conflictingRemoteSessions=[])}},B=new z;async function V(e){try{let[t,n,r,i]=await Promise.all([F.send({type:`get_state`,sessionId:e}),F.send({type:`get_messages`,sessionId:e}),F.send({type:`get_session_meta`,sessionId:e}),F.send({type:`get_commands`,sessionId:e})]),a=B.sessions[e];if(!a)return;if(t.success&&t.data){let e=t.data.state;a.model=e.model,a.thinkingLevel=e.thinkingLevel,a.availableThinkingLevels=e.availableThinkingLevels??[],a.isStreaming=e.isStreaming,a.isCompacting=e.isCompacting,a.autoCompactionEnabled=e.autoCompactionEnabled,a.messageCount=e.messageCount,a.sessionName=e.sessionName??null,a.status=e.isStreaming?`working`:`idle`}if(n.success&&n.data){let e=n.data.messages;a.messages=e,a.messageKeys=B.generateMessageKeys(e.length),a.messageCount=e.length,a.firstMessage=B.firstUserMessage(e),B.rebuildToolExecutions(a)}if(r.success&&r.data){let t=r.data.meta;B.updateMeta(e,t)}if(i.success&&i.data){let t=i.data.commands;L.setCommands(e,t)}}catch(e){console.error(`[SessionRegistry] Failed to fetch full session data:`,e)}}async function H(e){try{let[t,n]=await Promise.all([F.send({type:`get_session_meta`,sessionId:e}),F.send({type:`get_commands`,sessionId:e})]);if(t.success&&t.data&&B.updateMeta(e,t.data.meta),n.success&&n.data){let t=n.data.commands;L.setCommands(e,t)}}catch(e){console.error(`[SessionRegistry] Failed to refresh session meta/commands:`,e)}}async function U(e,t,n){let r=t.split(`/`).pop()||`Unknown`,i=n?.switchTo!==!1;B.sessions[e]||B.addSession(e,t,r),F.addSubscribedSession(e,t),i&&B.switchTo(e);try{let r=await F.send({type:`open_session`,folderPath:t,sessionId:e,...n?.force?{force:!0}:{}});if(!r.success){if(r.error===`session_owned`){let t=B.sessions[e];return t&&(t.pendingTakeover=!0),!1}return B.removeSession(e),F.removeSubscribedSession(e),L.removeSession(e),!1}return await H(e),i&&F.send({type:`view_session`,sessionId:e}).catch(()=>{}),!0}catch(t){return console.error(`[SessionRegistry] Failed to open existing session:`,t),B.removeSession(e),F.removeSubscribedSession(e),L.removeSession(e),!1}}F.onEvent(e=>{switch(e.type){case`session_opened`:{let t=e.folder,n=t?.name??`Unknown`,r=B.pendingNewSession;r&&B.sessions[r]?(B.pendingNewSession=null,B.replaceSession(r,e.sessionId,t?.path??``,n)):(B.addSession(e.sessionId,t?.path??``,n),B.switchTo(e.sessionId)),F.addSubscribedSession(e.sessionId,t?.path??``),V(e.sessionId);break}case`session_closed`:B.removeSession(e.sessionId),F.removeSubscribedSession(e.sessionId),L.removeSession(e.sessionId);break;case`session_replaced`:{let t=e,n=t.folder,r=n?.name??`Unknown`;B.replaceSession(t.oldSessionId,t.newSessionId,n?.path??``,r),F.removeSubscribedSession(t.oldSessionId),F.addSubscribedSession(t.newSessionId,n?.path??``),L.removeSession(t.oldSessionId),V(t.newSessionId);break}default:`sessionId`in e&&B.handleEvent(e);break}}),F.onSessionOwned=e=>{let t=B.sessions[e];t&&(t.pendingTakeover=!0)},F.onPendingAdopt=(e,t)=>{U(e,t,{force:!0,switchTo:!0})},F.onReconnected=()=>{for(let e of B.activeSessions)e.sessionId.startsWith(`pending-`)||H(e.sessionId);let e=B.viewedSessionId;e&&!e.startsWith(`pending-`)&&F.send({type:`view_session`,sessionId:e}).catch(()=>{})};var W=b(),G=S();for(let{sessionId:e,folderPath:t}of W){let n=t.split(`/`).pop()||`Unknown`;B.addSession(e,t,n),F.addSubscribedSession(e,t)}G&&B.sessions[G]&&(B.viewedSessionId=G);function K(e){let t=B.sessions[e];t&&(t.pendingTakeover=!1,U(e,t.folderPath,{force:!0,switchTo:!0}))}function q(e){B.removeSession(e),F.removeSubscribedSession(e)}function J(e){B.switchTo(e),F.send({type:`view_session`,sessionId:e}).catch(()=>{})}function Y(e){F.send({type:`close_session`,sessionId:e}).catch(()=>{})}function X(e){let t=B.sessions[e];if(!t||B.pendingNewSession)return;let n=`pending-${crypto.randomUUID()}`;B.addSession(n,t.folderPath,t.projectName),B.switchTo(n),B.pendingNewSession=n,F.send({type:`open_session`,folderPath:t.folderPath}).then(e=>{e.success||(B.pendingNewSession===n&&(B.pendingNewSession=null),B.removeSession(n))}).catch(()=>{B.pendingNewSession===n&&(B.pendingNewSession=null),B.removeSession(n)})}export{f as _,X as a,J as c,F as d,M as f,T as g,D as h,q as i,R as l,w as m,Y as n,U as o,E as p,K as r,B as s,z as t,L as u,d as v};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,o as t,s as n}from"./D_Fpgknp.js";export{t as openExistingSession,n as sessionRegistry,e as switchToSession};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,U as t,W as n,it as r,lt as i,ot as a,r as o,t as s}from"./B8lQCytv.js";import{t as c}from"./D26i4pYm.js";var l=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder,new TextDecoder;function g(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var te=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&_.delete(b(e)),te(e,t));var _=new Map;function v(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&_.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=g(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function y(e,t,n){if(_.size>0){let t=b(e,n),r=_.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);_.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${h(...e)}"]`}return n}var ne=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function re(e){let t=[];return{pattern:e===`/`?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ne.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function ce({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=re(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function le(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ue(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_1jt912z?.base??``,de=globalThis.__sveltekit_1jt912z?.assets??x??``,fe=`sveltekit:snapshot`,pe=`sveltekit:scroll`,me=`sveltekit:states`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},he=location.origin;function ge(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function T(){return{x:pageXOffset,y:pageYOffset}}function E(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var _e={...w,"":w.hover};function ve(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function ye(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ve(e)}}function be(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||we(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===he&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function D(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=E(s,`preload-code`)),i===null&&(i=E(s,`preload-data`)),t===null&&(t=E(s,`keepfocus`)),n===null&&(n=E(s,`noscroll`)),a===null&&(a=E(s,`reload`)),o===null&&(o=E(s,`replacestate`)),s=ve(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:_e[r??`off`],preload_data:_e[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function xe(e){let t=i(e),n=!0;function r(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:a,subscribe:o}}var Se={v:()=>{}};function Ce(){let{set:e,subscribe:t}=i(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${de}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==c;return n&&(e(!0),Se.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function we(e,t,n){return e.origin!==he||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Te(e){}var Ee=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Ee,`entries`]);var De=new Set([...Ee]);new Set([...De,`actions`,`entries`]);function Oe(e){return e.filter(e=>e!=null)}function ke(e){return e instanceof l||e instanceof d?e.status:500}function Ae(e){return e instanceof d?e.text:`Internal Error`}var O,k,A,je=o.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(o.toString()),Me=`a:`;je?(O={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Me)},k={current:null},A={current:!1}):(O=new class{#e=a({});get data(){return t(this.#e)}set data(e){r(this.#e,e)}#t=a(null);get form(){return t(this.#t)}set form(e){r(this.#t,e)}#n=a(null);get error(){return t(this.#n)}set error(e){r(this.#n,e)}#r=a({});get params(){return t(this.#r)}set params(e){r(this.#r,e)}#i=a({id:null});get route(){return t(this.#i)}set route(e){r(this.#i,e)}#a=a({});get state(){return t(this.#a)}set state(e){r(this.#a,e)}#o=a(-1);get status(){return t(this.#o)}set status(e){r(this.#o,e)}#s=a(new URL(Me));get url(){return t(this.#s)}set url(e){r(this.#s,e)}},k=new class{#e=a(null);get current(){return t(this.#e)}set current(e){r(this.#e,e)}},A=new class{#e=a(!1);get current(){return t(this.#e)}set current(e){r(this.#e,e)}},Se.v=()=>A.current=!0);function Ne(e){Object.assign(O,e)}var{onMount:Pe,tick:Fe}=s,Ie=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),j=null,M=le(`sveltekit:scroll`)??{},N=le(`sveltekit:snapshot`)??{},P={url:xe({}),page:xe({}),navigating:i(null),updated:Ce()};function Le(e){M[e]=T()}function Re(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;N[n];)delete N[n],n+=1}function F(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function ze(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(x||`/`);e&&await e.update()}}function Be(){}var Ve,He,I,L,Ue,R,z=[],B=[],V=null;function H(){V?.fork?.then(e=>e?.discard()),V=null}var U=new Map,We=new Set,Ge=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},Ke=!1,K=!1,qe=!0,q=!1,J=!1,Je=!1,Ye=!1,Xe,Y,X,Z,Ze=new Set,Qe=new Map;async function $e(e,t,n){globalThis.__sveltekit_1jt912z&&(globalThis.__sveltekit_1jt912z.query,globalThis.__sveltekit_1jt912z.prerender),document.URL!==location.href&&(location.href=location.href),R=e,await e.hooks.init?.(),Ve=ce(e),L=document.documentElement,Ue=t,He=e.nodes[0],I=e.nodes[1],He(),I(),Y=history.state?.[S],X=history.state?.[C],Y||(Y=X=Date.now(),history.replaceState({...history.state,[S]:Y,[C]:X},``));let r=M[Y];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Dt(Ue,n)):(await Q({type:`enter`,url:ge(R.hash?Nt(new URL(location.href)):location.href),replace_state:!0}),i()),Et()}function et(){z.length=0,Ye=!1}function tt(e){B.some(e=>e?.snapshot)&&(N[e]=B.map(e=>e?.snapshot?.capture()))}function nt(e){N[e]?.forEach((e,t)=>{B[t]?.snapshot?.restore(e)})}function rt(){Le(Y),ue(pe,M),tt(X),ue(fe,N)}async function it(t,n,r,i){let a;n.invalidateAll&&H(),await Q({type:`goto`,url:ge(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{n.invalidateAll&&(Ye=!0,a=[],Qe.forEach((e,t)=>{for(let n of e.keys())a.push(t+`/`+n)})),n.invalidate&&n.invalidate.forEach(Tt)}}),n.invalidateAll&&e().then(e).then(()=>{Qe.forEach((e,t)=>{e.forEach(({resource:e},n)=>{a?.includes(t+`/`+n)&&e.refresh?.()})})})}async function at(e){if(e.id!==V?.id){H();let t={};Ze.add(t),V={id:e.id,token:t,promise:ht({...e,preload:t}).then(e=>(Ze.delete(t),e.type===`loaded`&&e.state.error&&H(),e)),fork:null}}return V.promise}async function ot(e){let t=(await yt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function st(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};G={...e.state,nav:r};let i=document.querySelector(`style[data-sveltekit]`);if(i&&i.remove(),Object.assign(O,e.props.page),Xe=new R.root({target:t,props:{...e.props,stores:P,components:B},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),nt(X),n){let e={from:null,to:{...r,scroll:M[Y]??T()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}K=!0}async function ct({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(x&&(e.pathname===x||e.pathname===x+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Oe(n).map(e=>e.node.component),page:Mt(O)}};s!==void 0&&(l.props.form=s);let u={},d=!O,p=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==O.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:O.data}),l}async function lt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function ut(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:K?y(r,i.href,t):v(r,t)}}function dt(e,t,n,r,i,a){if(Ye)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(z.some(t=>t(new URL(e))))return!0;return!1}function ft(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function pt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function mt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Mt(O),constructors:[]}}}async function ht({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(V?.id===e)return Ze.delete(V.token),V.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(()=>{})),d.forEach(e=>e?.[1]().catch(()=>{}));let f=G.url?e!==xt(G.url):!1,p=G.route?i.id!==G.route.id:!1,ee=pt(G.url,n),m=!1,h=d.map(async(e,t)=>{if(!e)return;let a=G.branch[t];return e[1]===a?.loader&&!dt(m,p,f,ee,a.universal?.uses,r)?a:(m=!0,lt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await h[n])?.data);return e},server_data_node:ft(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of h)e.catch(()=>{});let g=[];for(let e=0;e<d.length;e+=1)if(d[e])try{g.push(await h[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(Ze.has(a))return mt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=ke(t),c;if((void 0)?.includes(t))s=t.status??s,c=t.error;else if(t instanceof l)c=t.body;else{if(await P.updated.check())return await ze(),await F(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await gt(e,g,o);return d?ct({url:n,params:r,branch:g.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await Ct(n,{id:i.id},c,s)}else g.push(void 0);return ct({url:n,params:r,branch:g,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function gt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function _t({status:e,error:t,url:n,route:r}){let i={};try{return ct({url:n,params:i,branch:[await lt({loader:He,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:ft(null)}),{node:await I(),loader:I,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof u)return it(new URL(e.location,location.href),{},0);throw e}}async function vt(e){let t=e.href;if(U.has(t))return U.get(t);let n;try{let r=(async()=>{let t=await R.hooks.reroute({url:new URL(e),fetch:async(t,n)=>ut(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);R.hash?n.hash=t:n.pathname=t,t=n}return t})();U.set(t,r),n=await r}catch{U.delete(t);return}return n}async function yt(e,t){if(e&&!we(e,x,R.hash)){let n=await vt(e);if(!n)return;let r=bt(n);for(let n of Ve){let i=n.exec(r);if(i)return{id:xt(e),invalidating:t,route:n,params:ee(i),url:e}}}}function bt(e){return p(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function xt(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function St({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=jt(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return q||We.forEach(e=>e(c)),o?null:s}async function Q({type:t,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=Be,block:p=Be,event:ee}){let m=Z;Z=u;let h=await yt(r,!1),g=t===`enter`?jt(G,h,r,t):St({url:r,type:t,delta:i?.delta,intent:h,scroll:i?.scroll,event:ee});if(!g){p(),Z===u&&(Z=m);return}let te=Y,_=X;f(),q=!0,K&&g.navigation.type!==`enter`&&P.navigating.set(k.current=g.navigation);let v=h&&await ht(h);if(!v){if(we(r,x,R.hash))return await F(r,s);v=await Ct(r,{id:null},await $(new d(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=h?.url||r,Z!==u)return g.reject(Error(`navigation aborted`)),!1;if(v.type===`redirect`){if(l<20){await Q({type:t,url:new URL(v.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),g.fulfil(void 0);return}v=await _t({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}})}else v.props.page.status>=400&&await P.updated.check()&&(await ze(),await F(r,s));if(et(),Le(te),tt(_),v.props.page.url.pathname!==r.pathname&&(r.pathname=v.props.page.url.pathname),c=i?i.state:c,!i){let e=s?0:1,t={[S]:Y+=e,[C]:X+=e,[me]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||Re(Y,X)}let y=h&&V?.id===h.id?V.fork:null;V?.fork&&!y&&H(),V=null,v.props.page.state=c;let b;if(K){let e=(await Promise.all(Array.from(Ge,e=>e(g.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let t=g.navigation.to;G={...v.state,nav:{params:t.params,route:t.route,url:t.url}},v.props.page&&(v.props.page.url=r);let i=y&&await y;i?b=i.commit():(j=null,Xe.$set(v.props),j&&Object.assign(v.props.page,j),Ne(v.props.page),b=n?.()),Je=!0}else await st(v,Ue,!1);let{activeElement:ne}=document;await b,await e(),await e();let re=null;if(qe){let e=i?i.scroll:o?T():null;e?scrollTo(e.x,e.y):(re=r.hash&&document.getElementById(Pt(r)))?re.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==ne&&document.activeElement!==document.body;!a&&!ie&&At(r,!re),qe=!0,v.props.page&&(j&&Object.assign(v.props.page,j),Object.assign(O,v.props.page)),q=!1,t===`popstate`&&nt(X),g.fulfil(void 0),g.navigation.to&&(g.navigation.to.scroll=T()),W.forEach(e=>e(g.navigation)),P.navigating.set(k.current=null)}async function Ct(e,t,n,r,i){return e.origin===he&&e.pathname===location.pathname&&!Ke?await _t({status:r,error:n,url:e,route:t}):await F(e,i)}function wt(){let e,t={element:void 0,href:void 0},n;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,w.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],w.tap)}L.addEventListener(`mousedown`,r),L.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(ot(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=ye(e,L),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=be(i,x,R.hash);if(s||c)return;let l=D(i),u=o&&xt(G.url)===xt(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=w.tap;let e=await yt(o,!1);if(!e)return;at(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,ot(o))}function o(){i.disconnect();for(let e of L.querySelectorAll(`a`)){let{url:t,external:n,download:r}=be(e,x,R.hash);if(n||r)continue;let a=D(e);a.reload||(a.preload_code===w.viewport&&i.observe(e),a.preload_code===w.eager&&ot(t))}}W.add(o),o()}function $(e,t){if(e instanceof l)return e.body;let n=ke(e),r=Ae(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Tt(e){if(typeof e==`function`)z.push(e);else{let{href:t}=new URL(e,location.href);z.push(e=>e.href===t)}}function Et(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(rt(),!q){let e=jt(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};We.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&rt()}),navigator.connection?.saveData||wt(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=ye(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=be(n,x,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=D(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){St({url:r,type:`link`,event:t})?q=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(J=!0,Le(Y),e(r),!s.replace_state)return;J=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),L.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(we(r,x,!1))return;let i=e.target,a=D(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!kt)if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(Z={},n===Y)return;let r=M[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=G.url?m(location)===m(G.url):!1;if(o===X&&(Je||s)){i!==O.state&&(O.state=i),e(a),M[Y]=T(),r&&scrollTo(r.x,r.y),Y=n;return}let c=n-Y;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{Y=n,X=o},block:()=>{history.go(-c)},nav_token:Z,event:t})}else J||(e(new URL(location.href)),R.hash&&location.reload())}),addEventListener(`hashchange`,()=>{J&&(J=!1,history.replaceState({...history.state,[S]:++Y,[C]:X},``,location.href))});for(let e of document.querySelectorAll(`link`))Ie.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&P.navigating.set(k.current=null)});function e(e){G.url=O.url=e,P.page.set(Mt(O)),P.page.notify()}}async function Dt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){Ke=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await yt(l,!1)||{}),d=Ve.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Ot(r.uses)),lt({loader:R.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:ft(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await ct({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u){await F(new URL(t.location,location.href));return}f=await _t({status:ke(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await st(f,e,p)}function Ot(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var kt=!1;function At(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Pt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=T();setTimeout(()=>{let a=history.state;kt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),kt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function jt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:T()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Mt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Nt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Pt(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{A as a,O as i,P as n,Te as o,k as r,$e as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.
|
|
2
|
-
import{$ as e,A as t,C as n,G as r,L as i,M as a,N as o,O as s,P as c,U as l,X as u,Y as d,Z as f,a as p,c as m,et as h,i as g,it as _,mt as v,ot as y,pt as b,r as x,st as S,tt as C,yt as w}from"../chunks/B8lQCytv.js";import{t as T}from"../chunks/CHncfsjL.js";import"../chunks/D1hYfEew.js";var E={},D=c(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=c(`<!> <!>`,1);function k(c,g){v(g,!0);let T=p(g,`components`,23,()=>[]),E=p(g,`data_0`,3,null),k=p(g,`data_1`,3,null);f(()=>g.stores.page.set(g.page)),u(()=>{g.stores,g.page,g.constructors,T(),g.form,E(),k(),g.stores.page.notify()});let A=y(!1),j=y(!1),M=y(null);x(()=>{let e=g.stores.page.subscribe(()=>{l(A)&&(_(j,!0),r().then(()=>{_(M,document.title||`untitled page`,!0)}))});return _(A,!0),e});let N=S(()=>g.constructors[1]);var P=O(),F=h(P),I=e=>{let t=S(()=>g.constructors[0]);var r=o();n(h(r),()=>l(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return g.form},get params(){return g.page.params},children:(e,t)=>{var r=o();n(h(r),()=>l(N),(e,t)=>{m(t(e,{get data(){return k()},get form(){return g.form},get params(){return g.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),a(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),a(e,r)},L=e=>{let t=S(()=>g.constructors[0]);var r=o();n(h(r),()=>l(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return g.form},get params(){return g.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),a(e,r)};s(F,e=>{g.constructors[1]?e(I):e(L,-1)});var R=C(F,2),z=n=>{var r=D(),o=e(r),c=e=>{var n=i();d(()=>t(n,l(M))),a(e,n)};s(o,e=>{l(j)&&e(c)}),w(r),a(n,r)};s(R,e=>{l(A)&&e(z)}),a(c,P),b()}var A=g(k),j=[()=>T(()=>import(`../nodes/0.
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.BEh4bPGQ.js","../chunks/5FogVG_p.js","../chunks/CHncfsjL.js","../chunks/BNqgidwO.js","../chunks/D_Fpgknp.js","../chunks/D26i4pYm.js","../chunks/B8lQCytv.js","../chunks/D1hYfEew.js","../assets/0.C7loWTOC.css","../nodes/1.B2l9JGRO.js","../chunks/DzqbY2XU.js","../nodes/2.ph9M0S1U.js","../chunks/BgJ-X-tf.js","../assets/2.D9fiCd8W.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as e,A as t,C as n,G as r,L as i,M as a,N as o,O as s,P as c,U as l,X as u,Y as d,Z as f,a as p,c as m,et as h,i as g,it as _,mt as v,ot as y,pt as b,r as x,st as S,tt as C,yt as w}from"../chunks/B8lQCytv.js";import{t as T}from"../chunks/CHncfsjL.js";import"../chunks/D1hYfEew.js";var E={},D=c(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),O=c(`<!> <!>`,1);function k(c,g){v(g,!0);let T=p(g,`components`,23,()=>[]),E=p(g,`data_0`,3,null),k=p(g,`data_1`,3,null);f(()=>g.stores.page.set(g.page)),u(()=>{g.stores,g.page,g.constructors,T(),g.form,E(),k(),g.stores.page.notify()});let A=y(!1),j=y(!1),M=y(null);x(()=>{let e=g.stores.page.subscribe(()=>{l(A)&&(_(j,!0),r().then(()=>{_(M,document.title||`untitled page`,!0)}))});return _(A,!0),e});let N=S(()=>g.constructors[1]);var P=O(),F=h(P),I=e=>{let t=S(()=>g.constructors[0]);var r=o();n(h(r),()=>l(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return g.form},get params(){return g.page.params},children:(e,t)=>{var r=o();n(h(r),()=>l(N),(e,t)=>{m(t(e,{get data(){return k()},get form(){return g.form},get params(){return g.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),a(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),a(e,r)},L=e=>{let t=S(()=>g.constructors[0]);var r=o();n(h(r),()=>l(t),(e,t)=>{m(t(e,{get data(){return E()},get form(){return g.form},get params(){return g.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),a(e,r)};s(F,e=>{g.constructors[1]?e(I):e(L,-1)});var R=C(F,2),z=n=>{var r=D(),o=e(r),c=e=>{var n=i();d(()=>t(n,l(M))),a(e,n)};s(o,e=>{l(j)&&e(c)}),w(r),a(n,r)};s(R,e=>{l(A)&&e(z)}),a(c,P),b()}var A=g(k),j=[()=>T(()=>import(`../nodes/0.BEh4bPGQ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>T(()=>import(`../nodes/1.B2l9JGRO.js`),__vite__mapDeps([9,10,5,6,1,7]),import.meta.url),()=>T(()=>import(`../nodes/2.ph9M0S1U.js`),__vite__mapDeps([11,12,1,3,4,5,6,7,13]),import.meta.url)],M=[],N={"/":[2]},P={handleError:(({error:e})=>{console.error(e)}),reroute:(()=>{}),transport:{}},F=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.decode])),I=Object.fromEntries(Object.entries(P.transport).map(([e,t])=>[e,t.encode])),L=!1,R=(e,t)=>F[e](t);export{R as decode,F as decoders,N as dictionary,I as encoders,L as hash,P as hooks,E as matchers,j as nodes,A as root,M as server_loads};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,t}from"../chunks/DzqbY2XU.js";export{e as load_css,t as start};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/uZO1iyJZ.js","../chunks/B8lQCytv.js","../chunks/5FogVG_p.js","../chunks/D1hYfEew.js","../chunks/CnTTbAN2.js","../chunks/BgJ-X-tf.js","../chunks/DoVhjU85.js","../chunks/D_Fpgknp.js","../chunks/D26i4pYm.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"../chunks/5FogVG_p.js";import{$ as t,A as n,B as r,C as i,E as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,Q as p,R as m,T as h,U as g,V as _,X as v,Y as y,Z as b,_ as x,a as S,bt as C,c as w,d as T,et as E,f as D,g as ee,h as O,it as k,mt as A,nt as j,o as M,ot as N,p as P,pt as F,r as te,s as I,st as L,tt as R,u as ne,v as re,vt as z,w as B,xt as ie,y as V,yt as H,z as U}from"../chunks/B8lQCytv.js";import{t as W}from"../chunks/CHncfsjL.js";import"../chunks/D1hYfEew.js";import{$ as G,A as K,B as ae,C as oe,D as se,E as ce,G as q,H as le,J as ue,K as de,L as J,M as Y,N as fe,O as pe,P as me,Q as he,R as ge,T as _e,V as ve,W as ye,X as be,Y as xe,Z as Se,_ as Ce,b as we,et as Te,h as Ee,i as De,j as Oe,k as ke,m as Ae,n as je,nt as Me,o as Ne,q as Pe,r as Fe,s as Ie,t as Le,tt as X,u as Z,v as Re,w as ze,y as Be,z as Ve}from"../chunks/BNqgidwO.js";import{_ as He,d as Q,l as Ue,s as $}from"../chunks/D_Fpgknp.js";var We=e({prerender:()=>!1,ssr:()=>!1}),Ge=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t,this.handler=this.handler.bind(this),v(this.handler)}handler(){let e=0,t=this.#e();if(!t)return;let n=new ResizeObserver(()=>{cancelAnimationFrame(e),e=window.requestAnimationFrame(this.#t)});return n.observe(t),()=>{window.cancelAnimationFrame(e),n.unobserve(t)}}},Ke=class{opts;present;#e;#t=N(!1);#n=!1;#r=N(void 0);#i=null;constructor(e){this.opts=e,this.present=this.opts.open,k(this.#t,e.open.current,!0),this.#e=new le({ref:this.opts.ref,afterTick:this.opts.open}),ue(()=>this.#o()),be(()=>this.present.current,e=>{if(!this.#n){this.#n=!0;return}this.#o(),e&&k(this.#t,!0),k(this.#r,e?`starting`:`ending`,!0),e&&(this.#i=window.requestAnimationFrame(()=>{this.#i=null,this.present.current&&k(this.#r,void 0)})),this.#e.run(()=>{e===this.present.current&&(e||k(this.#t,!1),k(this.#r,void 0))})})}#a=L(()=>g(this.#t));get isPresent(){return g(this.#a)}set isPresent(e){k(this.#a,e)}get transitionStatus(){return g(this.#r)}#o(){this.#i!==null&&(window.cancelAnimationFrame(this.#i),this.#i=null)}};function qe(e,t){A(t,!0);let n=new Ke({open:X(()=>t.open),ref:t.ref});var r=u(),i=E(r),a=e=>{var r=u();B(E(r),()=>t.presence??C,()=>({present:n.isPresent,transitionStatus:n.transitionStatus})),l(e,r)};d(i,e=>{(t.forceMount||t.open||n.isPresent)&&e(a)}),l(e,r),F()}function Je(e,t,n){return Math.min(n,Math.max(t,e))}var Ye=class{state;#e;constructor(e,t){this.state=Me(e),this.#e=t,this.dispatch=this.dispatch.bind(this)}#t(e){return this.#e[this.state.current][e]??this.state.current}dispatch(e){this.state.current=this.#t(e)}},Xe=ye({component:`scroll-area`,parts:[`root`,`viewport`,`corner`,`thumb`,`scrollbar`]}),Ze=new he(`ScrollArea.Root`),Qe=new he(`ScrollArea.Scrollbar`),$e=new he(`ScrollArea.ScrollbarVisible`),et=new he(`ScrollArea.ScrollbarAxis`),tt=new he(`ScrollArea.ScrollbarShared`),nt=class e{static create(t){return Ze.set(new e(t))}opts;attachment;#e=N(null);get scrollAreaNode(){return g(this.#e)}set scrollAreaNode(e){k(this.#e,e,!0)}#t=N(null);get viewportNode(){return g(this.#t)}set viewportNode(e){k(this.#t,e,!0)}#n=N(null);get contentNode(){return g(this.#n)}set contentNode(e){k(this.#n,e,!0)}#r=N(null);get scrollbarXNode(){return g(this.#r)}set scrollbarXNode(e){k(this.#r,e,!0)}#i=N(null);get scrollbarYNode(){return g(this.#i)}set scrollbarYNode(e){k(this.#i,e,!0)}#a=N(0);get cornerWidth(){return g(this.#a)}set cornerWidth(e){k(this.#a,e,!0)}#o=N(0);get cornerHeight(){return g(this.#o)}set cornerHeight(e){k(this.#o,e,!0)}#s=N(!1);get scrollbarXEnabled(){return g(this.#s)}set scrollbarXEnabled(e){k(this.#s,e,!0)}#c=N(!1);get scrollbarYEnabled(){return g(this.#c)}set scrollbarYEnabled(e){k(this.#c,e,!0)}domContext;constructor(e){this.opts=e,this.attachment=q(e.ref,e=>this.scrollAreaNode=e),this.domContext=new de(e.ref)}#l=L(()=>({id:this.opts.id.current,dir:this.opts.dir.current,style:{position:`relative`,"--bits-scroll-area-corner-height":`${this.cornerHeight}px`,"--bits-scroll-area-corner-width":`${this.cornerWidth}px`},[Xe.root]:``,...this.attachment}));get props(){return g(this.#l)}set props(e){k(this.#l,e)}},rt=class e{static create(t){return new e(t,Ze.get())}opts;root;attachment;#e=Me(ae());#t=Me(null);contentAttachment=q(this.#t,e=>this.root.contentNode=e);constructor(e,t){this.opts=e,this.root=t,this.attachment=q(e.ref,e=>this.root.viewportNode=e)}#n=L(()=>({id:this.opts.id.current,style:{overflowX:this.root.scrollbarXEnabled?`scroll`:`hidden`,overflowY:this.root.scrollbarYEnabled?`scroll`:`hidden`},[Xe.viewport]:``,...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}#r=L(()=>({id:this.#e.current,"data-scroll-area-content":``,style:{minWidth:this.root.scrollbarXEnabled?`fit-content`:void 0},...this.contentAttachment}));get contentProps(){return g(this.#r)}set contentProps(e){k(this.#r,e)}},it=class e{static create(t){return Qe.set(new e(t,Ze.get()))}opts;root;#e=L(()=>this.opts.orientation.current===`horizontal`);get isHorizontal(){return g(this.#e)}set isHorizontal(e){k(this.#e,e)}#t=N(!1);get hasThumb(){return g(this.#t)}set hasThumb(e){k(this.#t,e,!0)}constructor(e,t){this.opts=e,this.root=t,be(()=>this.isHorizontal,e=>e?(this.root.scrollbarXEnabled=!0,()=>{this.root.scrollbarXEnabled=!1}):(this.root.scrollbarYEnabled=!0,()=>{this.root.scrollbarYEnabled=!1}))}},at=class e{static create(){return new e(Qe.get())}scrollbar;root;#e=N(!1);get isVisible(){return g(this.#e)}set isVisible(e){k(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{let e=this.root.scrollAreaNode,t=this.root.opts.scrollHideDelay.current,n=0;if(!e)return;let r=Te(_(e,`pointerenter`,()=>{this.root.domContext.clearTimeout(n),s(()=>this.isVisible=!0)}),_(e,`pointerleave`,()=>{n&&this.root.domContext.clearTimeout(n),n=this.root.domContext.setTimeout(()=>{s(()=>{this.scrollbar.hasThumb=!1,this.isVisible=!1})},t)}));return()=>{this.root.domContext.getWindow().clearTimeout(n),r()}})}#t=L(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},ot=class e{static create(){return new e(Qe.get())}scrollbar;root;machine=new Ye(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});#e=L(()=>this.machine.state.current===`hidden`);get isHidden(){return g(this.#e)}set isHidden(e){k(this.#e,e)}constructor(e){this.scrollbar=e,this.root=e.root;let t=Se(()=>this.machine.dispatch(`SCROLL_END`),100);v(()=>{let e=this.machine.state.current,t=this.root.opts.scrollHideDelay.current;if(e===`idle`){let e=this.root.domContext.setTimeout(()=>this.machine.dispatch(`HIDE`),t);return()=>this.root.domContext.clearTimeout(e)}}),v(()=>{let e=this.root.viewportNode;if(!e)return;let n=this.scrollbar.isHorizontal?`scrollLeft`:`scrollTop`,r=e[n];return _(e,`scroll`,()=>{let i=e[n];r!==i&&(this.machine.dispatch(`SCROLL`),t()),r=i})}),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this)}onpointerenter(e){this.machine.dispatch(`POINTER_ENTER`)}onpointerleave(e){this.machine.dispatch(`POINTER_LEAVE`)}#t=L(()=>({"data-state":this.machine.state.current===`hidden`?`hidden`:`visible`,onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},st=class e{static create(){return new e(Qe.get())}scrollbar;root;#e=N(!1);get isVisible(){return g(this.#e)}set isVisible(e){k(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root;let t=Se(()=>{let e=this.root.viewportNode;if(!e)return;let t=e.offsetWidth<e.scrollWidth,n=e.offsetHeight<e.scrollHeight;this.isVisible=this.scrollbar.isHorizontal?t:n},10);new Ge(()=>this.root.viewportNode,t),new Ge(()=>this.root.contentNode,t)}#t=L(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},ct=class e{static create(){return $e.set(new e(Qe.get()))}scrollbar;root;#e=N(null);get thumbNode(){return g(this.#e)}set thumbNode(e){k(this.#e,e,!0)}#t=N(0);get pointerOffset(){return g(this.#t)}set pointerOffset(e){k(this.#t,e,!0)}#n=N({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}});get sizes(){return g(this.#n)}set sizes(e){k(this.#n,e)}#r=L(()=>ht(this.sizes.viewport,this.sizes.content));get thumbRatio(){return g(this.#r)}set thumbRatio(e){k(this.#r,e)}#i=L(()=>this.thumbRatio>0&&this.thumbRatio<1);get hasThumb(){return g(this.#i)}set hasThumb(e){k(this.#i,e)}#a=N(``);get prevTransformStyle(){return g(this.#a)}set prevTransformStyle(e){k(this.#a,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{this.scrollbar.hasThumb=this.hasThumb}),v(()=>{!this.scrollbar.hasThumb&&this.thumbNode&&(this.prevTransformStyle=this.thumbNode.style.transform)})}setSizes(e){this.sizes=e}getScrollPosition(e,t){return _t({pointerPos:e,pointerOffset:this.pointerOffset,sizes:this.sizes,dir:t})}onThumbPointerUp(){this.pointerOffset=0}onThumbPointerDown(e){this.pointerOffset=e}xOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollLeft,t=`translate3d(${vt({scrollPos:e,sizes:this.sizes,dir:this.root.opts.dir.current})}px, 0, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}xOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=e)}xOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=this.getScrollPosition(e,this.root.opts.dir.current))}yOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollTop,t=`translate3d(0, ${vt({scrollPos:e,sizes:this.sizes})}px, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}yOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=e)}yOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=this.getScrollPosition(e,this.root.opts.dir.current))}},lt=class e{static create(t){return et.set(new e(t,$e.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=N();get computedStyle(){return g(this.#e)}set computedStyle(e){k(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=q(this.scrollbar.opts.ref,e=>this.root.scrollbarXNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()})}onThumbPointerDown=e=>{this.scrollbarVis.onThumbPointerDown(e.x)};onDragScroll=e=>{this.scrollbarVis.xOnDragScroll(e.x)};onThumbPointerUp=()=>{this.scrollbarVis.onThumbPointerUp()};onThumbPositionChange=()=>{this.scrollbarVis.xOnThumbPositionChange()};onWheelScroll=(e,t)=>{if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollLeft+e.deltaX;this.scrollbarVis.xOnWheelScroll(n),bt(n,t)&&e.preventDefault()};onResize=()=>{this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollWidth,viewport:this.root.viewportNode.offsetWidth,scrollbar:{size:this.scrollbar.opts.ref.current.clientWidth,paddingStart:mt(this.computedStyle.paddingLeft),paddingEnd:mt(this.computedStyle.paddingRight)}})};#t=L(()=>gt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){k(this.#t,e)}#n=L(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`horizontal`,style:{bottom:0,left:this.root.opts.dir.current===`rtl`?`var(--bits-scroll-area-corner-width)`:0,right:this.root.opts.dir.current===`ltr`?`var(--bits-scroll-area-corner-width)`:0,"--bits-scroll-area-thumb-width":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}},ut=class e{static create(t){return et.set(new e(t,$e.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=N();get computedStyle(){return g(this.#e)}set computedStyle(e){k(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=q(this.scrollbar.opts.ref,e=>this.root.scrollbarYNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()}),this.onThumbPointerDown=this.onThumbPointerDown.bind(this),this.onDragScroll=this.onDragScroll.bind(this),this.onThumbPointerUp=this.onThumbPointerUp.bind(this),this.onThumbPositionChange=this.onThumbPositionChange.bind(this),this.onWheelScroll=this.onWheelScroll.bind(this),this.onResize=this.onResize.bind(this)}onThumbPointerDown(e){this.scrollbarVis.onThumbPointerDown(e.y)}onDragScroll(e){this.scrollbarVis.yOnDragScroll(e.y)}onThumbPointerUp(){this.scrollbarVis.onThumbPointerUp()}onThumbPositionChange(){this.scrollbarVis.yOnThumbPositionChange()}onWheelScroll(e,t){if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollTop+e.deltaY;this.scrollbarVis.yOnWheelScroll(n),bt(n,t)&&e.preventDefault()}onResize(){this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollHeight,viewport:this.root.viewportNode.offsetHeight,scrollbar:{size:this.scrollbar.opts.ref.current.clientHeight,paddingStart:mt(this.computedStyle.paddingTop),paddingEnd:mt(this.computedStyle.paddingBottom)}})}#t=L(()=>gt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){k(this.#t,e)}#n=L(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`vertical`,style:{top:0,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:`var(--bits-scroll-area-corner-height)`,"--bits-scroll-area-thumb-height":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}},dt=class e{static create(){return tt.set(new e(et.get()))}scrollbarState;root;scrollbarVis;scrollbar;#e=N(null);get rect(){return g(this.#e)}set rect(e){k(this.#e,e)}#t=N(``);get prevWebkitUserSelect(){return g(this.#t)}set prevWebkitUserSelect(e){k(this.#t,e,!0)}handleResize;handleThumbPositionChange;handleWheelScroll;handleThumbPointerDown;handleThumbPointerUp;#n=L(()=>this.scrollbarVis.sizes.content-this.scrollbarVis.sizes.viewport);get maxScrollPos(){return g(this.#n)}set maxScrollPos(e){k(this.#n,e)}constructor(e){this.scrollbarState=e,this.root=e.root,this.scrollbarVis=e.scrollbarVis,this.scrollbar=e.scrollbarVis.scrollbar,this.handleResize=Se(()=>this.scrollbarState.onResize(),10),this.handleThumbPositionChange=this.scrollbarState.onThumbPositionChange,this.handleWheelScroll=this.scrollbarState.onWheelScroll,this.handleThumbPointerDown=this.scrollbarState.onThumbPointerDown,this.handleThumbPointerUp=this.scrollbarState.onThumbPointerUp,v(()=>{let e=this.maxScrollPos,t=this.scrollbar.opts.ref.current;return this.root.viewportNode,_(this.root.domContext.getDocument(),`wheel`,n=>{let r=n.target;t?.contains(r)&&this.handleWheelScroll(n,e)},{passive:!1})}),b(()=>{this.scrollbarVis.sizes,s(()=>this.handleThumbPositionChange())}),new Ge(()=>this.scrollbar.opts.ref.current,this.handleResize),new Ge(()=>this.root.contentNode,this.handleResize),this.onpointerdown=this.onpointerdown.bind(this),this.onpointermove=this.onpointermove.bind(this),this.onpointerup=this.onpointerup.bind(this),this.onlostpointercapture=this.onlostpointercapture.bind(this)}handleDragScroll(e){if(!this.rect)return;let t=e.clientX-this.rect.left,n=e.clientY-this.rect.top;this.scrollbarState.onDragScroll({x:t,y:n})}#r(){this.rect!==null&&(this.root.domContext.getDocument().body.style.webkitUserSelect=this.prevWebkitUserSelect,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=``),this.rect=null)}onpointerdown(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),this.rect=this.scrollbar.opts.ref.current?.getBoundingClientRect()??null,this.prevWebkitUserSelect=this.root.domContext.getDocument().body.style.webkitUserSelect,this.root.domContext.getDocument().body.style.webkitUserSelect=`none`,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=`auto`),this.handleDragScroll(e))}onpointermove(e){this.handleDragScroll(e)}onpointerup(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),this.#r()}onlostpointercapture(e){this.#r()}#i=L(()=>G({...this.scrollbarState.props,style:{position:`absolute`,...this.scrollbarState.props.style},[Xe.scrollbar]:``,onpointerdown:this.onpointerdown,onpointermove:this.onpointermove,onpointerup:this.onpointerup,onlostpointercapture:this.onlostpointercapture}));get props(){return g(this.#i)}set props(e){k(this.#i,e)}},ft=class e{static create(t){return new e(t,tt.get())}opts;scrollbarState;attachment;#e;#t=N();#n=Se(()=>{g(this.#t)&&(g(this.#t)(),k(this.#t,void 0))},100);constructor(e,t){this.opts=e,this.scrollbarState=t,this.#e=t.root,this.attachment=q(this.opts.ref,e=>this.scrollbarState.scrollbarVis.thumbNode=e),v(()=>{let e=this.#e.viewportNode;return e?(s(()=>this.scrollbarState.handleThumbPositionChange()),_(e,`scroll`,()=>{if(this.#n(),!g(this.#t)){let t=xt(e,this.scrollbarState.handleThumbPositionChange);k(this.#t,t,!0),this.scrollbarState.handleThumbPositionChange()}})):void 0}),this.onpointerdowncapture=this.onpointerdowncapture.bind(this),this.onpointerup=this.onpointerup.bind(this)}onpointerdowncapture(e){let t=e.target;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=e.clientY-n.top;this.scrollbarState.handleThumbPointerDown({x:r,y:i})}onpointerup(e){this.scrollbarState.handleThumbPointerUp()}#r=L(()=>({id:this.opts.id.current,"data-state":this.scrollbarState.scrollbarVis.hasThumb?`visible`:`hidden`,style:{width:`var(--bits-scroll-area-thumb-width)`,height:`var(--bits-scroll-area-thumb-height)`,transform:this.scrollbarState.scrollbarVis.prevTransformStyle},onpointerdowncapture:this.onpointerdowncapture,onpointerup:this.onpointerup,[Xe.thumb]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){k(this.#r,e)}},pt=class e{static create(t){return new e(t,Ze.get())}opts;root;attachment;#e=N(0);#t=N(0);#n=L(()=>!!(g(this.#e)&&g(this.#t)));get hasSize(){return g(this.#n)}set hasSize(e){k(this.#n,e)}constructor(e,t){this.opts=e,this.root=t,this.attachment=q(this.opts.ref),new Ge(()=>this.root.scrollbarXNode,()=>{let e=this.root.scrollbarXNode?.offsetHeight||0;this.root.cornerHeight=e,k(this.#t,e,!0)}),new Ge(()=>this.root.scrollbarYNode,()=>{let e=this.root.scrollbarYNode?.offsetWidth||0;this.root.cornerWidth=e,k(this.#e,e,!0)})}#r=L(()=>({id:this.opts.id.current,style:{width:g(this.#e),height:g(this.#t),position:`absolute`,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:0},[Xe.corner]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){k(this.#r,e)}};function mt(e){return e?Number.parseInt(e,10):0}function ht(e,t){let n=e/t;return Number.isNaN(n)?0:n}function gt(e){let t=ht(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function _t({pointerPos:e,pointerOffset:t,sizes:n,dir:r=`ltr`}){let i=gt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return yt([c,l],d)(e)}function vt({scrollPos:e,sizes:t,dir:n=`ltr`}){let r=gt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=Je(e,c[0],c[1]);return yt([0,o],[0,s])(l)}function yt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function bt(e,t){return e>0&&e<t}function xt(e,t){let n={left:e.scrollLeft,top:e.scrollTop},r=0,i=Pe(e);return(function a(){let o={left:e.scrollLeft,top:e.scrollTop},s=n.left!==o.left,c=n.top!==o.top;(s||c)&&t(),n=o,r=i.requestAnimationFrame(a)})(),()=>i.cancelAnimationFrame(r)}var St=f(`<div><!></div>`);function Ct(e,n){let r=o();A(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>ve(r)),s=S(n,`type`,3,`hover`),c=S(n,`dir`,3,`ltr`),f=S(n,`scrollHideDelay`,3,600),p=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`type`,`dir`,`scrollHideDelay`,`children`,`child`]),m=nt.create({type:X(()=>s()),dir:X(()=>c()),scrollHideDelay:X(()=>f()),id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),h=L(()=>G(p,m.props));var _=u(),v=E(_),y=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(h)})),l(e,t)},b=e=>{var r=St();T(r,()=>({...g(h)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(v,e=>{n.child?e(y):e(b,-1)}),l(e,_),F()}var wt=f(`<div><div><!></div></div>`);function Tt(e,n){let r=o();A(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>ve(r)),s=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`]),c=rt.create({id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),u=L(()=>G(s,c.props)),d=L(()=>G({},c.contentProps));var f=wt();T(f,()=>({...g(u)}));var p=t(f);T(p,()=>({...g(d)})),B(t(p),()=>n.children??C),H(p),H(f),l(e,f),F()}var Et=f(`<div><!></div>`);function Dt(e,n){A(n,!0);let r=M(n,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`]),i=dt.create(),a=L(()=>G(r,i.props));var o=u(),s=E(o),c=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(a)})),l(e,t)},f=e=>{var r=Et();T(r,()=>({...g(a)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(s,e=>{n.child?e(c):e(f,-1)}),l(e,o),F()}function Ot(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=new xe,i=lt.create({mounted:X(()=>r.current)}),a=L(()=>G(n,i.props));Dt(e,I(()=>g(a))),F()}function kt(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=new xe,i=ut.create({mounted:X(()=>r.current)}),a=L(()=>G(n,i.props));Dt(e,I(()=>g(a))),F()}function At(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=ct.create();var i=u(),a=E(i),o=e=>{Ot(e,I(()=>n))},s=e=>{kt(e,I(()=>n))};d(a,e=>{r.scrollbar.opts.orientation.current===`horizontal`?e(o):e(s,-1)}),l(e,i),F()}function jt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=st.create(),a=L(()=>G(r,i.props));{let t=e=>{At(e,I(()=>g(a)))},r=L(()=>n()||i.isVisible);qe(e,{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}F()}function Mt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=ot.create(),a=L(()=>G(r,i.props));{let t=e=>{At(e,I(()=>g(a)))},r=L(()=>n()||!i.isHidden);qe(e,I(()=>g(a),{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}}))}F()}function Nt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=at.create(),a=st.create(),o=L(()=>G(r,i.props,a.props,{"data-state":i.isVisible?`visible`:`hidden`})),s=L(()=>n()||i.isVisible&&a.isVisible);qe(e,{get open(){return g(s)},get ref(){return a.scrollbar.opts.ref},presence:e=>{At(e,I(()=>g(o)))},$$slots:{presence:!0}}),F()}function Pt(e,t){let n=o();A(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>ve(n)),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`orientation`]),s=it.create({orientation:X(()=>t.orientation),id:X(()=>i()),ref:X(()=>r(),e=>r(e))}),c=L(()=>s.root.opts.type.current);var f=u(),p=E(f),m=e=>{Nt(e,I(()=>a,{get id(){return i()}}))},h=e=>{Mt(e,I(()=>a,{get id(){return i()}}))},_=e=>{jt(e,I(()=>a,{get id(){return i()}}))},v=e=>{At(e,I(()=>a,{get id(){return i()}}))};d(p,e=>{g(c)===`hover`?e(m):g(c)===`scroll`?e(h,1):g(c)===`auto`?e(_,2):g(c)===`always`&&e(v,3)}),l(e,f),F()}var Ft=f(`<div><!></div>`);function It(e,n){A(n,!0);let r=S(n,`ref`,15,null),i=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`child`,`children`,`present`]),a=new xe,o=ft.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e)),mounted:X(()=>a.current)}),s=L(()=>G(i,o.props,{style:{hidden:!n.present}}));var c=u(),f=E(c),p=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(s)})),l(e,t)},m=e=>{var r=Ft();T(r,()=>({...g(s)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(f,e=>{n.child?e(p):e(m,-1)}),l(e,c),F()}function Lt(e,t){let n=o();A(t,!0);let r=S(t,`id`,19,()=>ve(n)),i=S(t,`ref`,15,null),a=S(t,`forceMount`,3,!1),s=M(t,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`forceMount`]),c=$e.get();{let t=(e,t)=>{let n=()=>t?.().present;It(e,I(()=>s,{get id(){return r()},get present(){return n()},get ref(){return i()},set ref(e){i(e)}}))},n=L(()=>a()||c.hasThumb);qe(e,{get open(){return g(n)},get ref(){return c.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}F()}var Rt=f(`<div><!></div>`);function zt(e,n){A(n,!0);let r=S(n,`ref`,15,null),i=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`,`child`]),a=pt.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e))}),o=L(()=>G(i,a.props));var s=u(),c=E(s),f=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(o)})),l(e,t)},p=e=>{var r=Rt();T(r,()=>({...g(o)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(c,e=>{n.child?e(f):e(p,-1)}),l(e,s),F()}function Bt(e,t){let n=o();A(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>ve(n)),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`]),s=Ze.get(),c=L(()=>!!(s.scrollbarXNode&&s.scrollbarYNode)),f=L(()=>s.opts.type.current!==`scroll`&&g(c));var p=u(),m=E(p),h=e=>{zt(e,I(()=>a,{get id(){return i()},get ref(){return r()},set ref(e){r(e)}}))};d(m,e=>{g(f)&&e(h)}),l(e,p),F()}var Vt=f(`<!> <!>`,1);function Ht(e,t){A(t,!0);let n=S(t,`ref`,15,null),r=S(t,`orientation`,3,`vertical`),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`orientation`,`children`]);var o=u(),s=E(o);{let e=L(()=>Ve(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,t.class));i(s,()=>Pt,(o,s)=>{s(o,I({"data-slot":`scroll-area-scrollbar`,get"data-orientation"(){return r()},get orientation(){return r()},get class(){return g(e)}},()=>a,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var r=Vt(),a=E(r);B(a,()=>t.children??C),i(R(a,2),()=>Lt,(e,t)=>{t(e,{"data-slot":`scroll-area-thumb`,class:`bg-border relative flex-1 rounded-full`})}),l(e,r)},$$slots:{default:!0}}))})}l(e,o),F()}var Ut=f(`<!> <!> <!> <!>`,1);function Wt(e,t){A(t,!0);let n=S(t,`ref`,15,null),r=S(t,`viewportRef`,15,null),a=S(t,`orientation`,3,`vertical`),o=S(t,`scrollbarXClasses`,3,``),s=S(t,`scrollbarYClasses`,3,``),c=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`viewportRef`,`class`,`orientation`,`scrollbarXClasses`,`scrollbarYClasses`,`children`]);var f=u(),p=E(f);{let e=L(()=>Ve(`relative overflow-hidden`,t.class));i(p,()=>Ct,(f,p)=>{p(f,I({"data-slot":`scroll-area`,get class(){return g(e)}},()=>c,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var c=Ut(),f=E(c);i(f,()=>Tt,(e,n)=>{n(e,{"data-slot":`scroll-area-viewport`,class:`cn-scroll-area-viewport focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1`,get ref(){return r()},set ref(e){r(e)},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})});var p=R(f,2),m=e=>{Ht(e,{orientation:`vertical`,get class(){return s()}})};d(p,e=>{(a()===`vertical`||a()===`both`)&&e(m)});var h=R(p,2),g=e=>{Ht(e,{orientation:`horizontal`,get class(){return o()}})};d(h,e=>{(a()===`horizontal`||a()===`both`)&&e(g)}),i(R(h,2),()=>Bt,(e,t)=>{t(e,{})}),l(e,c)},$$slots:{default:!0}}))})}l(e,f),F()}function Gt(e){return!e||e.method===`input`?``:e.method===`editor`?e.prefill??``:``}var Kt=f(`<!> <!>`,1),qt=f(`<!> <!>`,1),Jt=f(`<!> <form class="flex flex-col gap-4"><!> <!></form>`,1),Yt=f(`<div class="text-muted-foreground mt-1 text-sm"> </div>`),Xt=f(`<div class="flex h-full items-center justify-center"><span class="text-muted-foreground text-sm">Loading editor…</span></div>`),Zt=f(`<form class="flex h-full min-h-0 flex-col"><header class="bg-background/95 sticky top-0 z-10 flex shrink-0 flex-col gap-2 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex flex-col items-start gap-3 sm:flex-row sm:items-start sm:justify-between"><div class="w-full min-w-0 sm:w-auto"><div class="text-base font-semibold break-words"> </div> <!></div> <!></div></header> <div class="min-h-0 flex-1 overflow-hidden"><!></div> <div class="bg-background/95 sticky bottom-0 z-10 flex shrink-0 flex-col gap-2 border-t px-4 py-3 backdrop-blur sm:flex-row sm:items-center sm:justify-end sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><!> <!></div></form>`);function Qt(e,a){A(a,!0);let o=Be(),s=N(!1),f=N(``),p=L(()=>{let e=$.viewedSessionId;return o.all.find(t=>!Re.has(t.method)&&t.sessionId===e)??null}),m=N(null),h=N(null);v(()=>{if(g(p)?.method===`editor`){let e=g(p).title,t=g(p).prefill;Promise.all([W(()=>import(`../chunks/uZO1iyJZ.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),W(()=>import(`../chunks/CnTTbAN2.js`),__vite__mapDeps([4,5,2]),import.meta.url)]).then(([n,r])=>{k(m,n,!0),k(h,r.resolveEditorLanguage(e,t),!0)})}else k(m,null),k(h,null)}),v(()=>{g(p)?(k(f,Gt(g(p)),!0),k(s,!0)):k(s,!1)});function _(e){g(p)&&o.sendResponse(g(p).requestId,g(p).sessionId,e)}function b(){_({cancelled:!0})}function x(e){!e&&g(p)&&b()}function S(){_({value:g(f)})}function C(){_({value:g(f)})}var w=u();i(E(w),()=>me,(e,a)=>{a(e,{get open(){return g(s)},onOpenChange:x,children:(e,a)=>{var o=u(),s=E(o),_=e=>{var a=u();i(E(a),()=>pe,(e,a)=>{a(e,{class:`sm:max-w-md`,children:(e,a)=>{var o=Jt(),s=E(o);i(s,()=>K,(e,t)=>{t(e,{children:(e,t)=>{var r=Kt(),a=E(r);i(a,()=>fe,(e,t)=>{t(e,{children:(e,t)=>{z();var r=c();y(()=>n(r,g(p).title??`Extension`)),l(e,r)},$$slots:{default:!0}})});var o=R(a,2),s=e=>{var t=u();i(E(t),()=>se,(e,t)=>{t(e,{children:(e,t)=>{z();var r=c();y(()=>n(r,g(p).message)),l(e,r)},$$slots:{default:!0}})}),l(e,t)};d(o,e=>{g(p).message&&e(s)}),l(e,r)},$$slots:{default:!0}})});var m=R(s,2),h=t(m);{let e=L(()=>g(p).placeholder??``);_e(h,{get placeholder(){return g(e)},autofocus:!0,get value(){return g(f)},set value(e){k(f,e,!0)}})}i(R(h,2),()=>Oe,(e,t)=>{t(e,{children:(e,t)=>{var n=qt(),r=E(n);Y(r,{variant:`outline`,type:`button`,onclick:b,children:(e,t)=>{z(),l(e,c(`Cancel`))},$$slots:{default:!0}}),Y(R(r,2),{type:`submit`,children:(e,t)=>{z(),l(e,c(`Submit`))},$$slots:{default:!0}}),l(e,n)},$$slots:{default:!0}})}),H(m),r(`submit`,m,e=>{e.preventDefault(),S()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)},v=e=>{var a=u();i(E(a),()=>pe,(e,a)=>{a(e,{showCloseButton:!1,class:`top-0 left-0 flex h-dvh w-screen max-w-none translate-x-0 translate-y-0 gap-0 rounded-none p-0 sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1280px)] sm:max-w-[min(96vw,1280px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl`,children:(e,a)=>{var o=Zt(),s=t(o),_=t(s),v=t(_),x=t(v),S=t(x,!0);H(x);var w=R(x,2),T=e=>{var r=Yt(),i=t(r,!0);H(r),y(()=>n(i,g(p).message)),l(e,r)};d(w,e=>{g(p).message&&e(T)}),H(v);var D=R(v,2),ee=e=>{Ce(e,{variant:`outline`,class:`max-w-full shrink-0 whitespace-nowrap`,children:(e,t)=>{z();var r=c();y(()=>n(r,g(h).label)),l(e,r)},$$slots:{default:!0}})};d(D,e=>{g(h)&&e(ee)}),H(_),H(s);var O=R(s,2),A=t(O),j=e=>{var t=u(),n=E(t);{let e=L(()=>g(h)?.id??null);i(n,()=>g(m).default,(t,n)=>{n(t,{get language(){return g(e)},get value(){return g(f)},set value(e){k(f,e,!0)}})})}l(e,t)},M=e=>{l(e,Xt())};d(A,e=>{g(m)?e(j):e(M,-1)}),H(O);var N=R(O,2),P=t(N);Y(P,{variant:`outline`,type:`button`,class:`w-full sm:w-auto`,onclick:b,children:(e,t)=>{z(),l(e,c(`Cancel`))},$$slots:{default:!0}}),Y(R(P,2),{type:`submit`,class:`w-full sm:w-auto`,children:(e,t)=>{z(),l(e,c(`Save`))},$$slots:{default:!0}}),H(N),H(o),y(()=>n(S,g(p).title??`Editor`)),r(`submit`,o,e=>{e.preventDefault(),C()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)};d(s,e=>{g(p)?.method===`input`?e(_):g(p)?.method===`editor`&&e(v,1)}),l(e,o)},$$slots:{default:!0}})}),l(e,w),F()}function $t(e,t){let n=t.map(e=>e.trimEnd()),r=n.find(e=>e.trim().length>0),i=r&&n.length>1?r.trim():e,a=(r&&n.length>1?n.slice(n.indexOf(r)+1):n).filter(e=>e.trim().length>0).map(e=>({content:e,style:`text`}));return{id:`widget:${e}`,header:{title:i},body:a}}function en(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]];J(e,I({name:`circle-alert`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function tn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]];J(e,I({name:`info`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function nn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]];J(e,I({name:`triangle-alert`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var rn=f(`<span class="truncate"> </span>`),an=f(`<div class="border-border bg-muted/50 text-muted-foreground flex items-center gap-3 border-t px-4 py-1.5 text-xs"></div>`),on=f(`<button><!> <span> </span></button>`),sn=f(`<div class="pointer-events-none fixed top-4 left-1/2 z-50 flex -translate-x-1/2 flex-col items-center gap-2"></div>`),cn=f(`<!> <!>`,1);function ln(e,r){A(r,!0);let i=new He,a=N(j([])),o=0;function s(e,t=`info`){let n=o++;k(a,[...g(a),{id:n,text:e,notificationType:t}],!0),setTimeout(()=>{k(a,g(a).filter(e=>e.id!==n),!0)},5e3)}function c(e){k(a,g(a).filter(t=>t.id!==e),!0)}te(()=>Q.onEvent(e=>{if(e.type!==`extension_ui_request`)return;let t=e;if(t.method===`setStatus`){let e=t.key,n=t.text;n?i.set(e,n):i.delete(e)}else if(t.method===`setWidget`){let e=t.key,n=t.lines,r=t.sessionId;if(r){let t=$.sessions[r];t&&(n&&n.length>0?t.widgetCards[e]=$t(e,n):delete t.widgetCards[e],r===$.viewedSessionId&&$.syncViewedPanelStore())}}else if(t.method===`notify`)s(t.text??t.message??``,t.notifyType??t.notificationType??`info`);else if(t.method===`setEditorText`){let e=t.text??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.draftText=e),Ee(n,e)}}else if(t.method===`setTitle`){let e=t.title??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.extensionTitle=e||null)}}}));let u=L(()=>[...i.entries()]);var f=cn(),p=E(f),m=e=>{var r=an();h(r,21,()=>g(u),([e,t])=>e,(e,r)=>{var i=L(()=>ie(g(r),2));let a=()=>g(i)[1];var o=rn(),s=t(o,!0);H(o),y(()=>n(s,a())),l(e,o)}),H(r),l(e,r)};d(p,e=>{g(u).length>0&&e(m)});var _=R(p,2),v=e=>{var r=sn();h(r,21,()=>g(a),e=>e.id,(e,r)=>{var i=on(),a=t(i),o=e=>{en(e,{class:`size-4 shrink-0`})},s=e=>{nn(e,{class:`size-4 shrink-0`})},u=e=>{tn(e,{class:`size-4 shrink-0`})};d(a,e=>{g(r).notificationType===`error`?e(o):g(r).notificationType===`warning`?e(s,1):e(u,-1)});var f=R(a,2),p=t(f,!0);H(f),H(i),y(()=>{V(i,1,`pointer-events-auto flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm shadow-lg transition-opacity
|
|
3
|
+
${g(r).notificationType===`error`?`border-destructive/30 bg-destructive/10 text-destructive`:g(r).notificationType===`warning`?`border-yellow-500/30 bg-yellow-500/10 text-yellow-600 dark:text-yellow-400`:`border-border bg-background text-foreground`}`),n(p,g(r).text)}),U(`click`,i,()=>c(g(r).id)),l(e,i)}),H(r),l(e,r)};d(_,e=>{g(a).length>0&&e(v)}),l(e,f),F()}m([`click`]);function un(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]];J(e,I({name:`download`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function dn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]];J(e,I({name:`share`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var fn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote: tap <strong>Share</strong> then <strong>Add to Home Screen</strong></span>`,1),pn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote for quick access</span> <button class="bg-primary text-primary-foreground hover:bg-primary/80 shrink-0 rounded-md px-3 py-1.5 text-xs font-medium">Install</button>`,1),mn=f(`<div class="animate-in slide-in-from-bottom fixed inset-x-0 bottom-0 z-50 duration-300 md:hidden"><div class="border-border bg-card mx-3 mb-3 flex items-center gap-3 rounded-xl border px-4 py-3 shadow-lg"><!> <button class="text-muted-foreground hover:text-foreground shrink-0 rounded-md p-1" title="Dismiss"><!></button></div></div>`);function hn(e,n){A(n,!0);let r=N(!1),i=N(!1),a=null;te(()=>{if(window.matchMedia(`(display-mode: standalone)`).matches||navigator.standalone===!0||localStorage.getItem(`pimote-install-dismissed`))return;let e=navigator.userAgent,t=/iPad|iPhone|iPod/.test(e)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1,n=/Safari/.test(e)&&!/CriOS|FxiOS|Chrome/.test(e);if(t&&n){k(i,!0),k(r,!0);return}let o=e=>{e.preventDefault(),a=e,k(r,!0)};return window.addEventListener(`beforeinstallprompt`,o),()=>{window.removeEventListener(`beforeinstallprompt`,o)}});async function o(){a&&=(a.prompt(),(await a.userChoice).outcome===`accepted`&&k(r,!1),null)}function s(){localStorage.setItem(`pimote-install-dismissed`,`true`),k(r,!1)}var c=u(),f=E(c),p=e=>{var n=mn(),r=t(n),a=t(r),c=e=>{var t=fn();dn(E(t),{class:`text-muted-foreground size-5 shrink-0`}),z(2),l(e,t)},u=e=>{var t=pn(),n=E(t);un(n,{class:`text-muted-foreground size-5 shrink-0`}),U(`click`,R(n,4),o),l(e,t)};d(a,e=>{g(i)?e(c):e(u,-1)});var f=R(a,2);ke(t(f),{class:`size-4`}),H(f),H(r),H(n),U(`click`,f,s),l(e,n)};d(f,e=>{g(r)&&e(p)}),l(e,c),F()}m([`click`]);function gn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]];J(e,I({name:`tag`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var _n=f(`<div class="text-muted-foreground px-3 py-6 text-sm">No tree nodes match the current filter.</div>`),vn=f(`<button class="text-muted-foreground hover:text-foreground mt-0.5 rounded p-0.5"><!></button>`),yn=f(`<span class="inline-block size-5"></span>`),bn=f(`<span class="text-muted-foreground shrink-0 text-[11px]"> </span>`),xn=f(`<span class="bg-primary/15 text-primary rounded px-1.5 py-0.5 text-[10px] font-medium">active</span>`),Sn=f(`<span class="bg-secondary text-secondary-foreground inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px]"><!> </span>`),Cn=f(`<div tabindex="0"><!> <div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><span class="text-muted-foreground shrink-0 text-[11px] uppercase"> </span> <!> <!> <!></div> <div class="text-foreground mt-0.5 line-clamp-2 break-words sm:line-clamp-4"> </div> <div class="text-muted-foreground mt-0.5 hidden text-[11px] sm:block"> </div></div></div>`),wn=f(`<div class="space-y-1"></div>`),Tn=f(`<textarea class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring min-h-20 w-full resize-y rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" placeholder="Custom summarization instructions..."></textarea>`),En=f(`<div class="text-muted-foreground text-xs">Summarizing and navigating…</div>`),Dn=f(`<div class="fixed inset-0 z-[80]" tabindex="0"><form class="bg-background border-border fixed w-80 rounded-lg border p-3 shadow-xl"><label class="text-foreground mb-2 block text-xs font-medium" for="tree-label-input">Label</label> <input id="tree-label-input" class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-2.5 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Set label (leave blank to clear)"/> <div class="mt-3 flex justify-end gap-2"><button type="button" class="border-border hover:bg-accent rounded-md border px-2.5 py-1.5 text-xs">Cancel</button> <button type="submit" class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-2.5 py-1.5 text-xs font-medium disabled:cursor-not-allowed disabled:opacity-50">Save</button></div></form></div>`),On=f(`<div class="fixed inset-0 z-50 bg-black/60"><div class="bg-background fixed top-0 left-0 z-[60] flex h-dvh w-screen max-w-none flex-col rounded-none border shadow-xl sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1080px)] sm:max-w-[min(96vw,1080px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl"><header class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex items-center justify-between gap-3"><h2 class="text-foreground text-base font-semibold">Tree Navigation</h2> <button class="text-muted-foreground hover:text-foreground rounded-md px-2 py-1 text-sm">Close</button></div> <div class="flex flex-col gap-2 sm:flex-row"><input class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Search previews..."/> <select class="border-border bg-secondary text-foreground focus:border-ring focus:ring-ring rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none"><option>Default</option><option>User only</option><option>All</option><option>Labeled only</option></select></div></header> <div class="min-h-0 flex-1 overflow-auto px-2 py-2 sm:px-3"><!></div> <footer class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-t px-4 py-3 backdrop-blur sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><div class="flex flex-wrap gap-2"><button>No summary</button> <button>Summarize</button> <button>Custom summary prompt</button></div> <!> <div class="flex items-center justify-between gap-2"><button class="border-border hover:bg-accent rounded-md border px-3 py-2 text-sm">Cancel</button> <button class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-3 py-2 text-sm font-medium disabled:cursor-not-allowed disabled:opacity-50">Navigate</button></div> <!></footer></div> <!></div>`);function kn(e,i){A(i,!0);let a=new He,o=N(`none`),s=N(``),c=N(!1),f=null,m=null,_=N(null),b=N(!1),S=N(null),C=L(()=>{let e=Z.state.tree??[],t=Z.state.currentLeafId;return t?new Set(M(e,t)):new Set}),T=L(()=>I(Z.getFilteredTree(),Z.expandedNodeIds,g(C))),j=L(()=>Z.state.open&&!!Z.state.sessionId&&!!Z.selectedNodeId&&!Z.state.loading&&!g(c)&&Q.ready);v(()=>{if(!Z.state.open){k(c,!1),k(_,null),k(b,!1);return}k(o,`none`),k(s,``);let e=Z.state.sessionId;if(!e){Z.setLoading(!1);return}let t=a.get(e);Z.setLoading(!!t?.inProgress&&t.summarizing)}),v(()=>{if(!Z.state.open)return;let e=Z.state.sessionId;e&&$.viewedSessionId!==e&&Z.closeDialog()}),te(()=>{let e=Q.onEvent(e=>{ie(e)}),t=e=>{if(Z.state.open&&e.key===`Escape`){if(e.preventDefault(),g(_)){K();return}Z.closeDialog()}};return window.addEventListener(`keydown`,t),()=>{e(),window.removeEventListener(`keydown`,t),W()}});function M(e,t){for(let n of e){if(n.id===t)return[n.id];let e=M(n.children,t);if(e.length>0)return[n.id,...e]}return[]}function I(e,t,n,r=0){let i=[],a=e.length>1;for(let o of e){let e=o.children.length>0,s=e&&(t.has(o.id)||n.has(o.id));if(i.push({node:o,depth:r,expanded:s,hasChildren:e}),s){let e=o.children.length>1||a?r+1:r;i.push(...I(o.children,t,n,e))}}return i}function z(e,t){a.set(e,t)}function B(e){let t=a.get(e);t&&z(e,{...t,inProgress:!1,summarizing:!1,closeOnResync:!1})}function ie(e){if(!(`sessionId`in e)||typeof e.sessionId!=`string`)return;let t=e.sessionId;if(e.type===`tree_navigation_start`){z(t,{inProgress:!0,summarizing:e.summarizing,closeOnResync:!1}),Z.state.open&&Z.state.sessionId===t&&e.summarizing&&Z.setLoading(!0);return}if(e.type===`tree_navigation_end`){z(t,{inProgress:!1,summarizing:!1,closeOnResync:!0}),Z.state.open&&Z.state.sessionId===t&&Z.setLoading(!1);return}if(e.type===`full_resync`){let e=a.get(t);if(!e)return;e.closeOnResync?(a.delete(t),Z.state.open&&Z.state.sessionId===t&&Z.closeDialog()):Z.state.open&&Z.state.sessionId===t&&e.inProgress&&e.summarizing&&Z.setLoading(!0)}}function W(){f&&=(clearTimeout(f),null)}function G(e,t,n){let r=Math.max(8,Math.min(t,window.innerWidth-320-8)),i=Math.max(8,Math.min(n,window.innerHeight-180-8));k(_,{nodeId:e.id,value:e.label??``,x:r,y:i},!0),k(b,!1),queueMicrotask(()=>{g(S)?.focus(),g(S)?.select()})}function K(){k(_,null),k(b,!1)}function ae(e,t){e.preventDefault(),G(t,e.clientX,e.clientY)}function se(e,t){if(e.pointerType!==`touch`)return;let{clientX:n,clientY:r}=e;W(),f=setTimeout(()=>{m=t.id,G(t,n,r),W()},500)}function ce(){W()}function q(){W()}async function le(){let e=Z.state.sessionId,t=g(_);if(!e||!t||g(b))return;k(b,!0);let n=t.value.trim(),r=n.length>0?n:void 0;try{(await Q.send({type:`set_tree_label`,sessionId:e,entryId:t.nodeId,label:r})).success&&(Z.setNodeLabel(t.nodeId,r),K())}catch(e){console.error(`Failed to set tree label:`,e)}finally{k(b,!1)}}function ue(e){if(m===e){m=null;return}if(Z.selectedNodeId===e&&g(j)){Y();return}Z.setSelectedNode(e)}function de(e){Z.toggleExpanded(e)}function J(e){Z.setFilterMode(e)}async function Y(){let e=Z.state.sessionId,t=Z.selectedNodeId;if(!e||!t||Z.state.loading||g(c))return;let n=g(o)!==`none`;try{k(c,!0),Z.setLoading(n);let r=await Q.send({type:`navigate_tree`,sessionId:e,targetId:t,...n?{summarize:!0}:{},...g(o)===`custom`?{customInstructions:g(s)}:{},...g(o)===`custom`?{replaceInstructions:!1}:{}});if(Z.setLoading(!1),!r.success||!r.data){B(e);return}let i=r.data;if(i.cancelled){B(e);return}typeof i.editorText==`string`&&i.editorText.length>0&&Ee(e,i.editorText),Z.closeDialog()}catch(t){B(e),Z.setLoading(!1),console.error(`Failed to navigate tree:`,t)}finally{k(c,!1)}}var fe=u(),pe=E(fe),me=e=>{var i=On(),a=t(i),c=t(a),u=t(c),f=R(t(u),2);H(u);var m=R(u,2),v=t(m);D(v);var E=R(v,2),A=t(E);A.value=A.__value=`default`;var M=R(A);M.value=M.__value=`user-only`;var N=R(M);N.value=N.__value=`all`;var F=R(N);F.value=F.__value=`labeled-only`,H(E);var te;ee(E),H(m),H(c);var I=R(c,2),z=t(I),B=e=>{l(e,_n())},ie=e=>{var i=wn();h(i,21,()=>g(T),e=>e.node.id,(e,i)=>{var a=Cn(),o=t(a),s=e=>{var n=vn(),r=t(n);{let e=L(()=>`size-4 transition-transform ${g(i).expanded?`rotate-90`:``}`);oe(r,{get class(){return g(e)}})}H(n),y(()=>P(n,`title`,g(i).expanded?`Collapse`:`Expand`)),U(`click`,n,e=>{e.stopPropagation(),de(g(i).node.id)}),l(e,n)},c=e=>{l(e,yn())};d(o,e=>{g(i).hasChildren?e(s):e(c,-1)});var u=R(o,2),f=t(u),p=t(f),m=t(p,!0);H(p);var h=R(p,2),_=e=>{var r=bn(),a=t(r,!0);H(r),y(()=>n(a,g(i).node.role)),l(e,r)};d(h,e=>{g(i).node.role&&e(_)});var v=R(h,2),b=e=>{l(e,xn())};d(v,e=>{g(i).node.id===Z.state.currentLeafId&&e(b)});var x=R(v,2),S=e=>{var r=Sn(),a=t(r);gn(a,{class:`size-2.5`});var o=R(a);H(r),y(()=>n(o,` ${g(i).node.label??``}`)),l(e,r)};d(x,e=>{g(i).node.label&&e(S)}),H(f);var w=R(f,2),T=t(w,!0);H(w);var E=R(w,2),D=t(E,!0);H(E),H(u),H(a),y((e,t)=>{V(a,1,`border-border/60 hover:bg-accent/60 flex items-start gap-2 rounded-md border px-2 py-1.5 text-sm transition-colors
|
|
4
|
+
${Z.selectedNodeId===g(i).node.id?`ring-ring bg-accent ring-1`:``}
|
|
5
|
+
${e??``}`),re(a,`margin-left: ${g(i).depth*14}px`),n(m,g(i).node.type),n(T,g(i).node.preview),P(E,`title`,g(i).node.timestamp),n(D,t)},[()=>g(C).has(g(i).node.id)?`border-primary/40`:``,()=>ge(g(i).node.timestamp)]),U(`click`,a,()=>ue(g(i).node.id)),U(`keydown`,a,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ue(g(i).node.id))}),U(`contextmenu`,a,e=>ae(e,g(i).node)),U(`pointerdown`,a,e=>se(e,g(i).node)),U(`pointerup`,a,ce),r(`pointercancel`,a,q),r(`pointerleave`,a,q),l(e,a)}),H(i),l(e,i)};d(z,e=>{g(T).length===0?e(B):e(ie,-1)}),H(I);var W=R(I,2),G=t(W),fe=t(G),pe=R(fe,2),me=R(pe,2);H(G);var he=R(G,2),_e=e=>{var t=Tn();p(t),ne(t,()=>g(s),e=>k(s,e)),l(e,t)};d(he,e=>{g(o)===`custom`&&e(_e)});var ve=R(he,2),ye=t(ve),be=R(ye,2);H(ve);var xe=R(ve,2),Se=e=>{l(e,En())};d(xe,e=>{Z.state.loading&&e(Se)}),H(W),H(a);var Ce=R(a,2),we=e=>{var n=Dn(),i=t(n),a=R(t(i),2);D(a),w(a,e=>k(S,e),()=>g(S));var o=R(a,2),s=t(o),c=R(s,2);H(o),H(i),H(n),y(()=>{re(i,`left: ${g(_).x}px; top: ${g(_).y}px`),O(a,g(_).value),c.disabled=g(b)}),U(`click`,n,e=>{e.stopPropagation(),K()}),U(`keydown`,n,e=>{e.key===`Escape`&&(e.stopPropagation(),K())}),U(`click`,i,e=>e.stopPropagation()),r(`submit`,i,e=>{e.preventDefault(),le()}),U(`input`,a,e=>{g(_)&&k(_,{...g(_),value:e.currentTarget.value},!0)}),U(`click`,s,K),l(e,n)};d(Ce,e=>{g(_)&&e(we)}),H(i),y(()=>{O(v,Z.state.searchQuery),te!==(te=Z.state.filterMode)&&(E.value=(E.__value=Z.state.filterMode)??``,x(E,Z.state.filterMode)),V(fe,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
|
|
6
|
+
${g(o)===`none`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(pe,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
|
|
7
|
+
${g(o)===`summarize`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(me,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
|
|
8
|
+
${g(o)===`custom`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),be.disabled=!g(j)}),U(`click`,i,()=>Z.closeDialog()),U(`keydown`,i,e=>e.key===`Escape`&&Z.closeDialog()),U(`click`,a,e=>e.stopPropagation()),U(`keydown`,a,e=>e.stopPropagation()),U(`click`,f,()=>Z.closeDialog()),U(`input`,v,e=>Z.setSearchQuery(e.currentTarget.value)),U(`change`,E,e=>J(e.currentTarget.value)),U(`click`,fe,()=>k(o,`none`)),U(`click`,pe,()=>k(o,`summarize`)),U(`click`,me,()=>k(o,`custom`)),U(`click`,ye,()=>Z.closeDialog()),U(`click`,be,Y),l(e,i)};d(pe,e=>{Z.state.open&&e(me)}),l(e,fe),F()}m([`click`,`keydown`,`input`,`change`,`contextmenu`,`pointerdown`,`pointerup`]);var An=f(`<span class="bg-muted text-muted-foreground ml-auto shrink-0 rounded px-1 text-xs"> </span>`),jn=f(`<span class="bg-muted rounded px-1 font-mono text-xs break-words whitespace-pre-wrap"> </span>`),Mn=f(`<span class="text-muted-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Nn=f(`<span class="text-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Pn=f(`<div class="mt-1.5 flex flex-col gap-0.5"></div>`),Fn=f(`<div class="text-muted-foreground mt-1.5 text-xs"> </div>`),In=f(`<div><div class="flex items-center gap-1.5"><span class="truncate text-sm font-medium"> </span> <!></div> <!> <!></div>`),Ln=f(`<div class="bg-sidebar flex h-full w-70 flex-col overflow-y-auto border-l p-2"><div class="flex flex-col gap-2"></div></div>`);function Rn(e,r){A(r,!0);let i={accent:`border-l-primary`,success:`border-l-green-500`,warning:`border-l-yellow-500`,error:`border-l-red-500`,muted:`border-l-muted-foreground`};var o=Ln(),s=t(o);h(s,21,()=>Ue.cards,e=>e.id,(e,r)=>{var o=In(),s=t(o),c=t(s),f=t(c,!0);H(c);var p=R(c,2),m=e=>{var i=An(),a=t(i,!0);H(i),y(()=>n(a,g(r).header.tag)),l(e,i)};d(p,e=>{g(r).header.tag&&e(m)}),H(s);var _=R(s,2),v=e=>{var i=Pn();h(i,21,()=>g(r).body,a,(e,r)=>{var i=u(),a=E(i),o=e=>{var i=jn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},s=e=>{var i=Mn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},c=e=>{var i=Nn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)};d(a,e=>{g(r).style===`code`?e(o):g(r).style===`secondary`?e(s,1):e(c,-1)}),l(e,i)}),H(i),l(e,i)};d(_,e=>{g(r).body&&g(r).body.length>0&&e(v)});var b=R(_,2),x=e=>{var i=Fn(),a=t(i,!0);H(i),y(e=>n(a,e),[()=>g(r).footer.join(` · `)]),l(e,i)};d(b,e=>{g(r).footer&&g(r).footer.length>0&&e(x)}),H(o),y(()=>{V(o,1,`rounded border p-2 ${g(r).color?i[g(r).color]+` border-l-2`:``}`),n(f,g(r).header.title)}),l(e,o)}),H(s),H(o),l(e,o),F()}function zn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]];J(e,I({name:`sliders-horizontal`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var Bn=f(`<!> <span class="sr-only">Open session settings</span>`,1),Vn=f(`<!> <span class="sr-only">Close session settings</span>`,1),Hn=f(`<div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Context</span> <span> </span></div>`),Un=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Git branch</span> <span class="max-w-[60%] min-w-0 truncate text-right font-medium"> </span></div>`),Wn=f(`<span class="inline-flex items-center rounded-full border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5 font-medium text-emerald-600 dark:text-emerald-400">Streaming</span>`),Gn=f(`<span class="inline-flex items-center rounded-full border border-amber-500/20 bg-amber-500/10 px-2 py-0.5 font-medium text-amber-600 dark:text-amber-400">Compacting…</span>`),Kn=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Runtime</span> <div class="flex flex-wrap justify-end gap-1.5 text-xs"><!> <!></div></div>`),qn=f(`<div class="border-border flex items-center justify-between border-b px-4 py-3 sm:hidden"><div class="text-sm font-semibold">Session settings</div> <!></div> <div class="hidden sm:block"><!></div> <div class="overflow-y-auto px-4 py-4 sm:px-0 sm:py-0"><div class="rounded-xl border text-sm"><div class="flex items-center justify-between gap-3 px-3 py-3"><span class="text-muted-foreground">Model</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Thinking</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Voice call</span> <!></div> <!> <!> <!> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Connection</span> <div class="flex items-center gap-2 font-medium"><span></span> <span> </span></div></div></div></div>`,1),Jn=f(`<!> <!>`,1);function Yn(e,r){A(r,!0);let a=N(!1),o=L(()=>$.viewed),s=L(()=>Le(g(o))),f=L(()=>je(g(o)?.contextUsage?.percent)),p=L(()=>Q.phaseLabel),m=L(()=>Q.phase===`ready`?`bg-emerald-500`:Q.phase===`syncing`?`bg-blue-500`:Q.phase===`backoff`||Q.phase===`connecting`?`bg-amber-500`:`bg-red-500`),h=L(()=>g(f)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(f)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);var _=u();i(E(_),()=>me,(e,r)=>{r(e,{get open(){return g(a)},set open(e){k(a,e,!0)},children:(e,r)=>{var f=Jn(),_=E(f);{let e=(e,t)=>{Y(e,I(()=>t?.().props,{variant:`ghost`,size:`icon-sm`,class:`text-muted-foreground hover:text-foreground`,title:`Session settings`,children:(e,t)=>{var n=Bn();zn(E(n),{class:`size-4`}),z(2),l(e,n)},$$slots:{default:!0}}))};i(_,()=>ce,(t,n)=>{n(t,{child:e,$$slots:{child:!0}})})}i(R(_,2),()=>pe,(e,r)=>{r(e,{showCloseButton:!1,class:`top-auto right-0 bottom-0 left-0 grid max-h-[85dvh] max-w-none translate-x-0 translate-y-0 gap-0 rounded-t-2xl rounded-b-none p-0 sm:top-1/2 sm:left-1/2 sm:max-h-none sm:max-w-md sm:-translate-x-1/2 sm:-translate-y-1/2 sm:gap-4 sm:rounded-xl sm:p-4`,children:(e,r)=>{var f=qn(),_=E(f);Y(R(t(_),2),{variant:`ghost`,size:`icon-sm`,onclick:()=>k(a,!1),title:`Close session settings`,children:(e,t)=>{var n=Vn();ke(E(n),{class:`size-4`}),z(2),l(e,n)},$$slots:{default:!0}}),H(_);var v=R(_,2);i(t(v),()=>K,(e,t)=>{t(e,{children:(e,t)=>{var n=u();i(E(n),()=>fe,(e,t)=>{t(e,{children:(e,t)=>{z(),l(e,c(`Session settings`))},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})}),H(v);var b=R(v,2),x=t(b),S=t(x);Ie(R(t(S),2),{}),H(S);var C=R(S,2);Ne(R(t(C),2),{}),H(C);var w=R(C,2),T=R(t(w),2);{let e=L(()=>g(o)?.sessionId);De(T,{get sessionId(){return g(e)},variant:`dialog-row`,onAction:()=>k(a,!1)})}H(w);var D=R(w,2),ee=e=>{var r=Hn(),i=R(t(r),2),a=t(i,!0);H(i),H(r),y(()=>{V(i,1,`inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium ${g(h)??``}`),n(a,g(s))}),l(e,r)};d(D,e=>{g(s)&&e(ee)});var O=R(D,2),A=e=>{var r=Un(),i=R(t(r),2),a=t(i,!0);H(i),H(r),y(()=>n(a,g(o).gitBranch)),l(e,r)};d(O,e=>{g(o)?.gitBranch&&e(A)});var j=R(O,2),M=e=>{var n=Kn(),r=R(t(n),2),i=t(r),a=e=>{l(e,Wn())};d(i,e=>{g(o)?.isStreaming&&e(a)});var s=R(i,2),c=e=>{l(e,Gn())};d(s,e=>{g(o)?.isCompacting&&e(c)}),H(r),H(n),l(e,n)};d(j,e=>{(g(o)?.isStreaming||g(o)?.isCompacting)&&e(M)});var N=R(j,2),P=R(t(N),2),F=t(P),te=R(F,2),I=t(te,!0);H(te),H(P),H(N),H(x),H(b),y(()=>{V(F,1,`inline-flex size-2 rounded-full ${g(m)??``}`),n(I,g(p))}),l(e,f)},$$slots:{default:!0}})}),l(e,f)},$$slots:{default:!0}})}),l(e,_),F()}function Xn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]];J(e,I({name:`menu`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function Zn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]];J(e,I({name:`panel-right`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function Qn({innerHeight:e,visualViewport:t}){let n=t?.height;return`${Math.round(typeof n==`number`&&Number.isFinite(n)&&n>0?n:e)}px`}var $n=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div>`),er=f(`<button type="button" class="text-foreground hover:text-foreground block w-full truncate text-left text-sm font-semibold select-none"> </button>`),tr=f(`<div class="text-foreground truncate text-sm font-semibold"> </div>`),nr=f(`<span title="Context window usage"> </span>`),rr=f(`<button class="text-muted-foreground hover:text-foreground border-border bg-background relative inline-flex size-8 shrink-0 items-center justify-center rounded-lg border" title="Open panel"><!> <span class="bg-primary text-primary-foreground absolute -top-1 -right-1 min-w-4 rounded-full px-1 text-center text-[10px] leading-4 font-medium"> </span></button>`),ir=f(`<div class="hidden md:flex"><!></div>`),ar=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div> <div class="fixed inset-y-0 right-0 z-40 md:hidden"><!></div>`,1),or=f(`<div class="bg-background flex overflow-hidden"><!> <aside><div class="border-sidebar-border flex h-12 shrink-0 items-center justify-between border-b px-4"><div class="flex items-center gap-2"><img src="/pwa/icon-192.png" alt="" class="size-5"/> <span class="text-sidebar-foreground text-sm font-semibold">Pimote</span></div> <div class="flex items-center gap-2"><span></span> <button class="text-muted-foreground hover:text-sidebar-foreground rounded-md p-1 md:hidden"><!></button></div></div> <!></aside> <div class="flex flex-1 flex-col overflow-hidden"><header class="border-border flex h-12 shrink-0 items-center gap-2 border-b px-3 md:hidden"><button class="text-muted-foreground hover:text-foreground rounded-md p-1" title="Open sidebar"><!></button> <div class="min-w-0 flex-1"><!></div> <!> <!> <!></header> <main class="flex flex-1 flex-col overflow-hidden"><!></main> <!></div> <!> <!> <!> <!> <!></div>`);function sr(e,r){A(r,!0);let i=N(!1),a=N(!1),o=N(`100dvh`);function s(){navigator.serviceWorker?.controller?.postMessage({type:`focus_state`,hasFocus:document.hasFocus()})}te(()=>{Q.connect();let e=null,t=()=>{k(o,Qn(window),!0)},n=()=>{t(),requestAnimationFrame(t),e&&clearTimeout(e),e=setTimeout(t,100)};n();let r=window.visualViewport;r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),window.addEventListener(`orientationchange`,n),window.addEventListener(`pageshow`,n),window.addEventListener(`focus`,n),window.addEventListener(`focusin`,n),window.addEventListener(`focusout`,n);let i=new URLSearchParams(window.location.search),a=i.get(`sessionId`),c=i.get(`folderPath`);return a&&c&&(window.history.replaceState({},``,window.location.pathname),Q.pendingAdopt={sessionId:a,folderPath:c}),i.get(`share`)===`pending`&&(window.history.replaceState({},``,window.location.pathname),caches.open(`pimote-share-target`).then(async e=>{let t=await e.match(`/_share/pending`);if(t){let n=await t.json();await e.delete(`/_share/pending`),n.length>0&&Ae(n)}})),`serviceWorker`in navigator&&(navigator.serviceWorker.register(`/sw.js`).then(e=>console.log(`[pimote] Service worker registered:`,e)).catch(e=>console.warn(`[pimote] Service worker registration failed:`,e)),window.addEventListener(`focus`,s),window.addEventListener(`blur`,s),document.addEventListener(`visibilitychange`,s),navigator.serviceWorker.ready.then(()=>s()),navigator.serviceWorker.addEventListener(`message`,async e=>{if(e.data?.type===`push_notification`){let t=e.data.sessionId;if(t){let e=$.sessions[t];e&&(e.needsAttention=!0)}}else if(e.data?.type===`share_images`){let t=e.data.images;t?.length>0&&Ae(t)}else if(e.data?.type===`notification_click`){let t=e.data.sessionId,n=e.data.folderPath;if(t){let{switchToSession:e,sessionRegistry:r,openExistingSession:i}=await W(async()=>{let{switchToSession:e,sessionRegistry:t,openExistingSession:n}=await import(`../chunks/DoVhjU85.js`);return{switchToSession:e,sessionRegistry:t,openExistingSession:n}},__vite__mapDeps([6,7,8,1,2]),import.meta.url);r.sessions[t]?e(t):n&&i(t,n,{force:!0,switchTo:!0})}}})),()=>{Q.disconnect(),r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),window.removeEventListener(`orientationchange`,n),window.removeEventListener(`pageshow`,n),window.removeEventListener(`focus`,n),window.removeEventListener(`focusin`,n),window.removeEventListener(`focusout`,n),e&&clearTimeout(e),window.removeEventListener(`focus`,s),window.removeEventListener(`blur`,s),document.removeEventListener(`visibilitychange`,s)}});function c(){k(i,!1)}let u=L(()=>{let e=$.viewed?.extensionTitle??null;return e?`Pimote — ${e}`:`Pimote`}),f=L(()=>Fe($.viewed)??`Pimote`),p=L(()=>Le($.viewed,{compact:!0})),m=L(()=>je($.viewed?.contextUsage?.percent)),h=L(()=>g(m)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(m)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);v(()=>{document.title=g(u)}),v(()=>{!Ue.hasCards&&g(a)&&k(a,!1)});var _=or(),b=t(_),x=e=>{var t=$n();U(`click`,t,c),U(`keydown`,t,e=>e.key===`Escape`&&c()),l(e,t)};d(b,e=>{g(i)&&e(x)});var S=R(b,2),C=t(S),w=R(t(C),2),T=t(w),D=R(T,2);ke(t(D),{class:`size-4`}),H(D),H(w),H(C),Wt(R(C,2),{class:`min-h-0 flex-1`,children:(e,t)=>{we(e,{onSessionSelect:c})},$$slots:{default:!0}}),H(S);var ee=R(S,2),O=t(ee),j=t(O);Xn(t(j),{class:`size-5`}),H(j);var M=R(j,2),I=t(M),ne=e=>{ze(e,{get sessionId(){return $.viewed.sessionId},get folderPath(){return $.viewed.folderPath},get sessionName(){return $.viewed.sessionName},get displayName(){return g(f)},children:(e,r)=>{let i=()=>r?.().openRenameDialog;var a=er(),o=t(a,!0);H(a),y(()=>{P(a,`title`,`Rename session: ${g(f)}`),n(o,g(f))}),U(`click`,a,function(...e){i()?.apply(this,e)}),l(e,a)},$$slots:{default:!0}})},z=e=>{var r=tr(),i=t(r,!0);H(r),y(()=>n(i,g(f))),l(e,r)};d(I,e=>{$.viewedSessionId&&$.viewed?e(ne):e(z,-1)}),H(M);var ie=R(M,2),G=e=>{var r=nr(),i=t(r,!0);H(r),y(()=>{V(r,1,`inline-flex shrink-0 items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${g(h)??``}`),n(i,g(p))}),l(e,r)};d(ie,e=>{$.viewedSessionId&&g(p)&&e(G)});var K=R(ie,2),ae=e=>{var r=rr(),i=t(r);Zn(i,{class:`size-4`});var o=R(i,2),s=t(o,!0);H(o),H(r),y(()=>n(s,Ue.cards.length)),U(`click`,r,()=>k(a,!0)),l(e,r)};d(K,e=>{Ue.hasCards&&e(ae)});var oe=R(K,2),se=e=>{Yn(e,{})};d(oe,e=>{$.viewedSessionId&&e(se)}),H(O);var ce=R(O,2);B(t(ce),()=>r.children),H(ce),ln(R(ce,2),{}),H(ee);var q=R(ee,2),le=e=>{var n=ir();Rn(t(n),{}),H(n),l(e,n)};d(q,e=>{Ue.hasCards&&e(le)});var ue=R(q,2),de=e=>{var n=ar(),r=E(n),i=R(r,2);Rn(t(i),{}),H(i),U(`click`,r,()=>k(a,!1)),U(`keydown`,r,e=>e.key===`Escape`&&k(a,!1)),l(e,n)};d(ue,e=>{Ue.hasCards&&g(a)&&e(de)});var J=R(ue,2);Qt(J,{});var Y=R(J,2);kn(Y,{}),hn(R(Y,2),{}),H(_),y(()=>{re(_,`height: ${g(o)};`),V(S,1,`border-sidebar-border bg-sidebar fixed inset-y-0 left-0 z-40 flex w-72 flex-col border-r transition-transform duration-200
|
|
9
|
+
${g(i)?`translate-x-0`:`-translate-x-full`}
|
|
10
|
+
md:relative md:z-0 md:translate-x-0`),V(T,1,`size-2 rounded-full ${Q.phase===`ready`?`bg-status-connected`:Q.phase===`idle`?`bg-status-error`:`bg-status-reconnecting`}`),P(T,`title`,Q.phase===`ready`?`Connected`:Q.phase===`idle`?`Disconnected`:`Reconnecting`)}),U(`click`,D,c),U(`click`,j,()=>k(i,!0)),l(e,_),F()}m([`click`,`keydown`]);export{sr as component,We as universal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,M as n,P as r,Y as i,et as a,mt as o,pt as s,tt as c,yt as l}from"../chunks/B8lQCytv.js";import{i as u,n as d,r as f}from"../chunks/
|
|
1
|
+
import{$ as e,A as t,M as n,P as r,Y as i,et as a,mt as o,pt as s,tt as c,yt as l}from"../chunks/B8lQCytv.js";import{i as u,n as d,r as f}from"../chunks/DzqbY2XU.js";import"../chunks/D1hYfEew.js";var p={get data(){return u.data},get error(){return u.error},get form(){return u.form},get params(){return u.params},get route(){return u.route},get state(){return u.state},get status(){return u.status},get url(){return u.url}};Object.defineProperty({get from(){return f.current?f.current.from:null},get to(){return f.current?f.current.to:null},get type(){return f.current?f.current.type:null},get willUnload(){return f.current?f.current.willUnload:null},get delta(){return f.current?f.current.delta:null},get complete(){return f.current?f.current.complete:null}},`current`,{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),d.updated.check;var m=p,h=r(`<h1> </h1> <p> </p>`,1);function g(r,u){o(u,!0);var d=h(),f=a(d),p=e(f,!0);l(f);var g=c(f,2),_=e(g,!0);l(g),i(()=>{t(p,m.status),t(_,m.error?.message)}),n(r,d),s()}export{g as component};
|