waterplane 0.1.19 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/NOTICES.md +0 -26
  3. package/README.md +19 -18
  4. package/SECURITY.md +575 -562
  5. package/node_modules/@waterplane/shared/dist/exposure.js +0 -1
  6. package/node_modules/@waterplane/shared/dist/exposure.js.map +1 -1
  7. package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +2 -2
  8. package/npm-shrinkwrap.json +2 -177
  9. package/package.json +1 -2
  10. package/packages/host/dist/clisuggest.d.ts +2 -1
  11. package/packages/host/dist/clisuggest.js +22 -4
  12. package/packages/host/dist/clisuggest.js.map +1 -1
  13. package/packages/host/dist/plugins/pluginregistry.js +3 -1
  14. package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
  15. package/packages/host/dist/push.d.ts +3 -2
  16. package/packages/host/dist/push.js +7 -6
  17. package/packages/host/dist/push.js.map +1 -1
  18. package/packages/host/dist/pushsend.d.ts +57 -0
  19. package/packages/host/dist/pushsend.js +146 -0
  20. package/packages/host/dist/pushsend.js.map +1 -0
  21. package/packages/host/dist/question.js +9 -0
  22. package/packages/host/dist/question.js.map +1 -1
  23. package/packages/host/dist/render.js +2 -1
  24. package/packages/host/dist/render.js.map +1 -1
  25. package/packages/host/dist/screenlog.d.ts +5 -0
  26. package/packages/host/dist/screenlog.js +7 -2
  27. package/packages/host/dist/screenlog.js.map +1 -1
  28. package/packages/host/dist/sessions/askwatch.js +1 -1
  29. package/packages/host/dist/sessions/askwatch.js.map +1 -1
  30. package/packages/host/package.json +0 -2
  31. package/packages/web/dist/assets/{demo-iVbE6mpm.js → demo-CbdAM5Ox.js} +1 -1
  32. package/packages/web/dist/assets/index-CF6HCu-P.js +170 -0
  33. package/packages/web/dist/assets/{index-DiZysQBa.css → index-D3OoNfGN.css} +1 -1
  34. package/packages/web/dist/assets/{sheets-CDv71Sfe.js → sheets-BwjSEjgB.js} +97 -97
  35. package/packages/web/dist/build-id.txt +1 -1
  36. package/packages/web/dist/buildstamp.json +1 -1
  37. package/packages/web/dist/index.html +4 -4
  38. package/packages/web/dist/sw.js +2 -2
  39. package/release.json +3 -3
  40. package/packages/web/dist/assets/index-NA--kuEl.js +0 -170
