@chainingintention/pi-web-cn 2.202610.4 → 2.202610.5
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/dist/client/assets/{CommandPicker-gK2biReF.js → CommandPicker-8oDe6AaV.js} +1 -1
- package/dist/client/assets/{PiWebApp-Do_8tp5d.js → PiWebApp-TCQVYghs.js} +241 -241
- package/dist/client/assets/{SettingsDialog-vGDo1-BJ.js → SettingsDialog-DFUpwUyp.js} +1 -1
- package/dist/client/assets/{index-Ura0RJyr.js → index-DzMPXVth.js} +2 -2
- package/dist/client/index.html +1 -1
- package/dist/pi-packages/relays/relayDiscovery.js +5 -1
- package/dist/pi-web-plugins/custom-ui-codex/README.md +2 -0
- package/dist/pi-web-plugins/custom-ui-codex/chat-settings.css +15 -2
- package/dist/pi-web-plugins/files/browser/pi-web-plugin.js +87 -50
- package/dist/pi-web-plugins/workspace-tasks/tasksPanelElement.js +21 -6
- package/dist/pi-web-plugins/zh-cn/bundled.json +31 -18
- package/dist/pi-web-plugins/zh-cn/components.json +2 -0
- package/dist/pi-web-plugins/zh-cn/files.json +7 -0
- package/dist/pi-web-plugins/zh-cn/server-main.json +4 -4
- package/dist/plugin-api.d.ts +9 -0
- package/dist/server/app.js +3 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/managementAgents.js +179 -0
- package/dist/server/managementAgents.js.map +1 -0
- package/dist/server/managementAgentsRoutes.js +42 -0
- package/dist/server/managementAgentsRoutes.js.map +1 -0
- package/dist/server/managementEmbed.js +23 -43
- package/dist/server/managementEmbed.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +10 -2
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/workspaceExplorerRoutes.js +3 -1
- package/dist/server/workspaceExplorerRoutes.js.map +1 -1
- package/dist/shared/apiTypes.js.map +1 -1
- package/dist/shared/federatedRoutes.js +2 -0
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/dist/shared/managedAgents.js +2 -0
- package/dist/shared/managedAgents.js.map +1 -0
- package/dist/shared/pluginApiTypes.d.ts +14 -0
- package/docs/config.md +3 -1
- package/docs/plugins.md +20 -5
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,D as r,F as i,G as a,H as o,J as s,K as c,O as l,P as u,Q as d,R as f,S as p,U as m,V as h,W as g,Y as _,Z as v,_ as ee,a as y,b as te,d as ne,et as re,f as ie,g as ae,h as oe,i as se,j as b,l as ce,m as le,p as ue,r as de,s as fe,t as pe,u as me,v as he,w as ge,x as _e,y as ve,z as x}from"./managementEmbed-Bx8Mwzdw.js";var ye=Object.defineProperty,be=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),S=(e,t)=>{let n={};for(var r in e)ye(n,r,{get:e[r],enumerable:!0});return t||ye(n,Symbol.toStringTag,{value:`Module`}),n},xe=new Set,Se=0,Ce=new WeakMap,we=new Set;function Te(e){return we.add(e),()=>{we.delete(e)}}function Ee(e){return Fe(e)?.layer.element}function De(e){if(!e.open||!e.isConnected)return!1;try{return e.matches(`:modal`)}catch{return!0}}var Oe=new WeakSet;function ke(e){Oe.has(e)||(Oe.add(e),e.addEventListener(`beforetoggle`,e=>{let t=e.target;t instanceof HTMLDialogElement&&(`newState`in e&&e.newState===`open`&&Ce.set(t,{layer:{element:t,focus:()=>{t.focus()}},order:++Se,restorationPath:[]}),queueMicrotask(()=>{Pe(t.ownerDocument)}))},!0))}function Ae(e){ke(e);let t=[];for(let n of e.querySelectorAll(`*`)){if(n instanceof HTMLDialogElement){if(De(n)){let e=Ce.get(n);e===void 0&&(e={layer:{element:n,focus:()=>{n.focus()}},order:++Se,restorationPath:[]},Ce.set(n,e)),t.push(e)}else Ce.delete(n)}n.shadowRoot!==null&&t.push(...Ae(n.shadowRoot))}return t}function je(e){let t=e.element.ownerDocument;Ae(t);let n=Be(t),r=n instanceof HTMLElement?Ie(t,n):void 0,i={layer:e,order:++Se,restorationPath:n instanceof HTMLElement?[n,...r?.restorationPath??[]]:[]},a=!0;return xe.add(i),Pe(t),{get isTop(){return a&&Fe(t)===i},focus:()=>a&&Le(i),unregister:()=>{a&&(a=!1,xe.delete(i),Pe(t),Ne(i))}}}function Me(e){return e!==void 0&&Fe(e)!==void 0}function Ne(e){let{element:t}=e.layer,n=t.ownerDocument,r=Be(n);if(r!==null&&r!==n.body&&r!==n.documentElement&&!Ue(t,r))return;let i=Fe(n);if(i!==void 0){if(Re(e.restorationPath.filter(e=>Ue(i.layer.element,e))))return;Le(i)}else Re(e.restorationPath)}function Pe(e){let t=Fe(e);for(let n of[...xe])n.layer.element.ownerDocument===e&&n.layer.onTopChange?.(n===t);for(let t of we)t(e)}function Fe(e){let t;for(let n of Ae(e)){let e=[...xe].find(e=>e.layer.element===n.layer.element)??n;e.order=n.order,(t===void 0||e.order>t.order)&&(t=e)}return t}function Ie(e,t){let n;for(let r of xe)r.layer.element.ownerDocument===e&&De(r.layer.element)&&Ue(r.layer.element,t)&&(r.order=Ce.get(r.layer.element)?.order??r.order,(n===void 0||r.order>n.order)&&(n=r));return n}function Le(e){if(Fe(e.layer.element.ownerDocument)!==e)return!1;e.layer.focus();let t=Be(e.layer.element.ownerDocument);return t!==null&&Ue(e.layer.element,t)}function Re(e){for(let t of e)if(ze(t))return!0;return!1}function ze(e){if(!e.isConnected||e.matches(`:disabled`)||Ve(e))return!1;e.focus();let t=Be(e.ownerDocument);return t===e||t!==null&&Ue(e,t)}function Be(e){let t=e.activeElement;for(;t instanceof HTMLElement;){let e=t.shadowRoot?.activeElement??null;if(e===null)return t;t=e}return t??null}function Ve(e){let t=e.ownerDocument.defaultView,n=t?.getComputedStyle(e);if(n?.visibility===`hidden`||n?.visibility===`collapse`)return!0;let r=e;for(;r!==null;){if(r.hasAttribute(`hidden`)||r.hasAttribute(`inert`))return!0;let e=t?.getComputedStyle(r);if(e?.display===`none`||e?.getPropertyValue(`content-visibility`)===`hidden`)return!0;r=He(r)}return!1}function He(e){let t=e.assignedSlot;if(t instanceof HTMLSlotElement)return t;let n=e.parentElement;if(n instanceof Element)return n;let r=e.getRootNode();return r instanceof ShadowRoot&&r.host instanceof Element?r.host:null}function Ue(e,t){let n=t;for(;n!==null;){if(n===e)return!0;let t=He(n);if(t===n)return!1;n=t}return!1}var We=new WeakMap;function Ge(e){return(We.get(e)?.popups.size??0)>0}function Ke(e){if(!e.isConnected||Ve(e))return!1;let t=Ee(e.ownerDocument);return t===void 0||Ue(t,e)}function qe(e,t){if(!Ke(e))return t(),()=>{};let n=e.ownerDocument,r=We.get(n);if(r===void 0){let e=new Set,t=new Map,i=()=>{a(n);for(let t of[...e])Ke(t.owner)||(e.delete(t),t.close());e.size===0&&c()},a=e=>{if(ke(e),!t.has(e)){let n=new MutationObserver(i);n.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`open`,`hidden`,`inert`,`class`,`style`]}),t.set(e,n),e.addEventListener(`focusin`,i,!0)}for(let t of e.querySelectorAll(`*`))t.shadowRoot!==null&&a(t.shadowRoot)},o=Te(e=>{e===n&&i()}),s=!1,c=()=>{if(!s){s=!0,o();for(let[e,n]of t)n.disconnect(),e.removeEventListener(`focusin`,i,!0);We.delete(n)}};r={popups:e,dispose:c},We.set(n,r),a(n)}let i={owner:e,close:t};r.popups.add(i);let a=r;return()=>{a.popups.delete(i),a.popups.size===0&&a.dispose()}}var Je=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},Ye={attribute:!0,type:String,converter:d,reflect:!1,hasChanged:v},Xe=(e=Ye,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function C(e){return(t,n)=>typeof n==`object`?Xe(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function Ze(e){return C({...e,state:!0,attribute:!1})}var Qe=(e,t,n)=>(n.configurable=!0,n.enumerable=!0,Reflect.decorate&&typeof t!=`object`&&Object.defineProperty(e,t,n),n);function $e(e,t){return(n,r,i)=>{let a=t=>t.renderRoot?.querySelector(e)??null;if(t){let{get:e,set:t}=typeof r==`object`?n:i??(()=>{let e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return Qe(n,r,{get(){let n=e.call(this);return n===void 0&&(n=a(this),(n!==null||this.hasUpdated)&&t.call(this,n)),n}})}return Qe(n,r,{get(){return a(this)}})}}var et={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},tt=e=>(...t)=>({_$litDirective$:e,values:t}),nt=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}},rt=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`];function it(e){return rt.some(t=>t===e)}function at(e){return e===void 0||e===``?`off`:e}function ot(e,t=n(`en`,{})){let r=at(e),i={off:t(`thinking.label.off`,`Off`),minimal:t(`thinking.label.minimal`,`Minimal`),low:t(`thinking.label.low`,`Low`),medium:t(`thinking.label.medium`,`Medium`),high:t(`thinking.label.high`,`High`),xhigh:t(`thinking.label.xhigh`,`Extra high`),max:t(`thinking.label.max`,`Maximum`)};return it(r)?i[r]??r:r}function st(e,t=n(`en`,{})){switch(e){case`off`:return t(`thinking.description.off`,`No reasoning`);case`minimal`:return t(`thinking.description.minimal`,`Minimal reasoning (about 1k tokens)`);case`low`:return t(`thinking.description.low`,`Light reasoning (about 2k tokens)`);case`medium`:return t(`thinking.description.medium`,`Moderate reasoning (about 8k tokens)`);case`high`:return t(`thinking.description.high`,`Deep reasoning (about 16k tokens)`);case`xhigh`:return t(`thinking.description.xhigh`,`Extra high reasoning (about 32k tokens)`);case`max`:return t(`thinking.description.max`,`Maximum reasoning (about 64k tokens)`);default:return}}function ct(e,t){let n=t.length>=2?t:rt,r=n.length-1,i=at(e),a=n.indexOf(i);return{total:r,filled:a<=0?0:Math.min(a,r)}}function lt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ut(e){if(!lt(e))throw new x(`server.main.b5b69396302e`,`Invalid session defaults`);let t=e,n={};for(let e of[`defaultProvider`,`defaultModel`]){let r=t[e];if(r!==void 0){if(typeof r!=`string`)throw new x(`server.main.d20dbeed752b`,`Invalid {arg0}`,{arg0:e});n[e]=r}}let r=t.defaultThinkingLevel;if(r!==void 0){if(typeof r!=`string`||!it(r))throw new x(`server.main.e937d7ab07c7`,`Invalid defaultThinkingLevel`);n.defaultThinkingLevel=r}return n}var dt=class extends Error{constructor(e,t,n={}){super(e,n),this.status=t,this.name=`HttpRequestError`}},ft=class extends Error{constructor(e,t={}){super(e,t),this.name=`NetworkRequestError`}},pt=pe();function mt(e){pt=e}function ht(e){return h(se(e,void 0,pt))}async function w(e,t,n){let r=new Headers(n?.headers);n?.body!==void 0&&!r.has(`content-type`)&&r.set(`content-type`,`application/json`);let i=pt,a=ht(e),o=await _t(()=>fetch(a,{...n,headers:r}),n?.signal);if(!o.ok)throw new dt(vt(await o.json().catch(()=>({})))??o.statusText,o.status);return de(i),t(await _t(()=>o.json(),n?.signal))}async function gt(e,t){let n=pt,r=ht(e),i=await _t(()=>fetch(r));if(i.status===204)de(n);else if(i.status!==404){if(!i.ok)throw new dt(vt(await i.json().catch(()=>({})))??i.statusText,i.status);return de(n),t(await _t(()=>i.json()))}}async function _t(e,t){try{return await e()}catch(e){throw e instanceof TypeError&&e.name!==`AbortError`&&t?.aborted!==!0?new ft(e.message,{cause:e}):e}}function vt(e){if(yt(e))return typeof e.error==`string`?e.error:void 0}function yt(e){return typeof e==`object`&&!!e}var bt=/^[a-z][a-z0-9.-]*:[a-z][a-z0-9.-]*$/u;function xt(e){if(!St(e))return;let t=e,n=t.themeId,r=t.auto;if(typeof n==`string`&&bt.test(n)&&typeof r==`boolean`)return{themeId:n,auto:r}}function St(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ct(e,t){let n=xt(e);if(n===void 0)throw new x(`configError.defaultTheme.invalid`,`PI WEB config defaultTheme must contain a qualified themeId and a boolean auto: {source}`,{source:t});return n}function wt(e,t){if(e!==`steer`&&e!==`followUp`)throw new x(`configError.defaultStreamingBehavior.invalid`,`PI WEB config defaultStreamingBehavior must be steer or followUp: {source}`,{source:t});return e}function Tt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Et(e,t){if(!Tt(e))throw new x(`configError.sessionNaming.object`,`PI WEB config sessionNaming must be an object: {source}`,{source:t});let n=Object.keys(e).find(e=>e!==`model`&&e!==`maxTokens`&&e!==`thinkingLevel`&&e!==`timeoutMs`);if(n!==void 0)throw new x(`configError.sessionNaming.unknownKey`,`PI WEB config sessionNaming has unknown key {key}: {source}`,{key:JSON.stringify(n),source:t});let r=e.model,i=e.maxTokens,a=e.thinkingLevel,o=e.timeoutMs;if(r!==void 0&&(typeof r!=`string`||!/^[^/\s]+\/\S+$/.test(r)))throw new x(`configError.sessionNaming.model`,`PI WEB config sessionNaming.model must be an exact provider/model-id with non-empty parts: {source}`,{source:t});if(i!==void 0&&(typeof i!=`number`||!Number.isSafeInteger(i)||i<=0))throw new x(`configError.sessionNaming.maxTokens`,`PI WEB config sessionNaming.maxTokens must be a positive safe integer: {source}`,{source:t});if(a!==void 0&&(typeof a!=`string`||!it(a)))throw new x(`configError.sessionNaming.thinkingLevel`,`PI WEB config sessionNaming.thinkingLevel must be a known thinking level: {source}`,{source:t});if(o!==void 0&&(typeof o!=`number`||!Number.isInteger(o)||o<1||o>2147483647))throw new x(`configError.sessionNaming.timeoutMs`,`PI WEB config sessionNaming.timeoutMs must be an integer from 1 to 2147483647: {source}`,{source:t});return{...r===void 0?{}:{model:r},...i===void 0?{}:{maxTokens:i},...a===void 0?{}:{thinkingLevel:a},...o===void 0?{}:{timeoutMs:o}}}function Dt(e,t){if(!Tt(e))throw new x(`configError.sessionArchive.object`,`PI WEB config sessionArchive must be an object: {source}`,{source:t});let n=Object.keys(e).find(e=>e!==`directory`);if(n!==void 0)throw new x(`configError.sessionArchive.unknownKey`,`PI WEB config sessionArchive has unknown key {key}: {source}`,{key:JSON.stringify(n),source:t});let r=e.directory;if(r===void 0)return{};if(typeof r!=`string`||r.trim()===``||r.includes(`\0`))throw new x(`configError.sessionArchive.directory`,`PI WEB config sessionArchive.directory must be a non-empty path: {source}`,{source:t});return{directory:r}}var Ot=new Set([`schemaVersion`,`dir`]);function kt(e){if(!Mt(e)||Object.keys(e).some(e=>!Ot.has(e)))return;let t=e.schemaVersion,n=e.dir;if(t===2&&typeof n==`string`&&At(n))return Object.freeze({schemaVersion:2,dir:n})}function At(e){if(e===``||e!==e.trim()||jt(e))return!1;let t=e.replace(/\\/g,`/`);return t.startsWith(`/`)||/^[A-Za-z]:\//u.test(t)}function jt(e){for(let t of e){let e=t.charCodeAt(0);if(e<32||e===127)return!0}return!1}function Mt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Nt=Object.values(b),Pt=new Set(Nt);b.sessionsDeleteArchived,b.sessionsBulkMutations,b.sessionsCleanup,b.sessionsReload,b.sessionsClearQueue,b.sessionsQueueMessageActions,b.sessionsPersistedState,b.sessionsNotifications,b.sessionsUnread,b.sessionsAskUser,b.promptAttachments,b.workspaceFileSuggestions,b.piPackagesManage,b.selectedMachineSettings,b.agentProfileConfig,b.pluginLifecycle,b.sessionsDeleteArchived,b.sessionsBulkMutations,b.sessionsCleanup,b.sessionsReload,b.sessionsClearQueue,b.sessionsQueueMessageActions,b.sessionsPersistedState,b.sessionsNotifications,b.sessionsUnread,b.sessionsAskUser,b.promptAttachments,b.sessionsDeleteArchived,b.sessionsBulkMutations,b.sessionsCleanup,b.sessionsReload,b.sessionsClearQueue,b.sessionsQueueMessageActions,b.sessionsPersistedState,b.sessionsNotifications,b.sessionsUnread,b.sessionsAskUser,b.promptAttachments,b.workspaceFileSuggestions,b.piPackagesManage,b.selectedMachineSettings,b.agentProfileConfig,b.pluginLifecycle;function Ft(e){return typeof e==`string`&&Pt.has(e)}function It(e,t){return e?.capabilities?.includes(t)===!0}function Lt(e){if(Array.isArray(e)&&e.every(e=>typeof e==`string`))return e.filter(Ft)}function Rt(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!zt(n))continue;let e=n.source,r=n.name,i=n.replacement;(e===`environment`||e===`config`)&&typeof r==`string`&&r!==``&&(i===void 0||typeof i==`string`&&i!==``)&&t.push({source:e,name:r,...i===void 0?{}:{replacement:i}})}return t}function zt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Bt=[`projectId`,`workspaceId`,`sessionId`];function Vt(e,t){if(!Ut(e))throw Error(`${t} must be an object`);let n=!1;for(let r in e)if(Object.hasOwn(e,r)&&(n=!0,!Ht(r)))throw Error(`Unsupported ${t} field: ${r}`);if(!n)throw Error(`${t} must contain at least one of projectId, workspaceId, or sessionId`);let r={};for(let n of Bt){if(!Object.hasOwn(e,n))continue;let i=e[n];if(typeof i!=`string`||i.length>512||i.trim()===``)throw Error(`${t} ${n} must be a non-empty string of at most 512 characters`);r[n]=i}if(r.projectId!==void 0)return Object.freeze({...r,projectId:r.projectId});if(r.workspaceId!==void 0)return Object.freeze({...r,workspaceId:r.workspaceId});if(r.sessionId!==void 0)return Object.freeze({...r,sessionId:r.sessionId});throw Error(`${t} must contain at least one visibility selector`)}function Ht(e){return Bt.some(t=>t===e)}function Ut(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var Wt={working:`core:working`,terminal:`core:terminal`,unread:`core:unread`};function Gt(e){if(!Jt(e))return;let t=e.epochId,n=e.revision,r=e.generatedAt,i=Kt(e.machine),a=Kt(e.unattributed),o=qt(e.projects),s=qt(e.workspaces);if(typeof t!=`string`||t===``||typeof n!=`number`||!Number.isFinite(n)||typeof r!=`string`||r===``||i===void 0||a===void 0||o===void 0||s===void 0)return;let c={epochId:t,revision:n,machine:i,projects:o,workspaces:s,unattributed:a,generatedAt:r};if(Object.hasOwn(e,`sessions`)){let t=qt(e.sessions,!0);if(t===void 0)return;c.sessions=t}return c}function Kt(e){if(!Jt(e))return;let t=new Map;for(let[n,r]of Object.entries(e))typeof r==`boolean`&&t.set(n,r);return Object.fromEntries(t)}function qt(e,t=!1){if(!Jt(e))return;let n=new Map;for(let[r,i]of Object.entries(e)){let e=Kt(i);if(e===void 0&&t)return;e!==void 0&&n.set(r,e)}return Object.fromEntries(n)}function Jt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Yt=Object.freeze({showSafeStart:`pi-web plugins safe-start show`,bundledOnly:`pi-web plugins safe-start set bundled-only --restart`,noServerPlugins:`pi-web plugins safe-start set none --restart`,clearSafeStart:`pi-web plugins safe-start clear --restart`});function Xt(e){if(!ge(e))throw Error(`Invalid PI WEB plugin id: ${e}`);return`pi-web plugins disable ${e} --restart`}function T(e){return typeof e==`object`&&!!e}function E(e){if(!T(e))throw Error(`Expected object response`);return e}function D(e,t){let n=e[t];if(typeof n!=`string`)throw Error(`Expected string field: ${t}`);return n}function O(e,t){let n=e[t];if(n!==void 0){if(typeof n!=`string`)throw Error(`Expected optional string field: ${t}`);return n}}function k(e,t){let n=e[t];if(typeof n!=`number`)throw Error(`Expected number field: ${t}`);return n}function A(e,t){let n=e[t];if(typeof n!=`boolean`)throw Error(`Expected boolean field: ${t}`);return n}function j(e){return t=>{if(!Array.isArray(t))throw Error(`Expected array response`);return t.map(e)}}function Zt(e){if(!Array.isArray(e))throw Error(`Expected array response`);return e.map(e=>{if(typeof e==`object`&&e&&`entryId`in e&&e.entryId!==void 0&&typeof e.entryId!=`string`)throw Error(`Expected string field: entryId`);return e})}function Qt(e,t){if(!Array.isArray(e)||!e.every(e=>typeof e==`string`))throw Error(`Expected string array field: ${t}`);return e}function $t(e){let t=E(e),n=t.leafId;if(n!=null&&typeof n!=`string`)throw Error(`Expected optional string|null field: leafId`);return{messages:Zt(t.messages),start:k(t,`start`),total:k(t,`total`),...z(`leafId`,n)}}function en(e){let t=E(e);return j(tn)(t.machines)}function tn(e){let t=E(e),n=on(t,`kind`),r=O(t,`baseUrl`),i=sn(t,`status`),a=O(t,`statusMessage`);return{id:D(t,`id`),name:D(t,`name`),kind:n,...r===void 0?{}:{baseUrl:r},createdAt:D(t,`createdAt`),updatedAt:D(t,`updatedAt`),...i===void 0?{}:{status:i},...a===void 0?{}:{statusMessage:a}}}function nn(e){let t=E(e),n=sn(t,`status`),r=O(t,`error`);return{machineId:D(t,`machineId`),ok:A(t,`ok`),checkedAt:D(t,`checkedAt`),...n===void 0?{}:{status:n},...t.web===void 0?{}:{web:da(t.web)},...t.sessiond===void 0?{}:{sessiond:da(t.sessiond)},...r===void 0?{}:{error:r}}}function rn(e){let t=E(e),n=O(t,`error`);return{machineId:D(t,`machineId`),ok:A(t,`ok`),checkedAt:D(t,`checkedAt`),...z(`packageName`,O(t,`packageName`)),...z(`generatedAt`,O(t,`generatedAt`)),...t.components===void 0?{}:{components:la(t.components)},...t.capabilities===void 0?{}:{capabilities:_a(t.capabilities)},...t.deprecatedAgentInputs===void 0?{}:{deprecatedAgentInputs:an(t.deprecatedAgentInputs)},...n===void 0?{}:{error:n}}}function an(e){let t=Rt(e);if(t===void 0)throw Error(`Invalid PI WEB deprecated agent inputs`);return t}function on(e,t){let n=D(e,t);if(n!==`local`&&n!==`remote`)throw Error(`Expected machine kind field: ${t}`);return n}function sn(e,t){let n=O(e,t);if(n!==void 0){if(n!==`unknown`&&n!==`online`&&n!==`offline`&&n!==`error`)throw Error(`Expected machine status field: ${t}`);return n}}function cn(e){let t=E(e);return{id:D(t,`id`),name:D(t,`name`),path:D(t,`path`),createdAt:D(t,`createdAt`)}}function ln(e){let t=E(e);return Object.freeze({id:D(t,`id`),projectId:D(t,`projectId`),path:D(t,`path`),label:D(t,`label`),isMain:A(t,`isMain`),...z(`branch`,O(t,`branch`)),...z(`isGitRepo`,L(t,`isGitRepo`)),...z(`isGitWorktree`,L(t,`isGitWorktree`)),...z(`provider`,hn(t.provider)),...z(`removal`,gn(t.removal)),effectiveConfig:yn(t.effectiveConfig)})}function un(e){let t=E(e),n=dn(t.status),r=D(t,`projectId`),i=O(t,`ownerPluginId`);if(n===`provider`&&i===void 0)throw Error(`Provider workspace resolution is missing ownerPluginId`);if(n===`folder`&&i!==void 0)throw Error(`Folder workspace resolution must not include ownerPluginId`);let a=j(ln)(t.workspaces);if(a.length===0||a.some(e=>e.projectId!==r))throw Error(`Workspace resolution contains invalid project workspaces`);let o=j(fn)(t.diagnostics);return Object.freeze({status:n,projectId:r,...i===void 0?{}:{ownerPluginId:i},workspaces:Object.freeze(a),diagnostics:Object.freeze(o)})}function dn(e){if(e===`provider`||e===`folder`||e===`degraded`)return e;throw Error(`Invalid workspace provider resolution status`)}function fn(e){let t=E(e),n=O(t,`pluginId`),r=t.pluginIds===void 0?void 0:Qt(t.pluginIds,`pluginIds`);return Object.freeze({code:pn(t.code),message:D(t,`message`),tier:mn(t.tier),...n===void 0?{}:{pluginId:n},...r===void 0?{}:{pluginIds:Object.freeze(r)}})}function pn(e){if(e===`probe-failed`||e===`claim-conflict`||e===`list-failed`)return e;throw Error(`Invalid workspace provider diagnostic code`)}function mn(e){if(e===`primary`||e===`fallback`)return e;throw Error(`Invalid workspace provider diagnostic tier`)}function hn(e){if(e===void 0)return;if(!T(e)||Array.isArray(e))throw Error(`Invalid workspace provider field`);let t=e.capabilities;if(!T(t)||Array.isArray(t))throw Error(`Invalid workspace provider capabilities field`);let n=e.metadata;return Object.freeze({pluginId:D(e,`pluginId`),capabilities:Object.freeze({remove:A(t,`remove`),...z(`request`,L(t,`request`))}),...z(`metadata`,n===void 0?void 0:_n(n,`workspace provider metadata`))})}function gn(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid workspace removal field`);return Object.freeze({actionLabel:P(e,`actionLabel`),confirmation:P(e,`confirmation`),precondition:P(e,`precondition`)})}}function _n(e,t){if(!T(e)||Array.isArray(e))throw Error(`Invalid ${t} field`);return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,n])=>[e,vn(n,t)])))}function vn(e,t){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e))return e;if(Array.isArray(e))return Object.freeze(e.map(e=>vn(e,t)));if(T(e))return _n(e,t);throw Error(`Invalid ${t} field`)}function yn(e){if(!T(e)||Array.isArray(e))throw Error(`Expected workspace effectiveConfig field`);let t=Fi(e.uploads),n=Ii(e.attachments);return Object.freeze({...z(`uploads`,t===void 0?void 0:Object.freeze({...t})),...z(`attachments`,n===void 0?void 0:Object.freeze({...n}))})}function bn(e){if(!T(e)||Array.isArray(e))throw Error(`Invalid session metadata field`);return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,t])=>[e,_n(t,`session metadata namespace`)])))}function xn(e){let t=E(e),n=O(t,`name`),r=t.metadata===void 0?void 0:bn(t.metadata),i=I(t.persisted,`persisted`),a=O(t,`parentSessionPath`),o=O(t,`archivedAt`);return{id:D(t,`id`),path:D(t,`path`),cwd:D(t,`cwd`),...i===void 0?{}:{persisted:i},...n===void 0?{}:{name:n},...r===void 0?{}:{metadata:r},created:D(t,`created`),modified:D(t,`modified`),messageCount:k(t,`messageCount`),firstMessage:D(t,`firstMessage`),...a===void 0?{}:{parentSessionPath:a},...z(`agentSubsession`,L(t,`agentSubsession`)),...t.archived===!0?{archived:!0}:{},...o===void 0?{}:{archivedAt:o}}}function Sn(e){let t=E(e);return{configured:A(t,`configured`),authenticated:A(t,`authenticated`)}}function Cn(e){return{path:D(E(e),`path`)}}function wn(e){let t=E(e);if(t.deleted!==!0)throw Error(`Expected deleted response`);return{deleted:!0,path:D(t,`path`)}}function Tn(e){return{sessionIds:Qt(E(e).sessionIds,`sessionIds`)}}function En(e){return{pinned:A(E(e),`pinned`)}}function Dn(e){let t=E(e);return{results:j(On)(t.results),matchCount:k(t,`matchCount`),truncated:A(t,`truncated`)}}function On(e){let t=E(e);return{session:xn(t.session),matches:j(kn)(t.matches)}}function kn(e){let t=E(e),n=D(t,`role`);if(n!==`user`&&n!==`assistant`)throw Error(`Invalid session content search role`);return{messageIndex:k(t,`messageIndex`),role:n,excerpts:j(An)(t.excerpts),occurrenceCount:k(t,`occurrenceCount`)}}function An(e){let t=E(e);return{text:D(t,`text`),matchRanges:j(e=>{let t=E(e);return{start:k(t,`start`),length:k(t,`length`)}})(t.matchRanges)}}function jn(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid session warning severity`);return e}function Mn(e){if(e!==void 0)return{id:D(E(e),`id`)}}function Nn(e){let t=E(e),n=Mn(t.dismiss);return{severity:jn(t.severity),message:D(t,`message`),...z(`source`,O(t,`source`)),...z(`path`,O(t,`path`)),...n===void 0?{}:{dismiss:n}}}function Pn(e){let t=`Recently active in another PI-WEB instance. Avoid working on this session in both instances at once.`;return e.severity===`info`&&e.source===`PI-WEB`&&(e.message===t||e.message===f(`ui.sessionActivity.message`,t))}function Fn(e){let t=E(e);return{value:N(t,`value`,128),label:N(t,`label`,l),...z(`detail`,ur(t,`detail`,l))}}function In(e){let t=E(e),n=Er(t.options,Fn,12,`options`);Hn(n.map(e=>e.value),`ask option value`),I(t.allowOther,`allowOther`);let r=I(t.multiple,`multiple`);return{id:N(t,`id`,128),question:N(t,`question`,l),...z(`detail`,ur(t,`detail`,l)),options:n,allowOther:!0,...r===void 0?{}:{multiple:r}}}function Ln(e){let t=E(e),n=Er(t.questions,In,20,`questions`);if(n.length===0)throw Error(`Ask has no questions`);return Hn(n.map(e=>e.id),`ask question id`),{askId:N(t,`askId`,128),askedAt:P(t,`askedAt`),questions:n}}function Rn(e){if(e!==`submitted`&&e!==`superseded`&&e!==`cancelled`)throw Error(`Invalid ask close reason`);return e}function zn(e){let t=E(e),n=In(t.question),i=Er(t.values,Dr,12,`values`),a=new Set(n.options.map(e=>e.value));if(i.some(e=>!a.has(e)))throw Error(`Ask answer selected an option the question never offered`);let o=ur(t,`otherText`,r),s=A(t,`answered`);if(s!==(i.length>0||o!==void 0))throw Error(`Ask answer contradicts its answered flag`);return{question:n,answered:s,values:i,...o===void 0?{}:{otherText:o}}}function Bn(e){let t=E(e),n=Er(t.questions,zn,20,`questions`),r=F(t,`answeredCount`),i=Qt(t.unansweredIds,`unansweredIds`),a=n.filter(e=>!e.answered).map(e=>e.question.id);if(r!==n.length-a.length)throw Error(`Ask outcome answered count mismatch`);if(i.length!==a.length||i.some((e,t)=>e!==a[t]))throw Error(`Ask outcome unanswered ids mismatch`);return{askId:N(t,`askId`,128),reason:Rn(t.reason),askedAt:P(t,`askedAt`),closedAt:P(t,`closedAt`),questions:n,answeredCount:r,unansweredIds:i,summary:P(t,`summary`)}}function Vn(e){let t=E(e),n=t.result;if(n!==`closed`&&n!==`stale`)throw Error(`Invalid dialog close result`);let r=t.outcome===void 0?void 0:Zn(t.outcome);if(n===`closed`!=(r!==void 0))throw Error(`Dialog close response outcome mismatch`);return{result:n,...r===void 0?{}:{outcome:r},sessionStatus:M(t.sessionStatus)}}function Hn(e,t){if(new Set(e).size!==e.length)throw Error(`Duplicate ${t}`)}function Un(e){if(e!==`confirm`&&e!==`select`&&e!==`input`)throw Error(`Invalid extension dialog kind`);return e}function Wn(e){if(e!==`answered`&&e!==`cancelled`&&e!==`timeout`&&e!==`aborted`&&e!==`session-ended`)throw Error(`Invalid extension dialog close reason`);return e}function Gn(e){if(typeof e==`boolean`||typeof e==`string`&&e.length<=4e3)return e;throw Error(`Invalid extension dialog answer`)}function Kn(e){let t=Dr(e);if(t.length>1e3)throw Error(`String field exceeds limit: option`);return t}function qn(e){let n=E(e),r=Un(n.kind),i=n.options===void 0?void 0:Er(n.options,Kn,24,`options`);if(i!==void 0&&Hn(i,`dialog option`),r===`select`&&(i===void 0||i.length===0))throw Error(`Select dialog has no options`);return{dialogId:N(n,`dialogId`,128),kind:r,title:N(n,`title`,t),...z(`message`,ur(n,`message`,t)),...i===void 0?{}:{options:i},...z(`placeholder`,ur(n,`placeholder`,t)),askedAt:P(n,`askedAt`),...z(`timeoutAt`,Qn(n,`timeoutAt`)),runScoped:A(n,`runScoped`)}}function Jn(e){if(e===void 0)return{};let t=j(qn)(e);return Hn(t.map(e=>e.dialogId),`dialog id`),{pendingDialogs:t}}function Yn(e){let t=E(e);if(t.type!==`dialog.opened`)throw Error(`Invalid dialog opened event type`);return{type:`dialog.opened`,dialog:qn(t.dialog)}}function Xn(e){let t=E(e);if(t.type!==`dialog.closed`)throw Error(`Invalid dialog closed event type`);let n=Wn(t.reason),r=t.answer===void 0?void 0:Gn(t.answer);if(n===`answered`!=(r!==void 0))throw Error(`Dialog closed event answer mismatch`);return{type:`dialog.closed`,dialogId:N(t,`dialogId`,128),reason:n,...r===void 0?{}:{answer:r}}}function Zn(e){let t=E(e),n=Wn(t.reason),r=t.answer===void 0?void 0:Gn(t.answer);if(n===`answered`!=(r!==void 0))throw Error(`Dialog outcome answer mismatch`);return{dialogId:N(t,`dialogId`,128),reason:n,...r===void 0?{}:{answer:r},askedAt:P(t,`askedAt`),closedAt:P(t,`closedAt`)}}function Qn(e,t){let n=O(e,t);if(n!==void 0){if(n===``)throw Error(`Expected non-empty string field: ${t}`);return n}}function M(e){let t=E(e),n=t.warnings===void 0?void 0:j(Nn)(t.warnings),r=I(t.recentlyActiveElsewhere,`recentlyActiveElsewhere`);return{sessionId:D(t,`sessionId`),...z(`persisted`,I(t.persisted,`persisted`)),recentlyActiveElsewhere:r??n?.some(Pn)??!1,isStreaming:A(t,`isStreaming`),isCompacting:A(t,`isCompacting`),isBashRunning:A(t,`isBashRunning`),pendingMessageCount:k(t,`pendingMessageCount`),queuedMessages:t.queuedMessages===void 0?[]:j(Br)(t.queuedMessages),...z(`queueMessageActionsUnavailable`,O(t,`queueMessageActionsUnavailable`)),...z(`messageCount`,R(t,`messageCount`)),tokens:Vr(t.tokens),cost:k(t,`cost`),...Ur(t.model),...ui(t.contextUsage),...z(`thinkingLevel`,O(t,`thinkingLevel`)),...z(`warnings`,n?.filter(e=>!Pn(e))),...Jn(t.pendingDialogs),...z(`suggestedInput`,O(t,`suggestedInput`))}}function $n(e){let t=E(e);return{seq:k(t,`seq`),partial:t.partial??null}}function er(e){let t=E(e);if(t.partial===void 0)throw Error(`Expected field: partial`);return{page:$t(t.page),status:M(t.status),seq:F(t,`seq`),partial:t.partial}}function tr(e){let t=E(e),n=F(t,`catalogRevision`),r=Er(t.sessions,sr,i,`sessions`);if(cr(r),lr(r),r.some(e=>e.completionOrder>n))throw Error(`Session unread completion order exceeds catalog revision`);return{catalogId:N(t,`catalogId`,512),catalogRevision:n,sessions:r}}function nr(e){let t=E(e);if(t.type!==`sessions.unread`)throw Error(`Invalid session unread event type`);let n=N(t,`sessionId`,512),r=N(t,`cwd`,u),i=dr(t,`catalogRevision`),a=t.unread===null?null:sr(t.unread);if(a!==null&&(a.sessionId!==n||a.cwd!==r))throw Error(`Session unread event identity mismatch`);if(a!==null&&a.completionOrder>i)throw Error(`Session unread completion order exceeds catalog revision`);return{type:`sessions.unread`,catalogId:N(t,`catalogId`,512),catalogRevision:i,sessionId:n,cwd:r,unread:a}}function rr(e){let t=E(e);if(t.type!==`session.startup`)throw Error(`Invalid session startup event type`);let n=O(t,`startupToken`);if(n===``)throw Error(`Expected non-empty string field: startupToken`);return{type:`session.startup`,...z(`startupToken`,n),activity:ir(t.activity)}}function ir(e){let t=E(e);return{sessionId:P(t,`sessionId`),phase:or(t,`phase`),label:P(t,`label`),...z(`detail`,O(t,`detail`)),at:P(t,`at`),...z(`startup`,ar(t))}}function ar(e){let t=e.startup;if(t!==void 0){if(typeof t!=`boolean`)throw Error(`Expected optional boolean field: startup`);return t}}function or(e,t){let n=D(e,t);if(n!==`active`&&n!==`idle`&&n!==`error`)throw Error(`Expected session activity phase field: ${t}`);return n}function sr(e){let t=E(e),n=N(t,`completedAt`,64),r=new Date(n);if(!Number.isFinite(r.getTime())||r.toISOString()!==n)throw Error(`Invalid canonical session unread completion time`);let i=t.messageRange===void 0?void 0:E(t.messageRange),a;if(i!==void 0){let e=F(i,`start`),t=F(i,`end`),n=i.leafId;if(t<e||n!==null&&typeof n!=`string`)throw Error(`Invalid unread message range`);a={start:e,end:t,leafId:n}}return{sessionId:N(t,`sessionId`,512),cwd:N(t,`cwd`,u),completionOrder:dr(t,`completionOrder`),completedAt:n,...a===void 0?{}:{messageRange:a}}}function cr(e){let t=e.map(e=>JSON.stringify([e.sessionId,e.cwd]));if(new Set(t).size!==t.length)throw Error(`Duplicate session unread identity`);let n=e.map(e=>e.completionOrder);if(new Set(n).size!==n.length)throw Error(`Duplicate session unread completion order`)}function lr(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t];if(n===void 0||r===void 0||n.completionOrder<=r.completionOrder)throw Error(`Session unread summaries are not newest-first`)}}function N(e,t,n){let r=P(e,t);if(r.length>n)throw Error(`String field exceeds limit: ${t}`);return r}function ur(e,t,n){let r=O(e,t);if(r!==void 0){if(r===``)throw Error(`Expected non-empty string field: ${t}`);if(r.length>n)throw Error(`String field exceeds limit: ${t}`);return r}}function dr(e,t){let n=F(e,t);if(n===0)throw Error(`Expected positive safe integer field: ${t}`);return n}function fr(e){let t=E(e),n=yr(t.summary),r=Er(t.notifications,br,100,`notifications`);if(Or(r),kr(r),n.retainedCount!==r.length)throw Error(`Notification snapshot retained count mismatch`);if(n.highestSeverity!==jr(r))throw Error(`Notification snapshot severity mismatch`);let i=xr(t.dismissThrough),a=r[0]?.order??0;if(i.order!==a)throw Error(`Notification snapshot dismiss cutoff mismatch`);if(i.overflowWatermark<n.discardedCount)throw Error(`Notification snapshot overflow cutoff mismatch`);return{daemonInstanceId:P(t,`daemonInstanceId`),catalogRevision:F(t,`catalogRevision`),summary:n,notifications:r,dismissThrough:i}}function pr(e){let t=E(e);if(t.type!==`notifications.inbox`)throw Error(`Invalid notification inbox event type`);let n=yr(t.summary),r=xr(t.dismissThrough);if(r.overflowWatermark<n.discardedCount)throw Error(`Notification event overflow cutoff mismatch`);let i=Sr(t.delta);if(i.kind===`cleared`&&!Ar(n))throw Error(`Notification clear event summary mismatch`);if(i.kind===`added`&&n.retainedCount===0)throw Error(`Notification add event summary mismatch`);return{type:`notifications.inbox`,daemonInstanceId:P(t,`daemonInstanceId`),catalogRevision:F(t,`catalogRevision`),summary:n,dismissThrough:r,delta:i}}function mr(e){let t=E(e),n=j(_r)(t.notices),r=n.map(e=>e.id);if(new Set(r).size!==r.length)throw Error(`Duplicate server notice id`);return{daemonInstanceId:P(t,`daemonInstanceId`),revision:F(t,`revision`),notices:n}}function hr(e){let t=E(e);if(t.type!==`notices.updated`)throw Error(`Invalid server notice event type`);return{type:`notices.updated`,snapshot:mr(t.snapshot)}}function gr(e){let t=E(e);if(t.type!==`models.changed`)throw Error(`Invalid model scope event type`);return{type:`models.changed`,revision:F(t,`revision`)}}function _r(e){let t=E(e),n=P(t,`createdAt`);if(!Number.isFinite(Date.parse(n)))throw Error(`Invalid server notice creation time`);let r=O(t,`source`),i=t.context===void 0?void 0:_n(t.context,`server notice context`),a=t.scope===void 0?void 0:Vt(t.scope,`server notice scope`);return{id:P(t,`id`),severity:vr(t.severity),message:D(t,`message`),createdAt:n,...z(`source`,r),...z(`scope`,a),...z(`context`,i)}}function vr(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid server notice severity`);return e}function yr(e){let t=E(e),n=F(t,`retainedCount`);if(n>100)throw Error(`Notification retained count exceeds limit`);let r=F(t,`discardedCount`),i=wr(t.highestSeverity);if(n===0!=(i===void 0))throw Error(`Notification summary severity mismatch`);return{sessionId:P(t,`sessionId`),cwd:P(t,`cwd`),inboxRevision:F(t,`inboxRevision`),retainedCount:n,discardedCount:r,...i===void 0?{}:{highestSeverity:i}}}function br(e){let t=E(e),n=D(t,`message`);if(new TextEncoder().encode(n).byteLength>8192)throw Error(`Notification message exceeds byte limit`);let r=D(t,`receivedAt`);if(!Number.isFinite(Date.parse(r)))throw Error(`Invalid notification receive time`);let i=F(t,`order`);if(i===0)throw Error(`Invalid notification order`);return{id:P(t,`id`),message:n,truncated:A(t,`truncated`),severity:Cr(t.severity),receivedAt:r,order:i}}function xr(e){let t=E(e);return{order:F(t,`order`),overflowWatermark:F(t,`overflowWatermark`)}}function Sr(e){let t=E(e);switch(t.kind){case`added`:{let e=O(t,`evictedNotificationId`);return{kind:`added`,notification:br(t.notification),...e===void 0?{}:{evictedNotificationId:e}}}case`dismissed`:{let e=Er(t.notificationIds,Dr,100,`notificationIds`);if(new Set(e).size!==e.length)throw Error(`Duplicate dismissed notification id`);return{kind:`dismissed`,notificationIds:e}}case`cleared`:return{kind:`cleared`,reason:Tr(t.reason)};case`resync`:return{kind:`resync`};default:throw Error(`Invalid notification inbox delta`)}}function Cr(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid notification severity`);return e}function wr(e){return e===void 0?void 0:Cr(e)}function Tr(e){switch(e){case`runtime-close`:case`archive`:case`delete`:case`restore`:case`archive-reconcile`:case`replacement`:case`initialization-failed`:case`service-dispose`:return e;default:throw Error(`Invalid notification clear reason`)}}function Er(e,t,n,r){if(!Array.isArray(e))throw Error(`Expected array field: ${r}`);if(e.length>n)throw Error(`Array field exceeds limit: ${r}`);return e.map(t)}function Dr(e){if(typeof e!=`string`||e===``)throw Error(`Expected non-empty string`);return e}function P(e,t){let n=D(e,t);if(n===``)throw Error(`Expected non-empty string field: ${t}`);return n}function F(e,t){let n=e[t];if(typeof n!=`number`||!Number.isSafeInteger(n)||n<0)throw Error(`Expected non-negative safe integer field: ${t}`);return n}function Or(e){if(new Set(e.map(e=>e.id)).size!==e.length)throw Error(`Duplicate notification id`);if(new Set(e.map(e=>e.order)).size!==e.length)throw Error(`Duplicate notification order`)}function kr(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t];if(n===void 0||r===void 0||n.order<=r.order)throw Error(`Notifications are not newest-first`)}}function Ar(e){return e.retainedCount===0&&e.discardedCount===0}function jr(e){let t;for(let n of e){if(n.severity===`error`)return`error`;n.severity===`warning`?t=`warning`:t??=`info`}return t}function Mr(e){let t=E(e),n=t.skippedBusySessionIds===void 0?void 0:Qt(t.skippedBusySessionIds,`skippedBusySessionIds`);return{generatedAt:D(t,`generatedAt`),thresholds:Lr(t.thresholds),projects:j(Rr)(t.projects),totals:zr(t.totals),...n===void 0?{}:{skippedBusySessionIds:n}}}function Nr(e){let t=E(e);return{...Mr(t),archivedSessionIds:Qt(t.archivedSessionIds,`archivedSessionIds`),deletedSessionIds:Qt(t.deletedSessionIds,`deletedSessionIds`)}}function Pr(e){let t=E(e);if(t.archived!==!0)throw Error(`Expected bulk archived response`);return{archived:!0,archivedSessionIds:Qt(t.archivedSessionIds,`archivedSessionIds`),failures:j(Ir)(t.failures),generatedAt:D(t,`generatedAt`)}}function Fr(e){let t=E(e);if(t.deleted!==!0)throw Error(`Expected bulk deleted response`);return{deleted:!0,deletedSessionIds:Qt(t.deletedSessionIds,`deletedSessionIds`),failures:j(Ir)(t.failures),generatedAt:D(t,`generatedAt`)}}function Ir(e){let t=E(e);return{sessionId:D(t,`sessionId`),error:D(t,`error`)}}function Lr(e){let t=E(e);return{...z(`archiveIdleDays`,R(t,`archiveIdleDays`)),...z(`deleteArchivedDays`,R(t,`deleteArchivedDays`))}}function Rr(e){let t=E(e);return{cwd:D(t,`cwd`),archiveCount:k(t,`archiveCount`),deleteCount:k(t,`deleteCount`)}}function zr(e){let t=E(e);return{archiveCount:k(t,`archiveCount`),deleteCount:k(t,`deleteCount`)}}function Br(e){let t=E(e),n=D(t,`kind`);if(n!==`steer`&&n!==`followUp`)throw Error(`Invalid queued message kind`);return{kind:n,text:D(t,`text`),...z(`hasAttachments`,L(t,`hasAttachments`)),...z(`attachmentCount`,t.attachmentCount===void 0?void 0:F(t,`attachmentCount`))}}function Vr(e){let t=E(e);return{input:k(t,`input`),output:k(t,`output`),cacheRead:k(t,`cacheRead`),cacheWrite:k(t,`cacheWrite`),total:k(t,`total`)}}function Hr(e){let t=E(e);return{...z(`provider`,O(t,`provider`)),...z(`id`,O(t,`id`)),...z(`name`,O(t,`name`)),...z(`contextWindow`,R(t,`contextWindow`)),...z(`reasoning`,t.reasoning)}}function Ur(e){return e===void 0?{}:{model:Hr(e)}}function Wr(e){let t=E(e);return{models:j(Hr)(t.models)}}function Gr(e){let t=E(e);return{provider:D(t,`provider`),id:D(t,`id`),...z(`name`,O(t,`name`)),...z(`contextWindow`,R(t,`contextWindow`)),...z(`reasoning`,t.reasoning),enabled:A(t,`enabled`),...z(`editable`,L(t,`editable`)),...z(`catalogIndex`,t.catalogIndex===void 0?void 0:F(t,`catalogIndex`))}}function Kr(e){let t=E(e);return{models:j(Gr)(t.models)}}function qr(e){if(typeof e!=`string`)throw Error(`Invalid thinking level`);return e}function Jr(e){let t=E(e);return{levels:j(qr)(t.levels)}}function Yr(e){if(e!==`oauth`&&e!==`api_key`)throw Error(`Invalid auth type`);return e}function Xr(e){if(e!==`stored`&&e!==`runtime`&&e!==`environment`&&e!==`fallback`&&e!==`models_json_key`&&e!==`models_json_command`)throw Error(`Invalid auth status source`);return e}function Zr(e){let t=E(e),n=t.source===void 0?void 0:Xr(t.source);return{configured:A(t,`configured`),...z(`source`,n),...z(`label`,O(t,`label`))}}function Qr(e){let t=E(e),n=t.loginFlow;if(n!==void 0&&n!==`interactive`)throw Error(`Invalid auth provider login flow`);return{id:D(t,`id`),name:D(t,`name`),authType:Yr(t.authType),status:Zr(t.status),...n===void 0?{}:{loginFlow:n}}}function $r(e){let t=E(e);return{providers:j(Qr)(t.providers)}}function ei(e){let t=E(e);return{servers:j(e=>{let t=E(e);return{name:D(t,`name`),...z(`description`,O(t,`description`))}})(t.servers)}}function ti(e){let t=E(e),n=t.target;if(n!==void 0&&n!==`mcp`)throw Error(`Invalid login flow target`);let r=t.mcpMode;if(r!==void 0&&r!==`login`&&r!==`logout`)throw Error(`Invalid MCP authentication mode`);let i={flowId:D(t,`flowId`),providerId:D(t,`providerId`),providerName:D(t,`providerName`),...n===void 0?{}:{target:n},...r===void 0?{}:{mcpMode:r},...z(`cancelRequested`,L(t,`cancelRequested`)),status:ni(t.status),progress:j(e=>{if(typeof e!=`string`)throw Error(`Expected progress item string`);return e})(t.progress),...z(`error`,O(t,`error`)),...z(`auth`,ri(t.auth)),...z(`prompt`,ai(t.prompt)),...z(`select`,si(t.select)),...z(`info`,ci(t.info))};if(i.target===`mcp`&&i.auth!==void 0){let e=new URL(i.auth.url);if(e.protocol!==`https:`&&e.protocol!==`http:`)throw Error(`Invalid MCP authorization URL`)}return i}function ni(e){if(e!==`running`&&e!==`complete`&&e!==`error`&&e!==`cancelled`)throw Error(`Invalid OAuth flow status`);return e}function ri(e){if(e===void 0)return;let t=E(e);return{url:D(t,`url`),...z(`instructions`,O(t,`instructions`)),...z(`deviceCode`,ii(t.deviceCode))}}function ii(e){if(e===void 0)return;let t=E(e);return{userCode:D(t,`userCode`),...z(`intervalSeconds`,R(t,`intervalSeconds`)),...z(`expiresInSeconds`,R(t,`expiresInSeconds`))}}function ai(e){if(e===void 0)return;let t=E(e),n=O(t,`kind`);if(n!==void 0&&n!==`prompt`&&n!==`manual`)throw Error(`Invalid OAuth prompt kind`);let r=t.promptType===void 0&&n!==void 0?n===`manual`?`manual_code`:`text`:oi(t.promptType);return{requestId:D(t,`requestId`),message:D(t,`message`),...z(`kind`,n),promptType:r,...z(`placeholder`,O(t,`placeholder`)),...z(`allowEmpty`,L(t,`allowEmpty`))}}function oi(e){if(e!==`text`&&e!==`secret`&&e!==`manual_code`)throw Error(`Invalid OAuth prompt type`);return e}function si(e){if(e===void 0)return;let t=E(e);return{requestId:D(t,`requestId`),message:D(t,`message`),options:j(ka)(t.options)}}function ci(e){if(e!==void 0)return j(e=>{let t=E(e);return{message:D(t,`message`),...z(`links`,t.links===void 0?void 0:j(li)(t.links))}})(e)}function li(e){let t=E(e);return{url:D(t,`url`),...z(`label`,O(t,`label`))}}function ui(e){if(e===void 0)return{};let t=E(e);return{contextUsage:{tokens:Ha(t,`tokens`),contextWindow:k(t,`contextWindow`),percent:Ha(t,`percent`)}}}function di(e){let t=E(e),n=D(t,`source`);if(n!==`extension`&&n!==`prompt`&&n!==`skill`&&n!==`builtin`)throw Error(`Invalid command source`);return{name:D(t,`name`),source:n,...z(`description`,O(t,`description`)),...z(`argumentHint`,O(t,`argumentHint`))}}function fi(e){let t=E(e),n=D(t,`kind`);if(n!==`tracked`&&n!==`untracked`&&n!==`other`)throw Error(`Invalid file kind`);return{path:D(t,`path`),kind:n}}function pi(e){let t=E(e);return{path:D(t,`path`),entries:j(gi)(t.entries),scannedAt:D(t,`scannedAt`),truncated:A(t,`truncated`)}}function mi(e){let t=E(e);return{results:j(hi)(t.results)}}function hi(e){let t=E(e),n=D(t,`path`),r=t.tree,i=t.error;if(r===void 0==(i===void 0))throw Error(`File tree batch result must contain exactly one of tree or error`);return r===void 0?{path:n,error:D(t,`error`)}:{path:n,tree:pi(r)}}function gi(e){let t=E(e),n=D(t,`type`);if(n!==`file`&&n!==`directory`&&n!==`symlink`)throw Error(`Invalid file tree entry type`);return{name:D(t,`name`),path:D(t,`path`),type:n,...z(`size`,R(t,`size`)),...z(`modifiedAt`,O(t,`modifiedAt`))}}function _i(e){let t=E(e),n=D(t,`encoding`);if(n!==`utf8`)throw Error(`Invalid file encoding`);return{path:D(t,`path`),...z(`language`,O(t,`language`)),...z(`mediaType`,xi(t.mediaType)),...z(`mimeType`,O(t,`mimeType`)),encoding:n,size:k(t,`size`),modifiedAt:D(t,`modifiedAt`),content:D(t,`content`),truncated:A(t,`truncated`),binary:A(t,`binary`)}}function vi(e){let t=E(e);return{path:D(t,`path`),size:k(t,`size`),modifiedAt:D(t,`modifiedAt`),created:A(t,`created`)}}function yi(e){let t=E(e);return{path:D(t,`path`),existed:A(t,`existed`)}}function bi(e){let t=E(e);return{fromPath:D(t,`fromPath`),toPath:D(t,`toPath`),size:k(t,`size`),modifiedAt:D(t,`modifiedAt`)}}function xi(e){if(e!==void 0){if(e!==`image`&&e!==`html`&&e!==`pdf`&&e!==`markdown`)throw Error(`Invalid file media type`);return e}}function Si(e){let t=E(e);return{id:D(t,`id`),cwd:D(t,`cwd`),name:D(t,`name`),createdAt:D(t,`createdAt`),exited:A(t,`exited`),...z(`exitCode`,R(t,`exitCode`)),...z(`commandRunId`,O(t,`commandRunId`))}}function Ci(e){let t=E(e);return{id:D(t,`id`),origin:D(t,`origin`),projectId:D(t,`projectId`),workspaceId:D(t,`workspaceId`),terminalId:D(t,`terminalId`),title:D(t,`title`),command:D(t,`command`),status:wi(t.status),...z(`exitCode`,R(t,`exitCode`)),createdAt:D(t,`createdAt`),...z(`startedAt`,O(t,`startedAt`)),...z(`completedAt`,O(t,`completedAt`)),metadata:Ti(t.metadata,`metadata`)}}function wi(e){if(e!==`queued`&&e!==`running`&&e!==`succeeded`&&e!==`failed`)throw Error(`Invalid terminal command run status`);return e}function Ti(e,t){let n=E(e);return Object.fromEntries(Object.entries(n).map(([e,n])=>{if(typeof n!=`string`)throw Error(`Expected string record field: ${t}.${e}`);return[e,n]}))}function Ei(e){let t=E(e);return{cwd:D(t,`cwd`),hasSessionActivity:A(t,`hasSessionActivity`),hasTerminalActivity:A(t,`hasTerminalActivity`),updatedAt:D(t,`updatedAt`)}}function Di(e){let t=E(e);return{workspaces:j(Ei)(t.workspaces),generatedAt:D(t,`generatedAt`)}}function Oi(e){let t=Gt(e);if(t===void 0)throw Error(`Expected machine status snapshot`);return t}function ki(e){let t=E(e);return{path:D(t,`path`),exists:A(t,`exists`),config:Ai(t.config),effectiveConfig:Ai(t.effectiveConfig),envOverrides:Vi(t.envOverrides)}}function Ai(e){let t=E(e);return{...z(`host`,O(t,`host`)),...z(`port`,R(t,`port`)),...z(`allowedHosts`,Mi(t.allowedHosts)),...z(`shortcuts`,zi(t.shortcuts)),...z(`defaultTheme`,t.defaultTheme===void 0?void 0:Ct(t.defaultTheme,`response`)),...z(`defaultStreamingBehavior`,t.defaultStreamingBehavior===void 0?void 0:wt(t.defaultStreamingBehavior,`response`)),...z(`plugins`,Bi(t.plugins)),...z(`pathAccess`,Ni(t.pathAccess)),...z(`uploads`,Fi(t.uploads)),...z(`attachments`,Ii(t.attachments)),...z(`maxUploadBytes`,R(t,`maxUploadBytes`)),...z(`agent`,ji(t.agent)),...z(`spawnSessions`,L(t,`spawnSessions`)),...z(`subsessions`,L(t,`subsessions`)),...z(`askUser`,L(t,`askUser`)),...z(`sessionNaming`,t.sessionNaming===void 0?void 0:Et(t.sessionNaming,`response`)),...z(`sessionArchive`,t.sessionArchive===void 0?void 0:Dt(t.sessionArchive,`response`))}}function ji(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB agent field`);return{...z(`command`,O(e,`command`)),...z(`dir`,O(e,`dir`))}}}function Mi(e){if(e!==void 0){if(e===!0)return!0;if(Li(e))return e;throw Error(`Invalid PI WEB allowedHosts field`)}}function Ni(e){if(e===void 0)return;if(!T(e))throw Error(`Invalid PI WEB pathAccess field`);let t=e.allowedPaths;return{...z(`allowedPaths`,Pi(t,`pathAccess.allowedPaths`))}}function Pi(e,t){if(e!==void 0){if(Ri(e))return e;throw Error(`Invalid PI WEB ${t} field`)}}function Fi(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB uploads field`);return{...z(`defaultFolder`,O(e,`defaultFolder`))}}}function Ii(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB attachments field`);return{...z(`defaultFolder`,O(e,`defaultFolder`))}}}function Li(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Ri(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`&&e!==``)}function zi(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB shortcuts field`);return Object.fromEntries(Object.entries(e).map(([e,t])=>{if(t!==null&&(typeof t!=`string`||t===``))throw Error(`Invalid PI WEB shortcut field`);return[e,t]}))}}function Bi(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB plugins field`);return Object.fromEntries(Object.entries(e).map(([e,t])=>{if(!T(t)||Array.isArray(t))throw Error(`Invalid PI WEB plugin config field`);let n=t.enabled;if(n!==void 0&&typeof n!=`boolean`)throw Error(`Invalid PI WEB plugin enabled field`);let r=t.settings;if(r!==void 0&&(!T(r)||Array.isArray(r)))throw Error(`Invalid PI WEB plugin settings field`);return[e,t]}))}}function Vi(e){let t=E(e);return{host:A(t,`host`),port:A(t,`port`),allowedHosts:A(t,`allowedHosts`),spawnSessions:A(t,`spawnSessions`),subsessions:A(t,`subsessions`),askUser:A(t,`askUser`),agentCommand:L(t,`agentCommand`)??!1,agentDir:L(t,`agentDir`)??!1,...Hi(t),agentSessionDir:L(t,`agentSessionDir`)??!1}}function Hi(e){let t=e.agentDirSource;if(t===void 0)return{};if(t!==`pi-web`&&t!==`pi-compatibility`)throw Error(`Invalid PI WEB agentDirSource field`);return{agentDirSource:t}}function Ui(e){let t=E(e);return{packages:j(Gi)(t.packages),...z(`installableKnownPackages`,Ki(t.installableKnownPackages))}}function Wi(e){let t=E(e),n=O(t,`source`),r=t.scope===void 0?void 0:Ji(t.scope),i=I(t.removed,`removed`);return{action:Yi(t.action),...z(`source`,n),...z(`scope`,r),...z(`removed`,i),packages:j(Gi)(t.packages),...z(`installableKnownPackages`,Ki(t.installableKnownPackages))}}function Gi(e){let t=E(e);return{source:D(t,`source`),scope:Ji(t.scope),filtered:A(t,`filtered`),...z(`installedPath`,O(t,`installedPath`))}}function Ki(e){return e===void 0?void 0:j(qi)(e)}function qi(e){let t=E(e);return{id:D(t,`id`),label:D(t,`label`),description:D(t,`description`),source:D(t,`source`)}}function Ji(e){if(e!==`user`&&e!==`project`)throw Error(`Invalid Pi package scope`);return e}function Yi(e){if(e!==`install`&&e!==`remove`&&e!==`update`)throw Error(`Invalid Pi package mutation action`);return e}function Xi(e){let t=E(e),n=j(Zi)(t.plugins);if(t.lifecycleVersion===void 0)return{lifecycleVersion:2,plugins:n,diagnostics:[],serverRuntime:{status:`incompatible`,terminalMode:`required`,restartRequired:!1,message:f(`ui.main.fe09b19a1f40`,`PI WEB does not support plugin lifecycle diagnostics. Update and restart PI WEB, then try again.`),recovery:ra()}};if(t.lifecycleVersion!==2)throw Error(`Unsupported PI WEB plugin lifecycle version`);return{lifecycleVersion:2,plugins:n,diagnostics:j(ea)(t.diagnostics),serverRuntime:ta(t.serverRuntime)}}function Zi(e){let t=E(e),n=D(t,`id`),r=t.server===void 0?void 0:Qi(t.server,n),i=O(t,`backendRevision`),a=ia(t.pairedRequestVersion),o=ia(t.pairedChannelVersion);if((a!==void 0||o!==void 0)&&i===void 0)throw Error(`Invalid PI WEB plugin paired capability`);let s=I(t.required,`required`);if(s===!1)throw Error(`Invalid PI WEB required plugin marker`);return{id:n,...s===!0?{required:!0}:{},...z(`module`,O(t,`module`)),...i===void 0?{}:{backendRevision:i},...a===void 0?{}:{pairedRequestVersion:a},...o===void 0?{}:{pairedChannelVersion:o},source:D(t,`source`),scope:aa(t.scope),machineSpecific:I(t.machineSpecific,`machineSpecific`)??!1,enabled:A(t,`enabled`),discovered:I(t.discovered,`discovered`)??!0,conflict:I(t.conflict,`conflict`)??!1,...r===void 0?{}:{server:r}}}function Qi(e,t){let n=E(e),r=n.state,i=n.phase;if(r!==`active`&&r!==`failed`&&r!==`incompatible`&&r!==`disabled`&&r!==`missing`&&r!==`unknown`)throw Error(`Invalid PI WEB server plugin state`);if(i!==void 0&&i!==`import`&&i!==`activate`&&i!==`validate`&&i!==`start`&&i!==`health`&&i!==`dispose`)throw Error(`Invalid PI WEB server plugin phase`);let a=n.health===void 0?void 0:$i(n.health),o=D(n,`disableCommand`);if(o!==Xt(t))throw Error(`Invalid PI WEB server plugin recovery command`);return{state:r,...z(`desiredRevision`,O(n,`desiredRevision`)),...z(`activeRevision`,O(n,`activeRevision`)),...i===void 0?{}:{phase:i},...z(`message`,O(n,`message`)),...a===void 0?{}:{health:a},staleRevision:A(n,`staleRevision`),restartRequired:A(n,`restartRequired`),disableCommand:o}}function $i(e){let t=E(e),n=t.status;if(n!==`healthy`&&n!==`degraded`&&n!==`unhealthy`)throw Error(`Invalid PI WEB server plugin health status`);return{status:n,...z(`message`,O(t,`message`))}}function ea(e){let t=E(e),n=t.kind,r=t.snapshot;if(n!==`conflict`&&n!==`discovery`)throw Error(`Invalid PI WEB plugin diagnostic kind`);if(r!==`desired`&&r!==`active`)throw Error(`Invalid PI WEB plugin diagnostic snapshot`);return{kind:n,snapshot:r,source:D(t,`source`),message:D(t,`message`),...z(`pluginId`,O(t,`pluginId`))}}function ta(e){let t=E(e),n=t.status,r=t.terminalMode,i=t.safeStart,a=t.desiredSafeStart;if(n!==`available`&&n!==`unavailable`&&n!==`incompatible`)throw Error(`Invalid PI WEB server-plugin runtime status`);if(r!==`required`&&r!==`recovery-disabled`)throw Error(`Invalid PI WEB Terminal plugin mode`);if(i!==void 0&&i!==`bundled-only`&&i!==`none`)throw Error(`Invalid PI WEB server-plugin safe-start state`);if(a!==void 0&&a!==`off`&&a!==`bundled-only`&&a!==`none`)throw Error(`Invalid desired PI WEB server-plugin safe-start state`);if(n!==`available`&&r===`recovery-disabled`)throw Error(`Unavailable PI WEB runtime cannot declare Terminal recovery mode`);if(i===`none`!=(r===`recovery-disabled`)&&n===`available`)throw Error(`PI WEB Terminal plugin mode does not match safe start`);return{status:n,terminalMode:r,...i===void 0?{}:{safeStart:i},...a===void 0?{}:{desiredSafeStart:a},restartRequired:A(t,`restartRequired`),...z(`message`,O(t,`message`)),recovery:na(t.recovery)}}function na(e){let t=E(e),n={showSafeStart:D(t,`showSafeStart`),bundledOnly:D(t,`bundledOnly`),noServerPlugins:D(t,`noServerPlugins`),clearSafeStart:D(t,`clearSafeStart`)};if(n.showSafeStart!==Yt.showSafeStart||n.bundledOnly!==Yt.bundledOnly||n.noServerPlugins!==Yt.noServerPlugins||n.clearSafeStart!==Yt.clearSafeStart)throw Error(`Invalid PI WEB server plugin recovery commands`);return n}function ra(){return{...Yt}}function ia(e){if(e!==void 0){if(e!==1)throw Error(`Invalid PI WEB plugin paired capability version`);return 1}}function aa(e){if(e!==`bundled`&&e!==`local`&&e!==`user`&&e!==`project`)throw Error(`Invalid PI WEB plugin scope`);return e}function I(e,t){if(e!==void 0){if(typeof e!=`boolean`)throw Error(`Expected optional boolean field: ${t}`);return e}}function oa(e){let t=E(e);return{packageName:D(t,`packageName`),generatedAt:D(t,`generatedAt`),components:ca(t.components),release:pa(t.release),commands:ma(t.commands),messages:j(ha)(t.messages)}}function sa(e){let t=E(e);return{packageName:D(t,`packageName`),generatedAt:D(t,`generatedAt`),components:la(t.components),capabilities:_a(t.capabilities)}}function ca(e){let t=E(e);return{web:da(t.web),sessiond:da(t.sessiond)}}function la(e){let t=E(e);return{web:ua(t.web),sessiond:ua(t.sessiond)}}function ua(e){let t=E(e),n=ga(t.component),r=t.activeAgentProfile,i=r===void 0?void 0:kt(r);if(r!==void 0&&(n!==`sessiond`||i===void 0))throw Error(`Invalid active agent profile descriptor`);return{component:n,label:D(t,`label`),...z(`runtimeVersion`,O(t,`runtimeVersion`)),...z(`piVersion`,O(t,`piVersion`)),available:A(t,`available`),capabilities:_a(t.capabilities),...z(`activeAgentProfile`,i),...z(`deprecatedAgentInputs`,Rt(t.deprecatedAgentInputs)),...z(`error`,O(t,`error`))}}function da(e){let t=E(e);return{component:ga(t.component),label:D(t,`label`),...z(`runtimeVersion`,O(t,`runtimeVersion`)),...z(`installedVersion`,O(t,`installedVersion`)),...z(`piVersion`,O(t,`piVersion`)),stale:A(t,`stale`),available:A(t,`available`),...z(`installation`,fa(t.installation)),...z(`error`,O(t,`error`))}}function fa(e){if(e===void 0)return;let t=E(e),n=D(t,`kind`);if(n!==`pi-package`&&n!==`npm-global`&&n!==`local`&&n!==`docker`&&n!==`unknown`)throw Error(`Invalid PI WEB installation kind`);let r=t.scope;if(r!==void 0&&r!==`user`&&r!==`project`)throw Error(`Invalid PI WEB installation scope`);let i=t.dockerMode;if(i!==void 0&&i!==`runtime`&&i!==`dev`)throw Error(`Invalid PI WEB Docker mode`);return{kind:n,...z(`path`,O(t,`path`)),...z(`source`,O(t,`source`)),...r===void 0?{}:{scope:r},...z(`npmRoot`,O(t,`npmRoot`)),...i===void 0?{}:{dockerMode:i}}}function pa(e){let t=E(e);return{packageName:D(t,`packageName`),...z(`latestVersion`,O(t,`latestVersion`)),updateAvailable:A(t,`updateAvailable`),...z(`checkedAt`,O(t,`checkedAt`)),...t.skipped===!0?{skipped:!0}:{},...z(`error`,O(t,`error`))}}function ma(e){let t=E(e);return{...z(`update`,O(t,`update`)),...z(`restart`,O(t,`restart`)),...z(`restartWeb`,O(t,`restartWeb`)),...z(`restartSessiond`,O(t,`restartSessiond`)),...z(`status`,O(t,`status`))}}function ha(e){let t=E(e);return{id:D(t,`id`),severity:va(t.severity),title:D(t,`title`),body:D(t,`body`),...z(`command`,O(t,`command`))}}function ga(e){if(e!==`web`&&e!==`sessiond`)throw Error(`Invalid PI WEB service component`);return e}function _a(e){let t=Lt(e);if(t===void 0)throw Error(`Invalid PI WEB capabilities`);return t}function va(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid PI WEB status severity`);return e}function ya(e){let t=E(e),n=D(t,`type`);if(n===`unsupported`)return{type:n,message:D(t,`message`)};if(n===`select`)return{type:n,requestId:D(t,`requestId`),title:D(t,`title`),options:j(ka)(t.options)};if(n===`tree`)return{type:n,tree:ba(t.tree)};if(n===`done`)return{type:n,...z(`message`,O(t,`message`)),...Aa(t.session),...z(`promptDraft`,O(t,`promptDraft`))};throw Error(`Invalid command result type`)}function ba(e){let t=E(e),n=j(xa)(t.nodes),r=new Set(n.map(e=>e.id));if(r.size!==n.length)throw Error(`Duplicate session tree node id`);let i=Ea(t,`activeLeafId`);if(i!==null&&!r.has(i))throw Error(`Invalid session tree activeLeafId`);return{nodes:n,activeLeafId:i,activePathIds:Oa(t.activePathIds,`activePathIds`)}}function xa(e){let t=E(e);return{id:Da(t,`id`),parentId:Ea(t,`parentId`),kind:Sa(t.kind),summary:D(t,`summary`),...z(`timestamp`,O(t,`timestamp`)),...z(`label`,O(t,`label`))}}function Sa(e){switch(e){case`user`:case`assistant`:case`tool-result`:case`bash`:case`custom-message`:case`compaction`:case`branch-summary`:case`model-change`:case`thinking-level-change`:case`session-info`:case`label`:case`custom`:case`other`:return e;default:throw Error(`Invalid session tree node kind`)}}function Ca(e){let t=E(e),n=A(t,`cancelled`);if(Object.hasOwn(t,`summaryEntry`))throw Error(`Invalid session tree navigation result field: summaryEntry`);if(n){Ta(t,`editorText`,`session tree cancellation result`);let e=t.aborted;if(e!==void 0&&typeof e!=`boolean`)throw Error(`Expected optional boolean field: aborted`);return{cancelled:n,...e===void 0?{}:{aborted:e}}}return Ta(t,`aborted`,`session tree navigation result`),{cancelled:n,...z(`editorText`,O(t,`editorText`))}}function wa(e){let t=E(e),n=A(t,`cancelled`);return n?(Ta(t,`session`,`session tree fork cancellation result`),Ta(t,`promptDraft`,`session tree fork cancellation result`),{cancelled:n}):{cancelled:n,session:xn(t.session),...z(`promptDraft`,O(t,`promptDraft`))}}function Ta(e,t,n){if(Object.hasOwn(e,t))throw Error(`Invalid ${n} field: ${t}`)}function Ea(e,t){let n=e[t];if(n!==null&&typeof n!=`string`)throw Error(`Expected string or null field: ${t}`);if(typeof n==`string`&&n.trim()===``)throw Error(`Expected non-blank string or null field: ${t}`);return n}function Da(e,t){let n=D(e,t);if(n.trim()===``)throw Error(`Expected non-blank string field: ${t}`);return n}function Oa(e,t){let n=Qt(e,t);if(n.some(e=>e.trim()===``))throw Error(`Expected non-blank string array field: ${t}`);return n}function ka(e){let t=E(e);return{value:D(t,`value`),label:D(t,`label`),...z(`description`,O(t,`description`))}}function Aa(e){return e===void 0?{}:{session:xn(e)}}function ja(e){if(E(e).accepted!==!0)throw Error(`Expected accepted response`);return{accepted:!0}}function Ma(e){let t=E(e);return j(Na)(t.attachments)}function Na(e){let t=E(e);return{path:D(t,`path`),mimeType:D(t,`mimeType`),size:k(t,`size`)}}function Pa(e){if(E(e).closed!==!0)throw Error(`Expected closed response`);return{closed:!0}}function Fa(e){if(E(e).aborted!==!0)throw Error(`Expected aborted response`);return{aborted:!0}}function Ia(e){if(E(e).stopped!==!0)throw Error(`Expected stopped response`);return{stopped:!0}}function La(e){let t=E(e);if(t.archived!==!0)throw Error(`Expected archived response`);let n=t.sessionIds===void 0?void 0:Qt(t.sessionIds,`sessionIds`),r=R(t,`archivedCount`),i=R(t,`skippedAlreadyArchivedCount`);return{archived:!0,...n===void 0?{}:{sessionIds:n},...r===void 0?{}:{archivedCount:r},...i===void 0?{}:{skippedAlreadyArchivedCount:i}}}function Ra(e){if(E(e).restored!==!0)throw Error(`Expected restored response`);return{restored:!0}}function za(e){if(E(e).deleted!==!0)throw Error(`Expected deleted response`);return{deleted:!0}}function Ba(e){if(E(e).detached!==!0)throw Error(`Expected detached response`);return{detached:!0}}function Va(e){if(E(e).reloaded!==!0)throw Error(`Expected reloaded response`);return{reloaded:!0}}function L(e,t){let n=e[t];if(n!==void 0){if(typeof n!=`boolean`)throw Error(`Invalid PI WEB ${t} field`);return n}}function R(e,t){let n=e[t];if(n!==void 0){if(typeof n!=`number`)throw Error(`Expected optional number field: ${t}`);return n}}function Ha(e,t){let n=e[t];if(n===null)return null;if(typeof n!=`number`)throw Error(`Expected number|null field: ${t}`);return n}function z(e,t){return t===void 0?{}:{[e]:t}}function Ua(e){let t=E(e);switch(t.type){case`message.append`:return{type:`message.append`,message:Ga(t,`message`)};case`assistant.start`:return{type:`assistant.start`,message:Ga(t,`message`)};case`assistant.delta`:return{type:`assistant.delta`,text:D(t,`text`),...z(`streamId`,O(t,`streamId`))};case`assistant.thinking.delta`:return{type:`assistant.thinking.delta`,text:D(t,`text`),...z(`streamId`,O(t,`streamId`))};case`tool.start`:return{type:`tool.start`,toolName:D(t,`toolName`),toolCallId:D(t,`toolCallId`),summary:D(t,`summary`),...z(`args`,t.args)};case`tool.update`:return{type:`tool.update`,toolName:D(t,`toolName`),toolCallId:D(t,`toolCallId`),text:D(t,`text`),...z(`content`,t.content),...z(`details`,t.details)};case`tool.end`:return{type:`tool.end`,toolName:D(t,`toolName`),toolCallId:D(t,`toolCallId`),text:D(t,`text`),isError:A(t,`isError`),...z(`content`,t.content),...z(`details`,t.details)};case`shell.start`:return{type:`shell.start`,command:D(t,`command`),...z(`excludeFromContext`,I(t.excludeFromContext,`excludeFromContext`))};case`shell.chunk`:return{type:`shell.chunk`,chunk:D(t,`chunk`)};case`shell.end`:return{type:`shell.end`,...z(`output`,O(t,`output`)),...z(`exitCode`,Ka(t,`exitCode`)),...z(`cancelled`,I(t.cancelled,`cancelled`)),...z(`truncated`,I(t.truncated,`truncated`)),...z(`fullOutputPath`,O(t,`fullOutputPath`)),...z(`isError`,I(t.isError,`isError`))};case`agent.start`:return{type:`agent.start`};case`agent.end`:return{type:`agent.end`};case`message.end`:return{type:`message.end`,...z(`message`,t.message)};case`status.update`:return{type:`status.update`,status:M(t.status)};case`activity.update`:return{type:`activity.update`,activity:ir(t.activity)};case`command.output`:return qa(t);case`session.error`:return{type:`session.error`,message:D(t,`message`)};case`session.diagnostic`:return{type:`session.diagnostic`,message:D(t,`message`)};case`session.name`:return Ja(t);case`session.created`:return{type:`session.created`,session:xn(t.session)};case`session.tree.changed`:return{type:`session.tree.changed`};case`pi.event`:return{type:`pi.event`,eventType:D(t,`eventType`)};default:throw Error(`Unsupported session stream event type`)}}function Wa(e){let t=E(e);switch(t.type){case`status.update`:return{type:`status.update`,status:M(t.status)};case`activity.update`:return{type:`activity.update`,activity:ir(t.activity)};case`session.name`:return Ja(t);case`session.created`:return{type:`session.created`,session:xn(t.session)};case`models.changed`:return gr(t);case`workspaces.changed`:return{type:`workspaces.changed`,projectId:P(t,`projectId`)};case`notices.updated`:return hr(t);case`machine.status`:return{type:`machine.status`,status:Oi(t.status)};default:throw Error(`Unsupported realtime stream event type`)}}function Ga(e,t){let n=e[t];if(n===void 0)throw Error(`Expected field: ${t}`);return n}function Ka(e,t){let n=e[t];if(n!==void 0){if(n===null)return null;if(typeof n!=`number`)throw Error(`Expected optional number|null field: ${t}`);return n}}function qa(e){let t=D(e,`level`);if(t!==`info`&&t!==`success`&&t!==`error`)throw Error(`Invalid command output level`);return{type:`command.output`,level:t,message:D(e,`message`),...z(`notificationId`,O(e,`notificationId`))}}function Ja(e){return{type:`session.name`,sessionId:P(e,`sessionId`),...z(`name`,O(e,`name`))}}function Ya(e){let t=E(e),n=t.decision;if(n!==!0&&n!==!1&&n!==null)throw Error(`Invalid workspace trust decision`);return{path:D(t,`path`),decision:n,trusted:A(t,`trusted`)}}function Xa(e,t){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0&&typeof t==`number`&&Number.isSafeInteger(t)&&t>0?{width:e,height:t}:void 0}var Za=`reference`;function Qa(e){return typeof e==`string`&&/^[0-9a-f]{64}$/u.test(e)}function $a(e,t,n,r){let i=new URLSearchParams({cwd:e.cwd});return n?.limit!==void 0&&i.set(`limit`,String(n.limit)),n?.before!==void 0&&i.set(`before`,String(n.before)),i.set(`media`,Za),`api/machines/${encodeURIComponent(r)}/sessions/${encodeURIComponent(e.id)}/${t}?${i.toString()}`}function eo(e,t,n=`local`){return $a(e,`messages`,t,n)}function to(e,t,n=`local`){return $a(e,`transcript-snapshot`,t,n)}function no(e,t=`local`){return $a(e,`stream-snapshot`,void 0,t)}function ro(e,t=`local`){return $a(e,`events`,void 0,t)}function io(e,t,n=`local`){let r=new URLSearchParams({cwd:e.cwd}),i=`api/machines/${encodeURIComponent(n)}/sessions/${encodeURIComponent(e.id)}/media/${encodeURIComponent(t)}?${r.toString()}`,a=h(i);return new URL(se(a),a).href}function ao(e,t,n,r){let i=new URLSearchParams({path:n});r?.createDirs===!1&&i.set(`createDirs`,`false`),r?.overwrite===!1&&i.set(`overwrite`,`false`);let a=`api/machines/${encodeURIComponent(r?.machineId??`local`)}`;return h(se(`${a}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${i.toString()}`))}function oo(e,t,n,r){let i=new URLSearchParams;i.set(`path`,n),r?.modifiedAt!==void 0&&i.set(`v`,r.modifiedAt),r?.download===!0&&i.set(`download`,`1`);let a=`api/machines/${encodeURIComponent(r?.machineId??`local`)}`;return se(`${a}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/preview?${i.toString()}`)}function so(e,t,n,r){return h(oo(e,t,n,r))}function co(e,t,n,r){return so(e,t,n,{...r,download:!0})}var B=(e=`local`)=>`api/machines/${encodeURIComponent(e)}`,lo={projectTrust:(e,t=`local`)=>w(`${B(t)}/projects/trust?${new URLSearchParams({path:e})}`,Ya),workspaceTrust:(e,t,n=`local`)=>w(`${B(n)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/trust`,Ya),setWorkspaceTrust:(e,t,n,r=`local`)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/trust`,Ya,{method:`PUT`,body:JSON.stringify({trusted:n})})};function uo(e,t=`local`){return`${B(t)}/sessions/${encodeURIComponent(e.id)}`}function V(e,t,n=`local`){return`${uo(e,n)}/${t}`}function fo(e,t,n=`local`){return`${V(e,t,n)}${mo(e)}`}function po(e,t=`local`,n){return`${uo(e,t)}${mo(e,n===void 0?{}:{scopeProjectId:n})}`}function mo(e,t={}){return`?${new URLSearchParams({cwd:e.cwd,...t}).toString()}`}function H(e,t={}){return JSON.stringify({cwd:e.cwd,...t})}function ho(e,t){let n={sessions:e.map(({id:e,cwd:t})=>({id:e,cwd:t})),...t===void 0?{}:{scopeProjectId:t}};return JSON.stringify(n)}function go(e,t){let n=new URLSearchParams;t.projectId!==void 0&&n.set(`projectId`,t.projectId);let r=n.toString();return`${B(t.machineId)}/auth/${e}${r===``?``:`?${r}`}`}function _o(e){return e===`local`?`api/pi-web/status`:`${B(e)}/pi-web/status`}var vo={piWebStatus:(e=`local`)=>w(_o(e),oa),checkForUpdates:(e=`local`)=>w(`${_o(e)}?refresh=1`,oa,{cache:`no-store`}),piWebRuntime:()=>w(`api/pi-web/runtime`,sa)},yo={machines:()=>w(`api/machines`,en),addMachine:e=>w(`api/machines`,tn,{method:`POST`,body:JSON.stringify(e)}),deleteMachine:e=>w(`api/machines/${encodeURIComponent(e)}`,e=>e,{method:`DELETE`}),health:e=>w(`api/machines/${encodeURIComponent(e)}/health`,nn),runtime:(e,t=!1)=>w(`api/machines/${encodeURIComponent(e)}/runtime${t?`?refresh=1`:``}`,rn,t?{cache:`no-store`}:{})};function bo(e){return e===void 0?`api/config`:`${B(e)}/config`}function xo(e){return e===void 0?`api/plugins`:`${B(e)}/plugins`}var So={namingModels:e=>{let t=new URLSearchParams;e.projectId!==void 0&&t.set(`projectId`,e.projectId);let n=t.toString();return w(`${B(e.machineId)}/models${n===``?``:`?${n}`}`,Wr)},config:e=>w(bo(e),ki),saveConfig:(e,t)=>w(bo(t),ki,{method:`PUT`,body:JSON.stringify({config:e})})},Co={status:()=>w(`api/normal-auth/status`,Sn),setup:e=>w(`api/normal-auth/setup`,ja,{method:`POST`,body:JSON.stringify({password:e})}),login:e=>w(`api/normal-auth/login`,ja,{method:`POST`,body:JSON.stringify({password:e})}),changePassword:(e,t)=>w(`api/normal-auth/change-password`,ja,{method:`POST`,body:JSON.stringify({currentPassword:e,newPassword:t})})},wo={plugins:e=>w(xo(e),Xi)};function To(e=``,t){let n=t===void 0?`api/pi-packages`:`${B(t)}/pi-packages`;return e===``?n:`${n}/${e}`}var Eo={packages:e=>w(To(``,e),Ui),install:(e,t)=>{let n={source:e};return w(To(`install`,t),Wi,{method:`POST`,body:JSON.stringify(n)})},remove:(e,t,n)=>{let r=t===void 0?{source:e}:{source:e,scope:t};return w(To(`remove`,n),Wi,{method:`POST`,body:JSON.stringify(r)})},update:(e,t)=>{let n=e===void 0?void 0:{source:e};return w(To(`update`,t),Wi,{method:`POST`,...n===void 0?{}:{body:JSON.stringify(n)}})}},Do={workspaceActivity:(e=`local`)=>w(`${B(e)}/activity`,Di)},Oo={machineStatus:(e=`local`)=>w(`${B(e)}/status`,Oi)},ko={snapshot:(e=`local`)=>w(`${B(e)}/notices`,mr,{cache:`no-store`}),dismiss:(e,t,n)=>{let r={daemonInstanceId:t,noticeId:n};return w(`${B(e)}/notices/dismiss`,mr,{method:`POST`,body:JSON.stringify(r)})}},Ao={projects:(e=`local`)=>w(`${B(e)}/projects`,j(cn)),addProject:(e,t,n,r=`local`)=>w(`${B(r)}/projects`,cn,{method:`POST`,body:JSON.stringify({path:e,name:t,create:n})}),closeProject:(e,t=`local`)=>w(`${B(t)}/projects/${encodeURIComponent(e)}`,Pa,{method:`DELETE`}),projectDirectories:(e,t=`local`)=>w(`${B(t)}/project-directories?q=${encodeURIComponent(e)}`,j(fi))};function jo(e,t,n,r,i,a=`local`){let o=new URLSearchParams({path:n});i?.createDirs===!1&&o.set(`createDirs`,`false`),i?.overwrite===!1&&o.set(`overwrite`,`false`);let s=r instanceof Uint8Array,c=s?new Uint8Array(r):new TextEncoder().encode(r);return w(`${B(a)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${o.toString()}`,vi,{method:`PUT`,body:c,headers:{"Content-Type":s?`application/octet-stream`:`text/plain`}})}function Mo(e,t=`local`,n){return w(`${B(t)}/projects/${encodeURIComponent(e)}/workspaces`,t=>{let n=un(t);if(n.projectId!==e)throw Error(`Workspace resolution project does not match request`);return n},n?.signal===void 0?void 0:{signal:n.signal})}var No={workspaceResolution:Mo,workspaces:async(e,t=`local`,n)=>pe()===`management`?w(`${B(t)}/projects/${encodeURIComponent(e)}/workspaces`,j(ln),n?.signal===void 0?void 0:{signal:n.signal}):[...(await Mo(e,t,n)).workspaces],deleteWorkspace:(e,t,n,r=`local`)=>{let i={precondition:n};return w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}`,e=>e,{method:`DELETE`,body:JSON.stringify(i)})},workspaceTree:(e,t,n=``,r=`local`,i)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/tree?path=${encodeURIComponent(n)}`,pi,i),workspaceTreeBatch:(e,t,n,r=`local`)=>{let i={paths:[...n]};return w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/tree/batch`,mi,{method:`POST`,body:JSON.stringify(i)})},workspaceFile:(e,t,n,r=`local`,i)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}`,_i,i),optionalWorkspaceFile:(e,t,n,r=`local`)=>gt(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}&optional=true`,_i),createWorkspaceFile:(e,t,n,r=`local`)=>jo(e,t,n,new Uint8Array,void 0,r),writeWorkspaceFile:jo,deleteWorkspaceFile:(e,t,n,r=`local`)=>{let i=new URLSearchParams({path:n});return w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${i.toString()}`,yi,{method:`DELETE`})},moveWorkspaceFile:(e,t,n,r,i,a=`local`)=>{let o=new URLSearchParams({fromPath:n,toPath:r});return i?.createDirs===!1&&o.set(`createDirs`,`false`),i?.overwrite===!0&&o.set(`overwrite`,`true`),w(`${B(a)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/move?${o.toString()}`,bi,{method:`POST`})},createWorkspaceDirectory:(e,t,n,r=`local`)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/directory`,Cn,{method:`POST`,body:JSON.stringify({path:n})}),moveWorkspaceDirectory:(e,t,n,r,i=`local`)=>w(`${B(i)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/directory`,Cn,{method:`PATCH`,body:JSON.stringify({fromPath:n,toPath:r})}),deleteWorkspaceDirectory:(e,t,n,r=`local`)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/directory?path=${encodeURIComponent(n)}`,wn,{method:`DELETE`}),downloadWorkspaceFile:(e,t,n,r=`local`)=>Ho(e,t,n,r)},Po={sessions:(e,t=`local`,n)=>w(`${B(t)}/sessions?cwd=${encodeURIComponent(e)}`,j(xn),n?.signal===void 0?void 0:{signal:n.signal}),search:(e,t,n=`local`)=>w(`${B(n)}/sessions/search?${new URLSearchParams({cwd:e,q:t}).toString()}`,j(xn)),searchContent:(e,t,n=`local`)=>w(`${B(n)}/sessions/search-content?${new URLSearchParams({cwd:e,q:t}).toString()}`,Dn),pinned:(e,t=`local`)=>w(`${B(t)}/sessions/pins?cwd=${encodeURIComponent(e)}`,Tn),pin:(e,t=`local`)=>w(`${uo(e,t)}/pin`,En,{method:`PUT`,body:H(e)}),unpin:(e,t=`local`)=>w(`${uo(e,t)}/pin${mo(e)}`,En,{method:`DELETE`}),unreadCatalog:(e=`local`)=>w(`${B(e)}/sessions/unread`,tr,{cache:`no-store`}),acknowledgeUnread:(e,t,n,r=`local`)=>{let i={cwd:e.cwd,catalogId:t,throughCompletionOrder:n};return w(V(e,`unread/acknowledge`,r),tr,{method:`POST`,body:JSON.stringify(i)})},notificationInbox:(e,t=`local`)=>w(fo(e,`notifications`,t),fr),dismissNotification:(e,t,n,r=`local`)=>w(V(e,`notifications/dismiss`,r),fr,{method:`POST`,body:H(e,{daemonInstanceId:t,notificationId:n})}),dismissAllNotifications:(e,t,n,r=`local`)=>w(V(e,`notifications/dismiss-all`,r),fr,{method:`POST`,body:H(e,{daemonInstanceId:t,throughOrder:n.order,throughOverflowWatermark:n.overflowWatermark})}),startSession:(e,t=`local`,n)=>w(`${B(t)}/sessions`,xn,{method:`POST`,body:JSON.stringify(n===void 0?{cwd:e}:{cwd:e,startupToken:n})}),cleanupPreview:(e,t=`local`)=>w(`${B(t)}/sessions/cleanup/preview`,Mr,{method:`POST`,body:JSON.stringify(e)}),cleanup:(e,t=`local`)=>w(`${B(t)}/sessions/cleanup`,Nr,{method:`POST`,body:JSON.stringify(e)}),archiveMany:(e,t=`local`,n)=>w(`${B(t)}/sessions/bulk/archive`,Pr,{method:`POST`,body:ho(e,n)}),deleteArchivedMany:(e,t=`local`,n)=>w(`${B(t)}/sessions/bulk/delete-archived`,Fr,{method:`POST`,body:ho(e,n)}),messages:(e,t,n=`local`)=>w(eo(e,t,n),$t),status:(e,t=`local`)=>w(fo(e,`status`,t),M),streamSnapshot:(e,t=`local`)=>w(no(e,t),$n),transcriptSnapshot:(e,t,n=`local`)=>w(to(e,t,n),er),models:(e,t=`local`)=>w(fo(e,`models`,t),Wr),modelCatalog:(e,t=`local`)=>w(fo(e,`models/catalog`,t),Kr),setModelEnabled:(e,t,n,r,i=`local`)=>w(V(e,`models/enabled`,i),Kr,{method:`POST`,body:H(e,{provider:t,modelId:n,enabled:r})}),setModelScope:(e,t,n=`local`)=>w(V(e,`models/scope`,n),Kr,{method:`POST`,body:H(e,{mode:t})}),setModel:(e,t,n,r=`local`)=>w(V(e,`model`,r),M,{method:`POST`,body:H(e,{provider:t,modelId:n})}),cycleModel:(e,t,n=`local`)=>w(V(e,`model/cycle`,n),M,{method:`POST`,body:H(e,{direction:t})}),getSessionDefaults:(e,t=`local`)=>w(fo(e,`defaults`,t),ut),setSessionDefaults:(e,t,n=`local`)=>w(V(e,`defaults`,n),ut,{method:`POST`,body:H(e,{...t})}),thinkingLevels:(e,t=`local`)=>w(fo(e,`thinking-levels`,t),Jr),setThinkingLevel:(e,t,n=`local`)=>w(V(e,`thinking-level`,n),M,{method:`POST`,body:H(e,{level:t})}),cycleThinkingLevel:(e,t=`local`)=>w(V(e,`thinking-level/cycle`,t),M,{method:`POST`,body:H(e)}),commands:(e,t=`local`)=>w(fo(e,`commands`,t),j(di)),prompt:(e,t,n,r=`local`,i)=>w(V(e,`prompt`,r),ja,{method:`POST`,body:H(e,{text:t,...n===void 0?{}:{streamingBehavior:n},...i!==void 0&&i.length>0?{attachments:i}:{}})}),saveAttachments:(e,t,n=`local`,r)=>w(V(e,`attachments`,n),Ma,{method:`POST`,body:H(e,{attachments:t,...r===void 0?{}:{folder:r}})}),shell:(e,t,n=`local`)=>w(V(e,`shell`,n),ja,{method:`POST`,body:H(e,{text:t})}),runCommand:(e,t,n=`local`)=>w(V(e,`commands/run`,n),ya,{method:`POST`,body:H(e,{text:t})}),respondToCommand:(e,t,n,r=`local`)=>w(V(e,`commands/respond`,r),ya,{method:`POST`,body:H(e,{requestId:t,value:n})}),navigateTree:(e,t,n=`local`)=>w(V(e,`tree/navigate`,n),Ca,{method:`POST`,body:H(e,{targetId:t.targetId,expectedLeafId:t.expectedLeafId,summary:t.summary,...t.retainCheckpoint===void 0?{}:{retainCheckpoint:t.retainCheckpoint}})}),forkTree:(e,t,n=`local`)=>Ro(e,t,n),abort:(e,t=`local`)=>w(V(e,`abort`,t),Fa,{method:`POST`,body:H(e)}),stop:(e,t=`local`)=>w(V(e,`stop`,t),Ia,{method:`POST`,body:H(e)}),archive:(e,t=`local`,n)=>w(V(e,`archive`,t),La,{method:`POST`,body:H(e,n===void 0?{}:{scopeProjectId:n})}),archiveWithDescendants:(e,t=`local`,n)=>w(V(e,`archive-tree`,t),La,{method:`POST`,body:H(e,n===void 0?{}:{scopeProjectId:n})}),restore:(e,t=`local`,n)=>w(V(e,`restore`,t),Ra,{method:`POST`,body:H(e,n===void 0?{}:{scopeProjectId:n})}),deleteArchived:(e,t=`local`,n)=>w(po(e,t,n),za,{method:`DELETE`}),detachParent:(e,t=`local`)=>w(V(e,`detach-parent`,t),Ba,{method:`POST`,body:H(e)}),reloadSession:(e,t=`local`)=>w(V(e,`reload`,t),Va,{method:`POST`,body:H(e)}),clearQueue:(e,t=`local`)=>w(V(e,`queue/clear`,t),M,{method:`POST`,body:H(e)}),mutateQueuedMessage:(e,t,n=`local`)=>w(V(e,`queue/message`,n),M,{method:`POST`,body:H(e,{...t})}),dismissWarning:(e,t,n=`local`)=>w(V(e,`warnings/dismiss`,n),M,{method:`POST`,body:H(e,{dismissId:t})}),submitAsk:(e,t,n,r=`local`)=>w(V(e,`ask/submit`,r),M,{method:`POST`,body:H(e,{askId:t,answers:n.answers})}),cancelAsk:(e,t,n=`local`)=>w(V(e,`ask/cancel`,n),M,{method:`POST`,body:H(e,{askId:t})}),answerDialog:(e,t,n,r=`local`)=>w(V(e,`dialogs/answer`,r),Vn,{method:`POST`,body:H(e,{dialogId:t,value:n})}),cancelDialog:(e,t,n=`local`)=>w(V(e,`dialogs/cancel`,n),Vn,{method:`POST`,body:H(e,{dialogId:t})}),authProviders:e=>{let t=new URLSearchParams;e.mode!==void 0&&t.set(`mode`,e.mode),e.authType!==void 0&&t.set(`authType`,e.authType),e.projectId!==void 0&&t.set(`projectId`,e.projectId);let n=t.toString();return w(`${B(e.machineId)}/auth/providers${n===``?``:`?${n}`}`,$r)},saveApiKey:(e,t,n)=>w(go(`api-key`,n),ja,{method:`POST`,body:JSON.stringify({providerId:e,key:t})}),startInteractiveApiKeyLogin:(e,t)=>w(go(`api-key/interactive`,t),ti,{method:`POST`,body:JSON.stringify({providerId:e})}),logoutProvider:(e,t)=>w(go(`logout`,t),ja,{method:`POST`,body:JSON.stringify({providerId:e})}),mcpAuthServers:(e,t=`local`)=>w(fo(e,`mcp/auth/servers`,t),ei),startMcpAuth:(e,t,n=`local`,r)=>w(V(e,`mcp/auth`,n),ti,{method:`POST`,body:H(e,{mode:t,...r===void 0?{}:{serverName:r}})}),mcpAuthFlow:(e,t=`local`)=>w(`${B(t)}/auth/mcp/${encodeURIComponent(e)}`,ti),respondMcpAuthFlow:(e,t,n,r=`local`)=>w(`${B(r)}/auth/mcp/${encodeURIComponent(e)}/respond`,ti,{method:`POST`,body:JSON.stringify({requestId:t,value:n})}),cancelMcpAuthFlow:(e,t=`local`)=>w(`${B(t)}/auth/mcp/${encodeURIComponent(e)}/cancel`,ti,{method:`POST`}),startOAuthLogin:(e,t)=>w(go(`oauth`,t),ti,{method:`POST`,body:JSON.stringify({providerId:e})}),oauthFlow:(e,t)=>w(go(`oauth/${encodeURIComponent(e)}`,t),ti),respondOAuthFlow:(e,t,n,r)=>w(go(`oauth/${encodeURIComponent(e)}/respond`,r),ti,{method:`POST`,body:JSON.stringify({requestId:t,value:n})}),cancelOAuthFlow:(e,t)=>w(go(`oauth/${encodeURIComponent(e)}/cancel`,t),ti,{method:`POST`})},Fo={runTerminalCommand:(e,t,n=`local`)=>w(`${B(n)}/projects/${encodeURIComponent(t.workspace.projectId)}/workspaces/${encodeURIComponent(t.workspace.id)}/terminal-command-runs`,Ci,{method:`POST`,body:JSON.stringify({origin:e,title:t.title,command:t.command,metadata:t.metadata??{}})}),listCommandRuns:(e,t=`local`,n)=>w(`${B(t)}/terminal-command-runs${Bo(e)}`,j(Ci),n?.signal===void 0?void 0:{signal:n.signal}),getCommandRun:(e,t=`local`)=>Io(e,t),cancelCommandRun:(e,t=`local`)=>w(`${B(t)}/terminal-command-runs/${encodeURIComponent(e)}/cancel`,Ci,{method:`POST`})};async function Io(e,t){return gt(`${B(t)}/terminal-command-runs/${encodeURIComponent(e)}`,Ci)}var Lo=class extends Error{constructor(){super(f(`ui.main.8501d1e756a4`,`Fork from the session tree is unavailable. Restart the session daemon to enable it.`)),this.name=`SessionTreeForkUnavailableError`}};async function Ro(e,t,n){let r=await fetch(ht(V(e,`tree/fork`,n)),{method:`POST`,headers:{"content-type":`application/json`},body:H(e,{entryId:t.entryId,expectedLeafId:t.expectedLeafId,...t.retainCheckpoint===void 0?{}:{retainCheckpoint:t.retainCheckpoint}})});if(!r.ok){let e=await r.json().catch(()=>({}));throw zo(r.status,e)?new Lo:Error(Vo(e)??r.statusText)}return wa(await r.json())}function zo(e,t){if(e!==404||!Uo(t)||t.statusCode!==404||t.error!==`Not Found`)return!1;let n=t.message;return typeof n==`string`&&/^Route POST:.*\/tree\/fork not found$/i.test(n)}function Bo(e){if(e===void 0)return``;let t=new URLSearchParams;e.projectId!==void 0&&t.set(`projectId`,e.projectId),e.workspaceId!==void 0&&t.set(`workspaceId`,e.workspaceId),e.terminalId!==void 0&&t.set(`terminalId`,e.terminalId),e.statuses!==void 0&&e.statuses.length>0&&t.set(`statuses`,e.statuses.join(`,`)),e.metadata!==void 0&&Object.keys(e.metadata).length>0&&t.set(`metadata`,JSON.stringify(e.metadata));let n=t.toString();return n===``?``:`?${n}`}function Vo(e){if(!Uo(e))return;let t=e.error;return typeof t==`string`?t:void 0}async function Ho(e,t,n,r){let i=await fetch(co(e,t,n,{machineId:r}));if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(Vo(e)??i.statusText)}let a=await i.blob(),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o;let c=n.split(`/`).pop();s.download=c===void 0||c===``?`download`:c,document.body.append(s),s.click(),s.remove(),URL.revokeObjectURL(o)}function Uo(e){return typeof e==`object`&&!!e}var Wo={files:(e,t,n={})=>{let r=typeof t==`string`,i=r?e:``,a=r?t:e,o=r?n:t,s=new URLSearchParams({q:a});if(o.kind!==void 0&&s.set(`kind`,o.kind),o.mode!==void 0&&s.set(`mode`,o.mode),o.scope!==void 0&&s.set(`scope`,o.scope),(!r||o.workspaceScoped===!0)&&o.projectId!==void 0&&o.workspaceId!==void 0)return w(`${B(o.machineId)}/projects/${encodeURIComponent(o.projectId)}/workspaces/${encodeURIComponent(o.workspaceId)}/files?${s.toString()}`,j(fi),{signal:o.signal??null});if(!r)throw Error(`File suggestions require a project and workspace`);return s.set(`cwd`,i),w(`${B(o.machineId)}/files?${s.toString()}`,j(fi),{signal:o.signal??null})}},Go={...vo,...yo,...ko,...So,...Co,...wo,...Eo,...Do,...Oo,...Ao,...lo,...No,...Po,...Wo,...Fo},Ko=`.pi-web/uploads`,qo=class extends Error{constructor(e=f(`client.workspaceUploads.workspace.upload.cancelled.ac6723`,`Workspace upload cancelled`)){super(e),this.name=`WorkspaceUploadCancelledError`}};function Jo(e){return e?.uploads?.defaultFolder??`.pi-web/uploads`}function Yo(e,t){return e?.uploads?.defaultFolder??t}function Xo(e,t){let n=ts(e,f(`client.workspaceUploads.upload.destination.874cbb`,`Upload destination`),{allowEmpty:!0}),r=ts(t,f(`client.workspaceUploads.upload.filename.9252dd`,`Upload filename`),{allowEmpty:!1});return n===``?r:`${n}/${r}`}function Zo(e,t,n,r={}){let i=r.xhrFactory?.()??new XMLHttpRequest,a=!1,o=!1;return{promise:new Promise((s,c)=>{let l=e=>{a||(a=!0,c(e))},u=e=>{a||(a=!0,s(e))};i.open(`PUT`,ao(e,t,n.path,Qo(r)),!0),i.responseType=`json`,i.setRequestHeader(`Content-Type`,(n.contentType??n.file.type)||`application/octet-stream`),i.upload.onprogress=e=>{r.onProgress?.($o(e,n.file.size))},i.onload=()=>{if(i.status>=200&&i.status<300)try{r.onProgress?.({loaded:n.file.size,total:n.file.size,percent:1,lengthComputable:!0}),u(vi(rs(i)))}catch(e){l(e instanceof Error?e:Error(String(e)))}else l(Error(is(i)))},i.onerror=()=>{l(Error(f(`client.workspaceUploads.workspace.upload.failed.a87e6b`,`Workspace upload failed`)))},i.onabort=()=>{l(new qo(o?void 0:f(`client.workspaceUploads.workspace.upload.aborted.58a455`,`Workspace upload aborted`)))},i.send(n.file)}),cancel:()=>{a||(o=!0,i.abort())}}}function Qo(e){return{...e.createDirs===void 0?{}:{createDirs:e.createDirs},...e.overwrite===void 0?{}:{overwrite:e.overwrite},...e.machineId===void 0?{}:{machineId:e.machineId}}}function $o(e,t){let n=e.lengthComputable?e.total:t;return{loaded:e.loaded,total:n,percent:es(e.loaded,n),lengthComputable:e.lengthComputable}}function es(e,t){return t<=0?e<=0?0:1:Math.max(0,Math.min(1,e/t))}function ts(e,t,n){let r=e.trim();if(r===``){if(n.allowEmpty)return``;throw Error(f(`client.workspaceUploads.must.not.be.empty.b22cd8`,`{value1} must not be empty`,{value1:t}))}if(ns(r))throw Error(f(`client.workspaceUploads.must.be.a.workspace.relative.path.79fcd6`,`{value1} must be a workspace-relative path`,{value1:t}));let i=r.split(/[\\/]+/u).filter(e=>e!==``&&e!==`.`);if(i.length===0){if(n.allowEmpty)return``;throw Error(f(`client.workspaceUploads.must.not.be.empty.b22cd8`,`{value1} must not be empty`,{value1:t}))}if(i.some(e=>e===`..`))throw Error(f(`client.workspaceUploads.must.not.contain.path.traversal.dac533`,`{value1} must not contain path traversal`,{value1:t}));return i.join(`/`)}function ns(e){let t=e.replace(/\\/g,`/`);return t.startsWith(`/`)||/^[A-Za-z]:\//u.test(t)}function rs(e){return e.response!==void 0&&e.response!==null&&e.response!==``?e.response:e.responseText===``?{}:JSON.parse(e.responseText)}function is(e){let t=as(e);return os(t)&&typeof t.error==`string`?t.error:e.statusText||`HTTP ${String(e.status)}`}function as(e){try{return rs(e)}catch{return}}function os(e){return typeof e==`object`&&!!e}var ss=`.pi-web/attachments`;function cs(e){return e?.attachments?.defaultFolder??`.pi-web/attachments`}function ls(e,t){return e?.attachments?.defaultFolder??t}function us(e,t){return gs(e,t)}function ds(e,t,n){let r=us(e,t);return n===void 0?ht(r):h(se(r),n)}function fs(e,t){let n=us(e,t),r=n.lastIndexOf(`/`);return`${n.slice(0,r)}/channels${n.slice(r)}`}function ps(e,t,n){let r=y(fs(e,t),void 0,pe());return n===void 0?o(r):o(r,n)}function ms(e,t,n,r={}){return vs(e,t,n,r,ds)}function hs(e,t,n,r,i=e=>new WebSocket(e)){if(r.signal?.aborted===!0)return Promise.reject(Cs(r.signal));let a=_e(e.backendRevision,n,_s(e)),o=ps(e,t),s;try{s=i(o)}catch(e){return Promise.reject(Error(`Plugin backend channel unavailable: ${ws(e)}`,{cause:e}))}let c=!1,l=!1,u=0,d,f=()=>void 0,m=new Promise(e=>{f=e}),h=Object.freeze({closed:m,send(e){if(!c||l||s.readyState!==1)throw Error(`Plugin backend channel is not open`);let t=te(e),n=p(t);if(s.bufferedAmount===0&&(u=0),u>=128||s.bufferedAmount+n>1048576){let e=Error(`Plugin backend channel browser queue limit was exceeded`);throw d=Object.freeze({code:`queue-overflow`,message:e.message}),bs(s,`Channel queue overflow`),e}try{s.send(t),u+=1}catch(e){throw d=Object.freeze({code:`send-failed`,message:ws(e)}),bs(s,`Channel send failed`),e}},close(e=`Channel closed`){bs(s,ee(e))}});return new Promise((e,t)=>{let n=setTimeout(()=>{let e=Error(`Plugin backend channel open timed out after ${String(fe)}ms`);d=Object.freeze({code:`open-timeout`,message:e.message}),t(e),bs(s,`Channel open timed out`)},fe),i=()=>{let e=r.signal;if(e===void 0)return;let n=Cs(e);c||t(n),d=Object.freeze({code:`cancelled`,message:n.message}),bs(s,`Channel cancelled`)};r.signal?.addEventListener(`abort`,i,{once:!0}),s.addEventListener(`open`,()=>{try{s.send(a)}catch(e){t(Error(`Plugin backend channel unavailable: ${ws(e)}`,{cause:e})),bs(s,`Channel open failed`)}}),s.addEventListener(`message`,i=>{try{if(typeof i.data!=`string`)throw Error(`Plugin backend channels accept text JSON frames only`);let a=oe(i.data);if(a.kind===`ready`){if(c)throw Error(`Plugin backend channel sent more than one ready envelope`);c=!0,clearTimeout(n),e(h);return}if(a.kind===`error`){d=Object.freeze({code:a.code,message:a.message}),c||t(Error(a.message)),bs(s,`Channel failed`);return}if(!c)throw Error(`Plugin backend channel sent data before ready`);r.onData(a.data)}catch(e){d=Object.freeze({code:`protocol-error`,message:ws(e)}),c||t(e instanceof Error?e:Error(String(e))),bs(s,`Channel protocol error`)}}),s.addEventListener(`error`,()=>{d??=Object.freeze({code:`transport-error`,message:`Plugin backend channel transport failed`}),c||t(Error(`Plugin backend channel unavailable`)),bs(s,`Channel transport error`)}),s.addEventListener(`close`,e=>{if(l)return;l=!0,clearTimeout(n),r.signal?.removeEventListener(`abort`,i),c||t(Error(d?.message??`Plugin backend channel closed before ready (${String(e.code)})`));let a=d??(e.code===1e3?void 0:Object.freeze({code:`channel-closed`,message:e.reason||`Plugin backend channel closed with code ${String(e.code)}`}));f(Object.freeze({code:e.code,reason:e.reason,wasClean:e.wasClean,...a===void 0?{}:{error:a}}))})})}function gs(e,t){if(!ge(e.pluginId))throw Error(`Invalid PI WEB plugin id: ${e.pluginId}`);if(e.machineId===``)throw Error(`Machine id is required`);if(e.projectId===``)throw Error(`Project id is required`);if(e.workspaceId===``)throw Error(`Workspace id is required`);if(e.workspaceId!==void 0&&e.projectId===void 0)throw Error(`Workspace scope requires a project id`);ae(e,_s(e));let n=he(t);return`${e.machineId===`local`?`api`:`api/machines/${encodeURIComponent(e.machineId)}`}${ue({...e,operation:n})}`}function _s(e){return e.scope===void 0?{}:{scope:e.scope,...e.projectId===void 0?{}:{projectId:e.projectId},...e.workspaceId===void 0?{}:{workspaceId:e.workspaceId}}}async function vs(e,t,n,r,i){let a=ve(e.backendRevision),o=ie(n,`Plugin backend request input`),s=JSON.stringify({revision:a,input:o,..._s(e)});if(p(s)>266240)throw Error(`Plugin backend request exceeds the ${String(ce)} byte wire limit`);let c;try{c=await fetch(i(e,t),{method:`POST`,headers:{"content-type":`application/json`},body:s,...r.signal===void 0?{}:{signal:r.signal}})}catch(e){throw r.signal?.aborted===!0?Cs(r.signal):Error(`Plugin backend request unavailable: ${ws(e)}`,{cause:e})}let l=await ys(c);if(!c.ok)throw Error(Ss(l)??`Plugin backend request returned HTTP ${String(c.status)}`);return le(l,`Plugin backend response`,ne)}async function ys(e){let t=e.headers.get(`content-length`);if(t!==null&&/^\d+$/u.test(t)&&Number(t)>8392704)throw await e.body?.cancel(),Error(`Plugin backend response exceeds the ${String(me)} byte wire limit`);if(e.body===null){let t=await e.text();if(p(t)>8392704)throw xs();return t}let n=e.body.getReader(),r=new TextDecoder,i=0,a=``;try{let e=await n.read();for(;!e.done;){if(i+=e.value.byteLength,i>8392704)throw await n.cancel(),xs();a+=r.decode(e.value,{stream:!0}),e=await n.read()}return a+r.decode()}finally{n.releaseLock()}}function bs(e,t){if(e.readyState===0||e.readyState===1)try{e.close(1e3,ee(t))}catch{e.close()}}function xs(){return Error(`Plugin backend response exceeds the ${String(me)} byte wire limit`)}function Ss(e){try{let t=JSON.parse(e);return Ts(t)&&typeof t.error==`string`?t.error:void 0}catch{return}}function Cs(e){let t=e.reason;return t instanceof Error?t:new DOMException(`Plugin backend request cancelled`,`AbortError`)}function ws(e){return e instanceof Error?e.message:String(e)}function Ts(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Es=1200,Ds=[`mod`,`alt`,`shift`],Os=class{constructor(){this.pendingTokens=[],this.lastTarget=null}handle(e,t,n={}){let r=e.composedPath?.()[0]??e.target;r!==this.lastTarget&&this.clearPending(),this.lastTarget=r;let i=Ns(e);if(i===void 0)return!1;if(i===`escape`&&this.pendingTokens.length>0)return this.clearPending(),!0;let a=Ps(e),o=ks(t,n.shortcuts,{enabledOnly:!0}).filter(e=>e.active&&(!a||Fs(e.tokens[0]??``))).map(e=>({action:e.action,tokens:e.tokens}));if(this.pendingTokens.length>0){if(this.handleSequence([...this.pendingTokens,i],o))return!0;this.clearPending()}return this.handleSequence([i],o)}reset(){this.clearPending(),this.lastTarget=null}handleSequence(e,t){let n=t.find(t=>Qs(t.tokens,e));return n===void 0?t.some(t=>$s(t.tokens,e))?(this.setPending(e),!0):!1:(this.clearPending(),n.action.run(),!0)}setPending(e){this.clearPending(),this.pendingTokens=e,this.pendingTimer=globalThis.setTimeout(()=>{this.pendingTokens=[],this.pendingTimer=void 0},Es)}clearPending(){this.pendingTokens=[],this.pendingTimer!==void 0&&(globalThis.clearTimeout(this.pendingTimer),this.pendingTimer=void 0)}};function ks(e,t,n={}){let r=e.flatMap((e,r)=>{if(n.enabledOnly===!0&&e.enabled===!1)return[];let i=Is(e,t,r);return i===void 0?[]:[i]}),i=new Map;for(let e of r)i.set(e.key,[...i.get(e.key)??[],e]);let a=new Map;for(let e of i.values()){let t=[...e].sort(Bs)[0];t!==void 0&&a.set(t.key,t)}let o=[...a.values()].sort(Vs),s=new Map,c=new Map;for(let e of r){let t=a.get(e.key);if(t===void 0)continue;let n=Hs(t,o)??t;c.set(e,n),e!==n&&s.set(n,[...s.get(n)??[],e])}return r.map(e=>{let t=c.get(e),n=t===e,r=t===void 0||n?void 0:zs(t),i=n?[...s.get(e)??[]].sort(Bs).map(zs):[];return{...e,active:n,shadows:i,...r===void 0?{}:{shadowedBy:r}}}).sort((e,t)=>e.order-t.order)}function As(e){return Gs(e)}function js(e){let t=Gs(e);return t.ok?t.tokens:[]}function Ms(e){return js(e).map(e=>e.split(`+`).map(Zs).join(`+`)).join(` `)}function Ns(e){if(e.isComposing)return;let t=Ys(e.key);if(t===void 0)return;let n=[];return(e.metaKey||e.ctrlKey)&&n.push(`mod`),e.altKey&&n.push(`alt`),e.shiftKey&&n.push(`shift`),n.push(t),n.join(`+`)}function Ps(e){return(e.composedPath?.()??[e.target]).some(e=>typeof HTMLElement>`u`||!(e instanceof HTMLElement)?!1:[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.tagName)||e.isContentEditable)}function Fs(e){return e.split(`+`).includes(`mod`)||e.split(`+`).includes(`alt`)}function Is(e,t,n){let r=Ls(e,t);if(r===null)return;let i=r??e.shortcut;if(i===void 0||i===``)return;let a=js(i);if(a.length!==0)return{action:e,shortcut:a.join(` `),source:r===void 0?`default`:`custom`,tokens:a,key:Rs(a),order:n}}function Ls(e,t){if(t!==void 0){for(let n of[e.id,...e.shortcutAliases??[]])if(Object.hasOwn(t,n))return t[n]}}function Rs(e){return e.join(`\0`)}function zs(e){return{action:e.action,shortcut:e.shortcut,source:e.source}}function Bs(e,t){return Us(e.source)-Us(t.source)||Ws(e.action.id,t.action.id)||Ws(e.action.title,t.action.title)||e.order-t.order}function Vs(e,t){return e.tokens.length-t.tokens.length||Bs(e,t)}function Hs(e,t){return t.find(t=>t!==e&&t.tokens.length<e.tokens.length&&$s(e.tokens,t.tokens))}function Us(e){switch(e){case`custom`:return 0;case`default`:return 1}}function Ws(e,t){return e<t?-1:+(e>t)}function Gs(e){let t=e.trim().toLowerCase().replace(/\s*\+\s*/gu,`+`);if(t===``)return{ok:!1,message:f(`client.keyboardShortcuts.enter.a.shortcut.select.none.or.reset.to.default.481e7b`,`Enter a shortcut, select None, or reset to default.`)};let n=[],r=t.split(/\s+/u).filter(e=>e!==``);for(let e of r){let t=Ks(e);if(!t.ok)return t;n.push(t.token)}return{ok:!0,shortcut:n.join(` `),tokens:n}}function Ks(e){let t=e.split(`+`).filter(e=>e!==``);if(t.length===0)return{ok:!1,message:f(`client.keyboardShortcuts.a.shortcut.combination.must.contain.a.key.87dd82`,`A shortcut combination must contain a key.`)};let n=new Set,r;for(let e of t){let t=qs(e);if(t!==void 0){if(n.has(t))return{ok:!1,message:f(`client.keyboardShortcuts.shortcut.contains.a.duplicate.modifier.8363e5`,`Shortcut contains a duplicate {value1} modifier.`,{value1:Zs(t)})};n.add(t);continue}let i=Js(e);if(i===void 0)return{ok:!1,message:f(`client.keyboardShortcuts.unsupported.shortcut.key.b3c1ce`,`Unsupported shortcut key: {value1}`,{value1:e})};if(r!==void 0)return{ok:!1,message:f(`client.keyboardShortcuts.each.shortcut.combination.can.contain.only.one.non.modifier.key.76ffb6`,`Each shortcut combination can contain only one non-modifier key.`)};r=i}return r===void 0?{ok:!1,message:f(`client.keyboardShortcuts.a.shortcut.combination.must.contain.a.key.87dd82`,`A shortcut combination must contain a key.`)}:{ok:!0,token:[...Ds.filter(e=>n.has(e)),r].join(`+`)}}function qs(e){switch(e){case`mod`:case`meta`:case`cmd`:case`command`:case`ctrl`:case`control`:case`primary`:return`mod`;case`alt`:case`option`:case`opt`:return`alt`;case`shift`:return`shift`;default:return}}function Js(e){let t=Xs(e);if(t!==void 0)return t;if(/^f(?:[1-9]|1[0-9]|2[0-4])$/u.test(e)||e.length===1)return e}function Ys(e){return e===` `?`space`:Js(e.toLowerCase())}function Xs(e){switch(e){case` `:case`spacebar`:case`space`:return`space`;case`esc`:case`escape`:return`escape`;case`return`:case`enter`:return`enter`;case`del`:case`delete`:return`delete`;case`backspace`:return`backspace`;case`tab`:return`tab`;case`up`:case`arrowup`:return`arrowup`;case`down`:case`arrowdown`:return`arrowdown`;case`left`:case`arrowleft`:return`arrowleft`;case`right`:case`arrowright`:return`arrowright`;case`pageup`:case`pagedown`:case`home`:case`end`:return e;case`+`:case`plus`:return`plus`;case`period`:case`dot`:return`.`;case`comma`:return`,`;case`slash`:return`/`;case`backslash`:return`\\`;case`minus`:return`-`;default:return}}function Zs(e){return e===`mod`?ec()?`⌘`:`Ctrl`:e===`shift`?`Shift`:e===`alt`?ec()?`⌥`:`Alt`:e===`enter`?`Enter`:e===`escape`?`Esc`:e===`space`?`Space`:e===`tab`?`Tab`:e===`backspace`?`Backspace`:e===`delete`?`Delete`:e===`arrowup`?`↑`:e===`arrowdown`?`↓`:e===`arrowleft`?`←`:e===`arrowright`?`→`:e===`pageup`?`PageUp`:e===`pagedown`?`PageDown`:e===`home`?`Home`:e===`end`?`End`:e===`plus`?`+`:/^f(?:[1-9]|1[0-9]|2[0-4])$/u.test(e)||e.length===1?e.toUpperCase():`${e.charAt(0).toUpperCase()}${e.slice(1)}`}function Qs(e,t){return e.length===t.length&&$s(e,t)}function $s(e,t){return t.every((t,n)=>e[n]===t)}function ec(){return typeof navigator<`u`&&navigator.userAgent.toLowerCase().includes(`mac`)}var tc=`themes:classic`,nc={themeId:`themes:pi-web-dark`,auto:!0},rc=`pi-web-app-theme`,ic=`--pi-bg.--pi-surface.--pi-surface-hover.--pi-terminal-bg.--pi-terminal-text.--pi-border.--pi-border-muted.--pi-text.--pi-text-secondary.--pi-text-bright.--pi-muted.--pi-dim.--pi-accent.--pi-accent-border.--pi-selection-bg.--pi-success.--pi-success-border.--pi-success-bg.--pi-success-surface.--pi-success-ring.--pi-warning.--pi-warning-border.--pi-warning-surface.--pi-danger.--pi-purple.--pi-purple-border.--pi-purple-surface.--pi-overlay.--pi-shadow-soft.--pi-shadow.--pi-shadow-strong.--pi-bg-overlay-soft.--pi-bg-overlay.--pi-success-bg-overlay.--pi-terminal-selection`.split(`.`);function ac(){try{let e=window.localStorage.getItem(rc);return e===null?void 0:xt(JSON.parse(e))}catch{return}}function oc(e){try{window.localStorage.setItem(rc,JSON.stringify(e))}catch{}}function sc(){try{window.localStorage.removeItem(rc)}catch{}}function cc(e,t,n=[]){return e??t??(n.some(e=>e.id===`pi-web.custom-ui-codex:graphite`)?{themeId:`pi-web.custom-ui-codex:graphite`,auto:!0}:nc)}function lc(e){let t=document.documentElement;t.dataset.piWebTheme=e.id,t.style.colorScheme=e.colorScheme;for(let n of ic){let r=e.tokens?.[n];typeof r==`string`&&r!==``?t.style.setProperty(n,r):t.style.removeProperty(n)}}function uc(e){let t=fc(e.themes,e.fallbackThemeId??`themes:classic`),n=dc(e.themes,e.preference.themeId)??t;if(n===void 0)return{selectedTheme:void 0,activeTheme:void 0,selectedThemePair:void 0,fallbackTheme:t};let r=pc(e.themePairs,n.id);if(!e.preference.auto||r===void 0)return{selectedTheme:n,activeTheme:n,selectedThemePair:r,fallbackTheme:t};let i=e.prefersLight?r.light:r.dark;return{selectedTheme:n,activeTheme:e.themes.find(e=>e.id===i)??n,selectedThemePair:r,fallbackTheme:t}}function dc(e,t){let n=t===`themes:paper`?`pi-web.custom-ui-codex:paper`:t===`themes:graphite`?`pi-web.custom-ui-codex:graphite`:t;return e.find(e=>e.id===t)??e.find(e=>e.id===n)}function fc(e,t=tc){return e.find(e=>e.id===t)??e[0]}function pc(e,t){return e.find(e=>e.light===t||e.dark===t)}var mc=0;function U(e){return e>=48&&e<=57}function hc(e){return U(e)||e>=65&&e<=70||e>=97&&e<=102}function gc(e){return e>=65&&e<=90}function _c(e){return e>=97&&e<=122}function vc(e){return gc(e)||_c(e)}function yc(e){return e>=128}function bc(e){return vc(e)||yc(e)||e===95}function xc(e){return bc(e)||U(e)||e===45}function Sc(e){return e>=0&&e<=8||e===11||e>=14&&e<=31||e===127}function Cc(e){return e===10||e===13||e===12}function wc(e){return Cc(e)||e===32||e===9}function W(e,t){return!(e!==92||Cc(t)||t===mc)}function Tc(e,t,n){return e===45?bc(t)||t===45||W(t,n):bc(e)?!0:e===92&&W(e,t)}function Ec(e,t,n){return e===43||e===45?U(t)?2:t===46&&U(n)?3:0:e===46?U(t)?2:0:+!!U(e)}function Dc(e){return+(e===65279||e===65534)}var Oc=Array(128);for(let e=0;e<Oc.length;e++)Oc[e]=wc(e)&&130||U(e)&&131||bc(e)&&132||Sc(e)&&133||e||128;function kc(e){return e<128?Oc[e]:132}function Ac(e,t){return t<e.length?e.charCodeAt(t):0}function jc(e,t,n){return n===13&&Ac(e,t+1)===10?2:1}function Mc(e,t,n){let r=e.charCodeAt(t);return gc(r)&&(r|=32),r===n}function Nc(e,t,n,r){if(n-t!==r.length||t<0||n>e.length)return!1;for(let i=t;i<n;i++){let n=r.charCodeAt(i-t),a=e.charCodeAt(i);if(gc(a)&&(a|=32),a!==n)return!1}return!0}function Pc(e,t){for(;t>=0&&wc(e.charCodeAt(t));t--);return t+1}function Fc(e,t){for(;t<e.length&&wc(e.charCodeAt(t));t++);return t}function Ic(e,t){for(;t<e.length&&U(e.charCodeAt(t));t++);return t}function Lc(e,t){if(t+=2,hc(Ac(e,t-1))){for(let n=Math.min(e.length,t+5);t<n&&hc(Ac(e,t));t++);let n=Ac(e,t);wc(n)&&(t+=jc(e,t,n))}return t}function Rc(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(!xc(n)){if(W(n,Ac(e,t+1)))t=Lc(e,t)-1;else break}}return t}function zc(e,t){let n=e.charCodeAt(t);if((n===43||n===45)&&(n=e.charCodeAt(t+=1)),U(n)&&(t=Ic(e,t+1),n=e.charCodeAt(t)),n===46&&U(e.charCodeAt(t+1))&&(t+=2,t=Ic(e,t)),Mc(e,t,101)){let r=0;n=e.charCodeAt(t+1),(n===45||n===43)&&(r=1,n=e.charCodeAt(t+2)),U(n)&&(t=Ic(e,t+1+r+1))}return t}function Bc(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(n===41){t++;break}W(n,Ac(e,t+1))&&(t=Lc(e,t))}return t}function Vc(e){if(e.length===1&&!hc(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(t===0||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var Hc=`EOF-token.ident-token.function-token.at-keyword-token.hash-token.string-token.bad-string-token.url-token.bad-url-token.delim-token.number-token.percentage-token.dimension-token.whitespace-token.CDO-token.CDC-token.colon-token.semicolon-token.comma-token.[-token.]-token.(-token.)-token.{-token.}-token.comment-token`.split(`.`),Uc=16384;function Wc(e=null,t){return e===null||e.length<t?new Uint32Array(Math.max(t+1024,Uc)):e}var Gc=10,Kc=12,qc=13;function Jc(e){let t=e.source,n=t.length,r=t.length>0?Dc(t.charCodeAt(0)):0,i=Wc(e.lines,n),a=Wc(e.columns,n),o=e.startLine,s=e.startColumn;for(let e=r;e<n;e++){let r=t.charCodeAt(e);i[e]=o,a[e]=s++,(r===Gc||r===qc||r===Kc)&&(r===qc&&e+1<n&&t.charCodeAt(e+1)===Gc&&(e++,i[e]=o,a[e]=s),o++,s=1)}i[n]=o,a[n]=s,e.lines=i,e.columns=a,e.computed=!0}var Yc=class{constructor(e,t,n,r){this.setSource(e,t,n,r),this.lines=null,this.columns=null}setSource(e=``,t=0,n=1,r=1){this.source=e,this.startOffset=t,this.startLine=n,this.startColumn=r,this.computed=!1}getLocation(e,t){return this.computed||Jc(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,n){return this.computed||Jc(this),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},G=16777215,Xc=24,Zc=1,Qc=2,$c=new Uint8Array(32);$c[2]=22,$c[21]=22,$c[19]=20,$c[23]=24;var el=new Uint8Array(32);el[2]=Zc,el[21]=Zc,el[19]=Zc,el[23]=Zc,el[22]=Qc,el[20]=Qc,el[24]=Qc;function tl(e,t,n){return e<t?t:e>n?n:e}var nl=class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e=``,t=()=>{}){e=String(e||``);let n=e.length,r=Wc(this.offsetAndType,e.length+1),i=Wc(this.balance,e.length+1),a=0,o=-1,s=0,c=e.length;this.offsetAndType=null,this.balance=null,i.fill(0),t(e,(e,t,n)=>{let l=a++;if(r[l]=e<<Xc|n,o===-1&&(o=t),i[l]=c,e===s){let e=i[c];i[c]=l,c=e,s=$c[r[e]>>Xc]}else this.isBlockOpenerTokenType(e)&&(c=l,s=$c[e])}),r[a]=0<<Xc|n,i[a]=a;for(let e=0;e<a;e++){let t=i[e];if(t<=e){let n=i[t];n!==e&&(i[e]=n)}else t>a&&(i[e]=a)}this.source=e,this.firstCharOffset=o===-1?0:o,this.tokenCount=a,this.offsetAndType=r,this.balance=i,this.reset(),this.next()}lookupType(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e]>>Xc:0}lookupTypeNonSC(e){for(let t=this.tokenIndex;t<this.tokenCount;t++){let n=this.offsetAndType[t]>>Xc;if(n!==13&&n!==25&&e--===0)return n}return 0}lookupOffset(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e-1]&G:this.source.length}lookupOffsetNonSC(e){for(let t=this.tokenIndex;t<this.tokenCount;t++){let n=this.offsetAndType[t]>>Xc;if(n!==13&&n!==25&&e--===0)return t-this.tokenIndex}return 0}lookupValue(e,t){return e+=this.tokenIndex,e<this.tokenCount&&Nc(this.source,this.offsetAndType[e-1]&G,this.offsetAndType[e]&G,t)}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&G:this.offsetAndType[this.tokenCount]&G:this.firstCharOffset}getTokenEnd(e){return e===this.tokenIndex?this.tokenEnd:this.offsetAndType[tl(e,0,this.tokenCount)]&G}getTokenType(e){return e===this.tokenIndex?this.tokenType:this.offsetAndType[tl(e,0,this.tokenCount)]>>Xc}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBlockOpenerTokenType(e){return el[e]===Zc}isBlockCloserTokenType(e){return el[e]===Qc}getBlockTokenPairIndex(e){let t=this.getTokenType(e);if(el[t]===1){let n=this.balance[e],r=this.getTokenType(n);return $c[t]===r?n:-1}if(el[t]===2){let n=this.balance[e];return $c[this.getTokenType(n)]===t?n:-1}return-1}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?this.lookupType(t)===9&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===9&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&G,t=this.offsetAndType[t],this.tokenType=t>>Xc,this.tokenEnd=t&G):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>Xc,this.tokenEnd=e&G):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;this.tokenType===13||this.tokenType===25;)this.next()}skipUntilBalanced(e,t){let n=e,r=0,i=0;loop:for(;n<this.tokenCount;n++){if(r=this.balance[n],r<e)break loop;switch(i=n>0?this.offsetAndType[n-1]&G:this.firstCharOffset,t(this.source.charCodeAt(i))){case 1:break loop;case 2:n++;break loop;default:this.isBlockOpenerTokenType(this.offsetAndType[n]>>Xc)&&(n=r)}}this.skip(n-this.tokenIndex)}forEachToken(e){for(let t=0,n=this.firstCharOffset;t<this.tokenCount;t++){let r=n,i=this.offsetAndType[t],a=i&G,o=i>>Xc;n=a,e(o,r,a,t)}}dump(){let e=Array(this.tokenCount);return this.forEachToken((t,n,r,i)=>{e[i]={idx:i,type:Hc[t],chunk:this.source.substring(n,r),balance:this.balance[i]}}),e}};function rl(e,t){function n(t){return t<s?e.charCodeAt(t):0}function r(){l=zc(e,l),Tc(n(l),n(l+1),n(l+2))?(u=12,l=Rc(e,l)):n(l)===37?(u=11,l++):u=10}function i(){let t=l;if(l=Rc(e,l),Nc(e,t,l,`url`)&&n(l)===40){if(l=Fc(e,l+1),n(l)===34||n(l)===39){u=2,l=t+4;return}o()}else n(l)===40?(u=2,l++):u=1}function a(t){for(t||=n(l++),u=5;l<e.length;l++){let r=e.charCodeAt(l);switch(kc(r)){case t:l++;return;case 130:if(Cc(r)){l+=jc(e,l,r),u=6;return}break;case 92:if(l===e.length-1)break;let i=n(l+1);Cc(i)?l+=jc(e,l+1,i):W(r,i)&&(l=Lc(e,l)-1)}}}function o(){for(u=7,l=Fc(e,l);l<e.length;l++){let t=e.charCodeAt(l);switch(kc(t)){case 41:l++;return;case 130:if(l=Fc(e,l),n(l)===41||l>=e.length){l<e.length&&l++;return}l=Bc(e,l),u=8;return;case 34:case 39:case 40:case 133:l=Bc(e,l),u=8;return;case 92:if(W(t,n(l+1))){l=Lc(e,l)-1;break}l=Bc(e,l),u=8;return}}}e=String(e||``);let s=e.length,c=Dc(n(0)),l=c,u;for(;l<s;){let o=e.charCodeAt(l);switch(kc(o)){case 130:u=13,l=Fc(e,l+1);break;case 34:a();break;case 35:xc(n(l+1))||W(n(l+1),n(l+2))?(u=4,l=Rc(e,l+1)):(u=9,l++);break;case 39:a();break;case 40:u=21,l++;break;case 41:u=22,l++;break;case 43:Ec(o,n(l+1),n(l+2))?r():(u=9,l++);break;case 44:u=18,l++;break;case 45:Ec(o,n(l+1),n(l+2))?r():n(l+1)===45&&n(l+2)===62?(u=15,l+=3):Tc(o,n(l+1),n(l+2))?i():(u=9,l++);break;case 46:Ec(o,n(l+1),n(l+2))?r():(u=9,l++);break;case 47:n(l+1)===42?(u=25,l=e.indexOf(`*/`,l+2),l=l===-1?e.length:l+2):(u=9,l++);break;case 58:u=16,l++;break;case 59:u=17,l++;break;case 60:n(l+1)===33&&n(l+2)===45&&n(l+3)===45?(u=14,l+=4):(u=9,l++);break;case 64:Tc(n(l+1),n(l+2),n(l+3))?(u=3,l=Rc(e,l+1)):(u=9,l++);break;case 91:u=19,l++;break;case 92:W(o,n(l+1))?i():(u=9,l++);break;case 93:u=20,l++;break;case 123:u=23,l++;break;case 125:u=24,l++;break;case 131:r();break;case 132:i();break;default:u=9,l++}t(u,c,c=l)}}var il=null,al=class e{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(t){return e.createItem(t)}allocateCursor(e,t){let n;return il===null?n={prev:e,next:t,cursor:this.cursor}:(n=il,il=il.cursor,n.prev=e,n.next=t,n.cursor=this.cursor),this.cursor=n,n}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=il,il=e}updateCursors(e,t,n,r){let{cursor:i}=this;for(;i!==null;)i.prev===e&&(i.prev=t),i.next===n&&(i.next=r),i=i.cursor}*[Symbol.iterator](){for(let e=this.head;e!==null;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;t!==null;t=t.next)e++;return e}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(t){let n=null;this.head=null;for(let r of t){let t=e.createItem(r);n===null?this.head=t:n.next=t,t.prev=n,n=t}return this.tail=n,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let n=this.allocateCursor(null,this.head);for(;n.next!==null;){let r=n.next;n.next=r.next,e.call(t,r.data,r,this)}this.releaseCursor()}forEachRight(e,t=this){let n=this.allocateCursor(this.tail,null);for(;n.prev!==null;){let r=n.prev;n.prev=r.prev,e.call(t,r.data,r,this)}this.releaseCursor()}reduce(e,t,n=this){let r=this.allocateCursor(null,this.head),i=t,a;for(;r.next!==null;)a=r.next,r.next=a.next,i=e.call(n,i,a.data,a,this);return this.releaseCursor(),i}reduceRight(e,t,n=this){let r=this.allocateCursor(this.tail,null),i=t,a;for(;r.prev!==null;)a=r.prev,r.prev=a.prev,i=e.call(n,i,a.data,a,this);return this.releaseCursor(),i}some(e,t=this){for(let n=this.head;n!==null;n=n.next)if(e.call(t,n.data,n,this))return!0;return!1}map(t,n=this){let r=new e;for(let e=this.head;e!==null;e=e.next)r.appendData(t.call(n,e.data,e,this));return r}filter(t,n=this){let r=new e;for(let e=this.head;e!==null;e=e.next)t.call(n,e.data,e,this)&&r.appendData(e.data);return r}nextUntil(e,t,n=this){if(e===null)return;let r=this.allocateCursor(null,e);for(;r.next!==null;){let e=r.next;if(r.next=e.next,t.call(n,e.data,e,this))break}this.releaseCursor()}prevUntil(e,t,n=this){if(e===null)return;let r=this.allocateCursor(e,null);for(;r.prev!==null;){let e=r.prev;if(r.prev=e.prev,t.call(n,e.data,e,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let t=new e;for(let e of this)t.appendData(e);return t}prepend(e){return this.updateCursors(null,e,this.head,e),this.head===null?this.tail=e:(this.head.prev=e,e.next=this.head),this.head=e,this}prependData(t){return this.prepend(e.createItem(t))}append(e){return this.insert(e)}appendData(t){return this.insert(e.createItem(t))}insert(e,t=null){if(t!==null){if(this.updateCursors(t.prev,e,t,e),t.prev===null){if(this.head!==t)throw Error(`before doesn't belong to list`);this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t}else this.updateCursors(this.tail,e,null,e),this.tail===null?this.head=e:(this.tail.next=e,e.prev=this.tail),this.tail=e;return this}insertData(t,n){return this.insert(e.createItem(t),n)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),e.prev!==null)e.prev.next=e.next;else{if(this.head!==e)throw Error(`item doesn't belong to list`);this.head=e.next}if(e.next!==null)e.next.prev=e.prev;else{if(this.tail!==e)throw Error(`item doesn't belong to list`);this.tail=e.prev}return e.prev=null,e.next=null,e}push(t){this.insert(e.createItem(t))}pop(){return this.tail===null?null:this.remove(this.tail)}unshift(t){this.prepend(e.createItem(t))}shift(){return this.head===null?null:this.remove(this.head)}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return e.head===null||(t==null?(this.updateCursors(this.tail,e.tail,null,e.head),this.tail===null?this.head=e.head:(this.tail.next=e.head,e.head.prev=this.tail),this.tail=e.tail):(this.updateCursors(t.prev,e.tail,t,e.head),t.prev===null?this.head=e.head:(t.prev.next=e.head,e.head.prev=t.prev),t.prev=e.tail,e.tail.next=t),e.head=null,e.tail=null),this}replace(e,t){`head`in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}};function ol(e,t){let n=Object.create(SyntaxError.prototype),r=Error();return Object.assign(n,{name:e,message:t,get stack(){return(r.stack||``).replace(/^(.+\n){1,3}/,`${e}: ${t}\n`)}})}var sl=100,cl=60,ll=` `;function ul({source:e,line:t,column:n,baseLine:r,baseColumn:i},a){function o(e,t){return s.slice(e,t).map((t,n)=>String(e+n+1).padStart(u)+` |`+t).join(`
|
|
1
|
+
import{$ as e,A as t,B as n,D as r,F as i,G as a,H as o,J as s,K as c,O as l,P as u,Q as d,R as f,S as p,U as m,V as h,W as g,Y as _,Z as v,_ as ee,a as y,b as te,d as ne,et as re,f as ie,g as ae,h as oe,i as se,j as b,l as ce,m as le,p as ue,r as de,s as fe,t as pe,u as me,v as he,w as ge,x as _e,y as ve,z as x}from"./managementEmbed-Bx8Mwzdw.js";var ye=Object.defineProperty,be=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),S=(e,t)=>{let n={};for(var r in e)ye(n,r,{get:e[r],enumerable:!0});return t||ye(n,Symbol.toStringTag,{value:`Module`}),n},xe=new Set,Se=0,Ce=new WeakMap,we=new Set;function Te(e){return we.add(e),()=>{we.delete(e)}}function Ee(e){return Fe(e)?.layer.element}function De(e){if(!e.open||!e.isConnected)return!1;try{return e.matches(`:modal`)}catch{return!0}}var Oe=new WeakSet;function ke(e){Oe.has(e)||(Oe.add(e),e.addEventListener(`beforetoggle`,e=>{let t=e.target;t instanceof HTMLDialogElement&&(`newState`in e&&e.newState===`open`&&Ce.set(t,{layer:{element:t,focus:()=>{t.focus()}},order:++Se,restorationPath:[]}),queueMicrotask(()=>{Pe(t.ownerDocument)}))},!0))}function Ae(e){ke(e);let t=[];for(let n of e.querySelectorAll(`*`)){if(n instanceof HTMLDialogElement){if(De(n)){let e=Ce.get(n);e===void 0&&(e={layer:{element:n,focus:()=>{n.focus()}},order:++Se,restorationPath:[]},Ce.set(n,e)),t.push(e)}else Ce.delete(n)}n.shadowRoot!==null&&t.push(...Ae(n.shadowRoot))}return t}function je(e){let t=e.element.ownerDocument;Ae(t);let n=Be(t),r=n instanceof HTMLElement?Ie(t,n):void 0,i={layer:e,order:++Se,restorationPath:n instanceof HTMLElement?[n,...r?.restorationPath??[]]:[]},a=!0;return xe.add(i),Pe(t),{get isTop(){return a&&Fe(t)===i},focus:()=>a&&Le(i),unregister:()=>{a&&(a=!1,xe.delete(i),Pe(t),Ne(i))}}}function Me(e){return e!==void 0&&Fe(e)!==void 0}function Ne(e){let{element:t}=e.layer,n=t.ownerDocument,r=Be(n);if(r!==null&&r!==n.body&&r!==n.documentElement&&!Ue(t,r))return;let i=Fe(n);if(i!==void 0){if(Re(e.restorationPath.filter(e=>Ue(i.layer.element,e))))return;Le(i)}else Re(e.restorationPath)}function Pe(e){let t=Fe(e);for(let n of[...xe])n.layer.element.ownerDocument===e&&n.layer.onTopChange?.(n===t);for(let t of we)t(e)}function Fe(e){let t;for(let n of Ae(e)){let e=[...xe].find(e=>e.layer.element===n.layer.element)??n;e.order=n.order,(t===void 0||e.order>t.order)&&(t=e)}return t}function Ie(e,t){let n;for(let r of xe)r.layer.element.ownerDocument===e&&De(r.layer.element)&&Ue(r.layer.element,t)&&(r.order=Ce.get(r.layer.element)?.order??r.order,(n===void 0||r.order>n.order)&&(n=r));return n}function Le(e){if(Fe(e.layer.element.ownerDocument)!==e)return!1;e.layer.focus();let t=Be(e.layer.element.ownerDocument);return t!==null&&Ue(e.layer.element,t)}function Re(e){for(let t of e)if(ze(t))return!0;return!1}function ze(e){if(!e.isConnected||e.matches(`:disabled`)||Ve(e))return!1;e.focus();let t=Be(e.ownerDocument);return t===e||t!==null&&Ue(e,t)}function Be(e){let t=e.activeElement;for(;t instanceof HTMLElement;){let e=t.shadowRoot?.activeElement??null;if(e===null)return t;t=e}return t??null}function Ve(e){let t=e.ownerDocument.defaultView,n=t?.getComputedStyle(e);if(n?.visibility===`hidden`||n?.visibility===`collapse`)return!0;let r=e;for(;r!==null;){if(r.hasAttribute(`hidden`)||r.hasAttribute(`inert`))return!0;let e=t?.getComputedStyle(r);if(e?.display===`none`||e?.getPropertyValue(`content-visibility`)===`hidden`)return!0;r=He(r)}return!1}function He(e){let t=e.assignedSlot;if(t instanceof HTMLSlotElement)return t;let n=e.parentElement;if(n instanceof Element)return n;let r=e.getRootNode();return r instanceof ShadowRoot&&r.host instanceof Element?r.host:null}function Ue(e,t){let n=t;for(;n!==null;){if(n===e)return!0;let t=He(n);if(t===n)return!1;n=t}return!1}var We=new WeakMap;function Ge(e){return(We.get(e)?.popups.size??0)>0}function Ke(e){if(!e.isConnected||Ve(e))return!1;let t=Ee(e.ownerDocument);return t===void 0||Ue(t,e)}function qe(e,t){if(!Ke(e))return t(),()=>{};let n=e.ownerDocument,r=We.get(n);if(r===void 0){let e=new Set,t=new Map,i=()=>{a(n);for(let t of[...e])Ke(t.owner)||(e.delete(t),t.close());e.size===0&&c()},a=e=>{if(ke(e),!t.has(e)){let n=new MutationObserver(i);n.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`open`,`hidden`,`inert`,`class`,`style`]}),t.set(e,n),e.addEventListener(`focusin`,i,!0)}for(let t of e.querySelectorAll(`*`))t.shadowRoot!==null&&a(t.shadowRoot)},o=Te(e=>{e===n&&i()}),s=!1,c=()=>{if(!s){s=!0,o();for(let[e,n]of t)n.disconnect(),e.removeEventListener(`focusin`,i,!0);We.delete(n)}};r={popups:e,dispose:c},We.set(n,r),a(n)}let i={owner:e,close:t};r.popups.add(i);let a=r;return()=>{a.popups.delete(i),a.popups.size===0&&a.dispose()}}var Je=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},Ye={attribute:!0,type:String,converter:d,reflect:!1,hasChanged:v},Xe=(e=Ye,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function C(e){return(t,n)=>typeof n==`object`?Xe(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function Ze(e){return C({...e,state:!0,attribute:!1})}var Qe=(e,t,n)=>(n.configurable=!0,n.enumerable=!0,Reflect.decorate&&typeof t!=`object`&&Object.defineProperty(e,t,n),n);function $e(e,t){return(n,r,i)=>{let a=t=>t.renderRoot?.querySelector(e)??null;if(t){let{get:e,set:t}=typeof r==`object`?n:i??(()=>{let e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return Qe(n,r,{get(){let n=e.call(this);return n===void 0&&(n=a(this),(n!==null||this.hasUpdated)&&t.call(this,n)),n}})}return Qe(n,r,{get(){return a(this)}})}}var et={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},tt=e=>(...t)=>({_$litDirective$:e,values:t}),nt=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}},rt=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`];function it(e){return rt.some(t=>t===e)}function at(e){return e===void 0||e===``?`off`:e}function ot(e,t=n(`en`,{})){let r=at(e),i={off:t(`thinking.label.off`,`Off`),minimal:t(`thinking.label.minimal`,`Minimal`),low:t(`thinking.label.low`,`Low`),medium:t(`thinking.label.medium`,`Medium`),high:t(`thinking.label.high`,`High`),xhigh:t(`thinking.label.xhigh`,`Extra high`),max:t(`thinking.label.max`,`Maximum`)};return it(r)?i[r]??r:r}function st(e,t=n(`en`,{})){switch(e){case`off`:return t(`thinking.description.off`,`No reasoning`);case`minimal`:return t(`thinking.description.minimal`,`Minimal reasoning (about 1k tokens)`);case`low`:return t(`thinking.description.low`,`Light reasoning (about 2k tokens)`);case`medium`:return t(`thinking.description.medium`,`Moderate reasoning (about 8k tokens)`);case`high`:return t(`thinking.description.high`,`Deep reasoning (about 16k tokens)`);case`xhigh`:return t(`thinking.description.xhigh`,`Extra high reasoning (about 32k tokens)`);case`max`:return t(`thinking.description.max`,`Maximum reasoning (about 64k tokens)`);default:return}}function ct(e,t){let n=t.length>=2?t:rt,r=n.length-1,i=at(e),a=n.indexOf(i);return{total:r,filled:a<=0?0:Math.min(a,r)}}function lt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ut(e){if(!lt(e))throw new x(`server.main.b5b69396302e`,`Invalid session defaults`);let t=e,n={};for(let e of[`defaultProvider`,`defaultModel`]){let r=t[e];if(r!==void 0){if(typeof r!=`string`)throw new x(`server.main.d20dbeed752b`,`Invalid {arg0}`,{arg0:e});n[e]=r}}let r=t.defaultThinkingLevel;if(r!==void 0){if(typeof r!=`string`||!it(r))throw new x(`server.main.e937d7ab07c7`,`Invalid defaultThinkingLevel`);n.defaultThinkingLevel=r}return n}var dt=class extends Error{constructor(e,t,n={}){super(e,n),this.status=t,this.name=`HttpRequestError`}},ft=class extends Error{constructor(e,t={}){super(e,t),this.name=`NetworkRequestError`}},pt=pe();function mt(e){pt=e}function ht(e){return h(se(e,void 0,pt))}async function w(e,t,n){let r=new Headers(n?.headers);n?.body!==void 0&&!r.has(`content-type`)&&r.set(`content-type`,`application/json`);let i=pt,a=ht(e),o=await _t(()=>fetch(a,{...n,headers:r}),n?.signal);if(!o.ok)throw new dt(vt(await o.json().catch(()=>({})))??o.statusText,o.status);return de(i),t(await _t(()=>o.json(),n?.signal))}async function gt(e,t,n){let r=pt,i=ht(e),a=await _t(()=>fetch(i,n),n?.signal);if(a.status===204)de(r);else if(a.status!==404){if(!a.ok)throw new dt(vt(await a.json().catch(()=>({})))??a.statusText,a.status);return de(r),t(await _t(()=>a.json(),n?.signal))}}async function _t(e,t){try{return await e()}catch(e){throw e instanceof TypeError&&e.name!==`AbortError`&&t?.aborted!==!0?new ft(e.message,{cause:e}):e}}function vt(e){if(yt(e))return typeof e.error==`string`?e.error:void 0}function yt(e){return typeof e==`object`&&!!e}var bt=/^[a-z][a-z0-9.-]*:[a-z][a-z0-9.-]*$/u;function xt(e){if(!St(e))return;let t=e,n=t.themeId,r=t.auto;if(typeof n==`string`&&bt.test(n)&&typeof r==`boolean`)return{themeId:n,auto:r}}function St(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ct(e,t){let n=xt(e);if(n===void 0)throw new x(`configError.defaultTheme.invalid`,`PI WEB config defaultTheme must contain a qualified themeId and a boolean auto: {source}`,{source:t});return n}function wt(e,t){if(e!==`steer`&&e!==`followUp`)throw new x(`configError.defaultStreamingBehavior.invalid`,`PI WEB config defaultStreamingBehavior must be steer or followUp: {source}`,{source:t});return e}function Tt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Et(e,t){if(!Tt(e))throw new x(`configError.sessionNaming.object`,`PI WEB config sessionNaming must be an object: {source}`,{source:t});let n=Object.keys(e).find(e=>e!==`model`&&e!==`maxTokens`&&e!==`thinkingLevel`&&e!==`timeoutMs`);if(n!==void 0)throw new x(`configError.sessionNaming.unknownKey`,`PI WEB config sessionNaming has unknown key {key}: {source}`,{key:JSON.stringify(n),source:t});let r=e.model,i=e.maxTokens,a=e.thinkingLevel,o=e.timeoutMs;if(r!==void 0&&(typeof r!=`string`||!/^[^/\s]+\/\S+$/.test(r)))throw new x(`configError.sessionNaming.model`,`PI WEB config sessionNaming.model must be an exact provider/model-id with non-empty parts: {source}`,{source:t});if(i!==void 0&&(typeof i!=`number`||!Number.isSafeInteger(i)||i<=0))throw new x(`configError.sessionNaming.maxTokens`,`PI WEB config sessionNaming.maxTokens must be a positive safe integer: {source}`,{source:t});if(a!==void 0&&(typeof a!=`string`||!it(a)))throw new x(`configError.sessionNaming.thinkingLevel`,`PI WEB config sessionNaming.thinkingLevel must be a known thinking level: {source}`,{source:t});if(o!==void 0&&(typeof o!=`number`||!Number.isInteger(o)||o<1||o>2147483647))throw new x(`configError.sessionNaming.timeoutMs`,`PI WEB config sessionNaming.timeoutMs must be an integer from 1 to 2147483647: {source}`,{source:t});return{...r===void 0?{}:{model:r},...i===void 0?{}:{maxTokens:i},...a===void 0?{}:{thinkingLevel:a},...o===void 0?{}:{timeoutMs:o}}}function Dt(e,t){if(!Tt(e))throw new x(`configError.sessionArchive.object`,`PI WEB config sessionArchive must be an object: {source}`,{source:t});let n=Object.keys(e).find(e=>e!==`directory`);if(n!==void 0)throw new x(`configError.sessionArchive.unknownKey`,`PI WEB config sessionArchive has unknown key {key}: {source}`,{key:JSON.stringify(n),source:t});let r=e.directory;if(r===void 0)return{};if(typeof r!=`string`||r.trim()===``||r.includes(`\0`))throw new x(`configError.sessionArchive.directory`,`PI WEB config sessionArchive.directory must be a non-empty path: {source}`,{source:t});return{directory:r}}var Ot=new Set([`schemaVersion`,`dir`]);function kt(e){if(!Mt(e)||Object.keys(e).some(e=>!Ot.has(e)))return;let t=e.schemaVersion,n=e.dir;if(t===2&&typeof n==`string`&&At(n))return Object.freeze({schemaVersion:2,dir:n})}function At(e){if(e===``||e!==e.trim()||jt(e))return!1;let t=e.replace(/\\/g,`/`);return t.startsWith(`/`)||/^[A-Za-z]:\//u.test(t)}function jt(e){for(let t of e){let e=t.charCodeAt(0);if(e<32||e===127)return!0}return!1}function Mt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Nt=Object.values(b),Pt=new Set(Nt);b.sessionsDeleteArchived,b.sessionsBulkMutations,b.sessionsCleanup,b.sessionsReload,b.sessionsClearQueue,b.sessionsQueueMessageActions,b.sessionsPersistedState,b.sessionsNotifications,b.sessionsUnread,b.sessionsAskUser,b.promptAttachments,b.workspaceFileSuggestions,b.piPackagesManage,b.selectedMachineSettings,b.agentProfileConfig,b.pluginLifecycle,b.sessionsDeleteArchived,b.sessionsBulkMutations,b.sessionsCleanup,b.sessionsReload,b.sessionsClearQueue,b.sessionsQueueMessageActions,b.sessionsPersistedState,b.sessionsNotifications,b.sessionsUnread,b.sessionsAskUser,b.promptAttachments,b.sessionsDeleteArchived,b.sessionsBulkMutations,b.sessionsCleanup,b.sessionsReload,b.sessionsClearQueue,b.sessionsQueueMessageActions,b.sessionsPersistedState,b.sessionsNotifications,b.sessionsUnread,b.sessionsAskUser,b.promptAttachments,b.workspaceFileSuggestions,b.piPackagesManage,b.selectedMachineSettings,b.agentProfileConfig,b.pluginLifecycle;function Ft(e){return typeof e==`string`&&Pt.has(e)}function It(e,t){return e?.capabilities?.includes(t)===!0}function Lt(e){if(Array.isArray(e)&&e.every(e=>typeof e==`string`))return e.filter(Ft)}function Rt(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!zt(n))continue;let e=n.source,r=n.name,i=n.replacement;(e===`environment`||e===`config`)&&typeof r==`string`&&r!==``&&(i===void 0||typeof i==`string`&&i!==``)&&t.push({source:e,name:r,...i===void 0?{}:{replacement:i}})}return t}function zt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Bt=[`projectId`,`workspaceId`,`sessionId`];function Vt(e,t){if(!Ut(e))throw Error(`${t} must be an object`);let n=!1;for(let r in e)if(Object.hasOwn(e,r)&&(n=!0,!Ht(r)))throw Error(`Unsupported ${t} field: ${r}`);if(!n)throw Error(`${t} must contain at least one of projectId, workspaceId, or sessionId`);let r={};for(let n of Bt){if(!Object.hasOwn(e,n))continue;let i=e[n];if(typeof i!=`string`||i.length>512||i.trim()===``)throw Error(`${t} ${n} must be a non-empty string of at most 512 characters`);r[n]=i}if(r.projectId!==void 0)return Object.freeze({...r,projectId:r.projectId});if(r.workspaceId!==void 0)return Object.freeze({...r,workspaceId:r.workspaceId});if(r.sessionId!==void 0)return Object.freeze({...r,sessionId:r.sessionId});throw Error(`${t} must contain at least one visibility selector`)}function Ht(e){return Bt.some(t=>t===e)}function Ut(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}var Wt={working:`core:working`,terminal:`core:terminal`,unread:`core:unread`};function Gt(e){if(!Jt(e))return;let t=e.epochId,n=e.revision,r=e.generatedAt,i=Kt(e.machine),a=Kt(e.unattributed),o=qt(e.projects),s=qt(e.workspaces);if(typeof t!=`string`||t===``||typeof n!=`number`||!Number.isFinite(n)||typeof r!=`string`||r===``||i===void 0||a===void 0||o===void 0||s===void 0)return;let c={epochId:t,revision:n,machine:i,projects:o,workspaces:s,unattributed:a,generatedAt:r};if(Object.hasOwn(e,`sessions`)){let t=qt(e.sessions,!0);if(t===void 0)return;c.sessions=t}return c}function Kt(e){if(!Jt(e))return;let t=new Map;for(let[n,r]of Object.entries(e))typeof r==`boolean`&&t.set(n,r);return Object.fromEntries(t)}function qt(e,t=!1){if(!Jt(e))return;let n=new Map;for(let[r,i]of Object.entries(e)){let e=Kt(i);if(e===void 0&&t)return;e!==void 0&&n.set(r,e)}return Object.fromEntries(n)}function Jt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Yt=Object.freeze({showSafeStart:`pi-web plugins safe-start show`,bundledOnly:`pi-web plugins safe-start set bundled-only --restart`,noServerPlugins:`pi-web plugins safe-start set none --restart`,clearSafeStart:`pi-web plugins safe-start clear --restart`});function Xt(e){if(!ge(e))throw Error(`Invalid PI WEB plugin id: ${e}`);return`pi-web plugins disable ${e} --restart`}function T(e){return typeof e==`object`&&!!e}function E(e){if(!T(e))throw Error(`Expected object response`);return e}function D(e,t){let n=e[t];if(typeof n!=`string`)throw Error(`Expected string field: ${t}`);return n}function O(e,t){let n=e[t];if(n!==void 0){if(typeof n!=`string`)throw Error(`Expected optional string field: ${t}`);return n}}function k(e,t){let n=e[t];if(typeof n!=`number`)throw Error(`Expected number field: ${t}`);return n}function A(e,t){let n=e[t];if(typeof n!=`boolean`)throw Error(`Expected boolean field: ${t}`);return n}function j(e){return t=>{if(!Array.isArray(t))throw Error(`Expected array response`);return t.map(e)}}function Zt(e){if(!Array.isArray(e))throw Error(`Expected array response`);return e.map(e=>{if(typeof e==`object`&&e&&`entryId`in e&&e.entryId!==void 0&&typeof e.entryId!=`string`)throw Error(`Expected string field: entryId`);return e})}function Qt(e,t){if(!Array.isArray(e)||!e.every(e=>typeof e==`string`))throw Error(`Expected string array field: ${t}`);return e}function $t(e){let t=E(e),n=t.leafId;if(n!=null&&typeof n!=`string`)throw Error(`Expected optional string|null field: leafId`);return{messages:Zt(t.messages),start:k(t,`start`),total:k(t,`total`),...z(`leafId`,n)}}function en(e){let t=E(e);return j(tn)(t.machines)}function tn(e){let t=E(e),n=on(t,`kind`),r=O(t,`baseUrl`),i=sn(t,`status`),a=O(t,`statusMessage`);return{id:D(t,`id`),name:D(t,`name`),kind:n,...r===void 0?{}:{baseUrl:r},createdAt:D(t,`createdAt`),updatedAt:D(t,`updatedAt`),...i===void 0?{}:{status:i},...a===void 0?{}:{statusMessage:a}}}function nn(e){let t=E(e),n=sn(t,`status`),r=O(t,`error`);return{machineId:D(t,`machineId`),ok:A(t,`ok`),checkedAt:D(t,`checkedAt`),...n===void 0?{}:{status:n},...t.web===void 0?{}:{web:da(t.web)},...t.sessiond===void 0?{}:{sessiond:da(t.sessiond)},...r===void 0?{}:{error:r}}}function rn(e){let t=E(e),n=O(t,`error`);return{machineId:D(t,`machineId`),ok:A(t,`ok`),checkedAt:D(t,`checkedAt`),...z(`packageName`,O(t,`packageName`)),...z(`generatedAt`,O(t,`generatedAt`)),...t.components===void 0?{}:{components:la(t.components)},...t.capabilities===void 0?{}:{capabilities:_a(t.capabilities)},...t.deprecatedAgentInputs===void 0?{}:{deprecatedAgentInputs:an(t.deprecatedAgentInputs)},...n===void 0?{}:{error:n}}}function an(e){let t=Rt(e);if(t===void 0)throw Error(`Invalid PI WEB deprecated agent inputs`);return t}function on(e,t){let n=D(e,t);if(n!==`local`&&n!==`remote`)throw Error(`Expected machine kind field: ${t}`);return n}function sn(e,t){let n=O(e,t);if(n!==void 0){if(n!==`unknown`&&n!==`online`&&n!==`offline`&&n!==`error`)throw Error(`Expected machine status field: ${t}`);return n}}function cn(e){let t=E(e);return{id:D(t,`id`),name:D(t,`name`),path:D(t,`path`),createdAt:D(t,`createdAt`)}}function ln(e){let t=E(e);return Object.freeze({id:D(t,`id`),projectId:D(t,`projectId`),path:D(t,`path`),label:D(t,`label`),isMain:A(t,`isMain`),...z(`branch`,O(t,`branch`)),...z(`isGitRepo`,L(t,`isGitRepo`)),...z(`isGitWorktree`,L(t,`isGitWorktree`)),...z(`provider`,hn(t.provider)),...z(`removal`,gn(t.removal)),effectiveConfig:yn(t.effectiveConfig)})}function un(e){let t=E(e),n=dn(t.status),r=D(t,`projectId`),i=O(t,`ownerPluginId`);if(n===`provider`&&i===void 0)throw Error(`Provider workspace resolution is missing ownerPluginId`);if(n===`folder`&&i!==void 0)throw Error(`Folder workspace resolution must not include ownerPluginId`);let a=j(ln)(t.workspaces);if(a.length===0||a.some(e=>e.projectId!==r))throw Error(`Workspace resolution contains invalid project workspaces`);let o=j(fn)(t.diagnostics);return Object.freeze({status:n,projectId:r,...i===void 0?{}:{ownerPluginId:i},workspaces:Object.freeze(a),diagnostics:Object.freeze(o)})}function dn(e){if(e===`provider`||e===`folder`||e===`degraded`)return e;throw Error(`Invalid workspace provider resolution status`)}function fn(e){let t=E(e),n=O(t,`pluginId`),r=t.pluginIds===void 0?void 0:Qt(t.pluginIds,`pluginIds`);return Object.freeze({code:pn(t.code),message:D(t,`message`),tier:mn(t.tier),...n===void 0?{}:{pluginId:n},...r===void 0?{}:{pluginIds:Object.freeze(r)}})}function pn(e){if(e===`probe-failed`||e===`claim-conflict`||e===`list-failed`)return e;throw Error(`Invalid workspace provider diagnostic code`)}function mn(e){if(e===`primary`||e===`fallback`)return e;throw Error(`Invalid workspace provider diagnostic tier`)}function hn(e){if(e===void 0)return;if(!T(e)||Array.isArray(e))throw Error(`Invalid workspace provider field`);let t=e.capabilities;if(!T(t)||Array.isArray(t))throw Error(`Invalid workspace provider capabilities field`);let n=e.metadata;return Object.freeze({pluginId:D(e,`pluginId`),capabilities:Object.freeze({remove:A(t,`remove`),...z(`request`,L(t,`request`))}),...z(`metadata`,n===void 0?void 0:_n(n,`workspace provider metadata`))})}function gn(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid workspace removal field`);return Object.freeze({actionLabel:P(e,`actionLabel`),confirmation:P(e,`confirmation`),precondition:P(e,`precondition`)})}}function _n(e,t){if(!T(e)||Array.isArray(e))throw Error(`Invalid ${t} field`);return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,n])=>[e,vn(n,t)])))}function vn(e,t){if(e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e))return e;if(Array.isArray(e))return Object.freeze(e.map(e=>vn(e,t)));if(T(e))return _n(e,t);throw Error(`Invalid ${t} field`)}function yn(e){if(!T(e)||Array.isArray(e))throw Error(`Expected workspace effectiveConfig field`);let t=Fi(e.uploads),n=Ii(e.attachments);return Object.freeze({...z(`uploads`,t===void 0?void 0:Object.freeze({...t})),...z(`attachments`,n===void 0?void 0:Object.freeze({...n}))})}function bn(e){if(!T(e)||Array.isArray(e))throw Error(`Invalid session metadata field`);return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,t])=>[e,_n(t,`session metadata namespace`)])))}function xn(e){let t=E(e),n=O(t,`name`),r=t.metadata===void 0?void 0:bn(t.metadata),i=I(t.persisted,`persisted`),a=O(t,`parentSessionPath`),o=O(t,`archivedAt`);return{id:D(t,`id`),path:D(t,`path`),cwd:D(t,`cwd`),...i===void 0?{}:{persisted:i},...n===void 0?{}:{name:n},...r===void 0?{}:{metadata:r},created:D(t,`created`),modified:D(t,`modified`),messageCount:k(t,`messageCount`),firstMessage:D(t,`firstMessage`),...a===void 0?{}:{parentSessionPath:a},...z(`agentSubsession`,L(t,`agentSubsession`)),...t.archived===!0?{archived:!0}:{},...o===void 0?{}:{archivedAt:o}}}function Sn(e){let t=E(e);return{configured:A(t,`configured`),authenticated:A(t,`authenticated`)}}function Cn(e){return{path:D(E(e),`path`)}}function wn(e){let t=E(e);if(t.deleted!==!0)throw Error(`Expected deleted response`);return{deleted:!0,path:D(t,`path`)}}function Tn(e){return{sessionIds:Qt(E(e).sessionIds,`sessionIds`)}}function En(e){return{pinned:A(E(e),`pinned`)}}function Dn(e){let t=E(e);return{results:j(On)(t.results),matchCount:k(t,`matchCount`),truncated:A(t,`truncated`)}}function On(e){let t=E(e);return{session:xn(t.session),matches:j(kn)(t.matches)}}function kn(e){let t=E(e),n=D(t,`role`);if(n!==`user`&&n!==`assistant`)throw Error(`Invalid session content search role`);return{messageIndex:k(t,`messageIndex`),role:n,excerpts:j(An)(t.excerpts),occurrenceCount:k(t,`occurrenceCount`)}}function An(e){let t=E(e);return{text:D(t,`text`),matchRanges:j(e=>{let t=E(e);return{start:k(t,`start`),length:k(t,`length`)}})(t.matchRanges)}}function jn(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid session warning severity`);return e}function Mn(e){if(e!==void 0)return{id:D(E(e),`id`)}}function Nn(e){let t=E(e),n=Mn(t.dismiss);return{severity:jn(t.severity),message:D(t,`message`),...z(`source`,O(t,`source`)),...z(`path`,O(t,`path`)),...n===void 0?{}:{dismiss:n}}}function Pn(e){let t=`Recently active in another PI-WEB instance. Avoid working on this session in both instances at once.`;return e.severity===`info`&&e.source===`PI-WEB`&&(e.message===t||e.message===f(`ui.sessionActivity.message`,t))}function Fn(e){let t=E(e);return{value:N(t,`value`,128),label:N(t,`label`,l),...z(`detail`,ur(t,`detail`,l))}}function In(e){let t=E(e),n=Er(t.options,Fn,12,`options`);Hn(n.map(e=>e.value),`ask option value`),I(t.allowOther,`allowOther`);let r=I(t.multiple,`multiple`);return{id:N(t,`id`,128),question:N(t,`question`,l),...z(`detail`,ur(t,`detail`,l)),options:n,allowOther:!0,...r===void 0?{}:{multiple:r}}}function Ln(e){let t=E(e),n=Er(t.questions,In,20,`questions`);if(n.length===0)throw Error(`Ask has no questions`);return Hn(n.map(e=>e.id),`ask question id`),{askId:N(t,`askId`,128),askedAt:P(t,`askedAt`),questions:n}}function Rn(e){if(e!==`submitted`&&e!==`superseded`&&e!==`cancelled`)throw Error(`Invalid ask close reason`);return e}function zn(e){let t=E(e),n=In(t.question),i=Er(t.values,Dr,12,`values`),a=new Set(n.options.map(e=>e.value));if(i.some(e=>!a.has(e)))throw Error(`Ask answer selected an option the question never offered`);let o=ur(t,`otherText`,r),s=A(t,`answered`);if(s!==(i.length>0||o!==void 0))throw Error(`Ask answer contradicts its answered flag`);return{question:n,answered:s,values:i,...o===void 0?{}:{otherText:o}}}function Bn(e){let t=E(e),n=Er(t.questions,zn,20,`questions`),r=F(t,`answeredCount`),i=Qt(t.unansweredIds,`unansweredIds`),a=n.filter(e=>!e.answered).map(e=>e.question.id);if(r!==n.length-a.length)throw Error(`Ask outcome answered count mismatch`);if(i.length!==a.length||i.some((e,t)=>e!==a[t]))throw Error(`Ask outcome unanswered ids mismatch`);return{askId:N(t,`askId`,128),reason:Rn(t.reason),askedAt:P(t,`askedAt`),closedAt:P(t,`closedAt`),questions:n,answeredCount:r,unansweredIds:i,summary:P(t,`summary`)}}function Vn(e){let t=E(e),n=t.result;if(n!==`closed`&&n!==`stale`)throw Error(`Invalid dialog close result`);let r=t.outcome===void 0?void 0:Zn(t.outcome);if(n===`closed`!=(r!==void 0))throw Error(`Dialog close response outcome mismatch`);return{result:n,...r===void 0?{}:{outcome:r},sessionStatus:M(t.sessionStatus)}}function Hn(e,t){if(new Set(e).size!==e.length)throw Error(`Duplicate ${t}`)}function Un(e){if(e!==`confirm`&&e!==`select`&&e!==`input`)throw Error(`Invalid extension dialog kind`);return e}function Wn(e){if(e!==`answered`&&e!==`cancelled`&&e!==`timeout`&&e!==`aborted`&&e!==`session-ended`)throw Error(`Invalid extension dialog close reason`);return e}function Gn(e){if(typeof e==`boolean`||typeof e==`string`&&e.length<=4e3)return e;throw Error(`Invalid extension dialog answer`)}function Kn(e){let t=Dr(e);if(t.length>1e3)throw Error(`String field exceeds limit: option`);return t}function qn(e){let n=E(e),r=Un(n.kind),i=n.options===void 0?void 0:Er(n.options,Kn,24,`options`);if(i!==void 0&&Hn(i,`dialog option`),r===`select`&&(i===void 0||i.length===0))throw Error(`Select dialog has no options`);return{dialogId:N(n,`dialogId`,128),kind:r,title:N(n,`title`,t),...z(`message`,ur(n,`message`,t)),...i===void 0?{}:{options:i},...z(`placeholder`,ur(n,`placeholder`,t)),askedAt:P(n,`askedAt`),...z(`timeoutAt`,Qn(n,`timeoutAt`)),runScoped:A(n,`runScoped`)}}function Jn(e){if(e===void 0)return{};let t=j(qn)(e);return Hn(t.map(e=>e.dialogId),`dialog id`),{pendingDialogs:t}}function Yn(e){let t=E(e);if(t.type!==`dialog.opened`)throw Error(`Invalid dialog opened event type`);return{type:`dialog.opened`,dialog:qn(t.dialog)}}function Xn(e){let t=E(e);if(t.type!==`dialog.closed`)throw Error(`Invalid dialog closed event type`);let n=Wn(t.reason),r=t.answer===void 0?void 0:Gn(t.answer);if(n===`answered`!=(r!==void 0))throw Error(`Dialog closed event answer mismatch`);return{type:`dialog.closed`,dialogId:N(t,`dialogId`,128),reason:n,...r===void 0?{}:{answer:r}}}function Zn(e){let t=E(e),n=Wn(t.reason),r=t.answer===void 0?void 0:Gn(t.answer);if(n===`answered`!=(r!==void 0))throw Error(`Dialog outcome answer mismatch`);return{dialogId:N(t,`dialogId`,128),reason:n,...r===void 0?{}:{answer:r},askedAt:P(t,`askedAt`),closedAt:P(t,`closedAt`)}}function Qn(e,t){let n=O(e,t);if(n!==void 0){if(n===``)throw Error(`Expected non-empty string field: ${t}`);return n}}function M(e){let t=E(e),n=t.warnings===void 0?void 0:j(Nn)(t.warnings),r=I(t.recentlyActiveElsewhere,`recentlyActiveElsewhere`);return{sessionId:D(t,`sessionId`),...z(`persisted`,I(t.persisted,`persisted`)),recentlyActiveElsewhere:r??n?.some(Pn)??!1,isStreaming:A(t,`isStreaming`),isCompacting:A(t,`isCompacting`),isBashRunning:A(t,`isBashRunning`),pendingMessageCount:k(t,`pendingMessageCount`),queuedMessages:t.queuedMessages===void 0?[]:j(Br)(t.queuedMessages),...z(`queueMessageActionsUnavailable`,O(t,`queueMessageActionsUnavailable`)),...z(`messageCount`,R(t,`messageCount`)),tokens:Vr(t.tokens),cost:k(t,`cost`),...Ur(t.model),...ui(t.contextUsage),...z(`thinkingLevel`,O(t,`thinkingLevel`)),...z(`warnings`,n?.filter(e=>!Pn(e))),...Jn(t.pendingDialogs),...z(`suggestedInput`,O(t,`suggestedInput`))}}function $n(e){let t=E(e);return{seq:k(t,`seq`),partial:t.partial??null}}function er(e){let t=E(e);if(t.partial===void 0)throw Error(`Expected field: partial`);return{page:$t(t.page),status:M(t.status),seq:F(t,`seq`),partial:t.partial}}function tr(e){let t=E(e),n=F(t,`catalogRevision`),r=Er(t.sessions,sr,i,`sessions`);if(cr(r),lr(r),r.some(e=>e.completionOrder>n))throw Error(`Session unread completion order exceeds catalog revision`);return{catalogId:N(t,`catalogId`,512),catalogRevision:n,sessions:r}}function nr(e){let t=E(e);if(t.type!==`sessions.unread`)throw Error(`Invalid session unread event type`);let n=N(t,`sessionId`,512),r=N(t,`cwd`,u),i=dr(t,`catalogRevision`),a=t.unread===null?null:sr(t.unread);if(a!==null&&(a.sessionId!==n||a.cwd!==r))throw Error(`Session unread event identity mismatch`);if(a!==null&&a.completionOrder>i)throw Error(`Session unread completion order exceeds catalog revision`);return{type:`sessions.unread`,catalogId:N(t,`catalogId`,512),catalogRevision:i,sessionId:n,cwd:r,unread:a}}function rr(e){let t=E(e);if(t.type!==`session.startup`)throw Error(`Invalid session startup event type`);let n=O(t,`startupToken`);if(n===``)throw Error(`Expected non-empty string field: startupToken`);return{type:`session.startup`,...z(`startupToken`,n),activity:ir(t.activity)}}function ir(e){let t=E(e);return{sessionId:P(t,`sessionId`),phase:or(t,`phase`),label:P(t,`label`),...z(`detail`,O(t,`detail`)),at:P(t,`at`),...z(`startup`,ar(t))}}function ar(e){let t=e.startup;if(t!==void 0){if(typeof t!=`boolean`)throw Error(`Expected optional boolean field: startup`);return t}}function or(e,t){let n=D(e,t);if(n!==`active`&&n!==`idle`&&n!==`error`)throw Error(`Expected session activity phase field: ${t}`);return n}function sr(e){let t=E(e),n=N(t,`completedAt`,64),r=new Date(n);if(!Number.isFinite(r.getTime())||r.toISOString()!==n)throw Error(`Invalid canonical session unread completion time`);let i=t.messageRange===void 0?void 0:E(t.messageRange),a;if(i!==void 0){let e=F(i,`start`),t=F(i,`end`),n=i.leafId;if(t<e||n!==null&&typeof n!=`string`)throw Error(`Invalid unread message range`);a={start:e,end:t,leafId:n}}return{sessionId:N(t,`sessionId`,512),cwd:N(t,`cwd`,u),completionOrder:dr(t,`completionOrder`),completedAt:n,...a===void 0?{}:{messageRange:a}}}function cr(e){let t=e.map(e=>JSON.stringify([e.sessionId,e.cwd]));if(new Set(t).size!==t.length)throw Error(`Duplicate session unread identity`);let n=e.map(e=>e.completionOrder);if(new Set(n).size!==n.length)throw Error(`Duplicate session unread completion order`)}function lr(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t];if(n===void 0||r===void 0||n.completionOrder<=r.completionOrder)throw Error(`Session unread summaries are not newest-first`)}}function N(e,t,n){let r=P(e,t);if(r.length>n)throw Error(`String field exceeds limit: ${t}`);return r}function ur(e,t,n){let r=O(e,t);if(r!==void 0){if(r===``)throw Error(`Expected non-empty string field: ${t}`);if(r.length>n)throw Error(`String field exceeds limit: ${t}`);return r}}function dr(e,t){let n=F(e,t);if(n===0)throw Error(`Expected positive safe integer field: ${t}`);return n}function fr(e){let t=E(e),n=yr(t.summary),r=Er(t.notifications,br,100,`notifications`);if(Or(r),kr(r),n.retainedCount!==r.length)throw Error(`Notification snapshot retained count mismatch`);if(n.highestSeverity!==jr(r))throw Error(`Notification snapshot severity mismatch`);let i=xr(t.dismissThrough),a=r[0]?.order??0;if(i.order!==a)throw Error(`Notification snapshot dismiss cutoff mismatch`);if(i.overflowWatermark<n.discardedCount)throw Error(`Notification snapshot overflow cutoff mismatch`);return{daemonInstanceId:P(t,`daemonInstanceId`),catalogRevision:F(t,`catalogRevision`),summary:n,notifications:r,dismissThrough:i}}function pr(e){let t=E(e);if(t.type!==`notifications.inbox`)throw Error(`Invalid notification inbox event type`);let n=yr(t.summary),r=xr(t.dismissThrough);if(r.overflowWatermark<n.discardedCount)throw Error(`Notification event overflow cutoff mismatch`);let i=Sr(t.delta);if(i.kind===`cleared`&&!Ar(n))throw Error(`Notification clear event summary mismatch`);if(i.kind===`added`&&n.retainedCount===0)throw Error(`Notification add event summary mismatch`);return{type:`notifications.inbox`,daemonInstanceId:P(t,`daemonInstanceId`),catalogRevision:F(t,`catalogRevision`),summary:n,dismissThrough:r,delta:i}}function mr(e){let t=E(e),n=j(_r)(t.notices),r=n.map(e=>e.id);if(new Set(r).size!==r.length)throw Error(`Duplicate server notice id`);return{daemonInstanceId:P(t,`daemonInstanceId`),revision:F(t,`revision`),notices:n}}function hr(e){let t=E(e);if(t.type!==`notices.updated`)throw Error(`Invalid server notice event type`);return{type:`notices.updated`,snapshot:mr(t.snapshot)}}function gr(e){let t=E(e);if(t.type!==`models.changed`)throw Error(`Invalid model scope event type`);return{type:`models.changed`,revision:F(t,`revision`)}}function _r(e){let t=E(e),n=P(t,`createdAt`);if(!Number.isFinite(Date.parse(n)))throw Error(`Invalid server notice creation time`);let r=O(t,`source`),i=t.context===void 0?void 0:_n(t.context,`server notice context`),a=t.scope===void 0?void 0:Vt(t.scope,`server notice scope`);return{id:P(t,`id`),severity:vr(t.severity),message:D(t,`message`),createdAt:n,...z(`source`,r),...z(`scope`,a),...z(`context`,i)}}function vr(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid server notice severity`);return e}function yr(e){let t=E(e),n=F(t,`retainedCount`);if(n>100)throw Error(`Notification retained count exceeds limit`);let r=F(t,`discardedCount`),i=wr(t.highestSeverity);if(n===0!=(i===void 0))throw Error(`Notification summary severity mismatch`);return{sessionId:P(t,`sessionId`),cwd:P(t,`cwd`),inboxRevision:F(t,`inboxRevision`),retainedCount:n,discardedCount:r,...i===void 0?{}:{highestSeverity:i}}}function br(e){let t=E(e),n=D(t,`message`);if(new TextEncoder().encode(n).byteLength>8192)throw Error(`Notification message exceeds byte limit`);let r=D(t,`receivedAt`);if(!Number.isFinite(Date.parse(r)))throw Error(`Invalid notification receive time`);let i=F(t,`order`);if(i===0)throw Error(`Invalid notification order`);return{id:P(t,`id`),message:n,truncated:A(t,`truncated`),severity:Cr(t.severity),receivedAt:r,order:i}}function xr(e){let t=E(e);return{order:F(t,`order`),overflowWatermark:F(t,`overflowWatermark`)}}function Sr(e){let t=E(e);switch(t.kind){case`added`:{let e=O(t,`evictedNotificationId`);return{kind:`added`,notification:br(t.notification),...e===void 0?{}:{evictedNotificationId:e}}}case`dismissed`:{let e=Er(t.notificationIds,Dr,100,`notificationIds`);if(new Set(e).size!==e.length)throw Error(`Duplicate dismissed notification id`);return{kind:`dismissed`,notificationIds:e}}case`cleared`:return{kind:`cleared`,reason:Tr(t.reason)};case`resync`:return{kind:`resync`};default:throw Error(`Invalid notification inbox delta`)}}function Cr(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid notification severity`);return e}function wr(e){return e===void 0?void 0:Cr(e)}function Tr(e){switch(e){case`runtime-close`:case`archive`:case`delete`:case`restore`:case`archive-reconcile`:case`replacement`:case`initialization-failed`:case`service-dispose`:return e;default:throw Error(`Invalid notification clear reason`)}}function Er(e,t,n,r){if(!Array.isArray(e))throw Error(`Expected array field: ${r}`);if(e.length>n)throw Error(`Array field exceeds limit: ${r}`);return e.map(t)}function Dr(e){if(typeof e!=`string`||e===``)throw Error(`Expected non-empty string`);return e}function P(e,t){let n=D(e,t);if(n===``)throw Error(`Expected non-empty string field: ${t}`);return n}function F(e,t){let n=e[t];if(typeof n!=`number`||!Number.isSafeInteger(n)||n<0)throw Error(`Expected non-negative safe integer field: ${t}`);return n}function Or(e){if(new Set(e.map(e=>e.id)).size!==e.length)throw Error(`Duplicate notification id`);if(new Set(e.map(e=>e.order)).size!==e.length)throw Error(`Duplicate notification order`)}function kr(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t];if(n===void 0||r===void 0||n.order<=r.order)throw Error(`Notifications are not newest-first`)}}function Ar(e){return e.retainedCount===0&&e.discardedCount===0}function jr(e){let t;for(let n of e){if(n.severity===`error`)return`error`;n.severity===`warning`?t=`warning`:t??=`info`}return t}function Mr(e){let t=E(e),n=t.skippedBusySessionIds===void 0?void 0:Qt(t.skippedBusySessionIds,`skippedBusySessionIds`);return{generatedAt:D(t,`generatedAt`),thresholds:Lr(t.thresholds),projects:j(Rr)(t.projects),totals:zr(t.totals),...n===void 0?{}:{skippedBusySessionIds:n}}}function Nr(e){let t=E(e);return{...Mr(t),archivedSessionIds:Qt(t.archivedSessionIds,`archivedSessionIds`),deletedSessionIds:Qt(t.deletedSessionIds,`deletedSessionIds`)}}function Pr(e){let t=E(e);if(t.archived!==!0)throw Error(`Expected bulk archived response`);return{archived:!0,archivedSessionIds:Qt(t.archivedSessionIds,`archivedSessionIds`),failures:j(Ir)(t.failures),generatedAt:D(t,`generatedAt`)}}function Fr(e){let t=E(e);if(t.deleted!==!0)throw Error(`Expected bulk deleted response`);return{deleted:!0,deletedSessionIds:Qt(t.deletedSessionIds,`deletedSessionIds`),failures:j(Ir)(t.failures),generatedAt:D(t,`generatedAt`)}}function Ir(e){let t=E(e);return{sessionId:D(t,`sessionId`),error:D(t,`error`)}}function Lr(e){let t=E(e);return{...z(`archiveIdleDays`,R(t,`archiveIdleDays`)),...z(`deleteArchivedDays`,R(t,`deleteArchivedDays`))}}function Rr(e){let t=E(e);return{cwd:D(t,`cwd`),archiveCount:k(t,`archiveCount`),deleteCount:k(t,`deleteCount`)}}function zr(e){let t=E(e);return{archiveCount:k(t,`archiveCount`),deleteCount:k(t,`deleteCount`)}}function Br(e){let t=E(e),n=D(t,`kind`);if(n!==`steer`&&n!==`followUp`)throw Error(`Invalid queued message kind`);return{kind:n,text:D(t,`text`),...z(`hasAttachments`,L(t,`hasAttachments`)),...z(`attachmentCount`,t.attachmentCount===void 0?void 0:F(t,`attachmentCount`))}}function Vr(e){let t=E(e);return{input:k(t,`input`),output:k(t,`output`),cacheRead:k(t,`cacheRead`),cacheWrite:k(t,`cacheWrite`),total:k(t,`total`)}}function Hr(e){let t=E(e);return{...z(`provider`,O(t,`provider`)),...z(`id`,O(t,`id`)),...z(`name`,O(t,`name`)),...z(`contextWindow`,R(t,`contextWindow`)),...z(`reasoning`,t.reasoning)}}function Ur(e){return e===void 0?{}:{model:Hr(e)}}function Wr(e){let t=E(e);return{models:j(Hr)(t.models)}}function Gr(e){let t=E(e);return{provider:D(t,`provider`),id:D(t,`id`),...z(`name`,O(t,`name`)),...z(`contextWindow`,R(t,`contextWindow`)),...z(`reasoning`,t.reasoning),enabled:A(t,`enabled`),...z(`editable`,L(t,`editable`)),...z(`catalogIndex`,t.catalogIndex===void 0?void 0:F(t,`catalogIndex`))}}function Kr(e){let t=E(e);return{models:j(Gr)(t.models)}}function qr(e){if(typeof e!=`string`)throw Error(`Invalid thinking level`);return e}function Jr(e){let t=E(e);return{levels:j(qr)(t.levels)}}function Yr(e){if(e!==`oauth`&&e!==`api_key`)throw Error(`Invalid auth type`);return e}function Xr(e){if(e!==`stored`&&e!==`runtime`&&e!==`environment`&&e!==`fallback`&&e!==`models_json_key`&&e!==`models_json_command`)throw Error(`Invalid auth status source`);return e}function Zr(e){let t=E(e),n=t.source===void 0?void 0:Xr(t.source);return{configured:A(t,`configured`),...z(`source`,n),...z(`label`,O(t,`label`))}}function Qr(e){let t=E(e),n=t.loginFlow;if(n!==void 0&&n!==`interactive`)throw Error(`Invalid auth provider login flow`);return{id:D(t,`id`),name:D(t,`name`),authType:Yr(t.authType),status:Zr(t.status),...n===void 0?{}:{loginFlow:n}}}function $r(e){let t=E(e);return{providers:j(Qr)(t.providers)}}function ei(e){let t=E(e);return{servers:j(e=>{let t=E(e);return{name:D(t,`name`),...z(`description`,O(t,`description`))}})(t.servers)}}function ti(e){let t=E(e),n=t.target;if(n!==void 0&&n!==`mcp`)throw Error(`Invalid login flow target`);let r=t.mcpMode;if(r!==void 0&&r!==`login`&&r!==`logout`)throw Error(`Invalid MCP authentication mode`);let i={flowId:D(t,`flowId`),providerId:D(t,`providerId`),providerName:D(t,`providerName`),...n===void 0?{}:{target:n},...r===void 0?{}:{mcpMode:r},...z(`cancelRequested`,L(t,`cancelRequested`)),status:ni(t.status),progress:j(e=>{if(typeof e!=`string`)throw Error(`Expected progress item string`);return e})(t.progress),...z(`error`,O(t,`error`)),...z(`auth`,ri(t.auth)),...z(`prompt`,ai(t.prompt)),...z(`select`,si(t.select)),...z(`info`,ci(t.info))};if(i.target===`mcp`&&i.auth!==void 0){let e=new URL(i.auth.url);if(e.protocol!==`https:`&&e.protocol!==`http:`)throw Error(`Invalid MCP authorization URL`)}return i}function ni(e){if(e!==`running`&&e!==`complete`&&e!==`error`&&e!==`cancelled`)throw Error(`Invalid OAuth flow status`);return e}function ri(e){if(e===void 0)return;let t=E(e);return{url:D(t,`url`),...z(`instructions`,O(t,`instructions`)),...z(`deviceCode`,ii(t.deviceCode))}}function ii(e){if(e===void 0)return;let t=E(e);return{userCode:D(t,`userCode`),...z(`intervalSeconds`,R(t,`intervalSeconds`)),...z(`expiresInSeconds`,R(t,`expiresInSeconds`))}}function ai(e){if(e===void 0)return;let t=E(e),n=O(t,`kind`);if(n!==void 0&&n!==`prompt`&&n!==`manual`)throw Error(`Invalid OAuth prompt kind`);let r=t.promptType===void 0&&n!==void 0?n===`manual`?`manual_code`:`text`:oi(t.promptType);return{requestId:D(t,`requestId`),message:D(t,`message`),...z(`kind`,n),promptType:r,...z(`placeholder`,O(t,`placeholder`)),...z(`allowEmpty`,L(t,`allowEmpty`))}}function oi(e){if(e!==`text`&&e!==`secret`&&e!==`manual_code`)throw Error(`Invalid OAuth prompt type`);return e}function si(e){if(e===void 0)return;let t=E(e);return{requestId:D(t,`requestId`),message:D(t,`message`),options:j(ka)(t.options)}}function ci(e){if(e!==void 0)return j(e=>{let t=E(e);return{message:D(t,`message`),...z(`links`,t.links===void 0?void 0:j(li)(t.links))}})(e)}function li(e){let t=E(e);return{url:D(t,`url`),...z(`label`,O(t,`label`))}}function ui(e){if(e===void 0)return{};let t=E(e);return{contextUsage:{tokens:Ha(t,`tokens`),contextWindow:k(t,`contextWindow`),percent:Ha(t,`percent`)}}}function di(e){let t=E(e),n=D(t,`source`);if(n!==`extension`&&n!==`prompt`&&n!==`skill`&&n!==`builtin`)throw Error(`Invalid command source`);return{name:D(t,`name`),source:n,...z(`description`,O(t,`description`)),...z(`argumentHint`,O(t,`argumentHint`))}}function fi(e){let t=E(e),n=D(t,`kind`);if(n!==`tracked`&&n!==`untracked`&&n!==`other`)throw Error(`Invalid file kind`);return{path:D(t,`path`),kind:n}}function pi(e){let t=E(e);return{path:D(t,`path`),entries:j(gi)(t.entries),scannedAt:D(t,`scannedAt`),truncated:A(t,`truncated`)}}function mi(e){let t=E(e);return{results:j(hi)(t.results)}}function hi(e){let t=E(e),n=D(t,`path`),r=t.tree,i=t.error;if(r===void 0==(i===void 0))throw Error(`File tree batch result must contain exactly one of tree or error`);return r===void 0?{path:n,error:D(t,`error`)}:{path:n,tree:pi(r)}}function gi(e){let t=E(e),n=D(t,`type`);if(n!==`file`&&n!==`directory`&&n!==`symlink`)throw Error(`Invalid file tree entry type`);return{name:D(t,`name`),path:D(t,`path`),type:n,...z(`size`,R(t,`size`)),...z(`modifiedAt`,O(t,`modifiedAt`))}}function _i(e){let t=E(e),n=D(t,`encoding`);if(n!==`utf8`)throw Error(`Invalid file encoding`);return{path:D(t,`path`),...z(`language`,O(t,`language`)),...z(`mediaType`,xi(t.mediaType)),...z(`mimeType`,O(t,`mimeType`)),encoding:n,size:k(t,`size`),modifiedAt:D(t,`modifiedAt`),content:D(t,`content`),truncated:A(t,`truncated`),binary:A(t,`binary`)}}function vi(e){let t=E(e);return{path:D(t,`path`),size:k(t,`size`),modifiedAt:D(t,`modifiedAt`),created:A(t,`created`)}}function yi(e){let t=E(e);return{path:D(t,`path`),existed:A(t,`existed`)}}function bi(e){let t=E(e);return{fromPath:D(t,`fromPath`),toPath:D(t,`toPath`),size:k(t,`size`),modifiedAt:D(t,`modifiedAt`)}}function xi(e){if(e!==void 0){if(e!==`image`&&e!==`html`&&e!==`pdf`&&e!==`markdown`)throw Error(`Invalid file media type`);return e}}function Si(e){let t=E(e);return{id:D(t,`id`),cwd:D(t,`cwd`),name:D(t,`name`),createdAt:D(t,`createdAt`),exited:A(t,`exited`),...z(`exitCode`,R(t,`exitCode`)),...z(`commandRunId`,O(t,`commandRunId`))}}function Ci(e){let t=E(e);return{id:D(t,`id`),origin:D(t,`origin`),projectId:D(t,`projectId`),workspaceId:D(t,`workspaceId`),terminalId:D(t,`terminalId`),title:D(t,`title`),command:D(t,`command`),status:wi(t.status),...z(`exitCode`,R(t,`exitCode`)),createdAt:D(t,`createdAt`),...z(`startedAt`,O(t,`startedAt`)),...z(`completedAt`,O(t,`completedAt`)),metadata:Ti(t.metadata,`metadata`)}}function wi(e){if(e!==`queued`&&e!==`running`&&e!==`succeeded`&&e!==`failed`)throw Error(`Invalid terminal command run status`);return e}function Ti(e,t){let n=E(e);return Object.fromEntries(Object.entries(n).map(([e,n])=>{if(typeof n!=`string`)throw Error(`Expected string record field: ${t}.${e}`);return[e,n]}))}function Ei(e){let t=E(e);return{cwd:D(t,`cwd`),hasSessionActivity:A(t,`hasSessionActivity`),hasTerminalActivity:A(t,`hasTerminalActivity`),updatedAt:D(t,`updatedAt`)}}function Di(e){let t=E(e);return{workspaces:j(Ei)(t.workspaces),generatedAt:D(t,`generatedAt`)}}function Oi(e){let t=Gt(e);if(t===void 0)throw Error(`Expected machine status snapshot`);return t}function ki(e){let t=E(e);return{path:D(t,`path`),exists:A(t,`exists`),config:Ai(t.config),effectiveConfig:Ai(t.effectiveConfig),envOverrides:Vi(t.envOverrides)}}function Ai(e){let t=E(e);return{...z(`host`,O(t,`host`)),...z(`port`,R(t,`port`)),...z(`allowedHosts`,Mi(t.allowedHosts)),...z(`shortcuts`,zi(t.shortcuts)),...z(`defaultTheme`,t.defaultTheme===void 0?void 0:Ct(t.defaultTheme,`response`)),...z(`defaultStreamingBehavior`,t.defaultStreamingBehavior===void 0?void 0:wt(t.defaultStreamingBehavior,`response`)),...z(`plugins`,Bi(t.plugins)),...z(`pathAccess`,Ni(t.pathAccess)),...z(`uploads`,Fi(t.uploads)),...z(`attachments`,Ii(t.attachments)),...z(`maxUploadBytes`,R(t,`maxUploadBytes`)),...z(`agent`,ji(t.agent)),...z(`spawnSessions`,L(t,`spawnSessions`)),...z(`subsessions`,L(t,`subsessions`)),...z(`askUser`,L(t,`askUser`)),...z(`sessionNaming`,t.sessionNaming===void 0?void 0:Et(t.sessionNaming,`response`)),...z(`sessionArchive`,t.sessionArchive===void 0?void 0:Dt(t.sessionArchive,`response`))}}function ji(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB agent field`);return{...z(`command`,O(e,`command`)),...z(`dir`,O(e,`dir`))}}}function Mi(e){if(e!==void 0){if(e===!0)return!0;if(Li(e))return e;throw Error(`Invalid PI WEB allowedHosts field`)}}function Ni(e){if(e===void 0)return;if(!T(e))throw Error(`Invalid PI WEB pathAccess field`);let t=e.allowedPaths;return{...z(`allowedPaths`,Pi(t,`pathAccess.allowedPaths`))}}function Pi(e,t){if(e!==void 0){if(Ri(e))return e;throw Error(`Invalid PI WEB ${t} field`)}}function Fi(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB uploads field`);return{...z(`defaultFolder`,O(e,`defaultFolder`))}}}function Ii(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB attachments field`);return{...z(`defaultFolder`,O(e,`defaultFolder`))}}}function Li(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Ri(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`&&e!==``)}function zi(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB shortcuts field`);return Object.fromEntries(Object.entries(e).map(([e,t])=>{if(t!==null&&(typeof t!=`string`||t===``))throw Error(`Invalid PI WEB shortcut field`);return[e,t]}))}}function Bi(e){if(e!==void 0){if(!T(e)||Array.isArray(e))throw Error(`Invalid PI WEB plugins field`);return Object.fromEntries(Object.entries(e).map(([e,t])=>{if(!T(t)||Array.isArray(t))throw Error(`Invalid PI WEB plugin config field`);let n=t.enabled;if(n!==void 0&&typeof n!=`boolean`)throw Error(`Invalid PI WEB plugin enabled field`);let r=t.settings;if(r!==void 0&&(!T(r)||Array.isArray(r)))throw Error(`Invalid PI WEB plugin settings field`);return[e,t]}))}}function Vi(e){let t=E(e);return{host:A(t,`host`),port:A(t,`port`),allowedHosts:A(t,`allowedHosts`),spawnSessions:A(t,`spawnSessions`),subsessions:A(t,`subsessions`),askUser:A(t,`askUser`),agentCommand:L(t,`agentCommand`)??!1,agentDir:L(t,`agentDir`)??!1,...Hi(t),agentSessionDir:L(t,`agentSessionDir`)??!1}}function Hi(e){let t=e.agentDirSource;if(t===void 0)return{};if(t!==`pi-web`&&t!==`pi-compatibility`)throw Error(`Invalid PI WEB agentDirSource field`);return{agentDirSource:t}}function Ui(e){let t=E(e);return{packages:j(Gi)(t.packages),...z(`installableKnownPackages`,Ki(t.installableKnownPackages))}}function Wi(e){let t=E(e),n=O(t,`source`),r=t.scope===void 0?void 0:Ji(t.scope),i=I(t.removed,`removed`);return{action:Yi(t.action),...z(`source`,n),...z(`scope`,r),...z(`removed`,i),packages:j(Gi)(t.packages),...z(`installableKnownPackages`,Ki(t.installableKnownPackages))}}function Gi(e){let t=E(e);return{source:D(t,`source`),scope:Ji(t.scope),filtered:A(t,`filtered`),...z(`installedPath`,O(t,`installedPath`))}}function Ki(e){return e===void 0?void 0:j(qi)(e)}function qi(e){let t=E(e);return{id:D(t,`id`),label:D(t,`label`),description:D(t,`description`),source:D(t,`source`)}}function Ji(e){if(e!==`user`&&e!==`project`)throw Error(`Invalid Pi package scope`);return e}function Yi(e){if(e!==`install`&&e!==`remove`&&e!==`update`)throw Error(`Invalid Pi package mutation action`);return e}function Xi(e){let t=E(e),n=j(Zi)(t.plugins);if(t.lifecycleVersion===void 0)return{lifecycleVersion:2,plugins:n,diagnostics:[],serverRuntime:{status:`incompatible`,terminalMode:`required`,restartRequired:!1,message:f(`ui.main.fe09b19a1f40`,`PI WEB does not support plugin lifecycle diagnostics. Update and restart PI WEB, then try again.`),recovery:ra()}};if(t.lifecycleVersion!==2)throw Error(`Unsupported PI WEB plugin lifecycle version`);return{lifecycleVersion:2,plugins:n,diagnostics:j(ea)(t.diagnostics),serverRuntime:ta(t.serverRuntime)}}function Zi(e){let t=E(e),n=D(t,`id`),r=t.server===void 0?void 0:Qi(t.server,n),i=O(t,`backendRevision`),a=ia(t.pairedRequestVersion),o=ia(t.pairedChannelVersion);if((a!==void 0||o!==void 0)&&i===void 0)throw Error(`Invalid PI WEB plugin paired capability`);let s=I(t.required,`required`);if(s===!1)throw Error(`Invalid PI WEB required plugin marker`);return{id:n,...s===!0?{required:!0}:{},...z(`module`,O(t,`module`)),...i===void 0?{}:{backendRevision:i},...a===void 0?{}:{pairedRequestVersion:a},...o===void 0?{}:{pairedChannelVersion:o},source:D(t,`source`),scope:aa(t.scope),machineSpecific:I(t.machineSpecific,`machineSpecific`)??!1,enabled:A(t,`enabled`),discovered:I(t.discovered,`discovered`)??!0,conflict:I(t.conflict,`conflict`)??!1,...r===void 0?{}:{server:r}}}function Qi(e,t){let n=E(e),r=n.state,i=n.phase;if(r!==`active`&&r!==`failed`&&r!==`incompatible`&&r!==`disabled`&&r!==`missing`&&r!==`unknown`)throw Error(`Invalid PI WEB server plugin state`);if(i!==void 0&&i!==`import`&&i!==`activate`&&i!==`validate`&&i!==`start`&&i!==`health`&&i!==`dispose`)throw Error(`Invalid PI WEB server plugin phase`);let a=n.health===void 0?void 0:$i(n.health),o=D(n,`disableCommand`);if(o!==Xt(t))throw Error(`Invalid PI WEB server plugin recovery command`);return{state:r,...z(`desiredRevision`,O(n,`desiredRevision`)),...z(`activeRevision`,O(n,`activeRevision`)),...i===void 0?{}:{phase:i},...z(`message`,O(n,`message`)),...a===void 0?{}:{health:a},staleRevision:A(n,`staleRevision`),restartRequired:A(n,`restartRequired`),disableCommand:o}}function $i(e){let t=E(e),n=t.status;if(n!==`healthy`&&n!==`degraded`&&n!==`unhealthy`)throw Error(`Invalid PI WEB server plugin health status`);return{status:n,...z(`message`,O(t,`message`))}}function ea(e){let t=E(e),n=t.kind,r=t.snapshot;if(n!==`conflict`&&n!==`discovery`)throw Error(`Invalid PI WEB plugin diagnostic kind`);if(r!==`desired`&&r!==`active`)throw Error(`Invalid PI WEB plugin diagnostic snapshot`);return{kind:n,snapshot:r,source:D(t,`source`),message:D(t,`message`),...z(`pluginId`,O(t,`pluginId`))}}function ta(e){let t=E(e),n=t.status,r=t.terminalMode,i=t.safeStart,a=t.desiredSafeStart;if(n!==`available`&&n!==`unavailable`&&n!==`incompatible`)throw Error(`Invalid PI WEB server-plugin runtime status`);if(r!==`required`&&r!==`recovery-disabled`)throw Error(`Invalid PI WEB Terminal plugin mode`);if(i!==void 0&&i!==`bundled-only`&&i!==`none`)throw Error(`Invalid PI WEB server-plugin safe-start state`);if(a!==void 0&&a!==`off`&&a!==`bundled-only`&&a!==`none`)throw Error(`Invalid desired PI WEB server-plugin safe-start state`);if(n!==`available`&&r===`recovery-disabled`)throw Error(`Unavailable PI WEB runtime cannot declare Terminal recovery mode`);if(i===`none`!=(r===`recovery-disabled`)&&n===`available`)throw Error(`PI WEB Terminal plugin mode does not match safe start`);return{status:n,terminalMode:r,...i===void 0?{}:{safeStart:i},...a===void 0?{}:{desiredSafeStart:a},restartRequired:A(t,`restartRequired`),...z(`message`,O(t,`message`)),recovery:na(t.recovery)}}function na(e){let t=E(e),n={showSafeStart:D(t,`showSafeStart`),bundledOnly:D(t,`bundledOnly`),noServerPlugins:D(t,`noServerPlugins`),clearSafeStart:D(t,`clearSafeStart`)};if(n.showSafeStart!==Yt.showSafeStart||n.bundledOnly!==Yt.bundledOnly||n.noServerPlugins!==Yt.noServerPlugins||n.clearSafeStart!==Yt.clearSafeStart)throw Error(`Invalid PI WEB server plugin recovery commands`);return n}function ra(){return{...Yt}}function ia(e){if(e!==void 0){if(e!==1)throw Error(`Invalid PI WEB plugin paired capability version`);return 1}}function aa(e){if(e!==`bundled`&&e!==`local`&&e!==`user`&&e!==`project`)throw Error(`Invalid PI WEB plugin scope`);return e}function I(e,t){if(e!==void 0){if(typeof e!=`boolean`)throw Error(`Expected optional boolean field: ${t}`);return e}}function oa(e){let t=E(e);return{packageName:D(t,`packageName`),generatedAt:D(t,`generatedAt`),components:ca(t.components),release:pa(t.release),commands:ma(t.commands),messages:j(ha)(t.messages)}}function sa(e){let t=E(e);return{packageName:D(t,`packageName`),generatedAt:D(t,`generatedAt`),components:la(t.components),capabilities:_a(t.capabilities)}}function ca(e){let t=E(e);return{web:da(t.web),sessiond:da(t.sessiond)}}function la(e){let t=E(e);return{web:ua(t.web),sessiond:ua(t.sessiond)}}function ua(e){let t=E(e),n=ga(t.component),r=t.activeAgentProfile,i=r===void 0?void 0:kt(r);if(r!==void 0&&(n!==`sessiond`||i===void 0))throw Error(`Invalid active agent profile descriptor`);return{component:n,label:D(t,`label`),...z(`runtimeVersion`,O(t,`runtimeVersion`)),...z(`piVersion`,O(t,`piVersion`)),available:A(t,`available`),capabilities:_a(t.capabilities),...z(`activeAgentProfile`,i),...z(`deprecatedAgentInputs`,Rt(t.deprecatedAgentInputs)),...z(`error`,O(t,`error`))}}function da(e){let t=E(e);return{component:ga(t.component),label:D(t,`label`),...z(`runtimeVersion`,O(t,`runtimeVersion`)),...z(`installedVersion`,O(t,`installedVersion`)),...z(`piVersion`,O(t,`piVersion`)),stale:A(t,`stale`),available:A(t,`available`),...z(`installation`,fa(t.installation)),...z(`error`,O(t,`error`))}}function fa(e){if(e===void 0)return;let t=E(e),n=D(t,`kind`);if(n!==`pi-package`&&n!==`npm-global`&&n!==`local`&&n!==`docker`&&n!==`unknown`)throw Error(`Invalid PI WEB installation kind`);let r=t.scope;if(r!==void 0&&r!==`user`&&r!==`project`)throw Error(`Invalid PI WEB installation scope`);let i=t.dockerMode;if(i!==void 0&&i!==`runtime`&&i!==`dev`)throw Error(`Invalid PI WEB Docker mode`);return{kind:n,...z(`path`,O(t,`path`)),...z(`source`,O(t,`source`)),...r===void 0?{}:{scope:r},...z(`npmRoot`,O(t,`npmRoot`)),...i===void 0?{}:{dockerMode:i}}}function pa(e){let t=E(e);return{packageName:D(t,`packageName`),...z(`latestVersion`,O(t,`latestVersion`)),updateAvailable:A(t,`updateAvailable`),...z(`checkedAt`,O(t,`checkedAt`)),...t.skipped===!0?{skipped:!0}:{},...z(`error`,O(t,`error`))}}function ma(e){let t=E(e);return{...z(`update`,O(t,`update`)),...z(`restart`,O(t,`restart`)),...z(`restartWeb`,O(t,`restartWeb`)),...z(`restartSessiond`,O(t,`restartSessiond`)),...z(`status`,O(t,`status`))}}function ha(e){let t=E(e);return{id:D(t,`id`),severity:va(t.severity),title:D(t,`title`),body:D(t,`body`),...z(`command`,O(t,`command`))}}function ga(e){if(e!==`web`&&e!==`sessiond`)throw Error(`Invalid PI WEB service component`);return e}function _a(e){let t=Lt(e);if(t===void 0)throw Error(`Invalid PI WEB capabilities`);return t}function va(e){if(e!==`info`&&e!==`warning`&&e!==`error`)throw Error(`Invalid PI WEB status severity`);return e}function ya(e){let t=E(e),n=D(t,`type`);if(n===`unsupported`)return{type:n,message:D(t,`message`)};if(n===`select`)return{type:n,requestId:D(t,`requestId`),title:D(t,`title`),options:j(ka)(t.options)};if(n===`tree`)return{type:n,tree:ba(t.tree)};if(n===`done`)return{type:n,...z(`message`,O(t,`message`)),...Aa(t.session),...z(`promptDraft`,O(t,`promptDraft`))};throw Error(`Invalid command result type`)}function ba(e){let t=E(e),n=j(xa)(t.nodes),r=new Set(n.map(e=>e.id));if(r.size!==n.length)throw Error(`Duplicate session tree node id`);let i=Ea(t,`activeLeafId`);if(i!==null&&!r.has(i))throw Error(`Invalid session tree activeLeafId`);return{nodes:n,activeLeafId:i,activePathIds:Oa(t.activePathIds,`activePathIds`)}}function xa(e){let t=E(e);return{id:Da(t,`id`),parentId:Ea(t,`parentId`),kind:Sa(t.kind),summary:D(t,`summary`),...z(`timestamp`,O(t,`timestamp`)),...z(`label`,O(t,`label`))}}function Sa(e){switch(e){case`user`:case`assistant`:case`tool-result`:case`bash`:case`custom-message`:case`compaction`:case`branch-summary`:case`model-change`:case`thinking-level-change`:case`session-info`:case`label`:case`custom`:case`other`:return e;default:throw Error(`Invalid session tree node kind`)}}function Ca(e){let t=E(e),n=A(t,`cancelled`);if(Object.hasOwn(t,`summaryEntry`))throw Error(`Invalid session tree navigation result field: summaryEntry`);if(n){Ta(t,`editorText`,`session tree cancellation result`);let e=t.aborted;if(e!==void 0&&typeof e!=`boolean`)throw Error(`Expected optional boolean field: aborted`);return{cancelled:n,...e===void 0?{}:{aborted:e}}}return Ta(t,`aborted`,`session tree navigation result`),{cancelled:n,...z(`editorText`,O(t,`editorText`))}}function wa(e){let t=E(e),n=A(t,`cancelled`);return n?(Ta(t,`session`,`session tree fork cancellation result`),Ta(t,`promptDraft`,`session tree fork cancellation result`),{cancelled:n}):{cancelled:n,session:xn(t.session),...z(`promptDraft`,O(t,`promptDraft`))}}function Ta(e,t,n){if(Object.hasOwn(e,t))throw Error(`Invalid ${n} field: ${t}`)}function Ea(e,t){let n=e[t];if(n!==null&&typeof n!=`string`)throw Error(`Expected string or null field: ${t}`);if(typeof n==`string`&&n.trim()===``)throw Error(`Expected non-blank string or null field: ${t}`);return n}function Da(e,t){let n=D(e,t);if(n.trim()===``)throw Error(`Expected non-blank string field: ${t}`);return n}function Oa(e,t){let n=Qt(e,t);if(n.some(e=>e.trim()===``))throw Error(`Expected non-blank string array field: ${t}`);return n}function ka(e){let t=E(e);return{value:D(t,`value`),label:D(t,`label`),...z(`description`,O(t,`description`))}}function Aa(e){return e===void 0?{}:{session:xn(e)}}function ja(e){if(E(e).accepted!==!0)throw Error(`Expected accepted response`);return{accepted:!0}}function Ma(e){let t=E(e);return j(Na)(t.attachments)}function Na(e){let t=E(e);return{path:D(t,`path`),mimeType:D(t,`mimeType`),size:k(t,`size`)}}function Pa(e){if(E(e).closed!==!0)throw Error(`Expected closed response`);return{closed:!0}}function Fa(e){if(E(e).aborted!==!0)throw Error(`Expected aborted response`);return{aborted:!0}}function Ia(e){if(E(e).stopped!==!0)throw Error(`Expected stopped response`);return{stopped:!0}}function La(e){let t=E(e);if(t.archived!==!0)throw Error(`Expected archived response`);let n=t.sessionIds===void 0?void 0:Qt(t.sessionIds,`sessionIds`),r=R(t,`archivedCount`),i=R(t,`skippedAlreadyArchivedCount`);return{archived:!0,...n===void 0?{}:{sessionIds:n},...r===void 0?{}:{archivedCount:r},...i===void 0?{}:{skippedAlreadyArchivedCount:i}}}function Ra(e){if(E(e).restored!==!0)throw Error(`Expected restored response`);return{restored:!0}}function za(e){if(E(e).deleted!==!0)throw Error(`Expected deleted response`);return{deleted:!0}}function Ba(e){if(E(e).detached!==!0)throw Error(`Expected detached response`);return{detached:!0}}function Va(e){if(E(e).reloaded!==!0)throw Error(`Expected reloaded response`);return{reloaded:!0}}function L(e,t){let n=e[t];if(n!==void 0){if(typeof n!=`boolean`)throw Error(`Invalid PI WEB ${t} field`);return n}}function R(e,t){let n=e[t];if(n!==void 0){if(typeof n!=`number`)throw Error(`Expected optional number field: ${t}`);return n}}function Ha(e,t){let n=e[t];if(n===null)return null;if(typeof n!=`number`)throw Error(`Expected number|null field: ${t}`);return n}function z(e,t){return t===void 0?{}:{[e]:t}}function Ua(e){let t=E(e);switch(t.type){case`message.append`:return{type:`message.append`,message:Ga(t,`message`)};case`assistant.start`:return{type:`assistant.start`,message:Ga(t,`message`)};case`assistant.delta`:return{type:`assistant.delta`,text:D(t,`text`),...z(`streamId`,O(t,`streamId`))};case`assistant.thinking.delta`:return{type:`assistant.thinking.delta`,text:D(t,`text`),...z(`streamId`,O(t,`streamId`))};case`tool.start`:return{type:`tool.start`,toolName:D(t,`toolName`),toolCallId:D(t,`toolCallId`),summary:D(t,`summary`),...z(`args`,t.args)};case`tool.update`:return{type:`tool.update`,toolName:D(t,`toolName`),toolCallId:D(t,`toolCallId`),text:D(t,`text`),...z(`content`,t.content),...z(`details`,t.details)};case`tool.end`:return{type:`tool.end`,toolName:D(t,`toolName`),toolCallId:D(t,`toolCallId`),text:D(t,`text`),isError:A(t,`isError`),...z(`content`,t.content),...z(`details`,t.details)};case`shell.start`:return{type:`shell.start`,command:D(t,`command`),...z(`excludeFromContext`,I(t.excludeFromContext,`excludeFromContext`))};case`shell.chunk`:return{type:`shell.chunk`,chunk:D(t,`chunk`)};case`shell.end`:return{type:`shell.end`,...z(`output`,O(t,`output`)),...z(`exitCode`,Ka(t,`exitCode`)),...z(`cancelled`,I(t.cancelled,`cancelled`)),...z(`truncated`,I(t.truncated,`truncated`)),...z(`fullOutputPath`,O(t,`fullOutputPath`)),...z(`isError`,I(t.isError,`isError`))};case`agent.start`:return{type:`agent.start`};case`agent.end`:return{type:`agent.end`};case`message.end`:return{type:`message.end`,...z(`message`,t.message)};case`status.update`:return{type:`status.update`,status:M(t.status)};case`activity.update`:return{type:`activity.update`,activity:ir(t.activity)};case`command.output`:return qa(t);case`session.error`:return{type:`session.error`,message:D(t,`message`)};case`session.diagnostic`:return{type:`session.diagnostic`,message:D(t,`message`)};case`session.name`:return Ja(t);case`session.created`:return{type:`session.created`,session:xn(t.session)};case`session.tree.changed`:return{type:`session.tree.changed`};case`pi.event`:return{type:`pi.event`,eventType:D(t,`eventType`)};default:throw Error(`Unsupported session stream event type`)}}function Wa(e){let t=E(e);switch(t.type){case`status.update`:return{type:`status.update`,status:M(t.status)};case`activity.update`:return{type:`activity.update`,activity:ir(t.activity)};case`session.name`:return Ja(t);case`session.created`:return{type:`session.created`,session:xn(t.session)};case`models.changed`:return gr(t);case`workspaces.changed`:return{type:`workspaces.changed`,projectId:P(t,`projectId`)};case`notices.updated`:return hr(t);case`machine.status`:return{type:`machine.status`,status:Oi(t.status)};default:throw Error(`Unsupported realtime stream event type`)}}function Ga(e,t){let n=e[t];if(n===void 0)throw Error(`Expected field: ${t}`);return n}function Ka(e,t){let n=e[t];if(n!==void 0){if(n===null)return null;if(typeof n!=`number`)throw Error(`Expected optional number|null field: ${t}`);return n}}function qa(e){let t=D(e,`level`);if(t!==`info`&&t!==`success`&&t!==`error`)throw Error(`Invalid command output level`);return{type:`command.output`,level:t,message:D(e,`message`),...z(`notificationId`,O(e,`notificationId`))}}function Ja(e){return{type:`session.name`,sessionId:P(e,`sessionId`),...z(`name`,O(e,`name`))}}function Ya(e){let t=E(e),n=t.decision;if(n!==!0&&n!==!1&&n!==null)throw Error(`Invalid workspace trust decision`);return{path:D(t,`path`),decision:n,trusted:A(t,`trusted`)}}function Xa(e,t){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0&&typeof t==`number`&&Number.isSafeInteger(t)&&t>0?{width:e,height:t}:void 0}var Za=`reference`;function Qa(e){return typeof e==`string`&&/^[0-9a-f]{64}$/u.test(e)}function $a(e,t,n,r){let i=new URLSearchParams({cwd:e.cwd});return n?.limit!==void 0&&i.set(`limit`,String(n.limit)),n?.before!==void 0&&i.set(`before`,String(n.before)),i.set(`media`,Za),`api/machines/${encodeURIComponent(r)}/sessions/${encodeURIComponent(e.id)}/${t}?${i.toString()}`}function eo(e,t,n=`local`){return $a(e,`messages`,t,n)}function to(e,t,n=`local`){return $a(e,`transcript-snapshot`,t,n)}function no(e,t=`local`){return $a(e,`stream-snapshot`,void 0,t)}function ro(e,t=`local`){return $a(e,`events`,void 0,t)}function io(e,t,n=`local`){let r=new URLSearchParams({cwd:e.cwd}),i=`api/machines/${encodeURIComponent(n)}/sessions/${encodeURIComponent(e.id)}/media/${encodeURIComponent(t)}?${r.toString()}`,a=h(i);return new URL(se(a),a).href}function ao(e,t,n,r){let i=new URLSearchParams({path:n});r?.createDirs===!1&&i.set(`createDirs`,`false`),r?.overwrite===!1&&i.set(`overwrite`,`false`);let a=`api/machines/${encodeURIComponent(r?.machineId??`local`)}`;return h(se(`${a}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${i.toString()}`))}function oo(e,t,n,r){let i=new URLSearchParams;i.set(`path`,n),r?.modifiedAt!==void 0&&i.set(`v`,r.modifiedAt),r?.download===!0&&i.set(`download`,`1`);let a=`api/machines/${encodeURIComponent(r?.machineId??`local`)}`;return se(`${a}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/preview?${i.toString()}`)}function so(e,t,n,r){return h(oo(e,t,n,r))}function co(e,t,n,r){return so(e,t,n,{...r,download:!0})}var B=(e=`local`)=>`api/machines/${encodeURIComponent(e)}`,lo={projectTrust:(e,t=`local`)=>w(`${B(t)}/projects/trust?${new URLSearchParams({path:e})}`,Ya),workspaceTrust:(e,t,n=`local`)=>w(`${B(n)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/trust`,Ya),setWorkspaceTrust:(e,t,n,r=`local`)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/trust`,Ya,{method:`PUT`,body:JSON.stringify({trusted:n})})};function uo(e,t=`local`){return`${B(t)}/sessions/${encodeURIComponent(e.id)}`}function V(e,t,n=`local`){return`${uo(e,n)}/${t}`}function fo(e,t,n=`local`){return`${V(e,t,n)}${mo(e)}`}function po(e,t=`local`,n){return`${uo(e,t)}${mo(e,n===void 0?{}:{scopeProjectId:n})}`}function mo(e,t={}){return`?${new URLSearchParams({cwd:e.cwd,...t}).toString()}`}function H(e,t={}){return JSON.stringify({cwd:e.cwd,...t})}function ho(e,t){let n={sessions:e.map(({id:e,cwd:t})=>({id:e,cwd:t})),...t===void 0?{}:{scopeProjectId:t}};return JSON.stringify(n)}function go(e,t){let n=new URLSearchParams;t.projectId!==void 0&&n.set(`projectId`,t.projectId);let r=n.toString();return`${B(t.machineId)}/auth/${e}${r===``?``:`?${r}`}`}function _o(e){return e===`local`?`api/pi-web/status`:`${B(e)}/pi-web/status`}var vo={piWebStatus:(e=`local`)=>w(_o(e),oa),checkForUpdates:(e=`local`)=>w(`${_o(e)}?refresh=1`,oa,{cache:`no-store`}),piWebRuntime:()=>w(`api/pi-web/runtime`,sa)},yo={machines:()=>w(`api/machines`,en),addMachine:e=>w(`api/machines`,tn,{method:`POST`,body:JSON.stringify(e)}),deleteMachine:e=>w(`api/machines/${encodeURIComponent(e)}`,e=>e,{method:`DELETE`}),health:e=>w(`api/machines/${encodeURIComponent(e)}/health`,nn),runtime:(e,t=!1)=>w(`api/machines/${encodeURIComponent(e)}/runtime${t?`?refresh=1`:``}`,rn,t?{cache:`no-store`}:{})};function bo(e){return e===void 0?`api/config`:`${B(e)}/config`}function xo(e){return e===void 0?`api/plugins`:`${B(e)}/plugins`}var So={namingModels:e=>{let t=new URLSearchParams;e.projectId!==void 0&&t.set(`projectId`,e.projectId);let n=t.toString();return w(`${B(e.machineId)}/models${n===``?``:`?${n}`}`,Wr)},config:e=>w(bo(e),ki),saveConfig:(e,t)=>w(bo(t),ki,{method:`PUT`,body:JSON.stringify({config:e})})},Co={status:()=>w(`api/normal-auth/status`,Sn),setup:e=>w(`api/normal-auth/setup`,ja,{method:`POST`,body:JSON.stringify({password:e})}),login:e=>w(`api/normal-auth/login`,ja,{method:`POST`,body:JSON.stringify({password:e})}),changePassword:(e,t)=>w(`api/normal-auth/change-password`,ja,{method:`POST`,body:JSON.stringify({currentPassword:e,newPassword:t})})},wo={plugins:e=>w(xo(e),Xi)};function To(e=``,t){let n=t===void 0?`api/pi-packages`:`${B(t)}/pi-packages`;return e===``?n:`${n}/${e}`}var Eo={packages:e=>w(To(``,e),Ui),install:(e,t)=>{let n={source:e};return w(To(`install`,t),Wi,{method:`POST`,body:JSON.stringify(n)})},remove:(e,t,n)=>{let r=t===void 0?{source:e}:{source:e,scope:t};return w(To(`remove`,n),Wi,{method:`POST`,body:JSON.stringify(r)})},update:(e,t)=>{let n=e===void 0?void 0:{source:e};return w(To(`update`,t),Wi,{method:`POST`,...n===void 0?{}:{body:JSON.stringify(n)}})}},Do={workspaceActivity:(e=`local`)=>w(`${B(e)}/activity`,Di)},Oo={machineStatus:(e=`local`)=>w(`${B(e)}/status`,Oi)},ko={snapshot:(e=`local`)=>w(`${B(e)}/notices`,mr,{cache:`no-store`}),dismiss:(e,t,n)=>{let r={daemonInstanceId:t,noticeId:n};return w(`${B(e)}/notices/dismiss`,mr,{method:`POST`,body:JSON.stringify(r)})}},Ao={projects:(e=`local`)=>w(`${B(e)}/projects`,j(cn)),addProject:(e,t,n,r=`local`)=>w(`${B(r)}/projects`,cn,{method:`POST`,body:JSON.stringify({path:e,name:t,create:n})}),closeProject:(e,t=`local`)=>w(`${B(t)}/projects/${encodeURIComponent(e)}`,Pa,{method:`DELETE`}),projectDirectories:(e,t=`local`)=>w(`${B(t)}/project-directories?q=${encodeURIComponent(e)}`,j(fi))};function jo(e,t,n,r,i,a=`local`){let o=new URLSearchParams({path:n});i?.createDirs===!1&&o.set(`createDirs`,`false`),i?.overwrite===!1&&o.set(`overwrite`,`false`);let s=r instanceof Uint8Array,c=s?new Uint8Array(r):new TextEncoder().encode(r);return w(`${B(a)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${o.toString()}`,vi,{method:`PUT`,body:c,headers:{"Content-Type":s?`application/octet-stream`:`text/plain`}})}function Mo(e,t=`local`,n){return w(`${B(t)}/projects/${encodeURIComponent(e)}/workspaces`,t=>{let n=un(t);if(n.projectId!==e)throw Error(`Workspace resolution project does not match request`);return n},n?.signal===void 0?void 0:{signal:n.signal})}var No={workspaceResolution:Mo,workspaces:async(e,t=`local`,n)=>pe()===`management`?w(`${B(t)}/projects/${encodeURIComponent(e)}/workspaces`,j(ln),n?.signal===void 0?void 0:{signal:n.signal}):[...(await Mo(e,t,n)).workspaces],deleteWorkspace:(e,t,n,r=`local`)=>{let i={precondition:n};return w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}`,e=>e,{method:`DELETE`,body:JSON.stringify(i)})},workspaceTree:(e,t,n=``,r=`local`,i)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/tree?path=${encodeURIComponent(n)}`,pi,i),workspaceTreeBatch:(e,t,n,r=`local`)=>{let i={paths:[...n]};return w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/tree/batch`,mi,{method:`POST`,body:JSON.stringify(i)})},workspaceFile:(e,t,n,r=`local`,i)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}`,_i,i),optionalWorkspaceFile:(e,t,n,r=`local`,i)=>gt(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(n)}&optional=true`,_i,i),createWorkspaceFile:(e,t,n,r=`local`)=>jo(e,t,n,new Uint8Array,void 0,r),writeWorkspaceFile:jo,deleteWorkspaceFile:(e,t,n,r=`local`)=>{let i=new URLSearchParams({path:n});return w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${i.toString()}`,yi,{method:`DELETE`})},moveWorkspaceFile:(e,t,n,r,i,a=`local`)=>{let o=new URLSearchParams({fromPath:n,toPath:r});return i?.createDirs===!1&&o.set(`createDirs`,`false`),i?.overwrite===!0&&o.set(`overwrite`,`true`),w(`${B(a)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/move?${o.toString()}`,bi,{method:`POST`})},createWorkspaceDirectory:(e,t,n,r=`local`)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/directory`,Cn,{method:`POST`,body:JSON.stringify({path:n})}),moveWorkspaceDirectory:(e,t,n,r,i=`local`)=>w(`${B(i)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/directory`,Cn,{method:`PATCH`,body:JSON.stringify({fromPath:n,toPath:r})}),deleteWorkspaceDirectory:(e,t,n,r=`local`)=>w(`${B(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/directory?path=${encodeURIComponent(n)}`,wn,{method:`DELETE`}),downloadWorkspaceFile:(e,t,n,r=`local`)=>Ho(e,t,n,r)},Po={sessions:(e,t=`local`,n)=>w(`${B(t)}/sessions?cwd=${encodeURIComponent(e)}`,j(xn),n?.signal===void 0?void 0:{signal:n.signal}),search:(e,t,n=`local`)=>w(`${B(n)}/sessions/search?${new URLSearchParams({cwd:e,q:t}).toString()}`,j(xn)),searchContent:(e,t,n=`local`)=>w(`${B(n)}/sessions/search-content?${new URLSearchParams({cwd:e,q:t}).toString()}`,Dn),pinned:(e,t=`local`)=>w(`${B(t)}/sessions/pins?cwd=${encodeURIComponent(e)}`,Tn),pin:(e,t=`local`)=>w(`${uo(e,t)}/pin`,En,{method:`PUT`,body:H(e)}),unpin:(e,t=`local`)=>w(`${uo(e,t)}/pin${mo(e)}`,En,{method:`DELETE`}),unreadCatalog:(e=`local`)=>w(`${B(e)}/sessions/unread`,tr,{cache:`no-store`}),acknowledgeUnread:(e,t,n,r=`local`)=>{let i={cwd:e.cwd,catalogId:t,throughCompletionOrder:n};return w(V(e,`unread/acknowledge`,r),tr,{method:`POST`,body:JSON.stringify(i)})},notificationInbox:(e,t=`local`)=>w(fo(e,`notifications`,t),fr),dismissNotification:(e,t,n,r=`local`)=>w(V(e,`notifications/dismiss`,r),fr,{method:`POST`,body:H(e,{daemonInstanceId:t,notificationId:n})}),dismissAllNotifications:(e,t,n,r=`local`)=>w(V(e,`notifications/dismiss-all`,r),fr,{method:`POST`,body:H(e,{daemonInstanceId:t,throughOrder:n.order,throughOverflowWatermark:n.overflowWatermark})}),startSession:(e,t=`local`,n)=>w(`${B(t)}/sessions`,xn,{method:`POST`,body:JSON.stringify(n===void 0?{cwd:e}:{cwd:e,startupToken:n})}),cleanupPreview:(e,t=`local`)=>w(`${B(t)}/sessions/cleanup/preview`,Mr,{method:`POST`,body:JSON.stringify(e)}),cleanup:(e,t=`local`)=>w(`${B(t)}/sessions/cleanup`,Nr,{method:`POST`,body:JSON.stringify(e)}),archiveMany:(e,t=`local`,n)=>w(`${B(t)}/sessions/bulk/archive`,Pr,{method:`POST`,body:ho(e,n)}),deleteArchivedMany:(e,t=`local`,n)=>w(`${B(t)}/sessions/bulk/delete-archived`,Fr,{method:`POST`,body:ho(e,n)}),messages:(e,t,n=`local`)=>w(eo(e,t,n),$t),status:(e,t=`local`)=>w(fo(e,`status`,t),M),streamSnapshot:(e,t=`local`)=>w(no(e,t),$n),transcriptSnapshot:(e,t,n=`local`)=>w(to(e,t,n),er),models:(e,t=`local`)=>w(fo(e,`models`,t),Wr),modelCatalog:(e,t=`local`)=>w(fo(e,`models/catalog`,t),Kr),setModelEnabled:(e,t,n,r,i=`local`)=>w(V(e,`models/enabled`,i),Kr,{method:`POST`,body:H(e,{provider:t,modelId:n,enabled:r})}),setModelScope:(e,t,n=`local`)=>w(V(e,`models/scope`,n),Kr,{method:`POST`,body:H(e,{mode:t})}),setModel:(e,t,n,r=`local`)=>w(V(e,`model`,r),M,{method:`POST`,body:H(e,{provider:t,modelId:n})}),cycleModel:(e,t,n=`local`)=>w(V(e,`model/cycle`,n),M,{method:`POST`,body:H(e,{direction:t})}),getSessionDefaults:(e,t=`local`)=>w(fo(e,`defaults`,t),ut),setSessionDefaults:(e,t,n=`local`)=>w(V(e,`defaults`,n),ut,{method:`POST`,body:H(e,{...t})}),thinkingLevels:(e,t=`local`)=>w(fo(e,`thinking-levels`,t),Jr),setThinkingLevel:(e,t,n=`local`)=>w(V(e,`thinking-level`,n),M,{method:`POST`,body:H(e,{level:t})}),cycleThinkingLevel:(e,t=`local`)=>w(V(e,`thinking-level/cycle`,t),M,{method:`POST`,body:H(e)}),commands:(e,t=`local`)=>w(fo(e,`commands`,t),j(di)),prompt:(e,t,n,r=`local`,i)=>w(V(e,`prompt`,r),ja,{method:`POST`,body:H(e,{text:t,...n===void 0?{}:{streamingBehavior:n},...i!==void 0&&i.length>0?{attachments:i}:{}})}),saveAttachments:(e,t,n=`local`,r)=>w(V(e,`attachments`,n),Ma,{method:`POST`,body:H(e,{attachments:t,...r===void 0?{}:{folder:r}})}),shell:(e,t,n=`local`)=>w(V(e,`shell`,n),ja,{method:`POST`,body:H(e,{text:t})}),runCommand:(e,t,n=`local`)=>w(V(e,`commands/run`,n),ya,{method:`POST`,body:H(e,{text:t})}),respondToCommand:(e,t,n,r=`local`)=>w(V(e,`commands/respond`,r),ya,{method:`POST`,body:H(e,{requestId:t,value:n})}),navigateTree:(e,t,n=`local`)=>w(V(e,`tree/navigate`,n),Ca,{method:`POST`,body:H(e,{targetId:t.targetId,expectedLeafId:t.expectedLeafId,summary:t.summary,...t.retainCheckpoint===void 0?{}:{retainCheckpoint:t.retainCheckpoint}})}),forkTree:(e,t,n=`local`)=>Ro(e,t,n),abort:(e,t=`local`)=>w(V(e,`abort`,t),Fa,{method:`POST`,body:H(e)}),stop:(e,t=`local`)=>w(V(e,`stop`,t),Ia,{method:`POST`,body:H(e)}),archive:(e,t=`local`,n)=>w(V(e,`archive`,t),La,{method:`POST`,body:H(e,n===void 0?{}:{scopeProjectId:n})}),archiveWithDescendants:(e,t=`local`,n)=>w(V(e,`archive-tree`,t),La,{method:`POST`,body:H(e,n===void 0?{}:{scopeProjectId:n})}),restore:(e,t=`local`,n)=>w(V(e,`restore`,t),Ra,{method:`POST`,body:H(e,n===void 0?{}:{scopeProjectId:n})}),deleteArchived:(e,t=`local`,n)=>w(po(e,t,n),za,{method:`DELETE`}),detachParent:(e,t=`local`)=>w(V(e,`detach-parent`,t),Ba,{method:`POST`,body:H(e)}),reloadSession:(e,t=`local`)=>w(V(e,`reload`,t),Va,{method:`POST`,body:H(e)}),clearQueue:(e,t=`local`)=>w(V(e,`queue/clear`,t),M,{method:`POST`,body:H(e)}),mutateQueuedMessage:(e,t,n=`local`)=>w(V(e,`queue/message`,n),M,{method:`POST`,body:H(e,{...t})}),dismissWarning:(e,t,n=`local`)=>w(V(e,`warnings/dismiss`,n),M,{method:`POST`,body:H(e,{dismissId:t})}),submitAsk:(e,t,n,r=`local`)=>w(V(e,`ask/submit`,r),M,{method:`POST`,body:H(e,{askId:t,answers:n.answers})}),cancelAsk:(e,t,n=`local`)=>w(V(e,`ask/cancel`,n),M,{method:`POST`,body:H(e,{askId:t})}),answerDialog:(e,t,n,r=`local`)=>w(V(e,`dialogs/answer`,r),Vn,{method:`POST`,body:H(e,{dialogId:t,value:n})}),cancelDialog:(e,t,n=`local`)=>w(V(e,`dialogs/cancel`,n),Vn,{method:`POST`,body:H(e,{dialogId:t})}),authProviders:e=>{let t=new URLSearchParams;e.mode!==void 0&&t.set(`mode`,e.mode),e.authType!==void 0&&t.set(`authType`,e.authType),e.projectId!==void 0&&t.set(`projectId`,e.projectId);let n=t.toString();return w(`${B(e.machineId)}/auth/providers${n===``?``:`?${n}`}`,$r)},saveApiKey:(e,t,n)=>w(go(`api-key`,n),ja,{method:`POST`,body:JSON.stringify({providerId:e,key:t})}),startInteractiveApiKeyLogin:(e,t)=>w(go(`api-key/interactive`,t),ti,{method:`POST`,body:JSON.stringify({providerId:e})}),logoutProvider:(e,t)=>w(go(`logout`,t),ja,{method:`POST`,body:JSON.stringify({providerId:e})}),mcpAuthServers:(e,t=`local`)=>w(fo(e,`mcp/auth/servers`,t),ei),startMcpAuth:(e,t,n=`local`,r)=>w(V(e,`mcp/auth`,n),ti,{method:`POST`,body:H(e,{mode:t,...r===void 0?{}:{serverName:r}})}),mcpAuthFlow:(e,t=`local`)=>w(`${B(t)}/auth/mcp/${encodeURIComponent(e)}`,ti),respondMcpAuthFlow:(e,t,n,r=`local`)=>w(`${B(r)}/auth/mcp/${encodeURIComponent(e)}/respond`,ti,{method:`POST`,body:JSON.stringify({requestId:t,value:n})}),cancelMcpAuthFlow:(e,t=`local`)=>w(`${B(t)}/auth/mcp/${encodeURIComponent(e)}/cancel`,ti,{method:`POST`}),startOAuthLogin:(e,t)=>w(go(`oauth`,t),ti,{method:`POST`,body:JSON.stringify({providerId:e})}),oauthFlow:(e,t)=>w(go(`oauth/${encodeURIComponent(e)}`,t),ti),respondOAuthFlow:(e,t,n,r)=>w(go(`oauth/${encodeURIComponent(e)}/respond`,r),ti,{method:`POST`,body:JSON.stringify({requestId:t,value:n})}),cancelOAuthFlow:(e,t)=>w(go(`oauth/${encodeURIComponent(e)}/cancel`,t),ti,{method:`POST`})},Fo={runTerminalCommand:(e,t,n=`local`)=>w(`${B(n)}/projects/${encodeURIComponent(t.workspace.projectId)}/workspaces/${encodeURIComponent(t.workspace.id)}/terminal-command-runs`,Ci,{method:`POST`,body:JSON.stringify({origin:e,title:t.title,command:t.command,metadata:t.metadata??{}})}),listCommandRuns:(e,t=`local`,n)=>w(`${B(t)}/terminal-command-runs${Bo(e)}`,j(Ci),n?.signal===void 0?void 0:{signal:n.signal}),getCommandRun:(e,t=`local`)=>Io(e,t),cancelCommandRun:(e,t=`local`)=>w(`${B(t)}/terminal-command-runs/${encodeURIComponent(e)}/cancel`,Ci,{method:`POST`})};async function Io(e,t){return gt(`${B(t)}/terminal-command-runs/${encodeURIComponent(e)}`,Ci)}var Lo=class extends Error{constructor(){super(f(`ui.main.8501d1e756a4`,`Fork from the session tree is unavailable. Restart the session daemon to enable it.`)),this.name=`SessionTreeForkUnavailableError`}};async function Ro(e,t,n){let r=await fetch(ht(V(e,`tree/fork`,n)),{method:`POST`,headers:{"content-type":`application/json`},body:H(e,{entryId:t.entryId,expectedLeafId:t.expectedLeafId,...t.retainCheckpoint===void 0?{}:{retainCheckpoint:t.retainCheckpoint}})});if(!r.ok){let e=await r.json().catch(()=>({}));throw zo(r.status,e)?new Lo:Error(Vo(e)??r.statusText)}return wa(await r.json())}function zo(e,t){if(e!==404||!Uo(t)||t.statusCode!==404||t.error!==`Not Found`)return!1;let n=t.message;return typeof n==`string`&&/^Route POST:.*\/tree\/fork not found$/i.test(n)}function Bo(e){if(e===void 0)return``;let t=new URLSearchParams;e.projectId!==void 0&&t.set(`projectId`,e.projectId),e.workspaceId!==void 0&&t.set(`workspaceId`,e.workspaceId),e.terminalId!==void 0&&t.set(`terminalId`,e.terminalId),e.statuses!==void 0&&e.statuses.length>0&&t.set(`statuses`,e.statuses.join(`,`)),e.metadata!==void 0&&Object.keys(e.metadata).length>0&&t.set(`metadata`,JSON.stringify(e.metadata));let n=t.toString();return n===``?``:`?${n}`}function Vo(e){if(!Uo(e))return;let t=e.error;return typeof t==`string`?t:void 0}async function Ho(e,t,n,r){let i=await fetch(co(e,t,n,{machineId:r}));if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(Vo(e)??i.statusText)}let a=await i.blob(),o=URL.createObjectURL(a),s=document.createElement(`a`);s.href=o;let c=n.split(`/`).pop();s.download=c===void 0||c===``?`download`:c,document.body.append(s),s.click(),s.remove(),URL.revokeObjectURL(o)}function Uo(e){return typeof e==`object`&&!!e}var Wo={files:(e,t,n={})=>{let r=typeof t==`string`,i=r?e:``,a=r?t:e,o=r?n:t,s=new URLSearchParams({q:a});if(o.kind!==void 0&&s.set(`kind`,o.kind),o.mode!==void 0&&s.set(`mode`,o.mode),o.scope!==void 0&&s.set(`scope`,o.scope),(!r||o.workspaceScoped===!0)&&o.projectId!==void 0&&o.workspaceId!==void 0)return w(`${B(o.machineId)}/projects/${encodeURIComponent(o.projectId)}/workspaces/${encodeURIComponent(o.workspaceId)}/files?${s.toString()}`,j(fi),{signal:o.signal??null});if(!r)throw Error(`File suggestions require a project and workspace`);return s.set(`cwd`,i),w(`${B(o.machineId)}/files?${s.toString()}`,j(fi),{signal:o.signal??null})}},Go={...vo,...yo,...ko,...So,...Co,...wo,...Eo,...Do,...Oo,...Ao,...lo,...No,...Po,...Wo,...Fo},Ko=`.pi-web/uploads`,qo=class extends Error{constructor(e=f(`client.workspaceUploads.workspace.upload.cancelled.ac6723`,`Workspace upload cancelled`)){super(e),this.name=`WorkspaceUploadCancelledError`}};function Jo(e){return e?.uploads?.defaultFolder??`.pi-web/uploads`}function Yo(e,t){return e?.uploads?.defaultFolder??t}function Xo(e,t){let n=ts(e,f(`client.workspaceUploads.upload.destination.874cbb`,`Upload destination`),{allowEmpty:!0}),r=ts(t,f(`client.workspaceUploads.upload.filename.9252dd`,`Upload filename`),{allowEmpty:!1});return n===``?r:`${n}/${r}`}function Zo(e,t,n,r={}){let i=r.xhrFactory?.()??new XMLHttpRequest,a=!1,o=!1;return{promise:new Promise((s,c)=>{let l=e=>{a||(a=!0,c(e))},u=e=>{a||(a=!0,s(e))};i.open(`PUT`,ao(e,t,n.path,Qo(r)),!0),i.responseType=`json`,i.setRequestHeader(`Content-Type`,(n.contentType??n.file.type)||`application/octet-stream`),i.upload.onprogress=e=>{r.onProgress?.($o(e,n.file.size))},i.onload=()=>{if(i.status>=200&&i.status<300)try{r.onProgress?.({loaded:n.file.size,total:n.file.size,percent:1,lengthComputable:!0}),u(vi(rs(i)))}catch(e){l(e instanceof Error?e:Error(String(e)))}else l(Error(is(i)))},i.onerror=()=>{l(Error(f(`client.workspaceUploads.workspace.upload.failed.a87e6b`,`Workspace upload failed`)))},i.onabort=()=>{l(new qo(o?void 0:f(`client.workspaceUploads.workspace.upload.aborted.58a455`,`Workspace upload aborted`)))},i.send(n.file)}),cancel:()=>{a||(o=!0,i.abort())}}}function Qo(e){return{...e.createDirs===void 0?{}:{createDirs:e.createDirs},...e.overwrite===void 0?{}:{overwrite:e.overwrite},...e.machineId===void 0?{}:{machineId:e.machineId}}}function $o(e,t){let n=e.lengthComputable?e.total:t;return{loaded:e.loaded,total:n,percent:es(e.loaded,n),lengthComputable:e.lengthComputable}}function es(e,t){return t<=0?e<=0?0:1:Math.max(0,Math.min(1,e/t))}function ts(e,t,n){let r=e.trim();if(r===``){if(n.allowEmpty)return``;throw Error(f(`client.workspaceUploads.must.not.be.empty.b22cd8`,`{value1} must not be empty`,{value1:t}))}if(ns(r))throw Error(f(`client.workspaceUploads.must.be.a.workspace.relative.path.79fcd6`,`{value1} must be a workspace-relative path`,{value1:t}));let i=r.split(/[\\/]+/u).filter(e=>e!==``&&e!==`.`);if(i.length===0){if(n.allowEmpty)return``;throw Error(f(`client.workspaceUploads.must.not.be.empty.b22cd8`,`{value1} must not be empty`,{value1:t}))}if(i.some(e=>e===`..`))throw Error(f(`client.workspaceUploads.must.not.contain.path.traversal.dac533`,`{value1} must not contain path traversal`,{value1:t}));return i.join(`/`)}function ns(e){let t=e.replace(/\\/g,`/`);return t.startsWith(`/`)||/^[A-Za-z]:\//u.test(t)}function rs(e){return e.response!==void 0&&e.response!==null&&e.response!==``?e.response:e.responseText===``?{}:JSON.parse(e.responseText)}function is(e){let t=as(e);return os(t)&&typeof t.error==`string`?t.error:e.statusText||`HTTP ${String(e.status)}`}function as(e){try{return rs(e)}catch{return}}function os(e){return typeof e==`object`&&!!e}var ss=`.pi-web/attachments`;function cs(e){return e?.attachments?.defaultFolder??`.pi-web/attachments`}function ls(e,t){return e?.attachments?.defaultFolder??t}function us(e,t){return gs(e,t)}function ds(e,t,n){let r=us(e,t);return n===void 0?ht(r):h(se(r),n)}function fs(e,t){let n=us(e,t),r=n.lastIndexOf(`/`);return`${n.slice(0,r)}/channels${n.slice(r)}`}function ps(e,t,n){let r=y(fs(e,t),void 0,pe());return n===void 0?o(r):o(r,n)}function ms(e,t,n,r={}){return vs(e,t,n,r,ds)}function hs(e,t,n,r,i=e=>new WebSocket(e)){if(r.signal?.aborted===!0)return Promise.reject(Cs(r.signal));let a=_e(e.backendRevision,n,_s(e)),o=ps(e,t),s;try{s=i(o)}catch(e){return Promise.reject(Error(`Plugin backend channel unavailable: ${ws(e)}`,{cause:e}))}let c=!1,l=!1,u=0,d,f=()=>void 0,m=new Promise(e=>{f=e}),h=Object.freeze({closed:m,send(e){if(!c||l||s.readyState!==1)throw Error(`Plugin backend channel is not open`);let t=te(e),n=p(t);if(s.bufferedAmount===0&&(u=0),u>=128||s.bufferedAmount+n>1048576){let e=Error(`Plugin backend channel browser queue limit was exceeded`);throw d=Object.freeze({code:`queue-overflow`,message:e.message}),bs(s,`Channel queue overflow`),e}try{s.send(t),u+=1}catch(e){throw d=Object.freeze({code:`send-failed`,message:ws(e)}),bs(s,`Channel send failed`),e}},close(e=`Channel closed`){bs(s,ee(e))}});return new Promise((e,t)=>{let n=setTimeout(()=>{let e=Error(`Plugin backend channel open timed out after ${String(fe)}ms`);d=Object.freeze({code:`open-timeout`,message:e.message}),t(e),bs(s,`Channel open timed out`)},fe),i=()=>{let e=r.signal;if(e===void 0)return;let n=Cs(e);c||t(n),d=Object.freeze({code:`cancelled`,message:n.message}),bs(s,`Channel cancelled`)};r.signal?.addEventListener(`abort`,i,{once:!0}),s.addEventListener(`open`,()=>{try{s.send(a)}catch(e){t(Error(`Plugin backend channel unavailable: ${ws(e)}`,{cause:e})),bs(s,`Channel open failed`)}}),s.addEventListener(`message`,i=>{try{if(typeof i.data!=`string`)throw Error(`Plugin backend channels accept text JSON frames only`);let a=oe(i.data);if(a.kind===`ready`){if(c)throw Error(`Plugin backend channel sent more than one ready envelope`);c=!0,clearTimeout(n),e(h);return}if(a.kind===`error`){d=Object.freeze({code:a.code,message:a.message}),c||t(Error(a.message)),bs(s,`Channel failed`);return}if(!c)throw Error(`Plugin backend channel sent data before ready`);r.onData(a.data)}catch(e){d=Object.freeze({code:`protocol-error`,message:ws(e)}),c||t(e instanceof Error?e:Error(String(e))),bs(s,`Channel protocol error`)}}),s.addEventListener(`error`,()=>{d??=Object.freeze({code:`transport-error`,message:`Plugin backend channel transport failed`}),c||t(Error(`Plugin backend channel unavailable`)),bs(s,`Channel transport error`)}),s.addEventListener(`close`,e=>{if(l)return;l=!0,clearTimeout(n),r.signal?.removeEventListener(`abort`,i),c||t(Error(d?.message??`Plugin backend channel closed before ready (${String(e.code)})`));let a=d??(e.code===1e3?void 0:Object.freeze({code:`channel-closed`,message:e.reason||`Plugin backend channel closed with code ${String(e.code)}`}));f(Object.freeze({code:e.code,reason:e.reason,wasClean:e.wasClean,...a===void 0?{}:{error:a}}))})})}function gs(e,t){if(!ge(e.pluginId))throw Error(`Invalid PI WEB plugin id: ${e.pluginId}`);if(e.machineId===``)throw Error(`Machine id is required`);if(e.projectId===``)throw Error(`Project id is required`);if(e.workspaceId===``)throw Error(`Workspace id is required`);if(e.workspaceId!==void 0&&e.projectId===void 0)throw Error(`Workspace scope requires a project id`);ae(e,_s(e));let n=he(t);return`${e.machineId===`local`?`api`:`api/machines/${encodeURIComponent(e.machineId)}`}${ue({...e,operation:n})}`}function _s(e){return e.scope===void 0?{}:{scope:e.scope,...e.projectId===void 0?{}:{projectId:e.projectId},...e.workspaceId===void 0?{}:{workspaceId:e.workspaceId}}}async function vs(e,t,n,r,i){let a=ve(e.backendRevision),o=ie(n,`Plugin backend request input`),s=JSON.stringify({revision:a,input:o,..._s(e)});if(p(s)>266240)throw Error(`Plugin backend request exceeds the ${String(ce)} byte wire limit`);let c;try{c=await fetch(i(e,t),{method:`POST`,headers:{"content-type":`application/json`},body:s,...r.signal===void 0?{}:{signal:r.signal}})}catch(e){throw r.signal?.aborted===!0?Cs(r.signal):Error(`Plugin backend request unavailable: ${ws(e)}`,{cause:e})}let l=await ys(c);if(!c.ok)throw Error(Ss(l)??`Plugin backend request returned HTTP ${String(c.status)}`);return le(l,`Plugin backend response`,ne)}async function ys(e){let t=e.headers.get(`content-length`);if(t!==null&&/^\d+$/u.test(t)&&Number(t)>8392704)throw await e.body?.cancel(),Error(`Plugin backend response exceeds the ${String(me)} byte wire limit`);if(e.body===null){let t=await e.text();if(p(t)>8392704)throw xs();return t}let n=e.body.getReader(),r=new TextDecoder,i=0,a=``;try{let e=await n.read();for(;!e.done;){if(i+=e.value.byteLength,i>8392704)throw await n.cancel(),xs();a+=r.decode(e.value,{stream:!0}),e=await n.read()}return a+r.decode()}finally{n.releaseLock()}}function bs(e,t){if(e.readyState===0||e.readyState===1)try{e.close(1e3,ee(t))}catch{e.close()}}function xs(){return Error(`Plugin backend response exceeds the ${String(me)} byte wire limit`)}function Ss(e){try{let t=JSON.parse(e);return Ts(t)&&typeof t.error==`string`?t.error:void 0}catch{return}}function Cs(e){let t=e.reason;return t instanceof Error?t:new DOMException(`Plugin backend request cancelled`,`AbortError`)}function ws(e){return e instanceof Error?e.message:String(e)}function Ts(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Es=1200,Ds=[`mod`,`alt`,`shift`],Os=class{constructor(){this.pendingTokens=[],this.lastTarget=null}handle(e,t,n={}){let r=e.composedPath?.()[0]??e.target;r!==this.lastTarget&&this.clearPending(),this.lastTarget=r;let i=Ns(e);if(i===void 0)return!1;if(i===`escape`&&this.pendingTokens.length>0)return this.clearPending(),!0;let a=Ps(e),o=ks(t,n.shortcuts,{enabledOnly:!0}).filter(e=>e.active&&(!a||Fs(e.tokens[0]??``))).map(e=>({action:e.action,tokens:e.tokens}));if(this.pendingTokens.length>0){if(this.handleSequence([...this.pendingTokens,i],o))return!0;this.clearPending()}return this.handleSequence([i],o)}reset(){this.clearPending(),this.lastTarget=null}handleSequence(e,t){let n=t.find(t=>Qs(t.tokens,e));return n===void 0?t.some(t=>$s(t.tokens,e))?(this.setPending(e),!0):!1:(this.clearPending(),n.action.run(),!0)}setPending(e){this.clearPending(),this.pendingTokens=e,this.pendingTimer=globalThis.setTimeout(()=>{this.pendingTokens=[],this.pendingTimer=void 0},Es)}clearPending(){this.pendingTokens=[],this.pendingTimer!==void 0&&(globalThis.clearTimeout(this.pendingTimer),this.pendingTimer=void 0)}};function ks(e,t,n={}){let r=e.flatMap((e,r)=>{if(n.enabledOnly===!0&&e.enabled===!1)return[];let i=Is(e,t,r);return i===void 0?[]:[i]}),i=new Map;for(let e of r)i.set(e.key,[...i.get(e.key)??[],e]);let a=new Map;for(let e of i.values()){let t=[...e].sort(Bs)[0];t!==void 0&&a.set(t.key,t)}let o=[...a.values()].sort(Vs),s=new Map,c=new Map;for(let e of r){let t=a.get(e.key);if(t===void 0)continue;let n=Hs(t,o)??t;c.set(e,n),e!==n&&s.set(n,[...s.get(n)??[],e])}return r.map(e=>{let t=c.get(e),n=t===e,r=t===void 0||n?void 0:zs(t),i=n?[...s.get(e)??[]].sort(Bs).map(zs):[];return{...e,active:n,shadows:i,...r===void 0?{}:{shadowedBy:r}}}).sort((e,t)=>e.order-t.order)}function As(e){return Gs(e)}function js(e){let t=Gs(e);return t.ok?t.tokens:[]}function Ms(e){return js(e).map(e=>e.split(`+`).map(Zs).join(`+`)).join(` `)}function Ns(e){if(e.isComposing)return;let t=Ys(e.key);if(t===void 0)return;let n=[];return(e.metaKey||e.ctrlKey)&&n.push(`mod`),e.altKey&&n.push(`alt`),e.shiftKey&&n.push(`shift`),n.push(t),n.join(`+`)}function Ps(e){return(e.composedPath?.()??[e.target]).some(e=>typeof HTMLElement>`u`||!(e instanceof HTMLElement)?!1:[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.tagName)||e.isContentEditable)}function Fs(e){return e.split(`+`).includes(`mod`)||e.split(`+`).includes(`alt`)}function Is(e,t,n){let r=Ls(e,t);if(r===null)return;let i=r??e.shortcut;if(i===void 0||i===``)return;let a=js(i);if(a.length!==0)return{action:e,shortcut:a.join(` `),source:r===void 0?`default`:`custom`,tokens:a,key:Rs(a),order:n}}function Ls(e,t){if(t!==void 0){for(let n of[e.id,...e.shortcutAliases??[]])if(Object.hasOwn(t,n))return t[n]}}function Rs(e){return e.join(`\0`)}function zs(e){return{action:e.action,shortcut:e.shortcut,source:e.source}}function Bs(e,t){return Us(e.source)-Us(t.source)||Ws(e.action.id,t.action.id)||Ws(e.action.title,t.action.title)||e.order-t.order}function Vs(e,t){return e.tokens.length-t.tokens.length||Bs(e,t)}function Hs(e,t){return t.find(t=>t!==e&&t.tokens.length<e.tokens.length&&$s(e.tokens,t.tokens))}function Us(e){switch(e){case`custom`:return 0;case`default`:return 1}}function Ws(e,t){return e<t?-1:+(e>t)}function Gs(e){let t=e.trim().toLowerCase().replace(/\s*\+\s*/gu,`+`);if(t===``)return{ok:!1,message:f(`client.keyboardShortcuts.enter.a.shortcut.select.none.or.reset.to.default.481e7b`,`Enter a shortcut, select None, or reset to default.`)};let n=[],r=t.split(/\s+/u).filter(e=>e!==``);for(let e of r){let t=Ks(e);if(!t.ok)return t;n.push(t.token)}return{ok:!0,shortcut:n.join(` `),tokens:n}}function Ks(e){let t=e.split(`+`).filter(e=>e!==``);if(t.length===0)return{ok:!1,message:f(`client.keyboardShortcuts.a.shortcut.combination.must.contain.a.key.87dd82`,`A shortcut combination must contain a key.`)};let n=new Set,r;for(let e of t){let t=qs(e);if(t!==void 0){if(n.has(t))return{ok:!1,message:f(`client.keyboardShortcuts.shortcut.contains.a.duplicate.modifier.8363e5`,`Shortcut contains a duplicate {value1} modifier.`,{value1:Zs(t)})};n.add(t);continue}let i=Js(e);if(i===void 0)return{ok:!1,message:f(`client.keyboardShortcuts.unsupported.shortcut.key.b3c1ce`,`Unsupported shortcut key: {value1}`,{value1:e})};if(r!==void 0)return{ok:!1,message:f(`client.keyboardShortcuts.each.shortcut.combination.can.contain.only.one.non.modifier.key.76ffb6`,`Each shortcut combination can contain only one non-modifier key.`)};r=i}return r===void 0?{ok:!1,message:f(`client.keyboardShortcuts.a.shortcut.combination.must.contain.a.key.87dd82`,`A shortcut combination must contain a key.`)}:{ok:!0,token:[...Ds.filter(e=>n.has(e)),r].join(`+`)}}function qs(e){switch(e){case`mod`:case`meta`:case`cmd`:case`command`:case`ctrl`:case`control`:case`primary`:return`mod`;case`alt`:case`option`:case`opt`:return`alt`;case`shift`:return`shift`;default:return}}function Js(e){let t=Xs(e);if(t!==void 0)return t;if(/^f(?:[1-9]|1[0-9]|2[0-4])$/u.test(e)||e.length===1)return e}function Ys(e){return e===` `?`space`:Js(e.toLowerCase())}function Xs(e){switch(e){case` `:case`spacebar`:case`space`:return`space`;case`esc`:case`escape`:return`escape`;case`return`:case`enter`:return`enter`;case`del`:case`delete`:return`delete`;case`backspace`:return`backspace`;case`tab`:return`tab`;case`up`:case`arrowup`:return`arrowup`;case`down`:case`arrowdown`:return`arrowdown`;case`left`:case`arrowleft`:return`arrowleft`;case`right`:case`arrowright`:return`arrowright`;case`pageup`:case`pagedown`:case`home`:case`end`:return e;case`+`:case`plus`:return`plus`;case`period`:case`dot`:return`.`;case`comma`:return`,`;case`slash`:return`/`;case`backslash`:return`\\`;case`minus`:return`-`;default:return}}function Zs(e){return e===`mod`?ec()?`⌘`:`Ctrl`:e===`shift`?`Shift`:e===`alt`?ec()?`⌥`:`Alt`:e===`enter`?`Enter`:e===`escape`?`Esc`:e===`space`?`Space`:e===`tab`?`Tab`:e===`backspace`?`Backspace`:e===`delete`?`Delete`:e===`arrowup`?`↑`:e===`arrowdown`?`↓`:e===`arrowleft`?`←`:e===`arrowright`?`→`:e===`pageup`?`PageUp`:e===`pagedown`?`PageDown`:e===`home`?`Home`:e===`end`?`End`:e===`plus`?`+`:/^f(?:[1-9]|1[0-9]|2[0-4])$/u.test(e)||e.length===1?e.toUpperCase():`${e.charAt(0).toUpperCase()}${e.slice(1)}`}function Qs(e,t){return e.length===t.length&&$s(e,t)}function $s(e,t){return t.every((t,n)=>e[n]===t)}function ec(){return typeof navigator<`u`&&navigator.userAgent.toLowerCase().includes(`mac`)}var tc=`themes:classic`,nc={themeId:`themes:pi-web-dark`,auto:!0},rc=`pi-web-app-theme`,ic=`--pi-bg.--pi-surface.--pi-surface-hover.--pi-terminal-bg.--pi-terminal-text.--pi-border.--pi-border-muted.--pi-text.--pi-text-secondary.--pi-text-bright.--pi-muted.--pi-dim.--pi-accent.--pi-accent-border.--pi-selection-bg.--pi-success.--pi-success-border.--pi-success-bg.--pi-success-surface.--pi-success-ring.--pi-warning.--pi-warning-border.--pi-warning-surface.--pi-danger.--pi-purple.--pi-purple-border.--pi-purple-surface.--pi-overlay.--pi-shadow-soft.--pi-shadow.--pi-shadow-strong.--pi-bg-overlay-soft.--pi-bg-overlay.--pi-success-bg-overlay.--pi-terminal-selection`.split(`.`);function ac(){try{let e=window.localStorage.getItem(rc);return e===null?void 0:xt(JSON.parse(e))}catch{return}}function oc(e){try{window.localStorage.setItem(rc,JSON.stringify(e))}catch{}}function sc(){try{window.localStorage.removeItem(rc)}catch{}}function cc(e,t,n=[]){return e??t??(n.some(e=>e.id===`pi-web.custom-ui-codex:graphite`)?{themeId:`pi-web.custom-ui-codex:graphite`,auto:!0}:nc)}function lc(e){let t=document.documentElement;t.dataset.piWebTheme=e.id,t.style.colorScheme=e.colorScheme;for(let n of ic){let r=e.tokens?.[n];typeof r==`string`&&r!==``?t.style.setProperty(n,r):t.style.removeProperty(n)}}function uc(e){let t=fc(e.themes,e.fallbackThemeId??`themes:classic`),n=dc(e.themes,e.preference.themeId)??t;if(n===void 0)return{selectedTheme:void 0,activeTheme:void 0,selectedThemePair:void 0,fallbackTheme:t};let r=pc(e.themePairs,n.id);if(!e.preference.auto||r===void 0)return{selectedTheme:n,activeTheme:n,selectedThemePair:r,fallbackTheme:t};let i=e.prefersLight?r.light:r.dark;return{selectedTheme:n,activeTheme:e.themes.find(e=>e.id===i)??n,selectedThemePair:r,fallbackTheme:t}}function dc(e,t){let n=t===`themes:paper`?`pi-web.custom-ui-codex:paper`:t===`themes:graphite`?`pi-web.custom-ui-codex:graphite`:t;return e.find(e=>e.id===t)??e.find(e=>e.id===n)}function fc(e,t=tc){return e.find(e=>e.id===t)??e[0]}function pc(e,t){return e.find(e=>e.light===t||e.dark===t)}var mc=0;function U(e){return e>=48&&e<=57}function hc(e){return U(e)||e>=65&&e<=70||e>=97&&e<=102}function gc(e){return e>=65&&e<=90}function _c(e){return e>=97&&e<=122}function vc(e){return gc(e)||_c(e)}function yc(e){return e>=128}function bc(e){return vc(e)||yc(e)||e===95}function xc(e){return bc(e)||U(e)||e===45}function Sc(e){return e>=0&&e<=8||e===11||e>=14&&e<=31||e===127}function Cc(e){return e===10||e===13||e===12}function wc(e){return Cc(e)||e===32||e===9}function W(e,t){return!(e!==92||Cc(t)||t===mc)}function Tc(e,t,n){return e===45?bc(t)||t===45||W(t,n):bc(e)?!0:e===92&&W(e,t)}function Ec(e,t,n){return e===43||e===45?U(t)?2:t===46&&U(n)?3:0:e===46?U(t)?2:0:+!!U(e)}function Dc(e){return+(e===65279||e===65534)}var Oc=Array(128);for(let e=0;e<Oc.length;e++)Oc[e]=wc(e)&&130||U(e)&&131||bc(e)&&132||Sc(e)&&133||e||128;function kc(e){return e<128?Oc[e]:132}function Ac(e,t){return t<e.length?e.charCodeAt(t):0}function jc(e,t,n){return n===13&&Ac(e,t+1)===10?2:1}function Mc(e,t,n){let r=e.charCodeAt(t);return gc(r)&&(r|=32),r===n}function Nc(e,t,n,r){if(n-t!==r.length||t<0||n>e.length)return!1;for(let i=t;i<n;i++){let n=r.charCodeAt(i-t),a=e.charCodeAt(i);if(gc(a)&&(a|=32),a!==n)return!1}return!0}function Pc(e,t){for(;t>=0&&wc(e.charCodeAt(t));t--);return t+1}function Fc(e,t){for(;t<e.length&&wc(e.charCodeAt(t));t++);return t}function Ic(e,t){for(;t<e.length&&U(e.charCodeAt(t));t++);return t}function Lc(e,t){if(t+=2,hc(Ac(e,t-1))){for(let n=Math.min(e.length,t+5);t<n&&hc(Ac(e,t));t++);let n=Ac(e,t);wc(n)&&(t+=jc(e,t,n))}return t}function Rc(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(!xc(n)){if(W(n,Ac(e,t+1)))t=Lc(e,t)-1;else break}}return t}function zc(e,t){let n=e.charCodeAt(t);if((n===43||n===45)&&(n=e.charCodeAt(t+=1)),U(n)&&(t=Ic(e,t+1),n=e.charCodeAt(t)),n===46&&U(e.charCodeAt(t+1))&&(t+=2,t=Ic(e,t)),Mc(e,t,101)){let r=0;n=e.charCodeAt(t+1),(n===45||n===43)&&(r=1,n=e.charCodeAt(t+2)),U(n)&&(t=Ic(e,t+1+r+1))}return t}function Bc(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(n===41){t++;break}W(n,Ac(e,t+1))&&(t=Lc(e,t))}return t}function Vc(e){if(e.length===1&&!hc(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(t===0||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var Hc=`EOF-token.ident-token.function-token.at-keyword-token.hash-token.string-token.bad-string-token.url-token.bad-url-token.delim-token.number-token.percentage-token.dimension-token.whitespace-token.CDO-token.CDC-token.colon-token.semicolon-token.comma-token.[-token.]-token.(-token.)-token.{-token.}-token.comment-token`.split(`.`),Uc=16384;function Wc(e=null,t){return e===null||e.length<t?new Uint32Array(Math.max(t+1024,Uc)):e}var Gc=10,Kc=12,qc=13;function Jc(e){let t=e.source,n=t.length,r=t.length>0?Dc(t.charCodeAt(0)):0,i=Wc(e.lines,n),a=Wc(e.columns,n),o=e.startLine,s=e.startColumn;for(let e=r;e<n;e++){let r=t.charCodeAt(e);i[e]=o,a[e]=s++,(r===Gc||r===qc||r===Kc)&&(r===qc&&e+1<n&&t.charCodeAt(e+1)===Gc&&(e++,i[e]=o,a[e]=s),o++,s=1)}i[n]=o,a[n]=s,e.lines=i,e.columns=a,e.computed=!0}var Yc=class{constructor(e,t,n,r){this.setSource(e,t,n,r),this.lines=null,this.columns=null}setSource(e=``,t=0,n=1,r=1){this.source=e,this.startOffset=t,this.startLine=n,this.startColumn=r,this.computed=!1}getLocation(e,t){return this.computed||Jc(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,n){return this.computed||Jc(this),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},G=16777215,Xc=24,Zc=1,Qc=2,$c=new Uint8Array(32);$c[2]=22,$c[21]=22,$c[19]=20,$c[23]=24;var el=new Uint8Array(32);el[2]=Zc,el[21]=Zc,el[19]=Zc,el[23]=Zc,el[22]=Qc,el[20]=Qc,el[24]=Qc;function tl(e,t,n){return e<t?t:e>n?n:e}var nl=class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e=``,t=()=>{}){e=String(e||``);let n=e.length,r=Wc(this.offsetAndType,e.length+1),i=Wc(this.balance,e.length+1),a=0,o=-1,s=0,c=e.length;this.offsetAndType=null,this.balance=null,i.fill(0),t(e,(e,t,n)=>{let l=a++;if(r[l]=e<<Xc|n,o===-1&&(o=t),i[l]=c,e===s){let e=i[c];i[c]=l,c=e,s=$c[r[e]>>Xc]}else this.isBlockOpenerTokenType(e)&&(c=l,s=$c[e])}),r[a]=0<<Xc|n,i[a]=a;for(let e=0;e<a;e++){let t=i[e];if(t<=e){let n=i[t];n!==e&&(i[e]=n)}else t>a&&(i[e]=a)}this.source=e,this.firstCharOffset=o===-1?0:o,this.tokenCount=a,this.offsetAndType=r,this.balance=i,this.reset(),this.next()}lookupType(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e]>>Xc:0}lookupTypeNonSC(e){for(let t=this.tokenIndex;t<this.tokenCount;t++){let n=this.offsetAndType[t]>>Xc;if(n!==13&&n!==25&&e--===0)return n}return 0}lookupOffset(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e-1]&G:this.source.length}lookupOffsetNonSC(e){for(let t=this.tokenIndex;t<this.tokenCount;t++){let n=this.offsetAndType[t]>>Xc;if(n!==13&&n!==25&&e--===0)return t-this.tokenIndex}return 0}lookupValue(e,t){return e+=this.tokenIndex,e<this.tokenCount&&Nc(this.source,this.offsetAndType[e-1]&G,this.offsetAndType[e]&G,t)}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&G:this.offsetAndType[this.tokenCount]&G:this.firstCharOffset}getTokenEnd(e){return e===this.tokenIndex?this.tokenEnd:this.offsetAndType[tl(e,0,this.tokenCount)]&G}getTokenType(e){return e===this.tokenIndex?this.tokenType:this.offsetAndType[tl(e,0,this.tokenCount)]>>Xc}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBlockOpenerTokenType(e){return el[e]===Zc}isBlockCloserTokenType(e){return el[e]===Qc}getBlockTokenPairIndex(e){let t=this.getTokenType(e);if(el[t]===1){let n=this.balance[e],r=this.getTokenType(n);return $c[t]===r?n:-1}if(el[t]===2){let n=this.balance[e];return $c[this.getTokenType(n)]===t?n:-1}return-1}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?this.lookupType(t)===9&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===9&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&G,t=this.offsetAndType[t],this.tokenType=t>>Xc,this.tokenEnd=t&G):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>Xc,this.tokenEnd=e&G):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;this.tokenType===13||this.tokenType===25;)this.next()}skipUntilBalanced(e,t){let n=e,r=0,i=0;loop:for(;n<this.tokenCount;n++){if(r=this.balance[n],r<e)break loop;switch(i=n>0?this.offsetAndType[n-1]&G:this.firstCharOffset,t(this.source.charCodeAt(i))){case 1:break loop;case 2:n++;break loop;default:this.isBlockOpenerTokenType(this.offsetAndType[n]>>Xc)&&(n=r)}}this.skip(n-this.tokenIndex)}forEachToken(e){for(let t=0,n=this.firstCharOffset;t<this.tokenCount;t++){let r=n,i=this.offsetAndType[t],a=i&G,o=i>>Xc;n=a,e(o,r,a,t)}}dump(){let e=Array(this.tokenCount);return this.forEachToken((t,n,r,i)=>{e[i]={idx:i,type:Hc[t],chunk:this.source.substring(n,r),balance:this.balance[i]}}),e}};function rl(e,t){function n(t){return t<s?e.charCodeAt(t):0}function r(){l=zc(e,l),Tc(n(l),n(l+1),n(l+2))?(u=12,l=Rc(e,l)):n(l)===37?(u=11,l++):u=10}function i(){let t=l;if(l=Rc(e,l),Nc(e,t,l,`url`)&&n(l)===40){if(l=Fc(e,l+1),n(l)===34||n(l)===39){u=2,l=t+4;return}o()}else n(l)===40?(u=2,l++):u=1}function a(t){for(t||=n(l++),u=5;l<e.length;l++){let r=e.charCodeAt(l);switch(kc(r)){case t:l++;return;case 130:if(Cc(r)){l+=jc(e,l,r),u=6;return}break;case 92:if(l===e.length-1)break;let i=n(l+1);Cc(i)?l+=jc(e,l+1,i):W(r,i)&&(l=Lc(e,l)-1)}}}function o(){for(u=7,l=Fc(e,l);l<e.length;l++){let t=e.charCodeAt(l);switch(kc(t)){case 41:l++;return;case 130:if(l=Fc(e,l),n(l)===41||l>=e.length){l<e.length&&l++;return}l=Bc(e,l),u=8;return;case 34:case 39:case 40:case 133:l=Bc(e,l),u=8;return;case 92:if(W(t,n(l+1))){l=Lc(e,l)-1;break}l=Bc(e,l),u=8;return}}}e=String(e||``);let s=e.length,c=Dc(n(0)),l=c,u;for(;l<s;){let o=e.charCodeAt(l);switch(kc(o)){case 130:u=13,l=Fc(e,l+1);break;case 34:a();break;case 35:xc(n(l+1))||W(n(l+1),n(l+2))?(u=4,l=Rc(e,l+1)):(u=9,l++);break;case 39:a();break;case 40:u=21,l++;break;case 41:u=22,l++;break;case 43:Ec(o,n(l+1),n(l+2))?r():(u=9,l++);break;case 44:u=18,l++;break;case 45:Ec(o,n(l+1),n(l+2))?r():n(l+1)===45&&n(l+2)===62?(u=15,l+=3):Tc(o,n(l+1),n(l+2))?i():(u=9,l++);break;case 46:Ec(o,n(l+1),n(l+2))?r():(u=9,l++);break;case 47:n(l+1)===42?(u=25,l=e.indexOf(`*/`,l+2),l=l===-1?e.length:l+2):(u=9,l++);break;case 58:u=16,l++;break;case 59:u=17,l++;break;case 60:n(l+1)===33&&n(l+2)===45&&n(l+3)===45?(u=14,l+=4):(u=9,l++);break;case 64:Tc(n(l+1),n(l+2),n(l+3))?(u=3,l=Rc(e,l+1)):(u=9,l++);break;case 91:u=19,l++;break;case 92:W(o,n(l+1))?i():(u=9,l++);break;case 93:u=20,l++;break;case 123:u=23,l++;break;case 125:u=24,l++;break;case 131:r();break;case 132:i();break;default:u=9,l++}t(u,c,c=l)}}var il=null,al=class e{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(t){return e.createItem(t)}allocateCursor(e,t){let n;return il===null?n={prev:e,next:t,cursor:this.cursor}:(n=il,il=il.cursor,n.prev=e,n.next=t,n.cursor=this.cursor),this.cursor=n,n}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=il,il=e}updateCursors(e,t,n,r){let{cursor:i}=this;for(;i!==null;)i.prev===e&&(i.prev=t),i.next===n&&(i.next=r),i=i.cursor}*[Symbol.iterator](){for(let e=this.head;e!==null;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;t!==null;t=t.next)e++;return e}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(t){let n=null;this.head=null;for(let r of t){let t=e.createItem(r);n===null?this.head=t:n.next=t,t.prev=n,n=t}return this.tail=n,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let n=this.allocateCursor(null,this.head);for(;n.next!==null;){let r=n.next;n.next=r.next,e.call(t,r.data,r,this)}this.releaseCursor()}forEachRight(e,t=this){let n=this.allocateCursor(this.tail,null);for(;n.prev!==null;){let r=n.prev;n.prev=r.prev,e.call(t,r.data,r,this)}this.releaseCursor()}reduce(e,t,n=this){let r=this.allocateCursor(null,this.head),i=t,a;for(;r.next!==null;)a=r.next,r.next=a.next,i=e.call(n,i,a.data,a,this);return this.releaseCursor(),i}reduceRight(e,t,n=this){let r=this.allocateCursor(this.tail,null),i=t,a;for(;r.prev!==null;)a=r.prev,r.prev=a.prev,i=e.call(n,i,a.data,a,this);return this.releaseCursor(),i}some(e,t=this){for(let n=this.head;n!==null;n=n.next)if(e.call(t,n.data,n,this))return!0;return!1}map(t,n=this){let r=new e;for(let e=this.head;e!==null;e=e.next)r.appendData(t.call(n,e.data,e,this));return r}filter(t,n=this){let r=new e;for(let e=this.head;e!==null;e=e.next)t.call(n,e.data,e,this)&&r.appendData(e.data);return r}nextUntil(e,t,n=this){if(e===null)return;let r=this.allocateCursor(null,e);for(;r.next!==null;){let e=r.next;if(r.next=e.next,t.call(n,e.data,e,this))break}this.releaseCursor()}prevUntil(e,t,n=this){if(e===null)return;let r=this.allocateCursor(e,null);for(;r.prev!==null;){let e=r.prev;if(r.prev=e.prev,t.call(n,e.data,e,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let t=new e;for(let e of this)t.appendData(e);return t}prepend(e){return this.updateCursors(null,e,this.head,e),this.head===null?this.tail=e:(this.head.prev=e,e.next=this.head),this.head=e,this}prependData(t){return this.prepend(e.createItem(t))}append(e){return this.insert(e)}appendData(t){return this.insert(e.createItem(t))}insert(e,t=null){if(t!==null){if(this.updateCursors(t.prev,e,t,e),t.prev===null){if(this.head!==t)throw Error(`before doesn't belong to list`);this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t}else this.updateCursors(this.tail,e,null,e),this.tail===null?this.head=e:(this.tail.next=e,e.prev=this.tail),this.tail=e;return this}insertData(t,n){return this.insert(e.createItem(t),n)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),e.prev!==null)e.prev.next=e.next;else{if(this.head!==e)throw Error(`item doesn't belong to list`);this.head=e.next}if(e.next!==null)e.next.prev=e.prev;else{if(this.tail!==e)throw Error(`item doesn't belong to list`);this.tail=e.prev}return e.prev=null,e.next=null,e}push(t){this.insert(e.createItem(t))}pop(){return this.tail===null?null:this.remove(this.tail)}unshift(t){this.prepend(e.createItem(t))}shift(){return this.head===null?null:this.remove(this.head)}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return e.head===null||(t==null?(this.updateCursors(this.tail,e.tail,null,e.head),this.tail===null?this.head=e.head:(this.tail.next=e.head,e.head.prev=this.tail),this.tail=e.tail):(this.updateCursors(t.prev,e.tail,t,e.head),t.prev===null?this.head=e.head:(t.prev.next=e.head,e.head.prev=t.prev),t.prev=e.tail,e.tail.next=t),e.head=null,e.tail=null),this}replace(e,t){`head`in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}};function ol(e,t){let n=Object.create(SyntaxError.prototype),r=Error();return Object.assign(n,{name:e,message:t,get stack(){return(r.stack||``).replace(/^(.+\n){1,3}/,`${e}: ${t}\n`)}})}var sl=100,cl=60,ll=` `;function ul({source:e,line:t,column:n,baseLine:r,baseColumn:i},a){function o(e,t){return s.slice(e,t).map((t,n)=>String(e+n+1).padStart(u)+` |`+t).join(`
|
|
2
2
|
`)}let s=(`
|
|
3
3
|
`.repeat(Math.max(r-1,0))+` `.repeat(Math.max(i-1,0))+e).split(/\r\n?|\n|\f/),c=Math.max(1,t-a)-1,l=Math.min(t+a,s.length+1),u=Math.max(4,String(l).length)+1,d=0;n+=3*(s[t-1].substr(0,n-1).match(/\t/g)||[]).length,n>sl&&(d=n-cl+3,n=58);for(let e=c;e<=l;e++)e>=0&&e<s.length&&(s[e]=s[e].replace(/\t/g,ll),s[e]=(d>0&&s[e].length>d?`…`:``)+s[e].substr(d,98)+(s[e].length>d+sl-1?`…`:``));return[o(c,t),Array(n+u+2).join(`-`)+`^`,o(t,l)].filter(Boolean).join(`
|
|
4
4
|
`).replace(/^(\s+\d+\s+\|\n)+/,``).replace(/\n(\s+\d+\s+\|)+$/,``)}function dl(e,t,n,r,i,a=1,o=1){return Object.assign(ol(`SyntaxError`,e),{source:t,offset:n,line:r,column:i,sourceFragment(e){return ul({source:t,line:r,column:i,baseLine:a,baseColumn:o},isNaN(e)?0:e)},get formattedMessage(){return`Parse error: ${e}\n`+ul({source:t,line:r,column:i,baseLine:a,baseColumn:o},2)}})}function fl(e){let t=this.createList(),n=!1,r={recognizer:e};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:n=!0,this.next();continue}let i=e.getNode.call(this,r);if(i===void 0)break;n&&=(e.onWhiteSpace&&e.onWhiteSpace.call(this,i,t,r),!1),t.push(i)}return n&&e.onWhiteSpace&&e.onWhiteSpace.call(this,null,t,r),t}var pl=()=>{},ml=33,hl=35,gl=59,_l=123,vl=0,yl={createList(){return[]},createSingleNodeList(e){return[e]},getFirstListNode(e){return e&&e[0]||null},getLastListNode(e){return e&&e.length>0?e[e.length-1]:null}},bl={createList(){return new al},createSingleNodeList(e){return new al().appendData(e)},getFirstListNode(e){return e&&e.first},getLastListNode(e){return e&&e.last}};function xl(e){return function(){return this[e]()}}function Sl(e){let t=Object.create(null);for(let n of Object.keys(e)){let r=e[n],i=r.parse||r;i&&(t[n]=i)}return t}function Cl(e){let t={context:Object.create(null),features:Object.assign(Object.create(null),e.features),scope:Object.assign(Object.create(null),e.scope),atrule:Sl(e.atrule),pseudo:Sl(e.pseudo),node:Sl(e.node)};for(let[n,r]of Object.entries(e.parseContext))switch(typeof r){case`function`:t.context[n]=r;break;case`string`:t.context[n]=xl(r)}return{config:t,...t,...t.node}}function wl(e){let t=``,n=`<unknown>`,r=!1,i=pl,a=!1,o=new Yc,s=Object.assign(new nl,Cl(e||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:fl,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(e){return+(e===_l)},consumeUntilLeftCurlyBracketOrSemicolon(e){return+(e===_l||e===gl)},consumeUntilExclamationMarkOrSemicolon(e){return+(e===ml||e===gl)},consumeUntilSemicolonIncluded(e){return e===gl?2:0},createList:pl,createSingleNodeList:pl,getFirstListNode:pl,getLastListNode:pl,parseWithFallback(e,t){let n=this.tokenIndex;try{return e.call(this)}catch(e){if(a)throw e;this.skip(n-this.tokenIndex);let r=t.call(this);return a=!0,i(e,r),a=!1,r}},lookupNonWSType(e){let t;do if(t=this.lookupType(e++),t!==13&&t!==25)return t;while(t!==vl);return vl},charCodeAt(e){return e>=0&&e<t.length?t.charCodeAt(e):0},substring(e,n){return t.substring(e,n)},substrToCursor(e){return this.source.substring(e,this.tokenStart)},cmpChar(e,n){return Mc(t,e,n)},cmpStr(e,n,r){return Nc(t,e,n,r)},consume(e){let t=this.tokenStart;return this.eat(e),this.substrToCursor(t)},consumeFunctionName(){let e=t.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),e},consumeNumber(e){let n=t.substring(this.tokenStart,zc(t,this.tokenStart));return this.eat(e),n},eat(e){if(this.tokenType!==e){let t=Hc[e].slice(0,-6).replace(/-/g,` `).replace(/^./,e=>e.toUpperCase()),n=`${/[[\](){}]/.test(t)?`"${t}"`:t} is expected`,r=this.tokenStart;switch(e){case 1:this.tokenType===2||this.tokenType===7?(r=this.tokenEnd-1,n=`Identifier is expected but function found`):n=`Identifier is expected`;break;case 4:this.isDelim(hl)&&(this.next(),r++,n=`Name is expected`);break;case 11:this.tokenType===10&&(r=this.tokenEnd,n=`Percent sign is expected`)}this.error(n,r)}this.next()},eatIdent(e){(this.tokenType!==1||this.lookupValue(0,e)===!1)&&this.error(`Identifier "${e}" is expected`),this.next()},eatDelim(e){this.isDelim(e)||this.error(`Delim "${String.fromCharCode(e)}" is expected`),this.next()},getLocation(e,t){return r?o.getLocationRange(e,t,n):null},getLocationFromList(e){if(r){let t=this.getFirstListNode(e),r=this.getLastListNode(e);return o.getLocationRange(t===null?this.tokenStart:t.loc.start.offset-o.startOffset,r===null?this.tokenStart:r.loc.end.offset-o.startOffset,n)}return null},error(e,n){let r=n!==void 0&&n<t.length?o.getLocation(n):this.eof?o.getLocation(Pc(t,t.length-1)):o.getLocation(this.tokenStart);throw new dl(e||`Unexpected input`,t,r.offset,r.line,r.column,o.startLine,o.startColumn)}}),c=()=>({filename:n,source:t,tokenCount:s.tokenCount,getTokenType:e=>s.getTokenType(e),getTokenTypeName:e=>Hc[s.getTokenType(e)],getTokenStart:e=>s.getTokenStart(e),getTokenEnd:e=>s.getTokenEnd(e),getTokenValue:e=>s.source.substring(s.getTokenStart(e),s.getTokenEnd(e)),substring:(e,t)=>s.source.substring(e,t),balance:s.balance.subarray(0,s.tokenCount+1),isBlockOpenerTokenType:s.isBlockOpenerTokenType,isBlockCloserTokenType:s.isBlockCloserTokenType,getBlockTokenPairIndex:e=>s.getBlockTokenPairIndex(e),getLocation:e=>o.getLocation(e,n),getRangeLocation:(e,t)=>o.getLocationRange(e,t,n)});return Object.assign(function(e,l){t=e,l||={},s.setSource(t,rl),o.setSource(t,l.offset,l.line,l.column),n=l.filename||`<unknown>`,r=!!l.positions,i=typeof l.onParseError==`function`?l.onParseError:pl,a=!1,s.parseAtrulePrelude=`parseAtrulePrelude`in l?!!l.parseAtrulePrelude:!0,s.parseRulePrelude=`parseRulePrelude`in l?!!l.parseRulePrelude:!0,s.parseValue=`parseValue`in l?!!l.parseValue:!0,s.parseCustomProperty=`parseCustomProperty`in l&&!!l.parseCustomProperty;let{context:u=`default`,list:d=!0,onComment:f,onToken:p}=l;if(!(u in s.context))throw Error("Unknown context `"+u+"`");Object.assign(s,d?bl:yl),Array.isArray(p)?s.forEachToken((e,t,n)=>{p.push({type:e,start:t,end:n})}):typeof p==`function`&&s.forEachToken(p.bind(c())),typeof f==`function`&&s.forEachToken((e,n,r)=>{if(e===25){let e=s.getLocation(n,r),i=Nc(t,r-2,r,`*/`)?t.slice(n+2,r-2):t.slice(n+2,r);f(i,e)}});let m=s.context[u].call(s,l);return s.eof||s.error(),m},{SyntaxError:dl,config:s.config})}var Tl=be((e=>{var t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``);e.encode=function(e){if(0<=e&&e<t.length)return t[e];throw TypeError(`Must be between 0 and 63: `+e)},e.decode=function(e){var t=65,n=90,r=97,i=122,a=48;return t<=e&&e<=n?e-t:r<=e&&e<=i?e-r+26:a<=e&&e<=57?e-a+52:e==43?62:e==47?63:-1}})),El=be((e=>{var t=Tl(),n=5,r=1<<n,i=r-1,a=r;function o(e){return e<0?(-e<<1)+1:(e<<1)+0}function s(e){var t=(e&1)==1,n=e>>1;return t?-n:n}e.encode=function(e){var r=``,s,c=o(e);do s=c&i,c>>>=n,c>0&&(s|=a),r+=t.encode(s);while(c>0);return r},e.decode=function(e,r,o){var c=e.length,l=0,u=0,d,f;do{if(r>=c)throw Error(`Expected more digits in base 64 VLQ value.`);if(f=t.decode(e.charCodeAt(r++)),f===-1)throw Error(`Invalid base64 digit: `+e.charAt(r-1));d=!!(f&a),f&=i,l+=f<<u,u+=n}while(d);o.value=s(l),o.rest=r}})),Dl=be((e=>{function t(e,t,n){if(t in e)return e[t];if(arguments.length===3)return n;throw Error(`"`+t+`" is a required argument.`)}e.getArg=t;var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}e.urlParse=i;function a(e){var t=``;return e.scheme&&(t+=e.scheme+`:`),t+=`//`,e.auth&&(t+=e.auth+`@`),e.host&&(t+=e.host),e.port&&(t+=`:`+e.port),e.path&&(t+=e.path),t}e.urlGenerate=a;var o=32;function s(e){var t=[];return function(n){for(var r=0;r<t.length;r++)if(t[r].input===n){var i=t[0];return t[0]=t[r],t[r]=i,t[0].result}var a=e(n);return t.unshift({input:n,result:a}),t.length>o&&t.pop(),a}}var c=s(function(t){var n=t,r=i(t);if(r){if(!r.path)return t;n=r.path}for(var o=e.isAbsolute(n),s=[],c=0,l=0;;){if(c=l,l=n.indexOf(`/`,c),l===-1){s.push(n.slice(c));break}for(s.push(n.slice(c,l));l<n.length&&n[l]===`/`;)l++}for(var u,d=0,l=s.length-1;l>=0;l--)u=s[l],u===`.`?s.splice(l,1):u===`..`?d++:d>0&&(u===``?(s.splice(l+1,d),d=0):(s.splice(l,2),d--));return n=s.join(`/`),n===``&&(n=o?`/`:`.`),r?(r.path=n,a(r)):n});e.normalize=c;function l(e,t){e===``&&(e=`.`),t===``&&(t=`.`);var n=i(t),o=i(e);if(o&&(e=o.path||`/`),n&&!n.scheme)return o&&(n.scheme=o.scheme),a(n);if(n||t.match(r))return t;if(o&&!o.host&&!o.path)return o.host=t,a(o);var s=t.charAt(0)===`/`?t:c(e.replace(/\/+$/,``)+`/`+t);return o?(o.path=s,a(o)):s}e.join=l,e.isAbsolute=function(e){return e.charAt(0)===`/`||n.test(e)};function u(e,t){e===``&&(e=`.`),e=e.replace(/\/$/,``);for(var n=0;t.indexOf(e+`/`)!==0;){var r=e.lastIndexOf(`/`);if(r<0||(e=e.slice(0,r),e.match(/^([^\/]+:\/)?\/*$/)))return t;++n}return Array(n+1).join(`../`)+t.substr(e.length+1)}e.relative=u;var d=function(){return!(`__proto__`in Object.create(null))}();function f(e){return e}function p(e){return h(e)?`$`+e:e}e.toSetString=d?f:p;function m(e){return h(e)?e.slice(1):e}e.fromSetString=d?f:m;function h(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var n=t-10;n>=0;n--)if(e.charCodeAt(n)!==36)return!1;return!0}function g(e,t,n){var r=y(e.source,t.source);return r!==0||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0||n)||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=e.generatedLine-t.generatedLine,r!==0)?r:y(e.name,t.name)}e.compareByOriginalPositions=g;function _(e,t,n){var r=e.originalLine-t.originalLine;return r!==0||(r=e.originalColumn-t.originalColumn,r!==0||n)||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=e.generatedLine-t.generatedLine,r!==0)?r:y(e.name,t.name)}e.compareByOriginalPositionsNoSource=_;function v(e,t,n){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0||n)||(r=y(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:y(e.name,t.name)}e.compareByGeneratedPositionsDeflated=v;function ee(e,t,n){var r=e.generatedColumn-t.generatedColumn;return r!==0||n||(r=y(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:y(e.name,t.name)}e.compareByGeneratedPositionsDeflatedNoLine=ee;function y(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function te(e,t){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=y(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:y(e.name,t.name)}e.compareByGeneratedPositionsInflated=te;function ne(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,``))}e.parseSourceMapInput=ne;function re(e,t,n){if(t||=``,e&&(e[e.length-1]!==`/`&&t[0]!==`/`&&(e+=`/`),t=e+t),n){var r=i(n);if(!r)throw Error(`sourceMapURL could not be parsed`);if(r.path){var o=r.path.lastIndexOf(`/`);o>=0&&(r.path=r.path.substring(0,o+1))}t=l(a(r),t)}return c(t)}e.computeSourceURL=re})),Ol=be((e=>{var t=Dl(),n=Object.prototype.hasOwnProperty,r=typeof Map<`u`;function i(){this._array=[],this._set=r?new Map:Object.create(null)}i.fromArray=function(e,t){for(var n=new i,r=0,a=e.length;r<a;r++)n.add(e[r],t);return n},i.prototype.size=function(){return r?this._set.size:Object.getOwnPropertyNames(this._set).length},i.prototype.add=function(e,i){var a=r?e:t.toSetString(e),o=r?this.has(e):n.call(this._set,a),s=this._array.length;(!o||i)&&this._array.push(e),o||(r?this._set.set(e,s):this._set[a]=s)},i.prototype.has=function(e){if(r)return this._set.has(e);var i=t.toSetString(e);return n.call(this._set,i)},i.prototype.indexOf=function(e){if(r){var i=this._set.get(e);if(i>=0)return i}else{var a=t.toSetString(e);if(n.call(this._set,a))return this._set[a]}throw Error(`"`+e+`" is not in the set.`)},i.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw Error(`No element indexed by `+e)},i.prototype.toArray=function(){return this._array.slice()},e.ArraySet=i})),kl=be((e=>{var t=Dl();function n(e,n){var r=e.generatedLine,i=n.generatedLine,a=e.generatedColumn,o=n.generatedColumn;return i>r||i==r&&o>=a||t.compareByGeneratedPositionsInflated(e,n)<=0}function r(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}r.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},r.prototype.add=function(e){n(this._last,e)?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},r.prototype.toArray=function(){return this._sorted||=(this._array.sort(t.compareByGeneratedPositionsInflated),!0),this._array},e.MappingList=r})),Al=be((e=>{var t=El(),n=Dl(),r=Ol().ArraySet,i=kl().MappingList;function a(e){e||={},this._file=n.getArg(e,`file`,null),this._sourceRoot=n.getArg(e,`sourceRoot`,null),this._skipValidation=n.getArg(e,`skipValidation`,!1),this._ignoreInvalidMapping=n.getArg(e,`ignoreInvalidMapping`,!1),this._sources=new r,this._names=new r,this._mappings=new i,this._sourcesContents=null}a.prototype._version=3,a.fromSourceMap=function(e,t){var r=e.sourceRoot,i=new a(Object.assign(t||{},{file:e.file,sourceRoot:r}));return e.eachMapping(function(e){var t={generated:{line:e.generatedLine,column:e.generatedColumn}};e.source!=null&&(t.source=e.source,r!=null&&(t.source=n.relative(r,t.source)),t.original={line:e.originalLine,column:e.originalColumn},e.name!=null&&(t.name=e.name)),i.addMapping(t)}),e.sources.forEach(function(t){var a=t;r!==null&&(a=n.relative(r,t)),i._sources.has(a)||i._sources.add(a);var o=e.sourceContentFor(t);o!=null&&i.setSourceContent(t,o)}),i},a.prototype.addMapping=function(e){var t=n.getArg(e,`generated`),r=n.getArg(e,`original`,null),i=n.getArg(e,`source`,null),a=n.getArg(e,`name`,null);(this._skipValidation||this._validateMapping(t,r,i,a)!==!1)&&(i!=null&&(i=String(i),this._sources.has(i)||this._sources.add(i)),a!=null&&(a=String(a),this._names.has(a)||this._names.add(a)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:r!=null&&r.line,originalColumn:r!=null&&r.column,source:i,name:a}))},a.prototype.setSourceContent=function(e,t){var r=e;this._sourceRoot!=null&&(r=n.relative(this._sourceRoot,r)),t==null?this._sourcesContents&&(delete this._sourcesContents[n.toSetString(r)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null)):(this._sourcesContents||=Object.create(null),this._sourcesContents[n.toSetString(r)]=t)},a.prototype.applySourceMap=function(e,t,i){var a=t;if(t==null){if(e.file==null)throw Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);a=e.file}var o=this._sourceRoot;o!=null&&(a=n.relative(o,a));var s=new r,c=new r;this._mappings.unsortedForEach(function(t){if(t.source===a&&t.originalLine!=null){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});r.source!=null&&(t.source=r.source,i!=null&&(t.source=n.join(i,t.source)),o!=null&&(t.source=n.relative(o,t.source)),t.originalLine=r.line,t.originalColumn=r.column,r.name!=null&&(t.name=r.name))}var l=t.source;l!=null&&!s.has(l)&&s.add(l);var u=t.name;u!=null&&!c.has(u)&&c.add(u)},this),this._sources=s,this._names=c,e.sources.forEach(function(t){var r=e.sourceContentFor(t);r!=null&&(i!=null&&(t=n.join(i,t)),o!=null&&(t=n.relative(o,t)),this.setSourceContent(t,r))},this)},a.prototype._validateMapping=function(e,t,n,r){if(t&&typeof t.line!=`number`&&typeof t.column!=`number`){var i=`original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.`;if(this._ignoreInvalidMapping)return typeof console<`u`&&console.warn&&console.warn(i),!1;throw Error(i)}if(!(e&&`line`in e&&`column`in e&&e.line>0&&e.column>=0&&!t&&!n&&!r)&&!(e&&`line`in e&&`column`in e&&t&&`line`in t&&`column`in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n)){var i=`Invalid mapping: `+JSON.stringify({generated:e,source:n,original:t,name:r});if(this._ignoreInvalidMapping)return typeof console<`u`&&console.warn&&console.warn(i),!1;throw Error(i)}},a.prototype._serializeMappings=function(){for(var e=0,r=1,i=0,a=0,o=0,s=0,c=``,l,u,d,f,p=this._mappings.toArray(),m=0,h=p.length;m<h;m++){if(u=p[m],l=``,u.generatedLine!==r){e=0;var g=u.generatedLine-r;l+=g===1?`;`:`;`.repeat(g),r=u.generatedLine}else if(m>0){if(!n.compareByGeneratedPositionsInflated(u,p[m-1]))continue;l+=`,`}l+=t.encode(u.generatedColumn-e),e=u.generatedColumn,u.source!=null&&(f=this._sources.indexOf(u.source),l+=t.encode(f-s),s=f,l+=t.encode(u.originalLine-1-a),a=u.originalLine-1,l+=t.encode(u.originalColumn-i),i=u.originalColumn,u.name!=null&&(d=this._names.indexOf(u.name),l+=t.encode(d-o),o=d)),c+=l}return c},a.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;t!=null&&(e=n.relative(t,e));var r=n.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,r)?this._sourcesContents[r]:null},this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(e.file=this._file),this._sourceRoot!=null&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=a}))(),jl=new Set([`Atrule`,`Selector`,`Declaration`]);function Ml(e){let t=new Al.SourceMapGenerator,n={line:1,column:0},r={line:0,column:0},i={line:1,column:0},a={generated:i},o=1,s=0,c=!1,l=e.node;e.node=function(e){if(e.loc&&e.loc.start&&jl.has(e.type)){let l=e.loc.start.line,u=e.loc.start.column-1;(r.line!==l||r.column!==u)&&(r.line=l,r.column=u,n.line=o,n.column=s,c&&(c=!1,(n.line!==i.line||n.column!==i.column)&&t.addMapping(a)),c=!0,t.addMapping({source:e.loc.source,original:r,generated:n}))}l.call(this,e),c&&jl.has(e.type)&&(i.line=o,i.column=s)};let u=e.emit;e.emit=function(e,t,n){for(let t=0;t<e.length;t++)e.charCodeAt(t)===10?(o++,s=0):s++;u(e,t,n)};let d=e.result;return e.result=function(){return c&&t.addMapping(a),{css:d(),map:t}},e}var Nl=S({safe:()=>Vl,spec:()=>Bl}),Pl=43,Fl=45,Il=(e,t)=>(e===9&&(e=t),typeof e==`string`&&(e=Math.min(e.charCodeAt(0),128)<<6),e<<1),Ll=[[1,1],[1,2],[1,7],[1,8],[1,`-`],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,`-`],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,`-`],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,`-`],[12,10],[12,11],[12,12],[12,15],[`#`,1],[`#`,2],[`#`,7],[`#`,8],[`#`,`-`],[`#`,10],[`#`,11],[`#`,12],[`#`,15],[`-`,1],[`-`,2],[`-`,7],[`-`,8],[`-`,`-`],[`-`,10],[`-`,11],[`-`,12],[`-`,15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,`%`],[10,15],[`@`,1],[`@`,2],[`@`,7],[`@`,8],[`@`,`-`],[`@`,15],[`.`,10],[`.`,11],[`.`,12],[`+`,10],[`+`,11],[`+`,12],[`/`,`*`]],Rl=Ll.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,`-`],[22,1],[22,2],[22,11],[22,12],[22,4],[22,`-`]]);function zl(e){let t=new Set(e.map(([e,t])=>Il(e)<<16|Il(t)));return function(e,n,r){let i=Il(n,r),a=r.charCodeAt(0);return i|(a===Fl&&n!==1&&n!==2&&n!==15||a===Pl?t.has((e&65534)<<16|a<<7):t.has((e&65534)<<16|i))}}var Bl=zl(Ll),Vl=zl(Rl),Hl=92;function Ul(e,t){if(typeof t==`function`){let n=null;e.children.forEach(e=>{n!==null&&t.call(this,n),this.node(e),n=e})}else e.children.forEach(this.node,this)}function Wl(e){let t=new Map;for(let[n,r]of Object.entries(e.node))typeof(r.generate||r)==`function`&&t.set(n,r.generate||r);return function(e,n){let r=``,i=0,a={node(e){if(t.has(e.type))t.get(e.type).call(o,e);else throw Error(`Unknown node type: `+e.type)},tokenBefore:Vl,token(e,t,n){i=this.tokenBefore(i,e,t),!n&&i&1&&this.emit(` `,13,!0),this.emit(t,e,!1),e===9&&t.charCodeAt(0)===Hl&&this.emit(`
|