@@ -1,4 +1,4 @@
1
- import{Au as e,Bl as t,Cu as n,E as r,El as i,H as a,Hl as o,Is as s,Ji as c,Ju as l,K as u,Ki as d,Mn as f,Mu as p,Nl as m,Ns as h,Pn as g,Q as _,Rn as v,Su as y,U as ee,Uc as b,V as te,Vi as ne,X as re,Y as ie,Yc as ae,Yo as oe,Zc as se,_l as ce,ao as le,ei as ue,el as x,fi as S,gl as C,kl as w,ku as de,lr as fe,mr as pe,nl as me,oo as he,qi as ge,vl as T,ws as _e,wu as ve}from"./shared-CsHyApn-.js";var ye={snippets:b(`snippets`),headerCmds:b(`headerCmds`),fanoutPresets:b(`fanout.presets`),toolbar:b(`toolbar`),launch:b(`launch`),launchAsk:b(`launchAsk`),spendWarn:b(`spendWarn`),weekAllDesktops:b(`weekAllDesktops`),pad:b(`pad`),hiddenRepos:b(`hiddenRepos`),enterSends:b(`enterSends`),dictateTerms:b(`dictate.terms`),autoSend:b(`autoSend`),updatesAutoCheck:b(`updates.autoCheck`),serialSessions:b(`serialSessions`),confirmQueue:b(`confirmQueue`),confirmClose:b(`confirmClose`),readerTools:b(`readerTools`),annKnobs:b(`annKnobs`),annTools:b(`annTools`),annPrompt:b(`annPrompt`),hints:b(`hints`),repoColors:b(`repoColors`),installAllow:b(`installAllow`),closeWhenDone:b(`backlog.closeWhenDone`),localSessions:b(`local.maxSessions`),agentWindowWarn:b(`agentWindowWarn`),agentWarn:b(`agentWarn`),deviceId:b(`deviceId`),deviceName:b(`deviceName`),pluginList:b(`pluginList`),hostBase:b(`hostBase`),hosts:b(`hosts`),hostActive:b(`hostActive`),hostSwitch:b(`hostSwitch`),hostSwitchFailed:b(`hostSwitchFailed`),hostOpenAfter:b(`hostOpenAfter`),hostsGone:b(`hostsGone`),deviceToken:b(`deviceToken`),passive:b(`passive`),tokenSeal:b(`tokenSeal`),tokenSealOn:b(`tokenSealOn`),tokenSealDead:b(`tokenSealDead`),tokenSealAuth:b(`tokenSealAuth`),lanIdentity:b(`lanIdentity`),pairCodesSent:b(`pairCodesSent`),dataSaver:b(`dataSaver`),bgFresh:b(`bgFresh`),uploadScale:b(`uploadScale`),upKbps:b(`upKbps`),netlog:b(`netlog`),netTraffic:b(`nettraffic`),netSync:b(`netsync`),netPulse:b(`netPulse`),localRtBar:b(`localRtBar`),unfoldToEnd:b(`unfoldToEnd`),repoSort:b(`repoSort`),sessionTabs:b(`sessionTabs`),sessionTabsCount:b(`sessionTabs.count`),sessionTabsOrder:b(`sessionTabs.order`),sessionTabsLimit:b(`sessionTabs.limit`),tabOpens:b(`sessionTabs.opens`),tabFiles:b(`sessionTabs.files`),sessionTabsSync:b(`sessionTabs.sync`),tabsSaverAsked:b(`sessionTabs.saverAsked`),tabOrderShared:b(`tabsShared.order`),tabOpensShared:b(`tabsShared.opens`),localRt:b(`localrt`)},be={sessionOrder:b(`sessionOrder`),collapsedRepos:b(`collapsedRepos`),toolbarOpen:b(`toolbarOpen`),hostBoots:b(`hostBoots`),readMode:b(`readMode`),cliMode:b(`cliMode`),termCostOpen:b(`termCostOpen`),sendMemory:b(`sendMemory`),slotAskOff:b(`slotAskOff`),launchLast:b(`launchLast`),wheelHidden:b(`wheelHidden`),typingRoom:b(`typingRoom`),hintChip:b(`hintChip`),termCornerPos:b(`termCornerPos`),wideSideW:b(`wideSideW`),wideBesideW:b(`wideBesideW`),widePanelW:b(`widePanelW`),sessChromeH:b(`sessChromeH`),launcherChromeH:b(`launcherChromeH`),agentListH:b(`agentListH`),closeKbOnSend:b(`closeKbOnSend`),shortcutCard:b(`shortcutCard`),busySend:b(`busySend`),btwToCli:b(`btwToCli`),theme:b(`theme`),themeOverlay:b(`themeOverlay`),themeOverlayCss:b(`themeOverlayCss`),textScale:b(`textScale`),iconScale:b(`iconScale`),termZoom:b(`termZoom`),readerZoom:b(`readerZoom`),scrollZoom:b(`scrollZoom`),gitZoom:b(`gitZoom`),gitExplainFoci:b(`gitExplainFoci`),gitExplainNote:b(`gitExplainNote`),gitExplainLast:b(`gitExplainLast`),textDumpWrap:b(`textDumpWrap`),closeCustomH:b(`closeCustomH`),schedPctLeft:b(`schedPctLeft`),schedLeadMin:b(`schedLeadMin`),closeBy:b(`closeBy`),closeKeepStar:b(`closeKeepStar`),backlogRepo:b(`backlogRepo`),backlogDraft:b(`backlogDraft`),backlogShowArchived:b(`backlogShowArchived`),backlogSortRun:b(`backlogSortRun`),fanoutText:b(`fanout.text`),fanoutSel:b(`fanout.sel`),fanoutModel:b(`fanout.model`),collageGap:b(`collageGap`),collageLabels:b(`collageLabels`),usage:b(`usage`),notifSeen:b(`notifSeen`),notifInfoNote:b(`notifInfoNote`),whatsNewSeen:b(`whatsNewSeen`),toastLog:b(`toastLog`),hostedAck:b(`hostedAck`),costNoticed:b(`costNoticed`),agentNoticed:b(`agentNoticed`),spendNoticed:b(`spendNoticed`),dismissInsecure:b(`dismissInsecure`),dismissPhoneSetup:b(`dismissPhoneSetup`),codeFolderLater:b(`codeFolderLater`),dismissedSelfUpdate:b(`dismissedSelfUpdate`),updatesReceiptSeen:b(`updatesReceiptSeen`),dismissedUpdate:b(`dismissedUpdate`),annHintHidden:b(`annHintHidden`),stowed:b(`stowed`),stowTold:b(`stowTold`),toldNoticed:b(`toldNoticed`),lastForcedReload:b(`lastForcedReload`),webUpdateStaged:b(`webUpdate.staged`),webUpdateAuto:b(`webUpdate.auto`),webUpdateApply:b(`webUpdate.apply`),webUpdateApplyTries:b(`webUpdate.applyTries`),webUpdateRecoverySeen:b(`webUpdate.recoverySeen`),webUpdateSnooze:b(`webUpdate.snooze`),routeLast:b(`route.last`),routeResume:b(`route.resume`),headerViews:b(`headerViews`),brandMigrated:r,brandStores:b(`brand.stores`),demo:b(`demo`),demoReturn:b(`demo.return`),demoTour:b(`demo.tour`)},xe={outbox:b(`outbox`),compose:b(`compose`),composeDrafts:b(`compose.drafts`),composeOutbox:b(`compose.outbox`),composeSheets:b(`compose.sheets`),deadUploads:b(`deadUploads`),dictations:b(`dictations`),dictateLang:b(`dictate.lang`),dictateLangs:b(`dictate.langs`),giveups:b(`giveups`),giveupsMigrated:b(`giveups.migrated`),activityDismissed:b(`activity.dismissed`),activityConfirmedDone:b(`activity.confirmedDone`),padRescue:b(`padRescue`),padRescueMigrated:b(`padRescue.migrated`),pendingStars:b(`pendingStars`),pendingFollowUps:b(`pendingFollowUps`),pullState:b(`pull.state`),pullAuto:b(`pull.auto`),pullBrowserAsk:b(`pull.browserask`),pullAutoSave:b(`pull.autosave`),snapSessions:b(`snap.sessions`),snapRepos:b(`snap.repos`),snapReposAt:b(`snapReposAt`),snapRecent:b(`snap.recent`),snapClosed:b(`snap.closed`),snapBacklog:b(`snap.backlog`),snapHistory:b(`snap.history`),snapBuilds:b(`snap.builds`),snapCapture:b(`snap.capture`),snapSchedules:b(`snap.schedules`),snapCliHealth:b(`snap.clihealth`),snapAt:b(`snap.at`),slashCache:b(`slashCache`),fileMtimes:b(`fileMtimes`),artMarks:b(`artMarks`),fileRemarks:b(`fileRemarks`),newImages:b(`newimg`),syncTs:b(`syncTs`),cmdHistory:b(`cmdHistory`)},E={healthAxis:b(`healthAxis`),appLock:b(`appLock`),appLockBlob:b(`appLockBlob`),...ye,...xe,...be},Se=b(`demoworld.`),Ce=b(`trSeen.`),we=e=>`${Ce}${e}`,Te=b(`ext.`),Ee=(e,t)=>`${Te}${e}.${t}`,De=b(`extdev.`),Oe=b(`demo.snap.`),ke=e=>`${Oe}${e}`,Ae={snippets:`host`,headerCmds:`host`,fanoutPresets:`host`,toolbar:`host`,launch:`host`,launchAsk:`host`,spendWarn:`host`,weekAllDesktops:`host`,pad:`host`,hiddenRepos:`host`,enterSends:`host`,dictateTerms:`host`,autoSend:`host`,updatesAutoCheck:`host`,serialSessions:`host`,confirmQueue:`host`,confirmClose:`host`,readerTools:`host`,annKnobs:`host`,annTools:`host`,annPrompt:`device`,hints:`host`,repoColors:`host`,installAllow:`host`,closeWhenDone:`host`,localSessions:`host`,agentWarn:`host`,agentWindowWarn:`host`,syncTs:`host`,healthAxis:`device`,appLock:`device`,appLockBlob:`device`,tokenSeal:`device`,tokenSealOn:`device`,tokenSealDead:`device`,tokenSealAuth:`device`,deviceId:`device`,deviceName:`device`,hostBase:`device`,hosts:`device`,hostActive:`device`,hostSwitch:`device`,hostSwitchFailed:`device`,pairCodesSent:`device`,hostOpenAfter:`device`,hostsGone:`device`,deviceToken:`host`,lanIdentity:`host`,passive:`host`,pluginList:`host`,dataSaver:`device`,bgFresh:`device`,uploadScale:`device`,netPulse:`device`,localRtBar:`device`,unfoldToEnd:`device`,repoSort:`device`,upKbps:`host`,netlog:`host`,netTraffic:`host`,netSync:`host`,localRt:`host`,sessionTabs:`device`,sessionTabsCount:`device`,sessionTabsOrder:`device`,sessionTabsLimit:`device`,tabOpens:`host`,tabFiles:`host`,sessionTabsSync:`device`,tabsSaverAsked:`device`,tabOrderShared:`host`,tabOpensShared:`host`,outbox:`host`,compose:`host`,composeDrafts:`host`,composeOutbox:`host`,composeSheets:`host`,deadUploads:`host`,dictations:`host`,pendingStars:`host`,pendingFollowUps:`host`,backlogDraft:`host`,dictateLang:`device`,dictateLangs:`device`,fanoutText:`host`,fanoutSel:`host`,fanoutModel:`host`,backlogRepo:`host`,backlogShowArchived:`host`,backlogSortRun:`host`,giveups:`device`,giveupsMigrated:`device`,padRescue:`device`,padRescueMigrated:`device`,activityDismissed:`host`,activityConfirmedDone:`host`,pullState:`host`,pullAuto:`host`,pullBrowserAsk:`host`,pullAutoSave:`host`,snapSessions:`host`,snapRepos:`host`,snapReposAt:`host`,snapRecent:`host`,snapClosed:`host`,snapBacklog:`host`,snapHistory:`host`,snapBuilds:`host`,snapCapture:`host`,snapSchedules:`host`,snapCliHealth:`host`,snapAt:`host`,themeOverlay:`host`,themeOverlayCss:`host`,slashCache:`host`,fileMtimes:`host`,artMarks:`host`,fileRemarks:`host`,newImages:`host`,cmdHistory:`host`,usage:`host`,notifSeen:`host`,costNoticed:`host`,agentNoticed:`host`,spendNoticed:`host`,sessionOrder:`host`,collapsedRepos:`host`,sendMemory:`host`,slotAskOff:`host`,launchLast:`host`,wheelHidden:`host`,toolbarOpen:`device`,readMode:`device`,cliMode:`device`,termCostOpen:`device`,typingRoom:`device`,hintChip:`device`,termCornerPos:`device`,wideSideW:`device`,wideBesideW:`device`,widePanelW:`device`,sessChromeH:`device`,agentListH:`device`,launcherChromeH:`device`,closeKbOnSend:`device`,shortcutCard:`device`,busySend:`device`,btwToCli:`device`,theme:`device`,textScale:`device`,iconScale:`device`,termZoom:`device`,readerZoom:`device`,scrollZoom:`device`,gitZoom:`device`,gitExplainFoci:`device`,gitExplainNote:`device`,gitExplainLast:`device`,textDumpWrap:`device`,closeCustomH:`device`,schedPctLeft:`device`,schedLeadMin:`device`,closeBy:`device`,closeKeepStar:`device`,collageGap:`device`,collageLabels:`device`,toastLog:`device`,hostedAck:`device`,notifInfoNote:`device`,whatsNewSeen:`device`,dismissInsecure:`device`,dismissPhoneSetup:`device`,codeFolderLater:`device`,dismissedUpdate:`device`,dismissedSelfUpdate:`host`,updatesReceiptSeen:`host`,annHintHidden:`device`,stowed:`device`,stowTold:`device`,toldNoticed:`device`,hostBoots:`device`,lastForcedReload:`device`,webUpdateRecoverySeen:`device`,webUpdateStaged:`host`,webUpdateAuto:`host`,webUpdateApply:`host`,webUpdateApplyTries:`host`,webUpdateSnooze:`host`,routeLast:`host`,routeResume:`host`,headerViews:`host`,brandMigrated:`device`,brandStores:`device`,demo:`device`,demoReturn:`device`,demoTour:`device`},je=new Set(Object.keys(Ae).filter(e=>Ae[e]===`device`).map(e=>E[e]));function Me(e){return je.has(e)||e.startsWith(De)}new Set(ne);function Ne(e){try{return localStorage.getItem(e)}catch{return null}}function Pe(e,t){try{localStorage.setItem(e,t)}catch{}}function Fe(e){try{localStorage.removeItem(e)}catch{}}function Ie(e,t){try{let n=localStorage.getItem(e);if(n===null||n===``)return t;let r=JSON.parse(n);return r===null?t:r}catch{return t}}function Le(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Re(e,t=!1){let n=Ne(e);return n===null?t:n===`1`||n===`true`}function ze(e,t){Pe(e,t?`1`:`0`)}function Be(e,t){let n=Ne(e);if(n===null||n===``)return t;let r=Number(n);return Number.isFinite(r)?r:t}var Ve=()=>Ne(E.healthAxis)===`commits`?`commits`:`weeks`,He=e=>Pe(E.healthAxis,e===`commits`?`commits`:`weeks`),Ue=`demo`,We=`ws://demo.invalid/ws`,Ge=/^[a-z0-9][a-z0-9-]{0,39}$/;function Ke(){let e=null;try{e=new URLSearchParams(globalThis.location?.search??``).get(Ue)}catch{}return e||=Ne(E.demo),e&&Ge.test(e)?e:null}var qe=null,Je=null;function Ye(){return qe!==null}function Xe(){return qe}function Ze(){return Je}function Qe(e,t=null){qe=e,Je=e?null:t}function $e(e){if(!Ge.test(e))throw Error(`not a demo scenario id: ${e}`);try{globalThis.sessionStorage?.removeItem(ke(e))}catch{}Fe(E.demoTour),Pe(E.demo,e),tt(nt(location.href,e))}function et(){let e=qe??Ke();try{e&&globalThis.sessionStorage?.removeItem(ke(e))}catch{}Fe(E.demoTour),Fe(E.demo),tt(nt(location.href,null))}function tt(e,t=location){e===t.href?t.reload():t.replace(e)}function nt(e,t){let n=new URL(e);return t?n.searchParams.set(Ue,t):n.searchParams.delete(Ue),n.toString()}var rt=`${`/`.replace(/\/$/,``)}/demo/media`,it=/^\/api\/repos\/([^/?#]+)\/artifact$/,at=/^\/api\/repos\/([^/?#]+)\/inbox\/([^/?#]+)$/,ot=new Map;function st(e,t,n){ot.set(`${e}/${t}`,n)}var ct=`.claude/inbox/`;function lt(e){return e.startsWith(`.`)?`dot-${e.slice(1)}`:e}function ut(e){return e.split(`/`).map(lt).join(`/`)}function dt(e){let t=e.split(`/`).filter(e=>e!==``&&e!==`.`);return!t.length||t.some(e=>e===`..`)?null:t.map(e=>encodeURIComponent(lt(e))).join(`/`)}function ft(e){if(!e.startsWith(`/api/`))return e;let t;try{t=new URL(e,`http://demo.invalid`)}catch{return e}if(t.searchParams.has(`stat`))return e;let n=it.exec(t.pathname);if(n){let r=t.searchParams.get(`path`)??``,i=r.startsWith(ct)?ot.get(`${n[1]}/${r.slice(14)}`):void 0;if(i)return i;let a=dt(r);return a?`${rt}/${n[1]}/${a}`:e}let r=at.exec(t.pathname);if(r){let t=ot.get(`${r[1]}/${decodeURIComponent(r[2])}`);if(t)return t;let n=dt(decodeURIComponent(r[2]));return n?`${rt}/${r[1]}/${ut(`.claude/inbox`)}/${n}`:e}return e}function pt(e,t,n){let r=e=>n.has(e)?e:t+e,i=()=>{let n=[];for(let r=0;r<e.length;r++){let i=e.key(r);i!==null&&i.startsWith(t)&&n.push(i.slice(t.length))}return n};return{get length(){return i().length},key:e=>i()[e]??null,getItem:t=>e.getItem(r(String(t))),setItem:(t,n)=>e.setItem(r(String(t)),String(n)),removeItem:t=>e.removeItem(r(String(t))),clear:()=>{for(let n of i())e.removeItem(t+n)}}}function mt(e){if(e||typeof window>`u`||!Ke())return!1;try{let e=window.localStorage,t=pt(e,Se,new Set([E.demo]));return Object.defineProperty(window,"localStorage",{configurable:!0,get:()=>t}),!0}catch{return!1}}var ht=new Map;function gt(e,t){t?ht.set(e,t):ht.delete(e)}function _t(){return[...ht.values()]}var vt=new Map;function yt(e,t){vt.set(e,t),gt(e,t.listed)}function bt(e=globalThis.location?.href??``){if(xt===null)try{xt=new URL(e).searchParams.has(`demoPlugins`)}catch{xt=!1}return xt}var xt=null;function St(){return[...vt].flatMap(([e,t])=>t.pushes().map(([t,n])=>({plugin:e,event:t,data:n})))}function Ct(e,t,n){if(!Ye())return;let r=vt.get(e);if(!r?.always&&!bt())return;let i=r?.calls[t];return i?i(n):void 0}var wt=e=>e.model;function D(e,t){return e.minted=(e.minted??0)+1,`${t}-${e.minted}`}function Tt(e,t){if(typeof t!=`string`||!t)return!1;let n=(e.repos??[]).map(e=>e&&typeof e==`object`?e.worktreePath:void 0).filter(e=>typeof e==`string`&&!!e);return!n.length||n.some(e=>t===e||t.startsWith(e.endsWith(`/`)?e:`${e}/`))}var Et=`That folder is not one of the demo's repos — pick one from the list.`;function Dt(e){let t=[];for(let n of e){let e=n.codePointAt(0)??0;e<128?t.push(e):e<2048?t.push(192|e>>6,128|e&63):e<65536?t.push(224|e>>12,128|e>>6&63,128|e&63):t.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|e&63)}return t}var Ot=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;function kt(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n],i=e[n+1],a=e[n+2];t+=Ot[r>>2]+Ot[(r&3)<<4|(i??0)>>4],t+=i===void 0?`=`:Ot[(i&15)<<2|(a??0)>>6],t+=a===void 0?`=`:Ot[a&63]}return t}var At=`budget not set: it needs a unit and an amount above zero (a percent at most 100)`,jt=`budget not set: that session is not open`;function Mt(e,t){let n=t.budget;if(!n)return!1;let r=me(n.cfg,t.contextSpark,n.cal??null,e.now(),t.running);t.budget={cfg:n.cfg,verdict:r,...n.cal?{cal:n.cal}:{}};let i=e.m.budgetTripped??={};return r.state===`over`&&!i[t.id]?(i[t.id]=!0,Pt(e,t),!0):(r.state===`ok`&&delete i[t.id],!1)}function Nt(e,t,n){let r=n===null?null:ae(n);if(n!==null&&!r)return At;let i=(e.m.sessions??[]).find(e=>e.id===t);if(!i)return jt;let a=i.budget?.cfg??null;if(JSON.stringify(a)!==JSON.stringify(r)){let n=!a||!r||a.unit!==r.unit||a.max!==r.max;r?i.budget={cfg:r,verdict:me(r,null,null,e.now())}:delete i.budget,n&&e.m.budgetTripped&&delete e.m.budgetTripped[t]}return Mt(e,i),e.broadcast({t:`session.updated`,session:i}),null}function Pt(e,t){let n=t.budget;if(!n)return;let r=n.cfg.interrupt?`No Esc was sent: the demo has no running claude to interrupt.`:`No Esc was sent: this budget is set not to interrupt.`,i=e.m.notifications??=[];i.unshift({id:D(e.m,`n`),ts:e.now(),kind:`limit`,title:`Session budget hit · ${t.title}`,body:`${x(n.verdict)}. Further sends to it are held until you raise or clear the budget. ${r}`,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}var Ft=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),It=e=>{let t=Math.max(0,Math.round(e/6e4));return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`},Lt=e=>({blocked:!1,blockedSince:0,resetAt:null,nextAttemptAt:null,attempts:0,weekly:!1,autoContinue:e,autoContinueOverride:null,queuePos:null,resuming:!1,first:!1}),Rt=e=>e.m.limitConfig?.enabled??!1;function zt(e,t,n,r,i){let a=e.m.decisions??=[];a.unshift({id:D(e.m,`d`),ts:e.now(),sessionId:t.id,sessionTitle:t.title,source:`limit`,phase:n,question:r,options:[],choice:null,rationale:i,outcome:`limit`}),e.broadcast({t:`decisions.log`,entries:a.slice(0,200)})}function Bt(e,t,n,r){let i=e.m.notifications??=[];i.unshift({id:D(e.m,`n`),ts:e.now(),kind:`limit`,title:n,body:r,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}function Vt(e,t,n){let r=e.now(),i=Rt(e);t.limit={blocked:!0,blockedSince:r,resetAt:n,nextAttemptAt:i?n:null,attempts:0,weekly:!1,autoContinue:i,autoContinueOverride:null,queuePos:i?1:null,resuming:!1,first:!1},t.turnActive=!1,t.idle=!0,t.idleSince=r,delete t.turnStartedAt,e.broadcast({t:`session.updated`,session:t});let a=i?`auto-continue after the reset (~${Ft(n)})`:`auto-continue is off — resume manually`;return zt(e,t,`blocked`,`Session stopped at the Claude usage limit.`,a.charAt(0).toUpperCase()+a.slice(1)+`.`),Bt(e,t,`Usage limit · ${t.title}`,a),i}function Ht(e,t){let n=t.limit;if(!n?.blocked)return`notBlocked`;let r=e.now();zt(e,t,`attempt`,`Auto-continue attempt 1 — typing "continue" into the session.`,``);let i=n.blockedSince?r-n.blockedSince:0;t.limit=Lt(n.autoContinue),Object.assign(t,{turnActive:!0,turnStartedAt:r,idle:!1,lastTurnAt:r}),delete t.idleSince,e.broadcast({t:`session.updated`,session:t});let a=i?` · blocked ${It(i)}`:``;return zt(e,t,`resumed`,`Usage limit lifted — session resumed.`,`1 attempt${a}`),Bt(e,t,`Session resumed · ${t.title}`,`usage limit lifted after 1 attempt${a} — work continues`),`continued`}var Ut=`\x1B[38;2;215;119;87m`,Wt=`\x1B[0m`,Gt=`\x1B[1m`,Kt=`\x1B[38;5;246m`,O=(e,t=`Opus 5.5`)=>`\r
1
+ import{Au as e,Bl as t,Cu as n,E as r,El as i,H as a,Hl as o,Is as s,Ji as c,Ju as l,K as u,Ki as d,Mn as f,Mu as p,Nl as m,Ns as h,Pn as g,Q as _,Rn as v,Su as y,U as ee,Uc as b,V as te,Vi as ne,X as re,Y as ie,Yc as ae,Yo as oe,Zc as se,_l as ce,ao as le,ei as ue,el as x,fi as S,gl as C,kl as w,ku as de,lr as fe,mr as pe,nl as me,oo as he,qi as ge,vl as T,ws as _e,wu as ve}from"./shared-CsHyApn-.js";var ye={snippets:b(`snippets`),headerCmds:b(`headerCmds`),fanoutPresets:b(`fanout.presets`),toolbar:b(`toolbar`),launch:b(`launch`),launchAsk:b(`launchAsk`),spendWarn:b(`spendWarn`),weekAllDesktops:b(`weekAllDesktops`),pad:b(`pad`),hiddenRepos:b(`hiddenRepos`),enterSends:b(`enterSends`),dictateTerms:b(`dictate.terms`),autoSend:b(`autoSend`),updatesAutoCheck:b(`updates.autoCheck`),serialSessions:b(`serialSessions`),confirmQueue:b(`confirmQueue`),confirmClose:b(`confirmClose`),readerTools:b(`readerTools`),annKnobs:b(`annKnobs`),annTools:b(`annTools`),annPrompt:b(`annPrompt`),hints:b(`hints`),repoColors:b(`repoColors`),installAllow:b(`installAllow`),closeWhenDone:b(`backlog.closeWhenDone`),localSessions:b(`local.maxSessions`),agentWindowWarn:b(`agentWindowWarn`),agentWarn:b(`agentWarn`),deviceId:b(`deviceId`),deviceName:b(`deviceName`),pluginList:b(`pluginList`),hostBase:b(`hostBase`),hosts:b(`hosts`),hostActive:b(`hostActive`),hostSwitch:b(`hostSwitch`),hostSwitchFailed:b(`hostSwitchFailed`),hostOpenAfter:b(`hostOpenAfter`),hostsGone:b(`hostsGone`),deviceToken:b(`deviceToken`),passive:b(`passive`),tokenSeal:b(`tokenSeal`),tokenSealOn:b(`tokenSealOn`),tokenSealDead:b(`tokenSealDead`),tokenSealAuth:b(`tokenSealAuth`),lanIdentity:b(`lanIdentity`),pairCodesSent:b(`pairCodesSent`),dataSaver:b(`dataSaver`),bgFresh:b(`bgFresh`),uploadScale:b(`uploadScale`),upKbps:b(`upKbps`),netlog:b(`netlog`),netTraffic:b(`nettraffic`),netSync:b(`netsync`),netPulse:b(`netPulse`),localRtBar:b(`localRtBar`),unfoldToEnd:b(`unfoldToEnd`),repoSort:b(`repoSort`),sessionTabs:b(`sessionTabs`),sessionTabsCount:b(`sessionTabs.count`),sessionTabsOrder:b(`sessionTabs.order`),sessionTabsLimit:b(`sessionTabs.limit`),tabOpens:b(`sessionTabs.opens`),tabFiles:b(`sessionTabs.files`),sessionTabsSync:b(`sessionTabs.sync`),tabsSaverAsked:b(`sessionTabs.saverAsked`),tabOrderShared:b(`tabsShared.order`),tabOpensShared:b(`tabsShared.opens`),localRt:b(`localrt`)},be={sessionOrder:b(`sessionOrder`),collapsedRepos:b(`collapsedRepos`),toolbarOpen:b(`toolbarOpen`),hostBoots:b(`hostBoots`),readMode:b(`readMode`),cliMode:b(`cliMode`),termCostOpen:b(`termCostOpen`),sendMemory:b(`sendMemory`),slotAskOff:b(`slotAskOff`),launchLast:b(`launchLast`),wheelHidden:b(`wheelHidden`),typingRoom:b(`typingRoom`),hintChip:b(`hintChip`),termCornerPos:b(`termCornerPos`),wideSideW:b(`wideSideW`),wideBesideW:b(`wideBesideW`),widePanelW:b(`widePanelW`),sessChromeH:b(`sessChromeH`),launcherChromeH:b(`launcherChromeH`),agentListH:b(`agentListH`),closeKbOnSend:b(`closeKbOnSend`),shortcutCard:b(`shortcutCard`),busySend:b(`busySend`),btwToCli:b(`btwToCli`),theme:b(`theme`),themeOverlay:b(`themeOverlay`),themeOverlayCss:b(`themeOverlayCss`),textScale:b(`textScale`),iconScale:b(`iconScale`),termZoom:b(`termZoom`),readerZoom:b(`readerZoom`),scrollZoom:b(`scrollZoom`),gitZoom:b(`gitZoom`),gitExplainFoci:b(`gitExplainFoci`),gitExplainNote:b(`gitExplainNote`),gitExplainLast:b(`gitExplainLast`),textDumpWrap:b(`textDumpWrap`),closeCustomH:b(`closeCustomH`),schedPctLeft:b(`schedPctLeft`),schedLeadMin:b(`schedLeadMin`),closeBy:b(`closeBy`),closeKeepStar:b(`closeKeepStar`),backlogRepo:b(`backlogRepo`),backlogDraft:b(`backlogDraft`),backlogShowArchived:b(`backlogShowArchived`),backlogSortRun:b(`backlogSortRun`),fanoutText:b(`fanout.text`),fanoutSel:b(`fanout.sel`),fanoutModel:b(`fanout.model`),collageGap:b(`collageGap`),collageLabels:b(`collageLabels`),usage:b(`usage`),notifSeen:b(`notifSeen`),notifInfoNote:b(`notifInfoNote`),whatsNewSeen:b(`whatsNewSeen`),toastLog:b(`toastLog`),hostedAck:b(`hostedAck`),costNoticed:b(`costNoticed`),agentNoticed:b(`agentNoticed`),spendNoticed:b(`spendNoticed`),dismissInsecure:b(`dismissInsecure`),dismissPhoneSetup:b(`dismissPhoneSetup`),codeFolderLater:b(`codeFolderLater`),dismissedSelfUpdate:b(`dismissedSelfUpdate`),updatesReceiptSeen:b(`updatesReceiptSeen`),dismissedUpdate:b(`dismissedUpdate`),annHintHidden:b(`annHintHidden`),stowed:b(`stowed`),stowTold:b(`stowTold`),toldNoticed:b(`toldNoticed`),lastForcedReload:b(`lastForcedReload`),webUpdateStaged:b(`webUpdate.staged`),webUpdateAuto:b(`webUpdate.auto`),webUpdateApply:b(`webUpdate.apply`),webUpdateApplyTries:b(`webUpdate.applyTries`),webUpdateRecoverySeen:b(`webUpdate.recoverySeen`),webUpdateSnooze:b(`webUpdate.snooze`),routeLast:b(`route.last`),routeResume:b(`route.resume`),headerViews:b(`headerViews`),brandMigrated:r,brandStores:b(`brand.stores`),demo:b(`demo`),demoReturn:b(`demo.return`),demoTour:b(`demo.tour`)},xe={outbox:b(`outbox`),compose:b(`compose`),composeDrafts:b(`compose.drafts`),composeOutbox:b(`compose.outbox`),composeSheets:b(`compose.sheets`),deadUploads:b(`deadUploads`),dictations:b(`dictations`),dictateLang:b(`dictate.lang`),dictateLangs:b(`dictate.langs`),giveups:b(`giveups`),giveupsMigrated:b(`giveups.migrated`),activityDismissed:b(`activity.dismissed`),activityConfirmedDone:b(`activity.confirmedDone`),padRescue:b(`padRescue`),padRescueMigrated:b(`padRescue.migrated`),pendingStars:b(`pendingStars`),pendingFollowUps:b(`pendingFollowUps`),pullState:b(`pull.state`),pullAuto:b(`pull.auto`),pullBrowserAsk:b(`pull.browserask`),pullAutoSave:b(`pull.autosave`),snapSessions:b(`snap.sessions`),snapRepos:b(`snap.repos`),snapReposAt:b(`snapReposAt`),snapRecent:b(`snap.recent`),snapClosed:b(`snap.closed`),snapBacklog:b(`snap.backlog`),snapHistory:b(`snap.history`),snapBuilds:b(`snap.builds`),snapCapture:b(`snap.capture`),snapSchedules:b(`snap.schedules`),snapCliHealth:b(`snap.clihealth`),snapAt:b(`snap.at`),slashCache:b(`slashCache`),fileMtimes:b(`fileMtimes`),artMarks:b(`artMarks`),fileRemarks:b(`fileRemarks`),filesDir:b(`filesDir`),newImages:b(`newimg`),syncTs:b(`syncTs`),cmdHistory:b(`cmdHistory`)},E={healthAxis:b(`healthAxis`),appLock:b(`appLock`),appLockBlob:b(`appLockBlob`),...ye,...xe,...be},Se=b(`demoworld.`),Ce=b(`trSeen.`),we=e=>`${Ce}${e}`,Te=b(`ext.`),Ee=(e,t)=>`${Te}${e}.${t}`,De=b(`extdev.`),Oe=b(`demo.snap.`),ke=e=>`${Oe}${e}`,Ae={snippets:`host`,headerCmds:`host`,fanoutPresets:`host`,toolbar:`host`,launch:`host`,launchAsk:`host`,spendWarn:`host`,weekAllDesktops:`host`,pad:`host`,hiddenRepos:`host`,enterSends:`host`,dictateTerms:`host`,autoSend:`host`,updatesAutoCheck:`host`,serialSessions:`host`,confirmQueue:`host`,confirmClose:`host`,readerTools:`host`,annKnobs:`host`,annTools:`host`,annPrompt:`device`,hints:`host`,repoColors:`host`,installAllow:`host`,closeWhenDone:`host`,localSessions:`host`,agentWarn:`host`,agentWindowWarn:`host`,syncTs:`host`,healthAxis:`device`,appLock:`device`,appLockBlob:`device`,tokenSeal:`device`,tokenSealOn:`device`,tokenSealDead:`device`,tokenSealAuth:`device`,deviceId:`device`,deviceName:`device`,hostBase:`device`,hosts:`device`,hostActive:`device`,hostSwitch:`device`,hostSwitchFailed:`device`,pairCodesSent:`device`,hostOpenAfter:`device`,hostsGone:`device`,deviceToken:`host`,lanIdentity:`host`,passive:`host`,pluginList:`host`,dataSaver:`device`,bgFresh:`device`,uploadScale:`device`,netPulse:`device`,localRtBar:`device`,unfoldToEnd:`device`,repoSort:`device`,upKbps:`host`,netlog:`host`,netTraffic:`host`,netSync:`host`,localRt:`host`,sessionTabs:`device`,sessionTabsCount:`device`,sessionTabsOrder:`device`,sessionTabsLimit:`device`,tabOpens:`host`,tabFiles:`host`,sessionTabsSync:`device`,tabsSaverAsked:`device`,tabOrderShared:`host`,tabOpensShared:`host`,outbox:`host`,compose:`host`,composeDrafts:`host`,composeOutbox:`host`,composeSheets:`host`,deadUploads:`host`,dictations:`host`,pendingStars:`host`,pendingFollowUps:`host`,backlogDraft:`host`,dictateLang:`device`,dictateLangs:`device`,fanoutText:`host`,fanoutSel:`host`,fanoutModel:`host`,backlogRepo:`host`,backlogShowArchived:`host`,backlogSortRun:`host`,giveups:`device`,giveupsMigrated:`device`,padRescue:`device`,padRescueMigrated:`device`,activityDismissed:`host`,activityConfirmedDone:`host`,pullState:`host`,pullAuto:`host`,pullBrowserAsk:`host`,pullAutoSave:`host`,snapSessions:`host`,snapRepos:`host`,snapReposAt:`host`,snapRecent:`host`,snapClosed:`host`,snapBacklog:`host`,snapHistory:`host`,snapBuilds:`host`,snapCapture:`host`,snapSchedules:`host`,snapCliHealth:`host`,snapAt:`host`,themeOverlay:`host`,themeOverlayCss:`host`,slashCache:`host`,fileMtimes:`host`,artMarks:`host`,fileRemarks:`host`,filesDir:`host`,newImages:`host`,cmdHistory:`host`,usage:`host`,notifSeen:`host`,costNoticed:`host`,agentNoticed:`host`,spendNoticed:`host`,sessionOrder:`host`,collapsedRepos:`host`,sendMemory:`host`,slotAskOff:`host`,launchLast:`host`,wheelHidden:`host`,toolbarOpen:`device`,readMode:`device`,cliMode:`device`,termCostOpen:`device`,typingRoom:`device`,hintChip:`device`,termCornerPos:`device`,wideSideW:`device`,wideBesideW:`device`,widePanelW:`device`,sessChromeH:`device`,agentListH:`device`,launcherChromeH:`device`,closeKbOnSend:`device`,shortcutCard:`device`,busySend:`device`,btwToCli:`device`,theme:`device`,textScale:`device`,iconScale:`device`,termZoom:`device`,readerZoom:`device`,scrollZoom:`device`,gitZoom:`device`,gitExplainFoci:`device`,gitExplainNote:`device`,gitExplainLast:`device`,textDumpWrap:`device`,closeCustomH:`device`,schedPctLeft:`device`,schedLeadMin:`device`,closeBy:`device`,closeKeepStar:`device`,collageGap:`device`,collageLabels:`device`,toastLog:`device`,hostedAck:`device`,notifInfoNote:`device`,whatsNewSeen:`device`,dismissInsecure:`device`,dismissPhoneSetup:`device`,codeFolderLater:`device`,dismissedUpdate:`device`,dismissedSelfUpdate:`host`,updatesReceiptSeen:`host`,annHintHidden:`device`,stowed:`device`,stowTold:`device`,toldNoticed:`device`,hostBoots:`device`,lastForcedReload:`device`,webUpdateRecoverySeen:`device`,webUpdateStaged:`host`,webUpdateAuto:`host`,webUpdateApply:`host`,webUpdateApplyTries:`host`,webUpdateSnooze:`host`,routeLast:`host`,routeResume:`host`,headerViews:`host`,brandMigrated:`device`,brandStores:`device`,demo:`device`,demoReturn:`device`,demoTour:`device`},je=new Set(Object.keys(Ae).filter(e=>Ae[e]===`device`).map(e=>E[e]));function Me(e){return je.has(e)||e.startsWith(De)}new Set(ne);function Ne(e){try{return localStorage.getItem(e)}catch{return null}}function Pe(e,t){try{localStorage.setItem(e,t)}catch{}}function Fe(e){try{localStorage.removeItem(e)}catch{}}function Ie(e,t){try{let n=localStorage.getItem(e);if(n===null||n===``)return t;let r=JSON.parse(n);return r===null?t:r}catch{return t}}function Le(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Re(e,t=!1){let n=Ne(e);return n===null?t:n===`1`||n===`true`}function ze(e,t){Pe(e,t?`1`:`0`)}function Be(e,t){let n=Ne(e);if(n===null||n===``)return t;let r=Number(n);return Number.isFinite(r)?r:t}var Ve=()=>Ne(E.healthAxis)===`commits`?`commits`:`weeks`,He=e=>Pe(E.healthAxis,e===`commits`?`commits`:`weeks`),Ue=`demo`,We=`ws://demo.invalid/ws`,Ge=/^[a-z0-9][a-z0-9-]{0,39}$/;function Ke(){let e=null;try{e=new URLSearchParams(globalThis.location?.search??``).get(Ue)}catch{}return e||=Ne(E.demo),e&&Ge.test(e)?e:null}var qe=null,Je=null;function Ye(){return qe!==null}function Xe(){return qe}function Ze(){return Je}function Qe(e,t=null){qe=e,Je=e?null:t}function $e(e){if(!Ge.test(e))throw Error(`not a demo scenario id: ${e}`);try{globalThis.sessionStorage?.removeItem(ke(e))}catch{}Fe(E.demoTour),Pe(E.demo,e),tt(nt(location.href,e))}function et(){let e=qe??Ke();try{e&&globalThis.sessionStorage?.removeItem(ke(e))}catch{}Fe(E.demoTour),Fe(E.demo),tt(nt(location.href,null))}function tt(e,t=location){e===t.href?t.reload():t.replace(e)}function nt(e,t){let n=new URL(e);return t?n.searchParams.set(Ue,t):n.searchParams.delete(Ue),n.toString()}var rt=`${`/`.replace(/\/$/,``)}/demo/media`,it=/^\/api\/repos\/([^/?#]+)\/artifact$/,at=/^\/api\/repos\/([^/?#]+)\/inbox\/([^/?#]+)$/,ot=new Map;function st(e,t,n){ot.set(`${e}/${t}`,n)}var ct=`.claude/inbox/`;function lt(e){return e.startsWith(`.`)?`dot-${e.slice(1)}`:e}function ut(e){return e.split(`/`).map(lt).join(`/`)}function dt(e){let t=e.split(`/`).filter(e=>e!==``&&e!==`.`);return!t.length||t.some(e=>e===`..`)?null:t.map(e=>encodeURIComponent(lt(e))).join(`/`)}function ft(e){if(!e.startsWith(`/api/`))return e;let t;try{t=new URL(e,`http://demo.invalid`)}catch{return e}if(t.searchParams.has(`stat`))return e;let n=it.exec(t.pathname);if(n){let r=t.searchParams.get(`path`)??``,i=r.startsWith(ct)?ot.get(`${n[1]}/${r.slice(14)}`):void 0;if(i)return i;let a=dt(r);return a?`${rt}/${n[1]}/${a}`:e}let r=at.exec(t.pathname);if(r){let t=ot.get(`${r[1]}/${decodeURIComponent(r[2])}`);if(t)return t;let n=dt(decodeURIComponent(r[2]));return n?`${rt}/${r[1]}/${ut(`.claude/inbox`)}/${n}`:e}return e}function pt(e,t,n){let r=e=>n.has(e)?e:t+e,i=()=>{let n=[];for(let r=0;r<e.length;r++){let i=e.key(r);i!==null&&i.startsWith(t)&&n.push(i.slice(t.length))}return n};return{get length(){return i().length},key:e=>i()[e]??null,getItem:t=>e.getItem(r(String(t))),setItem:(t,n)=>e.setItem(r(String(t)),String(n)),removeItem:t=>e.removeItem(r(String(t))),clear:()=>{for(let n of i())e.removeItem(t+n)}}}function mt(e){if(e||typeof window>`u`||!Ke())return!1;try{let e=window.localStorage,t=pt(e,Se,new Set([E.demo]));return Object.defineProperty(window,"localStorage",{configurable:!0,get:()=>t}),!0}catch{return!1}}var ht=new Map;function gt(e,t){t?ht.set(e,t):ht.delete(e)}function _t(){return[...ht.values()]}var vt=new Map;function yt(e,t){vt.set(e,t),gt(e,t.listed)}function bt(e=globalThis.location?.href??``){if(xt===null)try{xt=new URL(e).searchParams.has(`demoPlugins`)}catch{xt=!1}return xt}var xt=null;function St(){return[...vt].flatMap(([e,t])=>t.pushes().map(([t,n])=>({plugin:e,event:t,data:n})))}function Ct(e,t,n){if(!Ye())return;let r=vt.get(e);if(!r?.always&&!bt())return;let i=r?.calls[t];return i?i(n):void 0}var wt=e=>e.model;function D(e,t){return e.minted=(e.minted??0)+1,`${t}-${e.minted}`}function Tt(e,t){if(typeof t!=`string`||!t)return!1;let n=(e.repos??[]).map(e=>e&&typeof e==`object`?e.worktreePath:void 0).filter(e=>typeof e==`string`&&!!e);return!n.length||n.some(e=>t===e||t.startsWith(e.endsWith(`/`)?e:`${e}/`))}var Et=`That folder is not one of the demo's repos — pick one from the list.`;function Dt(e){let t=[];for(let n of e){let e=n.codePointAt(0)??0;e<128?t.push(e):e<2048?t.push(192|e>>6,128|e&63):e<65536?t.push(224|e>>12,128|e>>6&63,128|e&63):t.push(240|e>>18,128|e>>12&63,128|e>>6&63,128|e&63)}return t}var Ot=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;function kt(e){let t=``;for(let n=0;n<e.length;n+=3){let r=e[n],i=e[n+1],a=e[n+2];t+=Ot[r>>2]+Ot[(r&3)<<4|(i??0)>>4],t+=i===void 0?`=`:Ot[(i&15)<<2|(a??0)>>6],t+=a===void 0?`=`:Ot[a&63]}return t}var At=`budget not set: it needs a unit and an amount above zero (a percent at most 100)`,jt=`budget not set: that session is not open`;function Mt(e,t){let n=t.budget;if(!n)return!1;let r=me(n.cfg,t.contextSpark,n.cal??null,e.now(),t.running);t.budget={cfg:n.cfg,verdict:r,...n.cal?{cal:n.cal}:{}};let i=e.m.budgetTripped??={};return r.state===`over`&&!i[t.id]?(i[t.id]=!0,Pt(e,t),!0):(r.state===`ok`&&delete i[t.id],!1)}function Nt(e,t,n){let r=n===null?null:ae(n);if(n!==null&&!r)return At;let i=(e.m.sessions??[]).find(e=>e.id===t);if(!i)return jt;let a=i.budget?.cfg??null;if(JSON.stringify(a)!==JSON.stringify(r)){let n=!a||!r||a.unit!==r.unit||a.max!==r.max;r?i.budget={cfg:r,verdict:me(r,null,null,e.now())}:delete i.budget,n&&e.m.budgetTripped&&delete e.m.budgetTripped[t]}return Mt(e,i),e.broadcast({t:`session.updated`,session:i}),null}function Pt(e,t){let n=t.budget;if(!n)return;let r=n.cfg.interrupt?`No Esc was sent: the demo has no running claude to interrupt.`:`No Esc was sent: this budget is set not to interrupt.`,i=e.m.notifications??=[];i.unshift({id:D(e.m,`n`),ts:e.now(),kind:`limit`,title:`Session budget hit · ${t.title}`,body:`${x(n.verdict)}. Further sends to it are held until you raise or clear the budget. ${r}`,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}var Ft=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),It=e=>{let t=Math.max(0,Math.round(e/6e4));return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`},Lt=e=>({blocked:!1,blockedSince:0,resetAt:null,nextAttemptAt:null,attempts:0,weekly:!1,autoContinue:e,autoContinueOverride:null,queuePos:null,resuming:!1,first:!1}),Rt=e=>e.m.limitConfig?.enabled??!1;function zt(e,t,n,r,i){let a=e.m.decisions??=[];a.unshift({id:D(e.m,`d`),ts:e.now(),sessionId:t.id,sessionTitle:t.title,source:`limit`,phase:n,question:r,options:[],choice:null,rationale:i,outcome:`limit`}),e.broadcast({t:`decisions.log`,entries:a.slice(0,200)})}function Bt(e,t,n,r){let i=e.m.notifications??=[];i.unshift({id:D(e.m,`n`),ts:e.now(),kind:`limit`,title:n,body:r,sessionId:t.id}),e.broadcast({t:`notification.list`,items:i})}function Vt(e,t,n){let r=e.now(),i=Rt(e);t.limit={blocked:!0,blockedSince:r,resetAt:n,nextAttemptAt:i?n:null,attempts:0,weekly:!1,autoContinue:i,autoContinueOverride:null,queuePos:i?1:null,resuming:!1,first:!1},t.turnActive=!1,t.idle=!0,t.idleSince=r,delete t.turnStartedAt,e.broadcast({t:`session.updated`,session:t});let a=i?`auto-continue after the reset (~${Ft(n)})`:`auto-continue is off — resume manually`;return zt(e,t,`blocked`,`Session stopped at the Claude usage limit.`,a.charAt(0).toUpperCase()+a.slice(1)+`.`),Bt(e,t,`Usage limit · ${t.title}`,a),i}function Ht(e,t){let n=t.limit;if(!n?.blocked)return`notBlocked`;let r=e.now();zt(e,t,`attempt`,`Auto-continue attempt 1 — typing "continue" into the session.`,``);let i=n.blockedSince?r-n.blockedSince:0;t.limit=Lt(n.autoContinue),Object.assign(t,{turnActive:!0,turnStartedAt:r,idle:!1,lastTurnAt:r}),delete t.idleSince,e.broadcast({t:`session.updated`,session:t});let a=i?` · blocked ${It(i)}`:``;return zt(e,t,`resumed`,`Usage limit lifted — session resumed.`,`1 attempt${a}`),Bt(e,t,`Session resumed · ${t.title}`,`usage limit lifted after 1 attempt${a} — work continues`),`continued`}var Ut=`\x1B[38;2;215;119;87m`,Wt=`\x1B[0m`,Gt=`\x1B[1m`,Kt=`\x1B[38;5;246m`,O=(e,t=`Opus 5.5`)=>`\r
2
2
  \r
3
3
  \r
4
4
  ${Ut} ▐▛███▛█${Wt} ${Gt}Claude Code${Wt} ${Kt}v2.1.292${Wt}\r\n${Ut}▝▜██████▀${Wt} ${Kt}${t} · Claude Max${Wt}\r\n${Ut} ▝▝ ▝▝ ${Wt} ${Kt}${e}${Wt}\r\n\r\n`,qt=O(`{cwd}`),k=`\x1B[`,Jt=/\x1b\[[0-9;?]*[A-Za-z]/g,A=`${k}0m`,Yt=`${k}38;5;246m`,Xt=`${k}38;5;244m`,Zt=`${k}38;2;215;119;87m`,Qt=`${k}38;5;114m`,$t=`${k}48;5;237m`,en=e=>[...e.replace(Jt,``)].length;function tn(e,t,n){if(!Number.isFinite(t)||en(e)<=t)return[e];let r=e.match(/\x1b\[[0-9;?]*[A-Za-z]|\s+|[^\s\x1b]+/g)??[],i=[],a=``,o=0,s=``,c=` `.repeat(n),l=()=>{i.push(a+A),a=c+s,o=n};for(let e of r){if(e.startsWith(`\x1B`)){a+=e,s=e===A||e===`${k}m`?``:s+e;continue}if(/^\s+$/.test(e)){if(o+e.length>t){l();continue}(o>n||i.length===0)&&(a+=e,o+=e.length);continue}let r=[...e];for(o+r.length>t&&o>n&&(a=a.replace(/\s+$/,``),l());o+r.length>t;){let e=Math.max(1,t-o);a+=r.slice(0,e).join(``),r=r.slice(e),l()}a+=r.join(``),o+=r.length}return a.trim()&&i.push(a),i}function nn(e){let t=e.replace(Jt,``),n=/^(?:\x1b\[[0-9;]*m)*>(?:\x1b\[[0-9;]*m)* (.*)$/.exec(e);if(n)return{text:`${$t}${Yt}❯ ${k}38;5;255m${n[1]}${A}`,hang:2,block:!0};if(t.startsWith(`● `)){let t=/^(?:\x1b\[[0-9;]*m)*● ([A-Z][A-Za-z]*)(?:\x1b\[[0-9;]*m)*\((.*)$/.exec(e);return t?{text:`${Qt}⏺${A} ${k}1m${t[1]}${A}(${t[2]}`,hang:2,block:!0}:{text:e.replace(`● `,`⏺ `),hang:2,block:!0}}return t.startsWith(` ⎿`)?{text:e.replace(/\x1b\[2m/g,Yt),hang:5,block:!1}:{text:e,hang:0,block:!1}}function rn(e,t,n){let r=e.replace(/\r\n?/g,`