glimmervoid 0.46.2-next.142 → 0.46.2-next.144
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/bin/glimmervoid.js +9 -9
- package/dist/chunks/{adapters-DOoCigIs.js → adapters-CPgK2P8p.js} +2 -2
- package/dist/chunks/{adapters-cJnKXyy1.js → adapters-DgiNl-zf.js} +1 -1
- package/dist/chunks/{agent-api-cli-DiHxZG8_.js → agent-api-cli-BzXb4vri.js} +1 -1
- package/dist/chunks/{agent-api-cli-D1ZbnrPM.js → agent-api-cli-DFru4iHG.js} +1 -1
- package/dist/chunks/{agent-api-core-BawLQJDV.js → agent-api-core-CKJxZlWQ.js} +1 -1
- package/dist/chunks/{build-channel-C_Wck7sE.js → build-channel-CSLUgL7D.js} +17 -3
- package/dist/chunks/{config-DIo8Xkup.js → config-CD0H36oJ.js} +2 -1
- package/dist/chunks/{config-store-BIh6L8HP.js → config-store-DWt1yeB_.js} +11 -11
- package/dist/chunks/config-store-DZpnt33l.js +1 -0
- package/dist/chunks/{main-CR7hWfhj.js → main-BlPPfUFv.js} +16 -8
- package/dist/chunks/{node-pty-preflight-C8QIlrtU.js → node-pty-preflight-DbfWP9Rc.js} +19 -1
- package/dist/chunks/{pair-cli-Bxm2Hu78.js → pair-cli-D6nkYwvQ.js} +2 -2
- package/dist/chunks/{remote-config-C94eeqg1.js → remote-config-Cg2vcQMZ.js} +1 -1
- package/dist/chunks/{settings-cli-B941sHbz.js → settings-cli-D_YyLonX.js} +4 -4
- package/dist/chunks/{settings-readout-core-BHqZBGaI.js → settings-readout-core-ic6qSZkn.js} +1 -1
- package/dist/chunks/{ssh-sign-cli-EL_ZMmK7.js → ssh-sign-cli-CJmnbkMc.js} +1 -1
- package/dist/client/assets/{alert-sound-BBr0as6G.js → alert-sound-3XLg0nii.js} +1 -1
- package/dist/client/assets/alert-sound-3XLg0nii.js.br +0 -0
- package/dist/client/assets/{benchmark-panel-BssD3O2h.js → benchmark-panel-Cc-xCtqT.js} +1 -1
- package/dist/client/assets/benchmark-panel-Cc-xCtqT.js.br +0 -0
- package/dist/client/assets/{card-registry-DsAFY_8B.js → card-registry-DITW3gYA.js} +1 -1
- package/dist/client/assets/card-registry-DITW3gYA.js.br +0 -0
- package/dist/client/assets/{celebration-player-CiOlT5n9.js → celebration-player-C_36CmHg.js} +1 -1
- package/dist/client/assets/celebration-player-C_36CmHg.js.br +0 -0
- package/dist/client/assets/control-ws-DUGWJI0x.js +4 -0
- package/dist/client/assets/control-ws-DUGWJI0x.js.br +0 -0
- package/dist/client/assets/{dialogs-jfKnZPRt.js → dialogs-Dm0fylYo.js} +3 -3
- package/dist/client/assets/dialogs-Dm0fylYo.js.br +0 -0
- package/dist/client/assets/{doc-editor-ui-BK6THx6I.js → doc-editor-ui-Der-jLrQ.js} +1 -1
- package/dist/client/assets/doc-editor-ui-Der-jLrQ.js.br +0 -0
- package/dist/client/assets/{first-run-checklist-DjV8UyhE.js → first-run-checklist-ILiAzZQ9.js} +1 -1
- package/dist/client/assets/first-run-checklist-ILiAzZQ9.js.br +0 -0
- package/dist/client/assets/{hooks-panel-Cov_E7Nn.js → hooks-panel-BUdr2K_U.js} +1 -1
- package/dist/client/assets/hooks-panel-BUdr2K_U.js.br +0 -0
- package/dist/client/assets/{index-DkVH8Ze_.js → index-CClbz7ym.js} +5 -5
- package/dist/client/assets/index-CClbz7ym.js.br +0 -0
- package/dist/client/assets/{index-CVB9CG5c.css → index-CFgGsY9k.css} +1 -1
- package/dist/client/assets/index-CFgGsY9k.css.br +0 -0
- package/dist/client/assets/{issues-panel-C4xIYyg8.js → issues-panel-BpsqfwHt.js} +1 -1
- package/dist/client/assets/issues-panel-BpsqfwHt.js.br +0 -0
- package/dist/client/assets/{nyan-cat-SuwqMGt7.js → nyan-cat-D-vTXf4d.js} +1 -1
- package/dist/client/assets/nyan-cat-D-vTXf4d.js.br +0 -0
- package/dist/client/assets/{phone-shell-LNpqjgav.js → phone-shell-DGkkSFVi.js} +1 -1
- package/dist/client/assets/phone-shell-DGkkSFVi.js.br +0 -0
- package/dist/client/assets/{plan-face-CVgq55fc.js → plan-face-ohmry9nO.js} +1 -1
- package/dist/client/assets/plan-face-ohmry9nO.js.br +0 -0
- package/dist/client/assets/{plan-render-CzDoSIwQ.js → plan-render-BK51mWj1.js} +1 -1
- package/dist/client/assets/plan-render-BK51mWj1.js.br +0 -0
- package/dist/client/assets/{pr-scope-tabs-BWoPol5P.js → pr-scope-tabs-Dz_UJbqT.js} +1 -1
- package/dist/client/assets/pr-scope-tabs-Dz_UJbqT.js.br +0 -0
- package/dist/client/assets/{radar-panel-Cz4wr8sW.js → radar-panel-COlCPH1w.js} +1 -1
- package/dist/client/assets/radar-panel-COlCPH1w.js.br +0 -0
- package/dist/client/assets/{repo-roots-adder-CAMr-ApU.js → repo-roots-adder-B4qgw7oP.js} +1 -1
- package/dist/client/assets/repo-roots-adder-B4qgw7oP.js.br +0 -0
- package/dist/client/assets/{resume-dialog-LCZU0g7P.js → resume-dialog-BekqhS74.js} +1 -1
- package/dist/client/assets/resume-dialog-BekqhS74.js.br +0 -0
- package/dist/client/assets/{review-queue-panel-Ccex9SGG.js → review-queue-panel-BeQ17ElV.js} +1 -1
- package/dist/client/assets/review-queue-panel-BeQ17ElV.js.br +0 -0
- package/dist/client/assets/sandboxed-frame-C5WnwN5w.js +1 -0
- package/dist/client/assets/{session-tick-XGyxrRw7.js → session-tick-D8pYTYt7.js} +1 -1
- package/dist/client/assets/session-tick-D8pYTYt7.js.br +0 -0
- package/dist/client/assets/{settings-panel-BYyO60k-.js → settings-panel-C3zGH7v1.js} +2 -2
- package/dist/client/assets/settings-panel-C3zGH7v1.js.br +0 -0
- package/dist/client/assets/shown-lightbox-BcxqmKL0.js +1 -0
- package/dist/client/assets/shown-lightbox-BcxqmKL0.js.br +0 -0
- package/dist/client/assets/{trace-panel-Bw6juc09.js → trace-panel-JuB7yi0z.js} +1 -1
- package/dist/client/assets/trace-panel-JuB7yi0z.js.br +0 -0
- package/dist/client/assets/{updates-view-core-B_e7uWeW.js → updates-view-core-BYoMfzXj.js} +1 -1
- package/dist/client/assets/updates-view-core-BYoMfzXj.js.br +0 -0
- package/dist/client/assets/{usage-panel-DgfcEHUt.js → usage-panel-DuVi7PQ0.js} +1 -1
- package/dist/client/assets/usage-panel-DuVi7PQ0.js.br +0 -0
- package/dist/client/assets/{visions-panel-BuuuaLjv.js → visions-panel-DtkT-pV4.js} +1 -1
- package/dist/client/assets/visions-panel-DtkT-pV4.js.br +0 -0
- package/dist/client/index.html +6 -6
- package/dist/client/index.html.br +0 -0
- package/dist/server/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunks/config-store-7CJnu01H.js +0 -1
- package/dist/client/assets/alert-sound-BBr0as6G.js.br +0 -0
- package/dist/client/assets/benchmark-panel-BssD3O2h.js.br +0 -0
- package/dist/client/assets/card-registry-DsAFY_8B.js.br +0 -0
- package/dist/client/assets/celebration-player-CiOlT5n9.js.br +0 -0
- package/dist/client/assets/control-ws-D_jLoMnn.js +0 -4
- package/dist/client/assets/control-ws-D_jLoMnn.js.br +0 -0
- package/dist/client/assets/dialogs-jfKnZPRt.js.br +0 -0
- package/dist/client/assets/doc-editor-ui-BK6THx6I.js.br +0 -0
- package/dist/client/assets/first-run-checklist-DjV8UyhE.js.br +0 -0
- package/dist/client/assets/hooks-panel-Cov_E7Nn.js.br +0 -0
- package/dist/client/assets/index-CVB9CG5c.css.br +0 -0
- package/dist/client/assets/index-DkVH8Ze_.js.br +0 -0
- package/dist/client/assets/issues-panel-C4xIYyg8.js.br +0 -0
- package/dist/client/assets/nyan-cat-SuwqMGt7.js.br +0 -0
- package/dist/client/assets/phone-shell-LNpqjgav.js.br +0 -0
- package/dist/client/assets/plan-face-CVgq55fc.js.br +0 -0
- package/dist/client/assets/plan-render-CzDoSIwQ.js.br +0 -0
- package/dist/client/assets/pr-scope-tabs-BWoPol5P.js.br +0 -0
- package/dist/client/assets/radar-panel-Cz4wr8sW.js.br +0 -0
- package/dist/client/assets/repo-roots-adder-CAMr-ApU.js.br +0 -0
- package/dist/client/assets/resume-dialog-LCZU0g7P.js.br +0 -0
- package/dist/client/assets/review-queue-panel-Ccex9SGG.js.br +0 -0
- package/dist/client/assets/session-tick-XGyxrRw7.js.br +0 -0
- package/dist/client/assets/settings-panel-BYyO60k-.js.br +0 -0
- package/dist/client/assets/shown-lightbox-BJoXhjCC.js +0 -1
- package/dist/client/assets/shown-lightbox-BJoXhjCC.js.br +0 -0
- package/dist/client/assets/trace-panel-Bw6juc09.js.br +0 -0
- package/dist/client/assets/updates-view-core-B_e7uWeW.js.br +0 -0
- package/dist/client/assets/usage-panel-DgfcEHUt.js.br +0 -0
- package/dist/client/assets/visions-panel-BuuuaLjv.js.br +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as ee,l as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,u as h,v as g}from"./zod-BRLv4KqJ.js";import{E as te,K as ne,q as re}from"./dom-helpers-C7P3_59O.js";var ie=h({attempt:s().int().positive(),limit:s().int().positive()}).refine(e=>e.attempt<=e.limit),ae={error:c().nullable().optional(),lastRefreshedAt:s().finite().nonnegative().nullable().optional(),incident:c().nullable().optional(),nextAttemptAt:s().finite().nonnegative().nullable().optional(),retry:ie.nullable().optional(),isRefreshing:t().optional(),refreshNotice:c().nullable().optional()},oe=d({lastRefreshedAt:s().finite().nonnegative().nullable(),error:c().nullable()}),se=h({lane:l([`my-prs`,`team-review`,`issues`])}),ce=h({ok:t(),error:c().optional(),freshness:oe.optional()}),le=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,ue=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,de=/^[A-Za-z0-9_=-]+$/,fe=7,pe=/^[0-9a-f]{7,40}$/i,me=/^[0-9a-f]{40}$/;function he(e,{chars:t=fe,validate:n=!1}={}){if(typeof e!=`string`||!e)return``;if(!n)return e.slice(0,t);let r=e.trim();return pe.test(r)?r.slice(0,t).toLowerCase():``}var _=c().regex(me),ge=c().regex(/^[^/]+\/[^/]+$/);h({number:s().int().positive(),title:c(),body:c(),url:c(),author:h({login:c(),is_bot:t().optional()}).passthrough(),state:l([`OPEN`,`CLOSED`,`MERGED`]).optional(),isDraft:t(),isCrossRepository:t(),baseRefName:c(),baseRefOid:_,headRefName:c().optional(),headRefOid:_,additions:s().int().nonnegative(),deletions:s().int().nonnegative(),files:f(h({path:c(),additions:s().int().nonnegative(),deletions:s().int().nonnegative()}).passthrough())}).passthrough();var _e=h({path:c(),line:s().int().positive(),side:l([`RIGHT`,`LEFT`]).default(`RIGHT`),body:c()}),ve=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),ye=l([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),be=r(e=>typeof e==`string`&&Object.hasOwn(ve,e)?ve[e]:e,ye),xe=l([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),Se=h({line:s().int().positive().nullable(),kind:l([`add`,`del`,`context`]),text:c()}),Ce=_e.extend({severity:xe.optional(),excerpt:f(Se).max(9).optional()}),we=h({path:c().min(1),line:s().int().positive().nullable(),side:l([`RIGHT`,`LEFT`]),severity:xe,reviewer:c().min(1),disposition:l([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:c().min(1)}),Te=h({text:c().min(1),paths:f(c()),isFallback:t().default(!1)}),Ee=h({goal:c().default(``),change:c(),checked:f(c()),gaps:f(c()),handChecks:f(Te).default([])});h({verdict:ye,head:_,summary:c(),assessment:Ee.nullable(),findings:f(we)}),h({body:c(),commit_id:_,comments:f(h({path:c().min(1),line:s().int().positive(),side:l([`RIGHT`,`LEFT`]).default(`RIGHT`),body:c().min(1)}))});var De=l([`APPROVE`,`COMMENT`,`REQUEST_CHANGES`]),Oe=l([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),ke=new Set([`APPROVED`,`CHANGES_REQUESTED`]),v=l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Ae=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),je={requestSource:l([`direct`,`team`]).default(`team`),isDraft:t().optional(),checksState:Ae.nullable().optional()},Me=h({login:c().min(1),state:Oe,commit:_.nullable(),isViewer:t(),submittedAt:c().nullable().optional()});function Ne(e,t){return e||(t.includes(`CHANGES_REQUESTED`)?`CHANGES_REQUESTED`:t.includes(`APPROVED`)?`APPROVED`:`REVIEW_REQUIRED`)}function Pe(e){return e.reviewDecision!==`APPROVED`||e.requeuedHead!==void 0&&e.requeuedHead===(e.liveHead??e.reviewedHead)?!1:(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`)}var Fe=h({head:_,base:_.optional(),verdict:ye,summary:c(),body:c(),comments:f(_e),wasPosted:t()}),Ie=Fe.pick({head:!0,verdict:!0,summary:!0,wasPosted:!0}).extend({comments:f(Ce)}),Le=c().min(1).max(256).regex(de),Re=h({addressed:t(),reason:c().trim().min(1).max(4e3)}).strict(),ze=h({id:Le,path:c(),line:s().int().positive().nullable(),isResolved:t(),viewerCanResolve:t(),comments:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable().optional()}),nodes:f(h({body:c(),author:h({login:c()}).nullable(),viewerDidAuthor:t(),createdAt:c().datetime(),url:c().url(),originalCommit:h({oid:_}).nullable()}))})});h({data:h({node:h({comments:ze.shape.comments}).nullable()}).nullable()}),h({pullRequest:h({reviewThreads:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable().optional()}),nodes:f(ze)})}).nullable()}),h({data:h({resolveReviewThread:h({thread:h({id:Le,isResolved:p(!0)})})}).nullable(),errors:f(e()).optional()});var Be=h({id:Le,path:c(),line:s().int().positive().nullable(),isResolved:t(),viewerCanResolve:t(),isNit:t(),url:c().url(),viewerComment:c().max(1500).optional(),lastReplyBody:c().max(1500).optional(),viewerCommentTruncated:t().optional(),lastReplyTruncated:t().optional(),lastReplyAuthor:c(),lastReplyAt:c().datetime(),judgement:Re.extend({head:_,judgedAt:s().finite(),lastReplyAt:c().datetime()}).optional(),resolveError:c().optional(),resolveAttemptReplyAt:c().optional(),judgeAttempt:h({head:_,lastReplyAt:c(),retryAt:s().finite()}).optional(),unjudgeable:h({head:_,lastReplyAt:c(),reason:c().min(1)}).optional()});h({merge_base_commit:h({sha:_}),files:f(h({filename:c(),previous_filename:c().optional(),patch:c().optional()})).max(300)});var Ve=h({total:s().int().nonnegative(),resolved:s().int().nonnegative()}),He=h({...je,key:c(),repo:ge,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),reviewedHead:_,reviewedBase:_.optional(),verdict:be,summary:c(),assessment:Ee.optional(),body:c(),comments:f(Ce),status:l([`ready`,`stale`,`posted`,`discarded`,`error`]),error:c().optional(),threads:f(Be).optional(),viewerThreads:Ve.optional(),githubReviews:f(Me).optional(),reviewDecision:v.nullable().optional(),liveHead:_.optional(),prCreatedAt:c().optional(),reviewedAt:s().finite().optional(),postedAt:s().finite().optional(),postedEvent:De.optional(),priorReviewedHead:_.optional(),requeuedHead:_.optional(),earlierReview:Ie.optional()});function Ue(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var We=l([`approve`,`approve-only`,`comment`,`request-changes`,`discard`,`requeue`,`resolve-thread`]);function Ge(e){return e.action===`discard`||e.head!==void 0}var Ke=h({key:c().min(1),head:_.optional(),action:We,threadId:Le.optional(),body:c(),comments:f(_e)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}).refine(Ge,{message:`only discard may omit head`,path:[`head`]}),qe=h({key:c(),ok:t(),error:c().optional(),warning:c().optional()}),Je=h({sessionId:c().min(1),workDir:c().min(1),worktreePath:c().min(1),head:_,deadlineAt:s(),remainingAwakeMs:s().nonnegative().optional(),savedAt:s()}),Ye=h({...je,reviewDecision:v.nullable().optional(),key:c(),repo:ge,number:s().int().positive(),title:c(),url:c(),author:c(),prCreatedAt:c().optional()}),Xe=h({draft:He.nullable(),reviewedHead:_.nullable(),inFlight:t(),reviewAttempts:s().int().nonnegative().default(0),resumable:Je.nullable().optional(),reviewedAt:s().optional(),threads:f(Be).optional(),viewerThreads:Ve.optional(),autoResolvedThreadIds:f(Le).optional(),githubReviews:f(Me).optional(),reviewDecision:v.nullable().optional(),liveHead:_.optional(),requeuedHead:_.optional(),priorReview:Fe.optional(),discardedReviewHead:_.optional(),requestedAt:s().finite().optional(),updatedAt:s().finite()});i(c(),Xe);var Ze=l([`preparing`,`checkout`,`reviewing`]),Qe=h({at:s().finite(),tool:c(),detail:c()}),$e=h({...je,reviewDecision:v.nullable().optional(),key:c(),repo:ge,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),head:_,phase:Ze,startedAt:s().finite(),deadlineAt:s().finite().nullable(),toolCalls:s().int().nonnegative(),recentSteps:f(Qe),prCreatedAt:c().optional(),priorReviewedHead:_.optional()}),et=h({...ae,type:p(`team-review-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),drafts:f(He),inFlight:f($e),queued:f(Ye).default([]),team:h({org:c(),slug:c(),name:c(),avatarUrl:c()}).nullable().optional()}).passthrough(),tt=l([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),y=s().int().nonnegative(),b=c().regex(ue),nt=c().regex(/^[1-9][0-9]*$/),rt=o([b,`#`,nt]),it=o([rt,`@`,_]),x=c().refine(e=>rt.safeParse(e).success),at=c().refine(e=>it.safeParse(e).success);u(`outcome`,[d({outcome:p(`pushed`)}),d({outcome:l([`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1)})]);var ot=d({outcome:l([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1).optional(),at:s().finite()}),st=ot.extend({key:x,headRefOid:_,baseRefOid:_,consecutiveAttempts:s().int().min(1).optional()});d({keepMergeableKeys:f(x),keepMergeableAttemptKeys:f(at),keepMergeableAttempts:f(st).default([]),mergeQueueKeys:f(x).default([]),keepMergeablePushedHeadKeys:f(at).default([])});var ct=d({repo:b,number:s().int().positive(),url:g(),source:l([`hook`,`sha`,`manual`]),linkedAt:s().finite()}),lt=d({links:f(ct).max(20),unlinkedKeys:f(x).default([])}),ut=h({repo:b,number:s().int().positive(),keepMergeable:t()}),dt=h({key:c(),ok:t(),error:c().optional()}),ft=dt,pt=h({repo:b,number:s().int().positive(),mergeWhenReady:t()}),mt=dt,ht=l([`MERGE`,`SQUASH`,`REBASE`]),gt=h({path:c(),line:s().int().positive().nullable(),isOutdated:t(),url:g(),author:c().nullable(),excerpt:c(),commentCount:s().int().positive(),lastAuthor:c().nullable(),lastActivityAt:c()}),_t=h({reviewer:c().nullable(),state:c(),submittedAt:c().nullable()}),vt=h({outcome:l([`rebased`,`failed`]),at:s().finite(),message:c()}),yt=h({at:s().finite(),message:c()}),S=h({key:c(),repo:b,number:s().int().positive(),title:c(),url:g(),isDraft:t(),state:l([`OPEN`,`MERGED`,`CLOSED`]),createdAt:c(),mergedAt:c().nullable(),updatedAt:c(),baseRefName:c(),baseRefOid:_,headRefName:c().min(1),isCrossRepository:t(),headRefOid:_,isInMergeQueue:t(),mergeMethod:ht,mergeable:l([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:c(),reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:h({state:l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:f(c()),pendingCount:y}),unresolvedThreads:y,threads:f(gt),behindBy:y.nullable(),reviewRequests:f(h({name:c(),isTeam:t(),avatarUrl:c().nullable()})),approvals:y,reviews:f(_t),stage:tt,autoRebase:vt.optional(),keepMergeable:t().optional(),keepMergeableAttempt:ot.optional(),isKeepMergeableFixInFlight:t().optional(),mergeQueuePosition:s().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:t().optional(),mergeQueueFailure:yt.optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),bt=d({key:x,autoRebase:S.shape.autoRebase,keepMergeable:S.shape.keepMergeable,keepMergeableAttempt:S.shape.keepMergeableAttempt,isKeepMergeableFixInFlight:S.shape.isKeepMergeableFixInFlight,mergeQueuePosition:S.shape.mergeQueuePosition,isMergeQueueHeldForRepairPush:S.shape.isMergeQueueHeldForRepairPush,mergeQueueFailure:S.shape.mergeQueueFailure}),xt=h({...ae,type:p(`my-prs-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),viewer:c().nullable(),prs:f(bt),truncatedNote:c().nullable().optional(),isKeepMergeableEnabled:t().optional(),isMergeQueueEnabled:t().optional()}).passthrough();xt.extend({prs:f(S)});var St=h({repo:b,number:s().int().positive(),headRefOid:_}),Ct=l([`merged`,`queued`,`auto-merge`,`unconfirmed`]),wt=h({key:c(),ok:t(),kind:Ct.optional(),error:c().optional()}),Tt=h({__typename:p(`CheckRun`),name:c(),conclusion:c().nullable(),status:c(),startedAt:c().nullish(),checkSuite:h({app:h({databaseId:s().int().nullish()}).nullish(),workflowRun:h({workflow:h({databaseId:s().int().nullish()})}).nullish()}).nullish()}),Et=h({__typename:p(`StatusContext`),context:c(),state:c()}),Dt=a([Tt,Et]),Ot=h({hasNextPage:t(),endCursor:c().nullable()}),C=h({__typename:p(`PullRequest`),id:c().regex(de),number:s().int().positive(),title:c(),url:g(),isDraft:t(),state:l([`OPEN`,`MERGED`,`CLOSED`]),createdAt:c(),mergedAt:c().nullable(),updatedAt:c(),baseRefName:c(),baseRefOid:_,headRefName:c().min(1),isCrossRepository:t(),headRefOid:_,isInMergeQueue:t(),mergeable:l([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:c(),reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:h({nameWithOwner:b,viewerDefaultMergeMethod:ht}),commits:h({nodes:f(h({commit:h({statusCheckRollup:h({id:c().regex(de).optional(),state:l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:h({pageInfo:Ot.optional(),nodes:f(Dt)})}).nullable()})}))}),reviewThreads:h({pageInfo:h({hasNextPage:t()}),nodes:f(h({isResolved:t()}))}),reviewRequests:h({nodes:f(h({requestedReviewer:u(`__typename`,[h({__typename:p(`User`),login:c()}),h({__typename:p(`Team`),slug:c(),avatarUrl:c().nullable(),organization:h({login:c()})}),h({__typename:l([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:h({nodes:f(h({state:c()}))}),latestReviews:h({nodes:f(h({state:c(),submittedAt:c().nullable(),author:h({login:c()}).nullable()}))})}),kt=h({login:c()}).nullable();h({isResolved:t(),isOutdated:t(),path:c(),line:s().int().positive().nullable(),firstComment:h({totalCount:y,nodes:f(h({author:kt,bodyText:c(),url:g(),createdAt:c()}))}),lastComment:h({nodes:f(h({author:kt,createdAt:c()}))})}),h({data:h({repository:h({pullRequest:h({reviewThreads:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable()}),nodes:f(e())})}).nullable()}).nullable()}),errors:f(e()).optional()}),h({data:h({node:h({contexts:h({pageInfo:Ot,nodes:f(e())}).nullable()}).nullable()}).nullable(),errors:f(e()).optional()}),h({data:h({repository:h({pullRequest:h({state:c(),isInMergeQueue:t(),autoMergeRequest:h({enabledAt:c().nullable()}).nullable()}).nullable()}).nullable()}),errors:f(e()).optional()});var At=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),jt=Object.freeze([`notify`,`spawn`,`label`,`comment`]),Mt=2e4,Nt=65536,Pt=50,Ft=/^[a-z0-9][a-z0-9-]{0,63}$/,It=/[\x00-\x1f\x7f,]|^-/,Lt=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return s({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},Rt=t({error:`workflows.enabled must be a boolean`}),zt=Lt(`workflows.maxConcurrentSessions`,re),Bt=Lt(`workflows.maxActionsPerPoll`,ne),w=(e,t)=>f(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),Vt=c({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(Pt,{error:`a workflow label name must be at most ${Pt} characters`}).refine(e=>!It.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),Ht=c({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(Nt,{error:`a workflow comment body must be at most ${Nt} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),Ut=l(At,{error:`workflows.rules[].trigger must be one of ${At.join(`, `)}`}),Wt=u(`type`,[d({type:p(`notify`)}),d({type:p(`spawn`),promptTemplate:c({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(Mt,{error:`a spawn action promptTemplate must be at most ${Mt} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),d({type:p(`label`),name:Vt}),d({type:p(`comment`),body:Ht})],{error:`workflows.rules[].actions[].type must be one of ${jt.join(`, `)}`}),Gt=d({mine:t({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:t({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:w(`workflows.rules[].filters.authors`,c({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(le,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:w(`workflows.rules[].filters.labels`,Vt).optional(),baseBranches:w(`workflows.rules[].filters.baseBranches`,c({error:`workflows.rules[].filters.baseBranches must hold branch names`}).min(1,{error:`workflows.rules[].filters.baseBranches must hold branch names`})).optional()},{error:`workflows.rules[].filters must be an object`}),Kt=c({error:`workflows.rules[].id must be a string`}).regex(Ft,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),qt=t({error:`workflows.rules[].enabled must be a boolean`}),Jt=d({id:Kt,name:c({error:`workflows.rules[].name must be a string`}).trim().min(1,{error:`workflows.rules[].name must not be empty`}).max(80,{error:`workflows.rules[].name must be at most 80 characters`}),enabled:qt.default(!1),repos:w(`workflows.rules[].repos`,b),filters:Gt.default({}),trigger:Ut,actions:w(`workflows.rules[].actions`,Wt)},{error:`workflows.rules[] must be an object`}),Yt=d({enabled:Rt.default(!0),maxConcurrentSessions:zt.default(2),maxActionsPerPoll:Bt.default(20),rules:f(Jt,{error:`workflows.rules must be an array`}).default([])},{error:`workflows must be an object`}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.rules.entries())n.has(i.id)?t.addIssue({code:`custom`,path:[`rules`,r,`id`],message:`workflows.rules[${r}].id "${i.id}" is declared more than once`}):n.add(i.id)}),Xt=d({id:Kt,enabled:qt},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});d({enabled:Rt.optional(),maxConcurrentSessions:zt.optional(),maxActionsPerPoll:Bt.optional(),rules:f(Xt,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var Zt=s().int().nonnegative(),Qt=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),$t=C.extend({author:h({login:c()}).nullable(),labels:h({nodes:f(h({name:c()}))}),comments:h({totalCount:Zt})}),en=d({repo:b,number:s().int().positive(),title:c(),url:g(),author:c().nullable(),state:l([`OPEN`,`MERGED`,`CLOSED`]),createdAt:c(),mergedAt:c().nullable(),isDraft:t(),isCrossRepository:t(),baseRefName:c(),headRefName:c().min(1),headRefOid:_,labels:f(c()),commentCount:Zt,reviewRequests:f(c()),checksState:Qt,reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}),tn=d({polledAtMs:Zt,prs:f(en)});d({repos:i(c().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),tn)});var nn=c().refine(e=>rt.safeParse(e).success&&e===e.toLowerCase()&&Number.isSafeInteger(Number(e.slice(e.lastIndexOf(`#`)+1))));function rn(e){return`${e.repo}#${e.number}`.toLowerCase()}h({repository:C.shape.repository.pick({nameWithOwner:!0}),number:C.shape.number,updatedAt:C.shape.updatedAt,headRefOid:C.shape.headRefOid,state:C.shape.state,commits:h({nodes:f(h({commit:h({statusCheckRollup:h({state:S.shape.checks.shape.state}).nullable()})}))}),reviewDecision:C.shape.reviewDecision,mergeable:C.shape.mergeable}),C.extend({author:$t.shape.author.unwrap().extend({__typename:c().optional()}).nullable(),labels:$t.shape.labels,comments:$t.shape.comments,latestReviews:h({nodes:f(C.shape.latestReviews.shape.nodes.element.extend({commit:h({oid:c()}).nullable().optional()}))}),writerOpinionatedReviews:C.shape.latestOpinionatedReviews.optional()});var an=d({key:nn,id:C.shape.id,repo:S.shape.repo,number:S.shape.number,title:S.shape.title,url:S.shape.url,author:en.shape.author,isAuthorBot:t(),labels:en.shape.labels,commentCount:en.shape.commentCount,isDraft:S.shape.isDraft,state:S.shape.state,createdAt:S.shape.createdAt,mergedAt:S.shape.mergedAt,updatedAt:S.shape.updatedAt,baseRefName:S.shape.baseRefName,baseRefOid:S.shape.baseRefOid,headRefName:S.shape.headRefName,headRefOid:S.shape.headRefOid,isCrossRepository:S.shape.isCrossRepository,isInMergeQueue:S.shape.isInMergeQueue,mergeMethod:S.shape.mergeMethod,mergeable:S.shape.mergeable,mergeStateStatus:S.shape.mergeStateStatus,reviewDecision:v.nullable(),checks:S.shape.checks.strict(),rollupState:Ae.nullable(),unresolvedThreads:S.shape.unresolvedThreads,threads:f(S.shape.threads.element.strict()),behindBy:S.shape.behindBy,reviewRequests:f(S.shape.reviewRequests.element.strict()),approvals:S.shape.approvals,reviews:f(S.shape.reviews.element.extend({commit:_.nullable()}).strict()),opinionatedWriterReviewStates:f(c())}).refine(e=>e.key===rn(e)),on=n({type:p(`github-prs`),ts:s().finite().nonnegative(),prs:i(nn,an).refine(e=>Object.entries(e).every(([e,t])=>e===t.key)),freshness:oe}),T=c().regex(ue),sn=c().regex(RegExp(`${ue.source.slice(0,-1)}#[1-9][0-9]*$`)),cn=h({number:s().int().positive(),url:c().url(),title:c(),state:l([`open`,`draft`,`merged`,`closed`])});h({issue:h({closedByPullRequestsReferences:h({nodes:f(h({number:cn.shape.number,url:cn.shape.url,title:cn.shape.title,state:l([`OPEN`,`MERGED`,`CLOSED`]),isDraft:t()}).nullable()).max(5)})}).nullable()});function ln({state:e,isDraft:t}){return e===`OPEN`?t?`draft`:`open`:e===`MERGED`?`merged`:`closed`}var E={key:c(),repo:T,number:s().int().positive(),title:c(),url:c().url(),labels:f(c()),assignees:f(c()),author:c(),comments:s().int().nonnegative(),createdAt:m(),updatedAt:m()},un=l([`project`,`me`,`team`]),dn={...E,sources:f(un).nonempty().refine(e=>new Set(e).size===e.length),teams:f(T),projectId:c().nullable(),pullRequests:f(cn).max(5).default([])},fn=h(dn).refine(e=>e.key===`${e.repo}#${e.number}`),pn=h({...dn,sessionId:c().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),mn=h({...E,state:l([`open`,`closed`])});h({number:E.number,title:E.title,html_url:E.url,state:l([`open`,`closed`]),labels:f(a([c(),h({name:c()})])),assignees:f(h({login:c()})),user:h({login:c()}).nullable(),comments:E.comments,created_at:E.createdAt,updated_at:E.updatedAt,repository_url:c().url().optional(),pull_request:e().optional()}),h({items:f(e()),total_count:s().int().nonnegative(),incomplete_results:t()}),h({ok:t(),items:f(mn),isComplete:t(),error:c()}),h({issues:f(fn),lastSyncAt:s().finite().nonnegative().nullable(),perRepoSync:i(T,h({lastSyncAt:s().finite().nonnegative().nullable(),ticks:s().int().nonnegative(),needsFullReconcile:t()})),sessionLinks:i(sn,c()).default({}),pullRequestsFetchedAt:i(sn,m()).default({})});var hn=h({type:p(`issues-status`),ts:s().finite(),configured:t(),reason:c().nullable(),lastSyncAt:s().finite().nonnegative().nullable(),issues:f(pn),...ae}).passthrough(),gn=2e4,_n=4e3,vn=524288,yn=1e4,bn=`ExitPlanMode`,xn=4096,Sn=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function Cn(e){let t=e.trimEnd(),n=t.length;for(;n>0&&t[n-1]===`#`;)n--;if(n===t.length||n===0)return t;let r=t[n-1];return r!==` `&&r!==` `?t:t.slice(0,n).trimEnd()}function wn(e,{overlongLine:t}){if(t===`reject`&&e.length>xn)return null;let n=Sn.exec(e.slice(0,xn));return n?{level:n[1].length,text:Cn(n[2])}:null}var Tn=h({plan:c().min(1),planFilePath:c().min(1),agent_id:c().min(1).optional(),agent_type:c().min(1).optional()}).passthrough();h({tool_name:p(bn),tool_input:Tn,agent_id:c().min(1).optional(),agent_type:c().min(1).optional()}).passthrough(),h({plan:c(),planFilePath:c(),agentId:c().nullable(),agentType:c().nullable()}).extend({sessionId:c().min(1),revision:s().int().positive(),receivedAt:s().finite()});var En=Object.freeze([`open`,`released`,`decided`,`closed`]),Dn=l(En),On=Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`]),kn=l(On),An=h({heading:c().max(_n).nullable(),comment:c().min(1).max(_n)}),jn=h({id:c().min(1),agentId:c().nullable(),revision:s().int().positive(),decision:kn,feedback:c().max(gn).optional(),comments:f(An).max(40).optional(),plan:c().min(1).max(vn).optional()}),Mn=h({revision:s().int().positive(),receivedAt:s().finite(),chars:s().int().nonnegative(),title:c()}),Nn=h({revision:s().int().positive(),since:s().finite()}),Pn=h({agentId:c().nullable(),agentType:c().nullable(),revisions:f(Mn),state:Dn,openRevision:Nn.nullable(),approvedRevision:s().int().positive().nullable(),lastDecision:kn.nullable()});h({reviews:f(Pn)});var Fn=h({agentId:c().nullable(),revision:s().int().nonnegative(),plan:c(),planFilePath:c(),receivedAt:s().finite()}),In=h({id:c(),agentId:c().nullable(),agentType:c().nullable(),revision:s().int().positive(),receivedAt:s().finite(),state:Dn,lastDecision:kn.nullable(),approvedRevision:s().int().positive().nullable(),chars:s().int().nonnegative(),title:c(),hasPlan:t()}),Ln=h({id:c(),agentId:c().nullable(),planFilePath:c(),changedAt:s().finite()}),Rn=h({id:c(),reviews:f(Pn),body:Fn.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`collision`,`link`]);var D=c().min(1),O=c().min(1),k=s().int().nonnegative(),zn=f(O).max(20),Bn=l([`added`,`modified`,`deleted`,`renamed`,`untracked`]),Vn=d({factId:D,path:O,previousPath:O.optional(),status:Bn,isCommitted:t()}),Hn=d({factId:D,agentsPath:O,title:c(),paths:f(O).min(1)}),Un=d({factId:D,path:O,partner:O,support:k,confidence:s().min(0).max(1)}),Wn=d({factId:D,path:O,commitCount:k,fixCommitCount:k}),Gn=d({factId:D,path:O,directDependents:zn,directDependentCount:k,transitiveDependentCount:k,dependentTests:zn,dependentTestCount:k}),Kn=d({factId:D,path:O,otherSessionId:c().min(1),otherSessionName:c()}),qn=d({factId:D,providerRepo:c().min(1),packageName:c().min(1),packageDir:c(),consumerManifest:O,versionSpec:c(),isLocalLink:t(),providerChangedPathCount:k,importers:zn,importerCount:k,changedImporterCount:k}),Jn=d({name:c().min(1),root:c().min(1),sessionPathPrefix:c(),base:c().nullable(),files:f(Vn),subsystems:f(Hn),coChangeGaps:f(Un),hotspots:f(Wn),blastRadius:f(Gn),collisions:f(Kn),links:f(qn),error:c().nullable()}),Yn=d({sessionId:c().min(1),sig:c().nullable(),generatedAt:s().finite(),repos:f(Jn),error:c().min(1).optional()}),Xn=l([`decision`,`retraction`,`conjecture`,`resolution`,`dismissal`,`defect`,`experiment`,`close`,`unable`,`escalation`,`acknowledgement`,`enactment`]),A={id:c().min(1),at:m(),session:c(),agent:c(),commit:c().nullable(),dirty:t(),binding:c()},Zn={of:c().min(1),because:c()},Qn=n({id:c(),text:c()}),$n=u(`kind`,[n({...A,kind:p(`decision`),chose:c(),over:f(c()),because:c()}),n({...A,kind:p(`retraction`),...Zn}),n({...A,kind:p(`conjecture`),observation:c(),couldBe:f(c()),discriminatedBy:c()}),n({...A,kind:p(`resolution`),...Zn,as:c().optional()}),n({...A,kind:p(`dismissal`),...Zn}),n({...A,kind:p(`defect`),what:c(),evidence:c(),files:f(c())}),n({...A,kind:p(`experiment`),expectation:c(),context:f(c()),actions:f(Qn),criteria:f(Qn)}),n({...A,kind:p(`close`),of:c(),outcome:l([`success`,`failure`,`inconclusive`]),results:i(c(),e())}),n({...A,kind:p(`unable`),what:c(),because:c()}),n({...A,kind:p(`escalation`),what:c(),because:c()}),n({...A,kind:p(`acknowledgement`),...Zn}),n({...A,kind:p(`enactment`),practice:c(),results:i(c(),e())})]),er=a([$n,h({id:c().min(1),kind:c().min(1).refine(e=>!Xn.safeParse(e).success)})]);n({branch:c().nullable(),escalations:f(e()),records:f(er),citedBy:i(c(),f(e())),damaged:f(e())});var tr=d({id:c().min(1),at:m().nullable(),kind:c().min(1),text:c().max(280),detail:c().max(280).nullable(),supersedes:c().nullable()}),nr=u(`ok`,[d({ok:p(!0),latest:tr.nullable()}),d({ok:p(!1),reason:c().min(1).max(200)})]),rr=d({journal:nr,updatedAt:s().finite()}),ir=/^[a-zA-Z0-9_\-. ()]{1,64}$/,ar=`Session name may only contain letters, numbers, spaces, dashes, dots, underscores, and parentheses (max 64 chars)`,or=/[\x00-\x1f\x7f-\x9f]/,sr=c().refine(e=>!or.test(e)).trim().max(120);h({title:c().nullable(),name:c().nullable().optional()}).strict();var j=l(te),cr=l([`finished`,`failed`]),lr=4e3,ur=1e3,dr=2e3,fr=h({question:c().min(1).max(ur),header:c().max(100).default(``),options:f(h({label:c().min(1).max(200),description:c().max(ur).default(``)})).min(1).max(8),multiSelect:t().default(!1)});h({requestId:a([c().min(1).max(128),s().int()]),kind:p(`question`),summary:c().max(lr),isSummaryTruncated:t(),questions:f(fr).min(1).max(4).optional()}),i(c().max(ur),c().max(dr));var pr=80,mr=Object.freeze({notInstalled:`not installed`,unsupportedVersion:`unsupported version`,codexHooksUntrusted:`Codex hooks need trust in /hooks`}),hr=u(`active`,[h({active:p(!0)}).strict(),h({active:p(!1),reason:c().min(1).max(pr),version:c().optional()}).strict()]),M=h({id:c(),name:c(),taskTitle:sr.nullable().default(null),taskTitleIsCustom:t().default(!1),path:c(),agent:c(),state:j,stateSince:s(),dangerouslySkipPermissions:t(),saneYolo:t().default(!1),ephemeral:t(),ownerId:c().nullable().optional(),isWorktree:t(),isWorkspace:t().default(!1),remoteWorkspace:c().nullable().default(null),isGuarded:t().default(!1),isGuardrailsReleased:t().default(!1),resumeSessionId:c().nullable(),activeAgents:s().int().nonnegative(),awaitingBackgroundTasks:t(),pendingPromptKind:c().nullable(),hasPlan:t().default(!1),mergeStatus:c().nullable(),mergeReason:c().nullable(),worktreeNotice:c().nullable(),failureReason:c().nullable().optional(),unseenOutcome:cr.nullable().default(null),effectiveBase:c().nullable(),linkedPrs:f(ct).default([]),coherenceHooks:hr.nullable().default(null),auditLog:f(e())}).passthrough();h({namespace:p(`git`,{error:`namespace must be git`}),publicKey:c({error:`publicKey must be a string`}).min(1,{error:`publicKey must not be empty`}).max(16384,{error:`publicKey must be at most 16384 characters`}),payload:ee({error:`payload must be base64`})}).strict(),a([h({ok:p(!0),signature:c()}).strict(),h({ok:p(!1),error:c()}).strict()]);var gr=[`push`,`spawn`,`send`,`read`,`close`,`attention`,`board`,`edit`,`show`,`review`,`reviews`,`prs`,`link-pr`,`settings`];[...gr],h({prompt:c({error:`prompt must be a string`}).min(1,{error:`prompt must not be empty`}).max(2e4,{error:`prompt must be at most 20000 characters`}).refine(e=>!e.trimStart().startsWith(`-`),{message:`prompt must not start with a dash, which the agent CLI would read as an option`}),name:c({error:`name must be a string`}).min(1,{error:`name must not be empty`}).max(200,{error:`name must be at most 200 characters`}).optional(),agent:c({error:`agent must be a string`}).min(1,{error:`agent must not be empty`}).max(40,{error:`agent must be at most 40 characters`}).optional()}).strict();var _r=c({error:`the session must be a string`}).min(1,{error:`the session must not be empty`}).max(300,{error:`the session must be at most 300 characters`});h({words:f(c({error:`each word must be a string`}).max(2e4,{error:`each word must be at most 20000 characters`}),{error:`words must be a list`}).min(1,{error:`send needs text`}).max(5e3,{error:`send takes at most 5000 words`})}).strict(),h({child:_r.optional()}).strict(),h({child:_r,discard:t().optional()}).strict(),a([h({child:_r,answers:i(c(),c().min(1))}).strict(),h({child:_r,toOperator:p(!0)}).strict()]);var vr=h({from:l([`parent`,`child`,`glimmervoid`]),at:s().finite(),text:c()}).strict();h({ok:p(!0),channels:f(h({sessionId:c(),name:c(),entries:f(vr),dropped:s().int().nonnegative()}).strict())}).strict(),h({note:c({error:`note must be a string`}).min(1,{error:`note must not be empty`}).max(500,{error:`note must be at most 500 characters`})}).strict(),a([h({ok:p(!0),pending:t()}).strict(),h({ok:p(!1),error:c()}).strict()]),h({id:M.shape.id,name:M.shape.name,agent:M.shape.agent,state:M.shape.state,ephemeral:M.shape.ephemeral}).strict(),h({pr:c({error:`pr must be a string`}).min(1,{error:`pr must not be empty`}).max(300,{error:`pr must be at most 300 characters`})}).strict(),h({command:l([`list`,`get`],{error:`command must be list or get`}),path:c({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(200,{error:`path must be at most 200 characters`}).optional()}).strict(),a([h({ok:p(!0),text:c(),readout:e()}).strict(),h({ok:p(!1),error:c()}).strict()]);var yr=Ye.pick({key:!0,title:!0,url:!0,author:!0});h({ok:p(!0),configured:t(),reason:c().nullable(),reviewing:f(yr.extend({phase:$e.shape.phase})),queued:f(yr),drafts:f(yr.extend({status:He.shape.status,verdict:c(),summary:He.shape.summary,comments:s().int().nonnegative(),isOutOfDate:t()}))}).strict(),h({ok:p(!0),configured:t(),prs:f(h({key:S.shape.key,title:S.shape.title,url:S.shape.url,state:S.shape.state,isDraft:S.shape.isDraft,stage:S.shape.stage,reviewDecision:S.shape.reviewDecision,approvals:S.shape.approvals,unresolvedThreads:S.shape.unresolvedThreads,behindBy:S.shape.behindBy,mergeable:S.shape.mergeable,isInMergeQueue:S.shape.isInMergeQueue,checks:S.shape.checks.pick({state:!0,failing:!0})}).strict())}).strict();var br=4096;h({path:c({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(br,{error:`path must be at most ${br} characters`})}).strict();var xr=h({id:c(),name:c(),caption:c().max(500).nullable(),kind:l([`image`,`video`,`page`]),mime:c(),sizeBytes:s().int().nonnegative(),pageTitle:c().nullable(),shownAt:s().finite()}).strict(),Sr=h({path:c(),name:c(),surfacedAt:s().finite()}).strict();h({commands:f(h({name:l(gr),answers:t(),reason:c().optional()}).strict()),guarded:t(),boundary:l([`os-sandbox`,`workspace`,`none`]),environment:h({name:c(),workspace:c(),state:c()}).strict().nullable(),deadEnds:f(h({blocked:c(),route:c()}).strict())}).strict().extend({ok:p(!0)}).strict();var Cr=4e3,N=h({ts:s().finite(),uuid:c().nullable(),parentUuid:c().nullable(),vendorSessionId:c().min(1),agentId:c().min(1).optional(),agentType:c().min(1).optional(),transcriptOffset:s().int().nonnegative().optional(),truncated:t().optional()}),wr=u(`kind`,[N.extend({kind:p(`prompt`),text:c()}),N.extend({kind:p(`expansion`),text:c(),toolUseId:c().min(1).optional()}),N.extend({kind:p(`thinking`),text:c()}),N.extend({kind:p(`assistant`),text:c()}),N.extend({kind:p(`tool_call`),toolUseId:c().min(1),name:c().min(1),input:e()}),N.extend({kind:p(`tool_result`),toolUseId:c().min(1),content:c(),isError:t(),truncated:t()}),N.extend({kind:p(`session`),vendor:c().min(1),transcriptPath:c().min(1),reason:c().min(1).optional()}),N.extend({kind:p(`notice`),text:c().max(Cr)}),N.extend({kind:p(`raw`),line:c().max(Cr)})]);h({transcriptPath:c().min(1),vendorSessionId:c().min(1),offset:s().int().nonnegative(),ingestedSubagentPaths:f(c().min(1)),offsetByTranscriptPath:i(c().min(1),s().int().nonnegative()).default({}),subagentOffsetByPath:i(c().min(1),s().int().nonnegative()).default({})});var Tr=c().max(16384),P=f(Tr).max(4096),Er=h({model:Tr.nullable(),mcpServers:P,plugins:f(h({name:Tr,skills:P,agents:P})).max(4096),skills:P,agents:P,hookEvents:f(h({event:Tr,runCount:s().int().nonnegative()})).max(4096),hookCommands:f(c().max(65536)).max(4096)}),Dr=Object.freeze([`release`,`experimental`]),Or=`main`,kr=r(e=>e===Or?`experimental`:e,l(Dr,{error:`updateChannel must be one of ${Dr.join(`, `)}`})),Ar=l([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),jr=l([`fetch`,`stage`,`install`,`link-deps`,`build`]),Mr=l([`pending`,`running`,`succeeded`,`failed`]),Nr=h({id:jr,status:Mr,startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),outputTail:f(c())}).strict(),Pr=h({state:Ar,fromSha:c().nullable(),toSha:c().nullable(),toVersion:c().nullable(),channel:kr,steps:f(Nr),activeStep:jr.nullable(),reason:c().nullable(),startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),failedAtHandOff:t().optional()}).strict(),Fr=Pr.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Ir=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Lr=/^[A-Za-z_][A-Za-z0-9_]*$/,Rr=c().regex(/^[^/\s]+\/[^/\s]+$/),F=s().finite(),I=c().min(1),zr=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),L=c().regex(Ir);function Br(e){return new Set(e.map(e=>e.id)).size===e.length}var Vr=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-merged-prs`),repo:Rr,minBodies:s().int().min(1),limit:s().int().min(1).max(500)})]),Hr=u(`kind`,[d({kind:p(`none`)}),d({kind:p(`pr-checkout`)})]),Ur=l([`review-findings`,`json`]),Wr=d({promptTemplate:I,output:Ur,timeoutSeconds:s().int().min(30).max(14400)}),Gr=d({id:L,env:i(c().regex(Lr),c()).refine(e=>zr.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${zr.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:f(c()).optional(),setup:d({command:f(I).min(1)}).optional()}),Kr=u(`kind`,[d({kind:p(`llm-judge-match`),model:I})]);d({id:L,title:I,caseSource:Vr,workspace:Hr,subject:Wr,arms:f(Gr).min(2).refine(Br,{message:`arm ids must be unique`}),baselineArm:L,trials:s().int().min(1).max(20),scorer:Kr}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var qr=d({id:L,text:I,tags:f(L),path:I.optional(),line:s().int().positive().optional()}),Jr=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-pr`),repo:Rr,number:s().int().positive(),url:I,minedAt:F})]);d({id:L,input:i(c(),e()),references:f(qr).min(1).refine(Br,{message:`reference ids must be unique`}),source:Jr}),h({repo:Rr,number:s().int().positive(),reviewedSha:_,baseSha:_,changedFiles:f(I)});var Yr=l([`found`,`partial`,`missed`]),Xr=d({referenceId:L,verdict:Yr,findingIndexes:f(s().int().nonnegative())}),Zr=l([`scored`,`invalid`,`error`]),Qr=d({caseId:L,armId:L,trial:s().int().min(1),status:Zr,startedAt:F,finishedAt:F,degradedReasons:f(I),findingCount:s().int().nonnegative(),judgements:f(Xr),costUsd:s().finite().nonnegative().nullable(),error:I.nullable()}),$r=l([`running`,`completed`,`interrupted`,`failed`]);d({id:L,suiteId:L,status:$r,startedAt:F,finishedAt:F.nullable(),error:I.nullable(),cells:f(Qr)});var ei=s().min(0).max(1).nullable(),ti=d({trials:s().int().nonnegative(),recall:ei,recallByTag:i(L,ei),degraded:s().int().nonnegative(),invalid:s().int().nonnegative(),costUsd:s().finite().nonnegative().nullable()}),ni=d({caseId:L,arms:i(L,ti),deltaVsBaseline:i(L,s().min(-1).max(1).nullable())}),ri=d({runId:L,suiteId:L,status:$r,baselineArm:L,armIds:f(L),rows:f(ni),totals:i(L,ti)}),ii=l([`mine`,`run`,`cancel`]),ai=h({suiteId:L,action:ii}),oi=h({suiteId:L,action:ii,ok:t(),error:c().optional(),runId:L.optional()}),si=l([`setup`,`preflight`,`workspace`,`subject`,`judge`]),ci=h({suiteId:L,runId:L,caseId:L.nullable(),armId:L,trial:s().int().min(1),phase:si,cellIndex:s().int().nonnegative(),cellCount:s().int().positive(),startedAt:F}),li=h({id:L,title:c(),error:c().nullable(),caseCount:s().int().nonnegative(),candidateCount:s().int().nonnegative(),armIds:f(L),baselineArm:L.nullable(),latestReport:ri.nullable()}),ui=h({type:p(`benchmark-status`),ts:F,configured:t(),reason:c().nullable(),suites:f(li),inFlight:ci.nullable()}).passthrough(),di=h({__typename:c(),login:c()}).nullable();h({number:s().int().positive(),title:c(),url:I,mergedAt:c().nullable(),reviewThreads:h({totalCount:s().int().nonnegative()}),reviews:h({totalCount:s().int().nonnegative()})});var fi=h({path:c(),line:s().int().positive().nullable(),originalLine:s().int().positive().nullable(),comments:h({nodes:f(h({databaseId:s().int().positive(),author:di,body:c(),createdAt:c(),originalCommit:h({oid:_}).nullable()}))})}),pi=h({databaseId:s().int().positive(),author:di,body:c(),submittedAt:c().nullable(),commit:h({oid:_}).nullable()}),mi=u(`__typename`,[h({__typename:p(`BaseRefChangedEvent`),createdAt:c()}),h({__typename:p(`BaseRefForcePushedEvent`),createdAt:c(),beforeCommit:h({oid:_}).nullable()})]);h({author:di,baseRefOid:_,reviewThreads:h({pageInfo:h({hasNextPage:t()}),nodes:f(fi)}),reviews:h({pageInfo:h({hasNextPage:t()}),nodes:f(pi)}),timelineItems:h({pageInfo:h({hasNextPage:t()}),nodes:f(mi)})}),h({mergeBaseSha:_,changedFiles:f(I),isFileListComplete:t()});var hi=4e3,R=c().nullable().optional(),z=c(),gi=h({path:c(),reason:c()}).strict(),B=lt.shape.unlinkedKeys.unwrap().element,_i=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/([0-9]+)(?:[/?#].*)?$/i;function vi(e){let t=e.trim(),n=_i.exec(t),r=n?`${n[1]}#${n[2]}`:t,i=B.safeParse(r);return i.success?i.data:null}function V(e,t){return n({type:p(e),...t})}function H(e={}){return n(e)}var U=c().nullable(),yi=h({member:U,ref:U,sha:c(),verified:t()}),W=s().finite(),bi=W.optional(),G=U.optional(),K=H(),q=f(e()),xi=s().int().positive(),Si=c().min(1).max(br),Ci=f(a([H({at:W,tool:c(),detail:c()}),H({at:W,note:c()})]));h({id:c(),label:c(),command:c(),args:f(c()),resolvable:t().nullable()}).strict();var wi=h({name:c(),template:c(),parameters:i(c(),c()),hourlyCostUsd:s().nullable(),idleStopMinutes:s()}),Ti=f(wi).nullable(),Ei=l([`claude-code`,`codex`]),Di=h({agent:Ei,state:l([`signed-in`,`signed-out`,`connecting`,`failed`]),source:l([`host`,`glimmervoid`]).nullable(),verificationUrl:c().nullable(),userCode:c().nullable(),needsPastedCode:t(),reason:c().nullable()}).strict(),Oi=f(Di),ki=h({setupWarning:U,lastFailure:h({message:c(),failedAt:W}).nullable()}),Ai=h({id:z,session:c(),taskTitle:sr.nullable().optional(),taskTitleIsCustom:t().optional(),path:c(),agent:c(),state:j,stateSince:W,skipPerms:t(),saneYolo:t(),worktree:t(),workspace:t().optional(),remoteWorkspace:c().optional(),guarded:t().optional(),guardrailsReleased:t().optional(),resumeSessionId:U,ephemeral:t().optional(),ownerId:z.optional(),linkedPrs:f(ct).optional()}),ji=h({transition:h({from:j,to:j,event:c()}).optional(),skipPerms:t().optional(),saneYolo:t().optional(),failureReason:c().optional(),activeAgents:s().int().nonnegative().optional(),awaitingBackgroundTasks:t().optional(),unseenOutcome:cr.nullable().optional(),pendingPromptKind:U.optional()}),Mi=4096,Ni=Mi+2*(vn+gn+80*_n),Pi=h({reason:c(),message:c()}),Fi=l([`npm-global`,`npx`,`clone`,`unknown`]),Ii={updateAvailable:t(),current:U,latest:U,currentSha:U,latestSha:U,releaseUrl:U,command:c(),flavor:Fi,platform:c(),installedBranch:U,upstream:U,isTreeClean:t().nullable(),lastCheckAt:W,channel:kr,reason:U,deprecation:U,journalSummary:Fr.nullable(),applyRefusal:Pi.nullable()};h(Ii);var Li=8192,Ri=h({name:c().max(128),stack:c().max(Li)}).strict(),zi=1e3,Bi=h({scope:c().min(1).max(64),text:c().min(1).max(zi)}).strict(),Vi=Object.freeze([`view_shown`,`operator_action`,`onboarding_step`]);Object.freeze([`focus`,`prs`,`issues`,`usage`,`radar`,`visions`,`hooks`,`trace`,`benchmarks`,`settings`]),Object.freeze({usage:[`sort`,`range`,`period`,`expand`,`refresh`],issues:[`scope`,`filter`,`search`,`filters-toggle`,`select`,`back`,`go-to-session`,`open-session`,`refresh`],radar:[`report`,`open-session`,`resolve`,`suppress`,`archive-investigation`],onboarding:[`rescan`,`add-root-typed`,`add-root-suggested`,`add-session`],reviews:[`open-session`,`approve`,`approve-only`,`comment`,`request-changes`,`discard`,`requeue`,`resolve-thread`,`merge`,`keep-mergeable`,`merge-when-ready`,`refresh`]}),Object.freeze([`agent`,`repo_roots`,`first_session`]),Object.freeze([`current`,`done`]),Object.freeze([`usage`,`issues`,`radar`,`onboarding`,`reviews`]);var Hi=[`kill`,`start-session`,`merge-session`,`finish-session`,`merge-continue-session`,`discard-session-worktree`,`resolve-session-merge`,`request-session-diff`,`request-change-map`,`request-branch-sync`,`resync-branch`,`debug-state`];function Ui(t){return V(t,{id:z,force:e().optional()})}var Wi=Hi.map(Ui),Gi={id:z,force:e().optional(),fresh:e().optional(),conversationId:c().optional()},Ki=[V(`restart`,Gi),V(`force-restart`,Gi),V(`add-session`,{name:c(),path:c(),repos:f(c()).optional(),agent:c().optional(),dangerouslySkipPermissions:t().optional(),saneYolo:t().optional(),unguarded:t().optional(),runInPlace:t().optional(),environment:c().optional(),requestId:R}),V(`quick-session`,{id:z,requestId:R}),V(`remove-session`,{id:z,force:e().optional(),discardWork:t().optional(),confirmedKeptPaths:f(c()).optional(),requestId:R}),V(`list-conversations`,{id:z,requestId:R}),V(`resume-conversation`,{id:z,conversationId:c()}),V(`rename-session`,{id:z,newName:c()}),V(`get-workspace-repos`,{id:z,requestId:R}),V(`set-workspace-repos`,{id:z,repos:f(c()),requestId:R}),V(`set-session-title`,{id:z,title:sr}),V(`link-session-pr`,{id:z,key:B}),V(`unlink-session-pr`,{id:z,key:B}),V(`ping`,{requestId:R}),V(`get-settings`,{requestId:R}),V(`get-agent-logins`,{requestId:R}),V(`start-remote-setup`,{agent:Ei,requestId:R}),V(`agent-connect`,{agent:Ei,action:l([`start`,`cancel`]),requestId:R}),V(`agent-connect-code`,{agent:Ei,code:c(),requestId:R}),V(`update-settings`,{settings:i(c(),e()),requestId:R}),V(`scan-repo-roots`,{requestId:R,includeSuggestions:t().optional()}),V(`list-agents`,{requestId:R,rescan:t().optional()}),V(`get-radar-report`,{issueId:a([c(),s()]),requestId:R}),V(`radar-open-session`,{projectId:a([c(),s()]),issueId:a([c(),s()]),requestId:R}),V(`issue-detail`,{requestId:c().min(1),repo:T,issueNumber:s().int().positive()}),V(`open-issue-session`,{requestId:R,projectId:c(),repo:T,issueNumber:s().int().positive()}),V(`radar-issue-action`,{projectId:a([c(),s()]),issueId:a([c(),s()]),action:c(),requestId:R}),V(`open-team-review-session`,{requestId:R,key:B}),V(`team-review-action`,{...Ke.shape,requestId:R}).refine(Ge,{message:`only discard may omit head`,path:[`head`]}),V(`benchmark-action`,{...ai.shape,requestId:R}),V(`my-pr-merge`,{...St.shape,requestId:R}),V(`my-pr-keep-mergeable`,{...ut.shape,requestId:R}),V(`my-pr-merge-when-ready`,{...pt.shape,requestId:R}),V(`github-polling-refresh`,{...se.shape,requestId:R}),V(`radar-archive-investigation`,{id:e().optional(),requestId:R}),V(`telegram-test`,{requestId:R}),V(`request-usage-report`,{requestId:R,days:e().optional(),force:e().optional()}),V(`request-hooks-report`,{requestId:R}),V(`save-hook`,{hook:i(c(),e()),requestId:R}),V(`delete-hook`,{id:c(),requestId:R}),V(`shutdown`),V(`restart-server`),V(`focus-change`,{focused:t()}),V(`request-health-snapshot`),V(`request-telemetry-deletion`,{requestId:R}),V(`update-check`),V(`update-apply`),V(`session-trace`,{id:z,requestId:R,after:s().int().nonnegative().default(0),endingAt:a([s().int().nonnegative(),p(`tail`)]).optional()}),V(`session-plan`,{id:z,agentId:U,revision:xi.optional(),draft:t().optional()}),V(`plan-decision`,jn.shape),V(`set-session-guardrails`,{id:z,isOn:t()}),V(`session-doc-read`,{id:z,path:Si,requestId:R}),V(`session-doc-save`,{id:z,path:Si,text:c(),baseHash:c().min(1),requestId:R}),V(`session-coherence-journal`,{id:z,requestId:R}),V(`session-setup`,{id:z,requestId:R}),V(`client-error`,Ri.shape),V(`client-log`,Bi.shape),V(`dashboard-telemetry`,{event:l(Vi),properties:i(c(),e())}),V(`dismiss`,{id:z,force:e().optional(),expectedState:j.optional()}),V(`watch-session-changes`,{id:z.nullable()}),...Wi];u(`type`,Ki);var qi=[V(`snapshot`,{sessions:f(M),serverBuild:U}),V(`hooks-report`,{requestId:R,ts:bi,hooks:f(K).optional(),builtin:f(K).optional(),events:f(H({name:c(),matcher:U,description:c(),http:t().optional()})).optional(),projects:f(H({id:c(),name:c(),agent:c()})).optional(),limits:H({maxTimeoutSec:s().int().positive()}).optional(),error:G}),V(`save-hook-result`,{requestId:R,ok:t(),error:G,hook:K.optional()}),V(`add-session-result`,{requestId:R,ok:t(),error:G,reason:l([`not-git`]).optional(),sessionId:c().optional()}),V(`remove-session-result`,{requestId:R,ok:t(),error:G,canDiscardWork:t().optional(),keptPaths:f(gi).optional()}),V(`agent-logins`,{requestId:R,logins:Oi,error:G}),V(`start-remote-setup-result`,{requestId:R,ok:t(),error:G,sessionId:c().optional(),sessionName:c().optional()}),V(`delete-hook-result`,{requestId:R,ok:t(),error:G,id:c().optional()}),V(`workspace-repos`,{requestId:R,id:z,ok:t(),repos:f(c()),error:G}),V(`set-workspace-repos-result`,{requestId:R,id:z,ok:t(),error:G}),V(`hooks-updated`,{count:s().int().nonnegative()}),V(`session-status`,{id:z,session:c(),timestamp:W,...ji.shape}),V(`session-added`,Ai.shape),V(`session-modified`,Ai.shape),V(`session-removed`,{id:z,session:c()}),V(`session-close-confirm`,{id:z,mergeStatus:c()}),V(`session-renamed`,{id:z,oldName:c(),newName:c()}),V(`session-title`,{id:z,taskTitle:sr.nullable(),isCustom:t()}),V(`session-prs`,{id:z,linkedPrs:f(ct)}),V(`session-git`,{id:z,worktree:t()}),V(`session-coherence-hooks`,{id:z,coherenceHooks:hr.nullable()}),V(`session-merge-status`,{id:z,mergeStatus:c(),reason:U,parked:t(),timestamp:W}),V(`session-worktree-blocked`,{id:z,session:c(),branch:U,notice:U,timestamp:W}),V(`session-worktree-warning`,{id:z,session:c(),branch:U,notice:U,timestamp:W}),V(`session-worktree-ready`,{id:z,session:c(),branch:U,base:U,timestamp:W}),V(`session-diff`,{id:z,committed:H({stat:c(),diff:c()}),uncommitted:H({stat:c(),diff:c()}),hasCommits:t(),bases:f(yi)}),V(`session-diff-error`,{id:z,message:c()}),V(`change-map`,{id:z,map:Yn}),V(`branch-sync-status`,{id:z,branch:U,upstream:U,state:c(),ahead:s().int().nonnegative(),behind:s().int().nonnegative(),fetched:t().nullable(),action:c().optional(),error:G}),V(`session-changed`,{id:z}),V(`debug-state-response`,{id:z,payload:K}),V(`session-trace-response`,{id:z,requestId:R,records:f(wr),start:s().int().nonnegative(),next:s().int().nonnegative(),reset:t(),path:c()}),V(`session-trace-changed`,{id:z}),V(`session-plan-changed`,In.shape),V(`session-plan-draft`,Ln.shape),V(`session-plan-response`,Rn.shape),V(`session-docs-changed`,{id:z,docs:f(Sr)}),V(`session-docs-snapshot`,{sessions:i(c(),f(Sr))}),V(`session-shown`,{id:z,files:f(xr)}),V(`session-shown-snapshot`,{sessions:i(c(),f(xr))}),V(`session-doc-response`,{requestId:R,id:z,path:c(),ok:t(),text:c().optional(),hash:c().optional(),error:G}),V(`session-doc-save-result`,{requestId:R,id:z,path:c(),ok:t(),hash:c().optional(),conflict:t().optional(),error:G}),V(`session-coherence`,{id:z,...rr.shape}),V(`session-coherence-snapshot`,{sessions:i(c(),rr)}),V(`session-coherence-journal-response`,{requestId:R,id:z,ok:t(),entries:f(tr).max(200),error:G}),V(`session-setup-response`,{requestId:R,id:z,ok:t(),setup:Er.optional(),error:G}),V(`notify`,{session:c(),category:c(),message:c(),escalationCount:s().int().nonnegative(),kind:p(`plan`).optional()}),V(`update-status`,Ii),V(`update-progress`,{journal:Pr}),V(`post-turn-leftovers`,{repositories:f(c()),command:c()}),V(`error`,{id:z.optional(),message:c(),requestId:R,scope:c().optional()}),V(`session-error`,{id:z.optional(),session:c(),message:c(),scope:c().optional()}),V(`settings`,{settings:K,requestId:R}),V(`settings-error`,{message:c(),requestId:R}),V(`settings-updated`,{settings:K,requestId:R}),V(`pong`,{requestId:R}),V(`agents-listed`,{requestId:R,agents:f(H({id:c(),label:c(),resolvable:t()}))}),V(`repo-roots-scanned`,{requestId:R,directories:f(H({root:c(),projects:f(H({name:c(),path:c(),isGit:t().optional()}))})),suggestions:f(H({path:c(),label:c(),gitRepoCount:s().int().nonnegative()})).optional(),error:c().optional()}),V(`conversations`,{requestId:R,id:U,current:U.optional(),conversations:f(H({id:c(),title:c(),cwd:c(),worktreePath:c(),worktreeName:c(),gitBranch:U,mtime:W})),error:c().optional()}),V(`resume-conversation-ack`,{id:z.optional(),resumeSessionId:U.optional(),ok:t(),error:c().optional(),requestId:R}),V(`health-snapshot`,{stats:K}),V(`radar-status`,{ts:W,intervalMinutes:s(),projects:f(K),investigations:f(K)}),V(`radar-investigation-activity`,{projectId:a([c(),s()]),issueId:c(),inFlight:p(!0),startedAt:W.nullable(),trail:Ci}),V(`radar-investigation-finished`,{projectId:a([c(),s()]),issueId:c(),verdict:c(),summaryLine:U,startedAt:W.nullable(),trail:Ci}),V(`radar-report`,{requestId:R,ok:t(),found:t(),issueId:U,format:c().optional(),content:c().optional(),message:c().optional(),error:c().optional()}),V(`radar-open-session-result`,{requestId:R,ok:t(),error:G,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional()}),V(`issue-detail-result`,{requestId:c().min(1),ok:t(),body:c().nullable(),error:c().nullable()}),V(`open-issue-session-result`,{requestId:R,ok:t(),error:G,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),V(`open-team-review-session-result`,{requestId:R,ok:t(),error:G,key:B.optional(),sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),V(`radar-issue-action-result`,{requestId:R,ok:t(),error:G,status:U.optional()}),V(`team-review-action-result`,{...qe.shape,requestId:R}),V(`telemetry-deletion-result`,{requestId:R,ok:t()}),V(`benchmark-action-result`,{...oi.shape,requestId:R}),V(`my-pr-merge-result`,{...wt.shape,requestId:R}),V(`my-pr-keep-mergeable-result`,{...ft.shape,requestId:R}),V(`my-pr-merge-when-ready-result`,{...mt.shape,requestId:R}),V(`github-polling-refresh-result`,{...ce.shape,requestId:R}),V(`radar-archive-investigation-result`,{requestId:R,ok:t(),error:G}),V(`telegram-test-result`,{requestId:R,ok:t(),error:G,telegramDelivery:ki.nullable()}),et,ui,xt,on,hn,V(`usage-sessions`,{ts:W,pricingSource:U,sessions:f(H({id:z,tokens:s(),costUSD:s(),officialCostUSD:s().nullable().optional()}))}),V(`usage-report`,{requestId:R,ts:bi,tz:c().optional(),blockHours:s().optional(),totals:K.optional(),daily:q.optional(),models:q.optional(),sessions:q.optional(),blocks:q.optional(),activeBlock:e().nullable().optional(),anomaly:e().nullable().optional(),byLane:e().optional(),planWindowLanes:e().nullable().optional(),budget:e().optional(),savings:e().optional(),tokenLimit:e().nullable().optional(),pricing:K.optional(),scan:K.optional(),warning:G,error:G}),V(`plan-limits`,{ts:W,fiveHour:e().nullable(),sevenDay:e().nullable(),source:c(),vendor:l([`claude`,`codex`]).optional()}),V(`usage-budget-alert`,{scope:c(),periodKey:c(),threshold:s(),text:c(),ts:W}),V(`visions-findings`,{uri:c(),diagnostics:q,ts:W}),V(`visions-comments`,{uri:c(),comments:q,ts:W}),V(`visions-hand`,{uri:c(),hand:U,ts:W}),V(`visions-intent`,{projectId:U,intent:K,ts:W}),V(`visions-fix`,{uri:c(),fix:K,ts:W}),V(`visions-snapshot`,{documents:f(K),intent:K,fixes:f(K),ts:W}),V(`ingest-activity`,{events:f(K),overflow:s().int().nonnegative(),ts:W}),V(`ingest-snapshot`,{events:f(K),sources:e(),ts:W}),V(`client-trust`,{trust:l([`local`,`remote`])}),V(`shutting-down`),V(`restarting`)],Ji=u(`type`,qi);function J(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function Y(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}var X=60,Yi=3600,Xi=24,Zi=1024,Qi=Zi*1024,$i=Qi*1024,ea={compact:{second:e=>`${e}s`,minute:e=>`${e}m`,hour:e=>`${e}h`,day:e=>`${e}d`},abbreviated:{second:e=>`${e} sec`,minute:e=>`${e} min`,hour:e=>`${e} hr`,day:e=>`${e} ${e===1?`day`:`days`}`},spelled:{second:e=>`${e} ${e===1?`second`:`seconds`}`,minute:e=>`${e} ${e===1?`minute`:`minutes`}`,hour:e=>`${e} ${e===1?`hour`:`hours`}`,day:e=>`${e} ${e===1?`day`:`days`}`}},ta={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function Z(e){return String(e).padStart(2,`0`)}function na(e,t){return Math.max(0,Math[t](e/1e3))}function ra(e,t){let n=ea[t];if(e<X)return n.second(e);let r=Math.floor(e/X);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<Xi?n.hour(i):n.day(Math.floor(i/Xi))}function ia(e,t){let n=na(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${ra(n,t.wording)}${t.suffix}`}function aa(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<X)return`${e}s`;if(t===`s`&&e<Yi)return r(`${Math.floor(e/X)}m`,e%X,`s`);let i=Math.floor(e/X);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function oa(e,{rounding:t,showsHours:n}){let r=na(e,t),i=Z(r%X),a=Math.floor(r/X),o=Math.floor(r/Yi);return!n||o===0?`${a}:${i}`:`${o}:${Z(a%60)}:${i}`}function sa(e,t){return e<Zi?`${e} B`:t===`KB`||e<Qi?`${(e/Zi).toFixed(1)} KB`:e<$i?`${(e/Qi).toFixed(1)} MB`:`${(e/$i).toFixed(2)} GB`}function ca(e){let t=new Date(e);return`${t.getFullYear()}-${Z(t.getMonth()+1)}-${Z(t.getDate())}`}function la(e){return`${Z(e.getHours())}:${Z(e.getMinutes())}`}function ua(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function da(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function fa(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function pa({getAck:e,setAck:t,signature:n,isLooking:r}){let i=e(),a=e=>{e!==i&&(i=e,t(e))};return{refresh(){let e=n(),t=fa(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function ma(e,{label:t}){if(!e)return`Waiting for ${t} status from the server.`;let n=typeof e.reason==`string`?e.reason.trim():``;return e.configured===!1&&n?`${t} is misconfigured: ${n}.`:e.configured===!1?`${t} is off.`:`${t} is on. Waiting for the first poll.`}var ha=`machine-updates`,ga=`update-actions`,_a={spiking:0,regressed:1,worsened:2,new:3,quiet:4},va={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},ya=99,ba={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function xa(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=Y(t?.at,0),r=J(t?.note,``);if(r)return[{at:n,note:r}];let i=J(t?.tool,``);return i?[{at:n,tool:i,detail:J(t?.detail,``)}]:[]}):[]}function Sa(e){return e.filter(e=>`tool`in e)}function Ca(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function wa(e){let t=xa(e?.trail),n=t.findLast(e=>`note`in e);if(n)return n.note;let r=Sa(t).at(-1);return r?Ca(r):``}function Ta(e){let t=[];for(let n of e){if(`note`in n){t.push({kind:`note`,at:n.at,text:n.note});continue}let e=t.at(-1);e?.kind===`work`?e.stepCount+=1:t.push({kind:`work`,at:n.at,stepCount:1})}return t}function Ea(e){let t=J(e?.summaryLine,``);return e?.inFlight===!0&&wa(e)||t}function Da(e){return{inFlight:e?.inFlight===!0,startedAt:Y(e?.startedAt,null),steps:xa(e?.trail),verdict:J(e?.verdict,``),summaryLine:J(e?.summaryLine,``)}}function Oa(e,t,n){let r=String(t??``),i=String(n??``);if(!r||!i)return null;for(let t of Array.isArray(e?.projects)?e.projects:[])if(String(t?.projectId??``)===r){for(let e of Array.isArray(t.issues)?t.issues:[])if(String(e?.issueId??``)===i)return e}return null}function ka(e,t){let n=Oa(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=Y(t?.startedAt,null),n.trail=xa(t?.trail),!0):!1}function Aa(e){return{inFlight:!1,startedAt:Y(e?.startedAt,null),steps:xa(e?.trail),verdict:J(e?.verdict,``),summaryLine:J(e?.summaryLine,``)}}function ja(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function Ma(e,t){let n=Oa(e,t?.projectId,t?.issueId);if(!n)return!1;let r=Aa(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function Na(e){return ba[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function Pa(e){return oa(e,{rounding:`round`,showsHours:!1})}function Fa(e,t){return e==null?``:`+${Pa(t-e)}`}function Ia(e){let t=e.steps.at(-1),n=t&&`tool`in t?t.tool:t?.note??``;return[e.steps.length,t?.at??0,n].join(`::`)}function La(e,t){if(e.inFlight){let n=Sa(e.steps).length,r=`${n} ${n===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${r}`}return e.verdict?`finished: ${Na(e.verdict)}`:`finished`}function Ra(e){return ma(e,{label:`PostHog monitoring`})}function za(e){return Y(e.intervalMinutes,null)!==null}function Ba(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:za(e)?`placeholder`:`pending`}function Va(e){return va[e??``]||`dim`}function Ha(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function Ua(e){let t=J(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function Wa(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function Ga(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function Ka(e,t=64,n=16){let r=Wa(e);if(r.length<2)return``;let i=Math.max(...r),a=Math.min(...r),o=t/(r.length-1),ee=n/2,s=i-a;return r.map((e,t)=>{let r=t*o,i=s===0?ee:n-(e-a)/s*n;return`${Number(r.toFixed(2))},${Number(i.toFixed(2))}`}).join(` `)}function qa(e){if(e.length<4)return null;let t=Math.floor(e.length/2),n=e.slice(0,t).reduce((e,t)=>e+t,0);if(n===0)return null;let r=e.slice(-t).reduce((e,t)=>e+t,0),i=Math.round(Math.abs(r-n)/Math.abs(n)*100);return r>n?{direction:`up`,percent:i}:r<n?{direction:`down`,percent:i}:{direction:`flat`,percent:i}}function Ja(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function Ya(e){let t=Array.isArray(e)?e:[],n=0,r=0;for(let e of t)e?.change===`spiking`&&(n+=1),e?.verdict===`NEEDS_HUMAN`&&(r+=1);return{active:t.length,spiking:n,needsHuman:r}}var Xa=3e5;function Za(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Xa:t*2}function Qa(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function $a(e){let t=Qa(J(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function eo(e){let t=J(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function to(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=eo(e?.host);n&&t.add(n)}return t.size>1}function no(e,t,n={}){let r=Ya(e?.issues),i=J(e?.error,``).slice(0,200),a=Number(t),o=Number(e?.lastTickAt),ee=Number.isFinite(a)&&Number.isFinite(o)&&o>0?a-o:0,s=ee>Za(n.intervalMs)?ee:0;return{loud:r.active>0||r.spiking>0||!!i||s>0,counts:r,error:i,staleMs:s}}function ro(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=no(e,t,n),o={project:e,...a};a.loud?r.push(o):i.push(o)}return{loud:r,quiet:i}}function io(e,t=null){return(Array.isArray(e?.investigations)?e.investigations:[]).filter(e=>typeof e==`object`&&!!e).filter(e=>typeof e.id==`string`&&e.id!==``).filter(e=>e.archived!==!0).filter(e=>!t?.has(e.id)).map(e=>({id:e.id,issueId:J(e.issueId,``),projectId:e.projectId??null,projectLabel:J(e.projectName,``),title:J(e.title,`Untitled issue`),summaryLine:J(e.summaryLine,``),url:J(e.url,``),verdict:J(e.verdict,`ERROR`).toUpperCase(),mode:J(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(J(e.prUrl,``))?J(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function ao(e,t){if(!t||t.size===0)return t;let n=Array.isArray(e?.investigations)?e.investigations:[],r=new Set;for(let e of n){if(typeof e!=`object`||!e)continue;let{id:t}=e;typeof t==`string`&&r.add(t)}for(let e of[...t])r.has(e)||t.delete(e);return t}function Q(e,t){let n=J(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=he(t,{validate:!0});return r?`commit ${r}`:``}function oo(e){return`Update available: ${Q(e?.current,e?.currentSha)} to ${Q(e?.latest,e?.latestSha)}`}function so({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=J(e?.projectId,J(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=J(i?.issueId,J(i?.title,`#${e}`));i?.change===`spiking`&&t.push(`issue:${n}/${a}:spiking`),i?.verdict===`NEEDS_HUMAN`&&t.push(`issue:${n}/${a}:needs-human`)}}return t}function co(e={}){return da(so(e))}function lo(e){return _a[e??``]??ya}function uo(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=lo(e.issue?.change)-lo(t.issue?.change);if(n!==0)return n;let r=Y(t.issue?.users,0)-Y(e.issue?.users,0);if(r!==0)return r;let i=Y(t.issue?.occurrences,0)-Y(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var fo=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),po=Object.freeze({"release-check-failed":`The last release check failed.`,"update-check-failed":`The last update check failed.`}),mo=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),ho=`Not connected to the server. Reconnecting.`,go=Object.freeze({requested:!1,failure:null});function _o(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function vo(e,t,n=null){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:ho}:t===`progress-frame`?go:t===`error-frame`?e.requested?{requested:!1,failure:n}:e:e.failure===null?e:{requested:e.requested,failure:null}}function yo(e,t){return t?.state?t.state:e?.journalSummary?.state}function $(e,t=null,n=null){return{actions:e,note:t,command:n}}function bo(e){let t=e?.applyRefusal;return t?mo.includes(t.reason):!1}function xo({status:e,journal:t,request:n=go}){if(n.failure===`Not connected to the server. Reconnecting.`)return $([],ho);let r=So(yo(e,t),e,n.requested);return n.failure?{...r,note:n.failure}:r}function So(e,t,n){if(e===`running`||n)return $([]);if(e===`staged`||Co(t))return $([`restart`]);if(!t?.updateAvailable)return $([`check`]);let r=t.applyRefusal;return r?bo(t)?$([`check`],r.message,J(t.command,null)):$([`check`],r.message):$([`update`])}function Co(e){return e?.applyRefusal?.reason===`target-already-checked-out`}function wo(e){return e?.journalSummary?.state===`staged`||Co(e)}function To(e){return po[e]??`The last update check failed: ${e}.`}function Eo(e){let t=J(e?.deprecation,null);return t?`Security notice: ${Q(e?.current,e?.currentSha)||`This version`} is marked unsafe. ${t}`:null}function Do(e){let t=Q(e?.latest,e?.latestSha)||`A new version`;if(wo(e))return{mode:`restart`,text:`${t} is ready. Restart to update, or it installs on the next start.`};if(e?.journalSummary?.state===`running`)return{mode:`link`,text:`Downloading ${t} in the background.`};let n=oo(e);return!e||e.applyRefusal===void 0||bo(e)?{mode:`command`,text:n}:{mode:`link`,text:n}}function Oo(e){let t=Do(e),n=Eo(e);return n?wo(e)||e?.journalSummary?.state===`running`?{mode:t.mode,tone:`security`,text:`${n} ${t.text}`}:{mode:`command`,tone:`security`,text:n}:{...t,tone:`update`}}function ko(e){let t=J(e,``);return t?`: ${t}`:``}var Ao=new Set([`idle`,`staged`,`succeeded`,`discarded`]);function jo(e){return e.state===`failed`?`Update failed${ko(e.reason)}.`:e.state===`interrupted`?`Update interrupted${ko(e.reason)}.`:null}function Mo(e){return fo[e]??e}function No(e){let t=e.steps.find(t=>t.id===e.activeStep);if(t&&t.outputTail.length>0)return{stepId:t.id,lines:t.outputTail};let n=e.steps.findLast(e=>e.outputTail.length>0);return n?{stepId:n.id,lines:n.outputTail}:{stepId:null,lines:[]}}function Po(e){if(!e||Ao.has(e.state))return null;let t=No(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:jo(e),steps:e.steps.map(e=>({id:e.id,label:Mo(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:Mo(n)}}var Fo=6e5;function Io(e,t){let n=yo(e,t),r=Q(t?.toVersion,t?.toSha)||Q(e?.latest,e?.latestSha)||`the update`;if(n===`running`)return{tone:`running`,headline:`Downloading ${r} in the background. Glimmervoid keeps running.`};if(n===`staged`)return{tone:`staged`,headline:`${r} is ready. Restart to update now, or it installs on the next start.`};if(!e)return{tone:`unknown`,headline:`No update check has run yet.`};let i=Eo(e);if(i)return{tone:`security`,headline:i};if(Co(e))return{tone:`staged`,headline:`${Q(e.latest,e.latestSha)||`The latest release`} is already checked out. Restart to run it.`};if(e.updateAvailable)return{tone:`available`,headline:`Update available.`};let a=J(e.reason,``);return a?{tone:`unknown`,headline:To(a)}:{tone:`current`,headline:`Up to date.`}}function Lo(e){return e?.updateAvailable===!0||Co(e)}function Ro(e){if(!e)return`Update status unavailable.`;let t=Q(e.current,null)||`Unknown version`,n=he(e.currentSha,{validate:!0}),r=J(e.installedBranch,``);return[t,[n?`commit ${n}`:``,r?`on ${r}`:``].filter(Boolean).join(` `),e.isTreeClean===!0?`clean checkout`:e.isTreeClean===!1?`uncommitted local changes`:``].filter(Boolean).join(`, `)}function zo(e){return e?{label:Q(e.latest,e.latestSha)||`Latest target unknown`,releaseUrl:J(e.releaseUrl,``)}:{label:`Update status unavailable.`,releaseUrl:``}}function Bo({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<Fo)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=Fo}function Vo({status:e,checkForUpdates:t,relativeTime:n}){return t===!1?`Update checks are off.`:e?e.flavor===`unknown`?`The install flavor is unknown.`:n:`No update check has run.`}export{ua as $,Ga as A,Yt as At,Ka as B,Pe as Bt,io as C,vn as Ct,Ua as D,ln as Dt,Ha as E,wn as Et,Ra as F,ke as Ft,Ta as G,Ya as H,ao as I,xe as It,pa as J,Na as K,Va as L,et as Lt,co as M,wt as Mt,$a as N,xt as Nt,Ea as O,on as Ot,Ba as P,lt as Pt,ia as Q,eo as R,Ue as Rt,to as S,Yn as St,ja as T,yn as Tt,Ia as U,Ja as V,he as Vt,La as W,sa as X,ta as Y,oa as Z,Ma as _,mr as _t,zo as a,Oi as at,Pa as b,cr as bt,Bo as c,zi as ct,xo as d,Ti as dt,ca as et,_o as f,Ei as ft,ka as g,Dr as gt,ha as h,vi as ht,Vo as i,J as it,ro as j,S as jt,qa as k,rn as kt,Lo as l,Mi as lt,ga as m,ki as mt,ho as n,aa as nt,Po as o,hi as ot,Io as p,Ji as pt,da as q,Ro as r,Y as rt,vo as s,Li as st,go as t,la as tt,Oo as u,Ni as ut,Oa as v,ir as vt,Da as w,_n as wt,Fa as x,Xn as xt,Aa as y,ar as yt,uo as z,Ne as zt};
|
|
1
|
+
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as ee,l as s,m as c,n as l,o as u,p as d,r as f,s as p,t as m,u as h,v as g}from"./zod-BRLv4KqJ.js";import{E as te,K as ne,q as re}from"./dom-helpers-C7P3_59O.js";var ie=h({attempt:s().int().positive(),limit:s().int().positive()}).refine(e=>e.attempt<=e.limit),ae={error:c().nullable().optional(),lastRefreshedAt:s().finite().nonnegative().nullable().optional(),incident:c().nullable().optional(),nextAttemptAt:s().finite().nonnegative().nullable().optional(),retry:ie.nullable().optional(),isRefreshing:t().optional(),refreshNotice:c().nullable().optional()},oe=d({lastRefreshedAt:s().finite().nonnegative().nullable(),error:c().nullable()}),se=h({lane:l([`my-prs`,`team-review`,`issues`])}),ce=h({ok:t(),error:c().optional(),freshness:oe.optional()}),le=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,ue=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,de=/^[A-Za-z0-9_=-]+$/,fe=7,pe=/^[0-9a-f]{7,40}$/i,me=/^[0-9a-f]{40}$/;function he(e,{chars:t=fe,validate:n=!1}={}){if(typeof e!=`string`||!e)return``;if(!n)return e.slice(0,t);let r=e.trim();return pe.test(r)?r.slice(0,t).toLowerCase():``}var _=c().regex(me),ge=c().regex(/^[^/]+\/[^/]+$/);h({number:s().int().positive(),title:c(),body:c(),url:c(),author:h({login:c(),is_bot:t().optional()}).passthrough(),state:l([`OPEN`,`CLOSED`,`MERGED`]).optional(),isDraft:t(),isCrossRepository:t(),baseRefName:c(),baseRefOid:_,headRefName:c().optional(),headRefOid:_,additions:s().int().nonnegative(),deletions:s().int().nonnegative(),files:f(h({path:c(),additions:s().int().nonnegative(),deletions:s().int().nonnegative()}).passthrough())}).passthrough();var _e=h({path:c(),line:s().int().positive(),side:l([`RIGHT`,`LEFT`]).default(`RIGHT`),body:c()}),ve=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),ye=l([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),be=r(e=>typeof e==`string`&&Object.hasOwn(ve,e)?ve[e]:e,ye),xe=l([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),Se=h({line:s().int().positive().nullable(),kind:l([`add`,`del`,`context`]),text:c()}),Ce=_e.extend({severity:xe.optional(),excerpt:f(Se).max(9).optional()}),we=h({path:c().min(1),line:s().int().positive().nullable(),side:l([`RIGHT`,`LEFT`]),severity:xe,reviewer:c().min(1),disposition:l([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:c().min(1)}),Te=h({text:c().min(1),paths:f(c()),isFallback:t().default(!1)}),Ee=h({goal:c().default(``),change:c(),checked:f(c()),gaps:f(c()),handChecks:f(Te).default([])});h({verdict:ye,head:_,summary:c(),assessment:Ee.nullable(),findings:f(we)}),h({body:c(),commit_id:_,comments:f(h({path:c().min(1),line:s().int().positive(),side:l([`RIGHT`,`LEFT`]).default(`RIGHT`),body:c().min(1)}))});var De=l([`APPROVE`,`COMMENT`,`REQUEST_CHANGES`]),Oe=l([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),ke=new Set([`APPROVED`,`CHANGES_REQUESTED`]),v=l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Ae=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),je={requestSource:l([`direct`,`team`]).default(`team`),isDraft:t().optional(),checksState:Ae.nullable().optional()},Me=h({login:c().min(1),state:Oe,commit:_.nullable(),isViewer:t(),submittedAt:c().nullable().optional()});function Ne(e,t){return e||(t.includes(`CHANGES_REQUESTED`)?`CHANGES_REQUESTED`:t.includes(`APPROVED`)?`APPROVED`:`REVIEW_REQUIRED`)}function Pe(e){return e.reviewDecision!==`APPROVED`||e.requeuedHead!==void 0&&e.requeuedHead===(e.liveHead??e.reviewedHead)?!1:(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`)}var Fe=h({head:_,base:_.optional(),verdict:ye,summary:c(),body:c(),comments:f(_e),wasPosted:t()}),Ie=Fe.pick({head:!0,verdict:!0,summary:!0,wasPosted:!0}).extend({comments:f(Ce)}),Le=c().min(1).max(256).regex(de),Re=h({addressed:t(),reason:c().trim().min(1).max(4e3)}).strict(),ze=h({id:Le,path:c(),line:s().int().positive().nullable(),isResolved:t(),viewerCanResolve:t(),comments:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable().optional()}),nodes:f(h({body:c(),author:h({login:c()}).nullable(),viewerDidAuthor:t(),createdAt:c().datetime(),url:c().url(),originalCommit:h({oid:_}).nullable()}))})});h({data:h({node:h({comments:ze.shape.comments}).nullable()}).nullable()}),h({pullRequest:h({reviewThreads:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable().optional()}),nodes:f(ze)})}).nullable()}),h({data:h({resolveReviewThread:h({thread:h({id:Le,isResolved:p(!0)})})}).nullable(),errors:f(e()).optional()});var Be=h({id:Le,path:c(),line:s().int().positive().nullable(),isResolved:t(),viewerCanResolve:t(),isNit:t(),url:c().url(),viewerComment:c().max(1500).optional(),lastReplyBody:c().max(1500).optional(),viewerCommentTruncated:t().optional(),lastReplyTruncated:t().optional(),lastReplyAuthor:c(),lastReplyAt:c().datetime(),judgement:Re.extend({head:_,judgedAt:s().finite(),lastReplyAt:c().datetime()}).optional(),resolveError:c().optional(),resolveAttemptReplyAt:c().optional(),judgeAttempt:h({head:_,lastReplyAt:c(),retryAt:s().finite()}).optional(),unjudgeable:h({head:_,lastReplyAt:c(),reason:c().min(1)}).optional()});h({merge_base_commit:h({sha:_}),files:f(h({filename:c(),previous_filename:c().optional(),patch:c().optional()})).max(300)});var Ve=h({total:s().int().nonnegative(),resolved:s().int().nonnegative()}),He=h({...je,key:c(),repo:ge,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),reviewedHead:_,reviewedBase:_.optional(),verdict:be,summary:c(),assessment:Ee.optional(),body:c(),comments:f(Ce),status:l([`ready`,`stale`,`posted`,`discarded`,`error`]),error:c().optional(),threads:f(Be).optional(),viewerThreads:Ve.optional(),githubReviews:f(Me).optional(),reviewDecision:v.nullable().optional(),liveHead:_.optional(),prCreatedAt:c().optional(),reviewedAt:s().finite().optional(),postedAt:s().finite().optional(),postedEvent:De.optional(),priorReviewedHead:_.optional(),requeuedHead:_.optional(),earlierReview:Ie.optional()});function Ue(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var We=l([`approve`,`approve-only`,`comment`,`request-changes`,`discard`,`requeue`,`resolve-thread`]);function Ge(e){return e.action===`discard`||e.head!==void 0}var Ke=h({key:c().min(1),head:_.optional(),action:We,threadId:Le.optional(),body:c(),comments:f(_e)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}).refine(Ge,{message:`only discard may omit head`,path:[`head`]}),qe=h({key:c(),ok:t(),error:c().optional(),warning:c().optional()}),Je=h({sessionId:c().min(1),workDir:c().min(1),worktreePath:c().min(1),head:_,deadlineAt:s(),remainingAwakeMs:s().nonnegative().optional(),savedAt:s()}),Ye=h({...je,reviewDecision:v.nullable().optional(),key:c(),repo:ge,number:s().int().positive(),title:c(),url:c(),author:c(),prCreatedAt:c().optional()}),Xe=h({draft:He.nullable(),reviewedHead:_.nullable(),inFlight:t(),reviewAttempts:s().int().nonnegative().default(0),resumable:Je.nullable().optional(),reviewedAt:s().optional(),threads:f(Be).optional(),viewerThreads:Ve.optional(),autoResolvedThreadIds:f(Le).optional(),githubReviews:f(Me).optional(),reviewDecision:v.nullable().optional(),liveHead:_.optional(),requeuedHead:_.optional(),priorReview:Fe.optional(),discardedReviewHead:_.optional(),requestedAt:s().finite().optional(),updatedAt:s().finite()});i(c(),Xe);var Ze=l([`preparing`,`checkout`,`reviewing`]),Qe=h({at:s().finite(),tool:c(),detail:c()}),$e=h({...je,reviewDecision:v.nullable().optional(),key:c(),repo:ge,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),head:_,phase:Ze,startedAt:s().finite(),deadlineAt:s().finite().nullable(),toolCalls:s().int().nonnegative(),recentSteps:f(Qe),prCreatedAt:c().optional(),priorReviewedHead:_.optional()}),et=h({...ae,type:p(`team-review-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),drafts:f(He),inFlight:f($e),queued:f(Ye).default([]),team:h({org:c(),slug:c(),name:c(),avatarUrl:c()}).nullable().optional()}).passthrough(),tt=l([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),y=s().int().nonnegative(),b=c().regex(ue),nt=c().regex(/^[1-9][0-9]*$/),rt=o([b,`#`,nt]),it=o([rt,`@`,_]),x=c().refine(e=>rt.safeParse(e).success),at=c().refine(e=>it.safeParse(e).success);u(`outcome`,[d({outcome:p(`pushed`)}),d({outcome:l([`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1)})]);var ot=d({outcome:l([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1).optional(),at:s().finite()}),st=ot.extend({key:x,headRefOid:_,baseRefOid:_,consecutiveAttempts:s().int().min(1).optional()});d({keepMergeableKeys:f(x),keepMergeableAttemptKeys:f(at),keepMergeableAttempts:f(st).default([]),mergeQueueKeys:f(x).default([]),keepMergeablePushedHeadKeys:f(at).default([])});var ct=d({repo:b,number:s().int().positive(),url:g(),source:l([`hook`,`sha`,`manual`]),linkedAt:s().finite()}),lt=d({links:f(ct).max(20),unlinkedKeys:f(x).default([])}),ut=h({repo:b,number:s().int().positive(),keepMergeable:t()}),dt=h({key:c(),ok:t(),error:c().optional()}),ft=dt,pt=h({repo:b,number:s().int().positive(),mergeWhenReady:t()}),mt=dt,ht=l([`MERGE`,`SQUASH`,`REBASE`]),gt=h({path:c(),line:s().int().positive().nullable(),isOutdated:t(),url:g(),author:c().nullable(),excerpt:c(),commentCount:s().int().positive(),lastAuthor:c().nullable(),lastActivityAt:c()}),_t=h({reviewer:c().nullable(),state:c(),submittedAt:c().nullable()}),vt=h({outcome:l([`rebased`,`failed`]),at:s().finite(),message:c()}),yt=h({at:s().finite(),message:c()}),S=h({key:c(),repo:b,number:s().int().positive(),title:c(),url:g(),isDraft:t(),state:l([`OPEN`,`MERGED`,`CLOSED`]),createdAt:c(),mergedAt:c().nullable(),updatedAt:c(),baseRefName:c(),baseRefOid:_,headRefName:c().min(1),isCrossRepository:t(),headRefOid:_,isInMergeQueue:t(),mergeMethod:ht,mergeable:l([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:c(),reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:h({state:l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:f(c()),pendingCount:y}),unresolvedThreads:y,threads:f(gt),behindBy:y.nullable(),reviewRequests:f(h({name:c(),isTeam:t(),avatarUrl:c().nullable()})),approvals:y,reviews:f(_t),stage:tt,autoRebase:vt.optional(),keepMergeable:t().optional(),keepMergeableAttempt:ot.optional(),isKeepMergeableFixInFlight:t().optional(),mergeQueuePosition:s().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:t().optional(),mergeQueueFailure:yt.optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),bt=d({key:x,autoRebase:S.shape.autoRebase,keepMergeable:S.shape.keepMergeable,keepMergeableAttempt:S.shape.keepMergeableAttempt,isKeepMergeableFixInFlight:S.shape.isKeepMergeableFixInFlight,mergeQueuePosition:S.shape.mergeQueuePosition,isMergeQueueHeldForRepairPush:S.shape.isMergeQueueHeldForRepairPush,mergeQueueFailure:S.shape.mergeQueueFailure}),xt=h({...ae,type:p(`my-prs-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),viewer:c().nullable(),prs:f(bt),truncatedNote:c().nullable().optional(),isKeepMergeableEnabled:t().optional(),isMergeQueueEnabled:t().optional()}).passthrough();xt.extend({prs:f(S)});var St=h({repo:b,number:s().int().positive(),headRefOid:_}),Ct=l([`merged`,`queued`,`auto-merge`,`unconfirmed`]),wt=h({key:c(),ok:t(),kind:Ct.optional(),error:c().optional()}),Tt=h({__typename:p(`CheckRun`),name:c(),conclusion:c().nullable(),status:c(),startedAt:c().nullish(),checkSuite:h({app:h({databaseId:s().int().nullish()}).nullish(),workflowRun:h({workflow:h({databaseId:s().int().nullish()})}).nullish()}).nullish()}),Et=h({__typename:p(`StatusContext`),context:c(),state:c()}),Dt=a([Tt,Et]),Ot=h({hasNextPage:t(),endCursor:c().nullable()}),C=h({__typename:p(`PullRequest`),id:c().regex(de),number:s().int().positive(),title:c(),url:g(),isDraft:t(),state:l([`OPEN`,`MERGED`,`CLOSED`]),createdAt:c(),mergedAt:c().nullable(),updatedAt:c(),baseRefName:c(),baseRefOid:_,headRefName:c().min(1),isCrossRepository:t(),headRefOid:_,isInMergeQueue:t(),mergeable:l([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:c(),reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:h({nameWithOwner:b,viewerDefaultMergeMethod:ht}),commits:h({nodes:f(h({commit:h({statusCheckRollup:h({id:c().regex(de).optional(),state:l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:h({pageInfo:Ot.optional(),nodes:f(Dt)})}).nullable()})}))}),reviewThreads:h({pageInfo:h({hasNextPage:t()}),nodes:f(h({isResolved:t()}))}),reviewRequests:h({nodes:f(h({requestedReviewer:u(`__typename`,[h({__typename:p(`User`),login:c()}),h({__typename:p(`Team`),slug:c(),avatarUrl:c().nullable(),organization:h({login:c()})}),h({__typename:l([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:h({nodes:f(h({state:c()}))}),latestReviews:h({nodes:f(h({state:c(),submittedAt:c().nullable(),author:h({login:c()}).nullable()}))})}),kt=h({login:c()}).nullable();h({isResolved:t(),isOutdated:t(),path:c(),line:s().int().positive().nullable(),firstComment:h({totalCount:y,nodes:f(h({author:kt,bodyText:c(),url:g(),createdAt:c()}))}),lastComment:h({nodes:f(h({author:kt,createdAt:c()}))})}),h({data:h({repository:h({pullRequest:h({reviewThreads:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable()}),nodes:f(e())})}).nullable()}).nullable()}),errors:f(e()).optional()}),h({data:h({node:h({contexts:h({pageInfo:Ot,nodes:f(e())}).nullable()}).nullable()}).nullable(),errors:f(e()).optional()}),h({data:h({repository:h({pullRequest:h({state:c(),isInMergeQueue:t(),autoMergeRequest:h({enabledAt:c().nullable()}).nullable()}).nullable()}).nullable()}),errors:f(e()).optional()});var At=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),jt=Object.freeze([`notify`,`spawn`,`label`,`comment`]),Mt=2e4,Nt=65536,Pt=50,Ft=/^[a-z0-9][a-z0-9-]{0,63}$/,It=/[\x00-\x1f\x7f,]|^-/,Lt=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return s({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},Rt=t({error:`workflows.enabled must be a boolean`}),zt=Lt(`workflows.maxConcurrentSessions`,re),Bt=Lt(`workflows.maxActionsPerPoll`,ne),w=(e,t)=>f(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),Vt=c({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(Pt,{error:`a workflow label name must be at most ${Pt} characters`}).refine(e=>!It.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),Ht=c({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(Nt,{error:`a workflow comment body must be at most ${Nt} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),Ut=l(At,{error:`workflows.rules[].trigger must be one of ${At.join(`, `)}`}),Wt=u(`type`,[d({type:p(`notify`)}),d({type:p(`spawn`),promptTemplate:c({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(Mt,{error:`a spawn action promptTemplate must be at most ${Mt} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),d({type:p(`label`),name:Vt}),d({type:p(`comment`),body:Ht})],{error:`workflows.rules[].actions[].type must be one of ${jt.join(`, `)}`}),Gt=d({mine:t({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:t({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:w(`workflows.rules[].filters.authors`,c({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(le,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:w(`workflows.rules[].filters.labels`,Vt).optional(),baseBranches:w(`workflows.rules[].filters.baseBranches`,c({error:`workflows.rules[].filters.baseBranches must hold branch names`}).min(1,{error:`workflows.rules[].filters.baseBranches must hold branch names`})).optional()},{error:`workflows.rules[].filters must be an object`}),Kt=c({error:`workflows.rules[].id must be a string`}).regex(Ft,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),qt=t({error:`workflows.rules[].enabled must be a boolean`}),Jt=d({id:Kt,name:c({error:`workflows.rules[].name must be a string`}).trim().min(1,{error:`workflows.rules[].name must not be empty`}).max(80,{error:`workflows.rules[].name must be at most 80 characters`}),enabled:qt.default(!1),repos:w(`workflows.rules[].repos`,b),filters:Gt.default({}),trigger:Ut,actions:w(`workflows.rules[].actions`,Wt)},{error:`workflows.rules[] must be an object`}),Yt=d({enabled:Rt.default(!0),maxConcurrentSessions:zt.default(2),maxActionsPerPoll:Bt.default(20),rules:f(Jt,{error:`workflows.rules must be an array`}).default([])},{error:`workflows must be an object`}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.rules.entries())n.has(i.id)?t.addIssue({code:`custom`,path:[`rules`,r,`id`],message:`workflows.rules[${r}].id "${i.id}" is declared more than once`}):n.add(i.id)}),Xt=d({id:Kt,enabled:qt},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});d({enabled:Rt.optional(),maxConcurrentSessions:zt.optional(),maxActionsPerPoll:Bt.optional(),rules:f(Xt,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var Zt=s().int().nonnegative(),Qt=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),$t=C.extend({author:h({login:c()}).nullable(),labels:h({nodes:f(h({name:c()}))}),comments:h({totalCount:Zt})}),en=d({repo:b,number:s().int().positive(),title:c(),url:g(),author:c().nullable(),state:l([`OPEN`,`MERGED`,`CLOSED`]),createdAt:c(),mergedAt:c().nullable(),isDraft:t(),isCrossRepository:t(),baseRefName:c(),headRefName:c().min(1),headRefOid:_,labels:f(c()),commentCount:Zt,reviewRequests:f(c()),checksState:Qt,reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}),tn=d({polledAtMs:Zt,prs:f(en)});d({repos:i(c().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),tn)});var nn=c().refine(e=>rt.safeParse(e).success&&e===e.toLowerCase()&&Number.isSafeInteger(Number(e.slice(e.lastIndexOf(`#`)+1))));function rn(e){return`${e.repo}#${e.number}`.toLowerCase()}h({repository:C.shape.repository.pick({nameWithOwner:!0}),number:C.shape.number,updatedAt:C.shape.updatedAt,headRefOid:C.shape.headRefOid,state:C.shape.state,commits:h({nodes:f(h({commit:h({statusCheckRollup:h({state:S.shape.checks.shape.state}).nullable()})}))}),reviewDecision:C.shape.reviewDecision,mergeable:C.shape.mergeable}),C.extend({author:$t.shape.author.unwrap().extend({__typename:c().optional()}).nullable(),labels:$t.shape.labels,comments:$t.shape.comments,latestReviews:h({nodes:f(C.shape.latestReviews.shape.nodes.element.extend({commit:h({oid:c()}).nullable().optional()}))}),writerOpinionatedReviews:C.shape.latestOpinionatedReviews.optional()});var an=d({key:nn,id:C.shape.id,repo:S.shape.repo,number:S.shape.number,title:S.shape.title,url:S.shape.url,author:en.shape.author,isAuthorBot:t(),labels:en.shape.labels,commentCount:en.shape.commentCount,isDraft:S.shape.isDraft,state:S.shape.state,createdAt:S.shape.createdAt,mergedAt:S.shape.mergedAt,updatedAt:S.shape.updatedAt,baseRefName:S.shape.baseRefName,baseRefOid:S.shape.baseRefOid,headRefName:S.shape.headRefName,headRefOid:S.shape.headRefOid,isCrossRepository:S.shape.isCrossRepository,isInMergeQueue:S.shape.isInMergeQueue,mergeMethod:S.shape.mergeMethod,mergeable:S.shape.mergeable,mergeStateStatus:S.shape.mergeStateStatus,reviewDecision:v.nullable(),checks:S.shape.checks.strict(),rollupState:Ae.nullable(),unresolvedThreads:S.shape.unresolvedThreads,threads:f(S.shape.threads.element.strict()),behindBy:S.shape.behindBy,reviewRequests:f(S.shape.reviewRequests.element.strict()),approvals:S.shape.approvals,reviews:f(S.shape.reviews.element.extend({commit:_.nullable()}).strict()),opinionatedWriterReviewStates:f(c())}).refine(e=>e.key===rn(e)),on=n({type:p(`github-prs`),ts:s().finite().nonnegative(),prs:i(nn,an).refine(e=>Object.entries(e).every(([e,t])=>e===t.key)),freshness:oe}),T=c().regex(ue),sn=c().regex(RegExp(`${ue.source.slice(0,-1)}#[1-9][0-9]*$`)),cn=h({number:s().int().positive(),url:c().url(),title:c(),state:l([`open`,`draft`,`merged`,`closed`])});h({issue:h({closedByPullRequestsReferences:h({nodes:f(h({number:cn.shape.number,url:cn.shape.url,title:cn.shape.title,state:l([`OPEN`,`MERGED`,`CLOSED`]),isDraft:t()}).nullable()).max(5)})}).nullable()});function ln({state:e,isDraft:t}){return e===`OPEN`?t?`draft`:`open`:e===`MERGED`?`merged`:`closed`}var E={key:c(),repo:T,number:s().int().positive(),title:c(),url:c().url(),labels:f(c()),assignees:f(c()),author:c(),comments:s().int().nonnegative(),createdAt:m(),updatedAt:m()},un=l([`project`,`me`,`team`]),dn={...E,sources:f(un).nonempty().refine(e=>new Set(e).size===e.length),teams:f(T),projectId:c().nullable(),pullRequests:f(cn).max(5).default([])},fn=h(dn).refine(e=>e.key===`${e.repo}#${e.number}`),pn=h({...dn,sessionId:c().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),mn=h({...E,state:l([`open`,`closed`])});h({number:E.number,title:E.title,html_url:E.url,state:l([`open`,`closed`]),labels:f(a([c(),h({name:c()})])),assignees:f(h({login:c()})),user:h({login:c()}).nullable(),comments:E.comments,created_at:E.createdAt,updated_at:E.updatedAt,repository_url:c().url().optional(),pull_request:e().optional()}),h({items:f(e()),total_count:s().int().nonnegative(),incomplete_results:t()}),h({ok:t(),items:f(mn),isComplete:t(),error:c()}),h({issues:f(fn),lastSyncAt:s().finite().nonnegative().nullable(),perRepoSync:i(T,h({lastSyncAt:s().finite().nonnegative().nullable(),ticks:s().int().nonnegative(),needsFullReconcile:t()})),sessionLinks:i(sn,c()).default({}),pullRequestsFetchedAt:i(sn,m()).default({})});var hn=h({type:p(`issues-status`),ts:s().finite(),configured:t(),reason:c().nullable(),lastSyncAt:s().finite().nonnegative().nullable(),issues:f(pn),...ae}).passthrough(),gn=2e4,_n=4e3,vn=524288,yn=1e4,bn=`ExitPlanMode`,xn=4096,Sn=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function Cn(e){let t=e.trimEnd(),n=t.length;for(;n>0&&t[n-1]===`#`;)n--;if(n===t.length||n===0)return t;let r=t[n-1];return r!==` `&&r!==` `?t:t.slice(0,n).trimEnd()}function wn(e,{overlongLine:t}){if(t===`reject`&&e.length>xn)return null;let n=Sn.exec(e.slice(0,xn));return n?{level:n[1].length,text:Cn(n[2])}:null}var Tn=h({plan:c().min(1),planFilePath:c().min(1),agent_id:c().min(1).optional(),agent_type:c().min(1).optional()}).passthrough();h({tool_name:p(bn),tool_input:Tn,agent_id:c().min(1).optional(),agent_type:c().min(1).optional()}).passthrough(),h({plan:c(),planFilePath:c(),agentId:c().nullable(),agentType:c().nullable()}).extend({sessionId:c().min(1),revision:s().int().positive(),receivedAt:s().finite()});var En=Object.freeze([`open`,`released`,`decided`,`closed`]),Dn=l(En),On=Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`]),kn=l(On),An=h({heading:c().max(_n).nullable(),comment:c().min(1).max(_n)}),jn=h({id:c().min(1),agentId:c().nullable(),revision:s().int().positive(),decision:kn,feedback:c().max(gn).optional(),comments:f(An).max(40).optional(),plan:c().min(1).max(vn).optional()}),Mn=h({revision:s().int().positive(),receivedAt:s().finite(),chars:s().int().nonnegative(),title:c()}),Nn=h({revision:s().int().positive(),since:s().finite()}),Pn=h({agentId:c().nullable(),agentType:c().nullable(),revisions:f(Mn),state:Dn,openRevision:Nn.nullable(),approvedRevision:s().int().positive().nullable(),lastDecision:kn.nullable()});h({reviews:f(Pn)});var Fn=h({agentId:c().nullable(),revision:s().int().nonnegative(),plan:c(),planFilePath:c(),receivedAt:s().finite()}),In=h({id:c(),agentId:c().nullable(),agentType:c().nullable(),revision:s().int().positive(),receivedAt:s().finite(),state:Dn,lastDecision:kn.nullable(),approvedRevision:s().int().positive().nullable(),chars:s().int().nonnegative(),title:c(),hasPlan:t()}),Ln=h({id:c(),agentId:c().nullable(),planFilePath:c(),changedAt:s().finite()}),Rn=h({id:c(),reviews:f(Pn),body:Fn.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`collision`,`link`]);var D=c().min(1),O=c().min(1),k=s().int().nonnegative(),zn=f(O).max(20),Bn=l([`added`,`modified`,`deleted`,`renamed`,`untracked`]),Vn=d({factId:D,path:O,previousPath:O.optional(),status:Bn,isCommitted:t()}),Hn=d({factId:D,agentsPath:O,title:c(),paths:f(O).min(1)}),Un=d({factId:D,path:O,partner:O,support:k,confidence:s().min(0).max(1)}),Wn=d({factId:D,path:O,commitCount:k,fixCommitCount:k}),Gn=d({factId:D,path:O,directDependents:zn,directDependentCount:k,transitiveDependentCount:k,dependentTests:zn,dependentTestCount:k}),Kn=d({factId:D,path:O,otherSessionId:c().min(1),otherSessionName:c()}),qn=d({factId:D,providerRepo:c().min(1),packageName:c().min(1),packageDir:c(),consumerManifest:O,versionSpec:c(),isLocalLink:t(),providerChangedPathCount:k,importers:zn,importerCount:k,changedImporterCount:k}),Jn=d({name:c().min(1),root:c().min(1),sessionPathPrefix:c(),base:c().nullable(),files:f(Vn),subsystems:f(Hn),coChangeGaps:f(Un),hotspots:f(Wn),blastRadius:f(Gn),collisions:f(Kn),links:f(qn),error:c().nullable()}),Yn=d({sessionId:c().min(1),sig:c().nullable(),generatedAt:s().finite(),repos:f(Jn),error:c().min(1).optional()}),Xn=l([`decision`,`retraction`,`conjecture`,`resolution`,`dismissal`,`defect`,`experiment`,`close`,`unable`,`escalation`,`acknowledgement`,`enactment`]),A={id:c().min(1),at:m(),session:c(),agent:c(),commit:c().nullable(),dirty:t(),binding:c()},Zn={of:c().min(1),because:c()},Qn=n({id:c(),text:c()}),$n=u(`kind`,[n({...A,kind:p(`decision`),chose:c(),over:f(c()),because:c()}),n({...A,kind:p(`retraction`),...Zn}),n({...A,kind:p(`conjecture`),observation:c(),couldBe:f(c()),discriminatedBy:c()}),n({...A,kind:p(`resolution`),...Zn,as:c().optional()}),n({...A,kind:p(`dismissal`),...Zn}),n({...A,kind:p(`defect`),what:c(),evidence:c(),files:f(c())}),n({...A,kind:p(`experiment`),expectation:c(),context:f(c()),actions:f(Qn),criteria:f(Qn)}),n({...A,kind:p(`close`),of:c(),outcome:l([`success`,`failure`,`inconclusive`]),results:i(c(),e())}),n({...A,kind:p(`unable`),what:c(),because:c()}),n({...A,kind:p(`escalation`),what:c(),because:c()}),n({...A,kind:p(`acknowledgement`),...Zn}),n({...A,kind:p(`enactment`),practice:c(),results:i(c(),e())})]),er=a([$n,h({id:c().min(1),kind:c().min(1).refine(e=>!Xn.safeParse(e).success)})]);n({branch:c().nullable(),escalations:f(e()),records:f(er),citedBy:i(c(),f(e())),damaged:f(e())});var tr=d({id:c().min(1),at:m().nullable(),kind:c().min(1),text:c().max(280),detail:c().max(280).nullable(),supersedes:c().nullable()}),nr=u(`ok`,[d({ok:p(!0),latest:tr.nullable()}),d({ok:p(!1),reason:c().min(1).max(200)})]),rr=d({journal:nr,updatedAt:s().finite()}),ir=/^[a-zA-Z0-9_\-. ()]{1,64}$/,ar=`Session name may only contain letters, numbers, spaces, dashes, dots, underscores, and parentheses (max 64 chars)`,or=/[\x00-\x1f\x7f-\x9f]/,sr=c().refine(e=>!or.test(e)).trim().max(120);h({title:c().nullable(),name:c().nullable().optional()}).strict();var j=l(te),cr=l([`finished`,`failed`]),lr=4e3,ur=1e3,dr=2e3,fr=h({question:c().min(1).max(ur),header:c().max(100).default(``),options:f(h({label:c().min(1).max(200),description:c().max(ur).default(``)})).min(1).max(8),multiSelect:t().default(!1)});h({requestId:a([c().min(1).max(128),s().int()]),kind:p(`question`),summary:c().max(lr),isSummaryTruncated:t(),questions:f(fr).min(1).max(4).optional()}),i(c().max(ur),c().max(dr));var pr=80,mr=Object.freeze({notInstalled:`not installed`,unsupportedVersion:`unsupported version`,codexHooksUntrusted:`Codex hooks need trust in /hooks`}),hr=u(`active`,[h({active:p(!0)}).strict(),h({active:p(!1),reason:c().min(1).max(pr),version:c().optional()}).strict()]),M=h({id:c(),name:c(),taskTitle:sr.nullable().default(null),taskTitleIsCustom:t().default(!1),path:c(),agent:c(),state:j,stateSince:s(),dangerouslySkipPermissions:t(),saneYolo:t().default(!1),ephemeral:t(),ownerId:c().nullable().optional(),isWorktree:t(),isWorkspace:t().default(!1),remoteWorkspace:c().nullable().default(null),isGuarded:t().default(!1),isGuardrailsReleased:t().default(!1),resumeSessionId:c().nullable(),activeAgents:s().int().nonnegative(),awaitingBackgroundTasks:t(),pendingPromptKind:c().nullable(),hasPlan:t().default(!1),mergeStatus:c().nullable(),mergeReason:c().nullable(),worktreeNotice:c().nullable(),failureReason:c().nullable().optional(),unseenOutcome:cr.nullable().default(null),effectiveBase:c().nullable(),linkedPrs:f(ct).default([]),coherenceHooks:hr.nullable().default(null),auditLog:f(e())}).passthrough();h({namespace:p(`git`,{error:`namespace must be git`}),publicKey:c({error:`publicKey must be a string`}).min(1,{error:`publicKey must not be empty`}).max(16384,{error:`publicKey must be at most 16384 characters`}),payload:ee({error:`payload must be base64`})}).strict(),a([h({ok:p(!0),signature:c()}).strict(),h({ok:p(!1),error:c()}).strict()]);var gr=[`push`,`spawn`,`send`,`read`,`close`,`attention`,`board`,`edit`,`show`,`review`,`reviews`,`prs`,`link-pr`,`settings`];[...gr],h({prompt:c({error:`prompt must be a string`}).min(1,{error:`prompt must not be empty`}).max(2e4,{error:`prompt must be at most 20000 characters`}).refine(e=>!e.trimStart().startsWith(`-`),{message:`prompt must not start with a dash, which the agent CLI would read as an option`}),name:c({error:`name must be a string`}).min(1,{error:`name must not be empty`}).max(200,{error:`name must be at most 200 characters`}).optional(),agent:c({error:`agent must be a string`}).min(1,{error:`agent must not be empty`}).max(40,{error:`agent must be at most 40 characters`}).optional()}).strict();var _r=c({error:`the session must be a string`}).min(1,{error:`the session must not be empty`}).max(300,{error:`the session must be at most 300 characters`});h({words:f(c({error:`each word must be a string`}).max(2e4,{error:`each word must be at most 20000 characters`}),{error:`words must be a list`}).min(1,{error:`send needs text`}).max(5e3,{error:`send takes at most 5000 words`})}).strict(),h({child:_r.optional()}).strict(),h({child:_r,discard:t().optional()}).strict(),a([h({child:_r,answers:i(c(),c().min(1))}).strict(),h({child:_r,toOperator:p(!0)}).strict()]);var vr=h({from:l([`parent`,`child`,`glimmervoid`]),at:s().finite(),text:c()}).strict();h({ok:p(!0),channels:f(h({sessionId:c(),name:c(),entries:f(vr),dropped:s().int().nonnegative()}).strict())}).strict(),h({note:c({error:`note must be a string`}).min(1,{error:`note must not be empty`}).max(500,{error:`note must be at most 500 characters`})}).strict(),a([h({ok:p(!0),pending:t()}).strict(),h({ok:p(!1),error:c()}).strict()]),h({id:M.shape.id,name:M.shape.name,agent:M.shape.agent,state:M.shape.state,ephemeral:M.shape.ephemeral}).strict(),h({pr:c({error:`pr must be a string`}).min(1,{error:`pr must not be empty`}).max(300,{error:`pr must be at most 300 characters`})}).strict(),h({command:l([`list`,`get`],{error:`command must be list or get`}),path:c({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(200,{error:`path must be at most 200 characters`}).optional()}).strict(),a([h({ok:p(!0),text:c(),readout:e()}).strict(),h({ok:p(!1),error:c()}).strict()]);var yr=Ye.pick({key:!0,title:!0,url:!0,author:!0});h({ok:p(!0),configured:t(),reason:c().nullable(),reviewing:f(yr.extend({phase:$e.shape.phase})),queued:f(yr),drafts:f(yr.extend({status:He.shape.status,verdict:c(),summary:He.shape.summary,comments:s().int().nonnegative(),isOutOfDate:t()}))}).strict(),h({ok:p(!0),configured:t(),prs:f(h({key:S.shape.key,title:S.shape.title,url:S.shape.url,state:S.shape.state,isDraft:S.shape.isDraft,stage:S.shape.stage,reviewDecision:S.shape.reviewDecision,approvals:S.shape.approvals,unresolvedThreads:S.shape.unresolvedThreads,behindBy:S.shape.behindBy,mergeable:S.shape.mergeable,isInMergeQueue:S.shape.isInMergeQueue,checks:S.shape.checks.pick({state:!0,failing:!0})}).strict())}).strict();var br=4096;h({path:c({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(br,{error:`path must be at most ${br} characters`})}).strict();var xr=h({id:c(),name:c(),caption:c().max(500).nullable(),kind:l([`image`,`video`,`page`]),mime:c(),sizeBytes:s().int().nonnegative(),pageTitle:c().nullable(),shownAt:s().finite()}).strict(),Sr=h({path:c(),name:c(),surfacedAt:s().finite()}).strict();h({commands:f(h({name:l(gr),answers:t(),reason:c().optional()}).strict()),guarded:t(),boundary:l([`os-sandbox`,`workspace`,`none`]),environment:h({name:c(),workspace:c(),state:c()}).strict().nullable(),deadEnds:f(h({blocked:c(),route:c()}).strict())}).strict().extend({ok:p(!0)}).strict();var Cr=4e3,N=h({ts:s().finite(),uuid:c().nullable(),parentUuid:c().nullable(),vendorSessionId:c().min(1),agentId:c().min(1).optional(),agentType:c().min(1).optional(),transcriptOffset:s().int().nonnegative().optional(),truncated:t().optional()}),wr=u(`kind`,[N.extend({kind:p(`prompt`),text:c()}),N.extend({kind:p(`expansion`),text:c(),toolUseId:c().min(1).optional()}),N.extend({kind:p(`thinking`),text:c()}),N.extend({kind:p(`assistant`),text:c()}),N.extend({kind:p(`tool_call`),toolUseId:c().min(1),name:c().min(1),input:e()}),N.extend({kind:p(`tool_result`),toolUseId:c().min(1),content:c(),isError:t(),truncated:t()}),N.extend({kind:p(`session`),vendor:c().min(1),transcriptPath:c().min(1),reason:c().min(1).optional()}),N.extend({kind:p(`notice`),text:c().max(Cr)}),N.extend({kind:p(`raw`),line:c().max(Cr)})]);h({transcriptPath:c().min(1),vendorSessionId:c().min(1),offset:s().int().nonnegative(),ingestedSubagentPaths:f(c().min(1)),offsetByTranscriptPath:i(c().min(1),s().int().nonnegative()).default({}),subagentOffsetByPath:i(c().min(1),s().int().nonnegative()).default({})});var Tr=c().max(16384),P=f(Tr).max(4096),Er=h({model:Tr.nullable(),mcpServers:P,plugins:f(h({name:Tr,skills:P,agents:P})).max(4096),skills:P,agents:P,hookEvents:f(h({event:Tr,runCount:s().int().nonnegative()})).max(4096),hookCommands:f(c().max(65536)).max(4096)}),Dr=Object.freeze([`release`,`experimental`]),Or=`main`,kr=r(e=>e===Or?`experimental`:e,l(Dr,{error:`updateChannel must be one of ${Dr.join(`, `)}`})),Ar=l([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),jr=l([`fetch`,`stage`,`install`,`link-deps`,`build`]),Mr=l([`pending`,`running`,`succeeded`,`failed`]),Nr=h({id:jr,status:Mr,startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),outputTail:f(c())}).strict(),Pr=h({state:Ar,fromSha:c().nullable(),toSha:c().nullable(),toVersion:c().nullable(),channel:kr,steps:f(Nr),activeStep:jr.nullable(),reason:c().nullable(),startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),failedAtHandOff:t().optional()}).strict(),Fr=Pr.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Ir=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Lr=/^[A-Za-z_][A-Za-z0-9_]*$/,Rr=c().regex(/^[^/\s]+\/[^/\s]+$/),F=s().finite(),I=c().min(1),zr=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),L=c().regex(Ir);function Br(e){return new Set(e.map(e=>e.id)).size===e.length}var Vr=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-merged-prs`),repo:Rr,minBodies:s().int().min(1),limit:s().int().min(1).max(500)})]),Hr=u(`kind`,[d({kind:p(`none`)}),d({kind:p(`pr-checkout`)})]),Ur=l([`review-findings`,`json`]),Wr=d({promptTemplate:I,output:Ur,timeoutSeconds:s().int().min(30).max(14400)}),Gr=d({id:L,env:i(c().regex(Lr),c()).refine(e=>zr.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${zr.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:f(c()).optional(),setup:d({command:f(I).min(1)}).optional()}),Kr=u(`kind`,[d({kind:p(`llm-judge-match`),model:I})]);d({id:L,title:I,caseSource:Vr,workspace:Hr,subject:Wr,arms:f(Gr).min(2).refine(Br,{message:`arm ids must be unique`}),baselineArm:L,trials:s().int().min(1).max(20),scorer:Kr}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var qr=d({id:L,text:I,tags:f(L),path:I.optional(),line:s().int().positive().optional()}),Jr=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-pr`),repo:Rr,number:s().int().positive(),url:I,minedAt:F})]);d({id:L,input:i(c(),e()),references:f(qr).min(1).refine(Br,{message:`reference ids must be unique`}),source:Jr}),h({repo:Rr,number:s().int().positive(),reviewedSha:_,baseSha:_,changedFiles:f(I)});var Yr=l([`found`,`partial`,`missed`]),Xr=d({referenceId:L,verdict:Yr,findingIndexes:f(s().int().nonnegative())}),Zr=l([`scored`,`invalid`,`error`]),Qr=d({caseId:L,armId:L,trial:s().int().min(1),status:Zr,startedAt:F,finishedAt:F,degradedReasons:f(I),findingCount:s().int().nonnegative(),judgements:f(Xr),costUsd:s().finite().nonnegative().nullable(),error:I.nullable()}),$r=l([`running`,`completed`,`interrupted`,`failed`]);d({id:L,suiteId:L,status:$r,startedAt:F,finishedAt:F.nullable(),error:I.nullable(),cells:f(Qr)});var ei=s().min(0).max(1).nullable(),ti=d({trials:s().int().nonnegative(),recall:ei,recallByTag:i(L,ei),degraded:s().int().nonnegative(),invalid:s().int().nonnegative(),costUsd:s().finite().nonnegative().nullable()}),ni=d({caseId:L,arms:i(L,ti),deltaVsBaseline:i(L,s().min(-1).max(1).nullable())}),ri=d({runId:L,suiteId:L,status:$r,baselineArm:L,armIds:f(L),rows:f(ni),totals:i(L,ti)}),ii=l([`mine`,`run`,`cancel`]),ai=h({suiteId:L,action:ii}),oi=h({suiteId:L,action:ii,ok:t(),error:c().optional(),runId:L.optional()}),si=l([`setup`,`preflight`,`workspace`,`subject`,`judge`]),ci=h({suiteId:L,runId:L,caseId:L.nullable(),armId:L,trial:s().int().min(1),phase:si,cellIndex:s().int().nonnegative(),cellCount:s().int().positive(),startedAt:F}),li=h({id:L,title:c(),error:c().nullable(),caseCount:s().int().nonnegative(),candidateCount:s().int().nonnegative(),armIds:f(L),baselineArm:L.nullable(),latestReport:ri.nullable()}),ui=h({type:p(`benchmark-status`),ts:F,configured:t(),reason:c().nullable(),suites:f(li),inFlight:ci.nullable()}).passthrough(),di=h({__typename:c(),login:c()}).nullable();h({number:s().int().positive(),title:c(),url:I,mergedAt:c().nullable(),reviewThreads:h({totalCount:s().int().nonnegative()}),reviews:h({totalCount:s().int().nonnegative()})});var fi=h({path:c(),line:s().int().positive().nullable(),originalLine:s().int().positive().nullable(),comments:h({nodes:f(h({databaseId:s().int().positive(),author:di,body:c(),createdAt:c(),originalCommit:h({oid:_}).nullable()}))})}),pi=h({databaseId:s().int().positive(),author:di,body:c(),submittedAt:c().nullable(),commit:h({oid:_}).nullable()}),mi=u(`__typename`,[h({__typename:p(`BaseRefChangedEvent`),createdAt:c()}),h({__typename:p(`BaseRefForcePushedEvent`),createdAt:c(),beforeCommit:h({oid:_}).nullable()})]);h({author:di,baseRefOid:_,reviewThreads:h({pageInfo:h({hasNextPage:t()}),nodes:f(fi)}),reviews:h({pageInfo:h({hasNextPage:t()}),nodes:f(pi)}),timelineItems:h({pageInfo:h({hasNextPage:t()}),nodes:f(mi)})}),h({mergeBaseSha:_,changedFiles:f(I),isFileListComplete:t()});var hi=4e3,R=c().nullable().optional(),z=c(),gi=h({path:c(),reason:c()}).strict(),B=lt.shape.unlinkedKeys.unwrap().element,_i=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/([0-9]+)(?:[/?#].*)?$/i;function vi(e){let t=e.trim(),n=_i.exec(t),r=n?`${n[1]}#${n[2]}`:t,i=B.safeParse(r);return i.success?i.data:null}function V(e,t){return n({type:p(e),...t})}function H(e={}){return n(e)}var U=c().nullable(),yi=h({member:U,ref:U,sha:c(),verified:t()}),W=s().finite(),bi=W.optional(),G=U.optional(),K=H(),q=f(e()),xi=s().int().positive(),Si=c().min(1).max(br),Ci=f(a([H({at:W,tool:c(),detail:c()}),H({at:W,note:c()})]));h({id:c(),label:c(),command:c(),args:f(c()),resolvable:t().nullable()}).strict();var wi=h({name:c(),template:c(),parameters:i(c(),c()),hourlyCostUsd:s().nullable(),idleStopMinutes:s()}),Ti=f(wi).nullable(),Ei=l([`claude-code`,`codex`]),Di=h({agent:Ei,state:l([`signed-in`,`signed-out`,`connecting`,`failed`]),source:l([`host`,`glimmervoid`]).nullable(),verificationUrl:c().nullable(),userCode:c().nullable(),needsPastedCode:t(),reason:c().nullable()}).strict(),Oi=f(Di),ki=h({setupWarning:U,lastFailure:h({message:c(),failedAt:W}).nullable()}),Ai=h({id:z,session:c(),taskTitle:sr.nullable().optional(),taskTitleIsCustom:t().optional(),path:c(),agent:c(),state:j,stateSince:W,skipPerms:t(),saneYolo:t(),worktree:t(),workspace:t().optional(),remoteWorkspace:c().optional(),guarded:t().optional(),guardrailsReleased:t().optional(),resumeSessionId:U,ephemeral:t().optional(),ownerId:z.optional(),linkedPrs:f(ct).optional()}),ji=h({transition:h({from:j,to:j,event:c()}).optional(),skipPerms:t().optional(),saneYolo:t().optional(),failureReason:c().optional(),activeAgents:s().int().nonnegative().optional(),awaitingBackgroundTasks:t().optional(),unseenOutcome:cr.nullable().optional(),pendingPromptKind:U.optional()}),Mi=4096,Ni=Mi+2*(vn+gn+80*_n),Pi=h({reason:c(),message:c()}),Fi=l([`npm-global`,`npx`,`clone`,`unknown`]),Ii={updateAvailable:t(),current:U,latest:U,currentSha:U,latestSha:U,releaseUrl:U,command:c(),flavor:Fi,platform:c(),installedBranch:U,upstream:U,isTreeClean:t().nullable(),lastCheckAt:W,channel:kr,reason:U,deprecation:U,journalSummary:Fr.nullable(),applyRefusal:Pi.nullable()};h(Ii);var Li=8192,Ri=h({name:c().max(128),stack:c().max(Li)}).strict(),zi=1e3,Bi=h({scope:c().min(1).max(64),text:c().min(1).max(zi)}).strict(),Vi=Object.freeze([`view_shown`,`operator_action`,`onboarding_step`,`header_error_shown`]);Object.freeze([`focus`,`prs`,`issues`,`usage`,`radar`,`visions`,`hooks`,`trace`,`benchmarks`,`settings`]),Object.freeze({usage:[`sort`,`range`,`period`,`expand`,`refresh`],issues:[`scope`,`filter`,`search`,`filters-toggle`,`select`,`back`,`go-to-session`,`open-session`,`refresh`],radar:[`report`,`open-session`,`resolve`,`suppress`,`archive-investigation`],onboarding:[`rescan`,`add-root-typed`,`add-root-suggested`,`add-session`],reviews:[`open-session`,`approve`,`approve-only`,`comment`,`request-changes`,`discard`,`requeue`,`resolve-thread`,`merge`,`keep-mergeable`,`merge-when-ready`,`refresh`]}),Object.freeze([`agent`,`repo_roots`,`first_session`]),Object.freeze([`current`,`done`]),Object.freeze([`usage`,`issues`,`radar`,`onboarding`,`reviews`]);var Hi=[`kill`,`start-session`,`merge-session`,`finish-session`,`merge-continue-session`,`discard-session-worktree`,`resolve-session-merge`,`request-session-diff`,`request-change-map`,`request-branch-sync`,`resync-branch`,`debug-state`];function Ui(t){return V(t,{id:z,force:e().optional()})}var Wi=Hi.map(Ui),Gi={id:z,force:e().optional(),fresh:e().optional(),conversationId:c().optional()},Ki=[V(`restart`,Gi),V(`force-restart`,Gi),V(`add-session`,{name:c(),path:c(),repos:f(c()).optional(),agent:c().optional(),dangerouslySkipPermissions:t().optional(),saneYolo:t().optional(),unguarded:t().optional(),runInPlace:t().optional(),environment:c().optional(),requestId:R}),V(`quick-session`,{id:z,requestId:R}),V(`remove-session`,{id:z,force:e().optional(),discardWork:t().optional(),confirmedKeptPaths:f(c()).optional(),requestId:R}),V(`list-conversations`,{id:z,requestId:R}),V(`resume-conversation`,{id:z,conversationId:c()}),V(`rename-session`,{id:z,newName:c()}),V(`get-workspace-repos`,{id:z,requestId:R}),V(`set-workspace-repos`,{id:z,repos:f(c()),requestId:R}),V(`set-session-title`,{id:z,title:sr}),V(`link-session-pr`,{id:z,key:B}),V(`unlink-session-pr`,{id:z,key:B}),V(`ping`,{requestId:R}),V(`get-settings`,{requestId:R}),V(`get-agent-logins`,{requestId:R}),V(`start-remote-setup`,{agent:Ei,requestId:R}),V(`agent-connect`,{agent:Ei,action:l([`start`,`cancel`]),requestId:R}),V(`agent-connect-code`,{agent:Ei,code:c(),requestId:R}),V(`update-settings`,{settings:i(c(),e()),requestId:R}),V(`scan-repo-roots`,{requestId:R,includeSuggestions:t().optional()}),V(`list-agents`,{requestId:R,rescan:t().optional()}),V(`get-radar-report`,{issueId:a([c(),s()]),requestId:R}),V(`radar-open-session`,{projectId:a([c(),s()]),issueId:a([c(),s()]),requestId:R}),V(`issue-detail`,{requestId:c().min(1),repo:T,issueNumber:s().int().positive()}),V(`open-issue-session`,{requestId:R,projectId:c(),repo:T,issueNumber:s().int().positive()}),V(`radar-issue-action`,{projectId:a([c(),s()]),issueId:a([c(),s()]),action:c(),requestId:R}),V(`open-team-review-session`,{requestId:R,key:B}),V(`team-review-action`,{...Ke.shape,requestId:R}).refine(Ge,{message:`only discard may omit head`,path:[`head`]}),V(`benchmark-action`,{...ai.shape,requestId:R}),V(`my-pr-merge`,{...St.shape,requestId:R}),V(`my-pr-keep-mergeable`,{...ut.shape,requestId:R}),V(`my-pr-merge-when-ready`,{...pt.shape,requestId:R}),V(`github-polling-refresh`,{...se.shape,requestId:R}),V(`radar-archive-investigation`,{id:e().optional(),requestId:R}),V(`telegram-test`,{requestId:R}),V(`request-usage-report`,{requestId:R,days:e().optional(),force:e().optional()}),V(`request-hooks-report`,{requestId:R}),V(`save-hook`,{hook:i(c(),e()),requestId:R}),V(`delete-hook`,{id:c(),requestId:R}),V(`shutdown`),V(`restart-server`),V(`focus-change`,{focused:t()}),V(`request-health-snapshot`),V(`request-telemetry-deletion`,{requestId:R}),V(`update-check`),V(`update-apply`),V(`session-trace`,{id:z,requestId:R,after:s().int().nonnegative().default(0),endingAt:a([s().int().nonnegative(),p(`tail`)]).optional()}),V(`session-plan`,{id:z,agentId:U,revision:xi.optional(),draft:t().optional()}),V(`plan-decision`,jn.shape),V(`set-session-guardrails`,{id:z,isOn:t()}),V(`session-doc-read`,{id:z,path:Si,requestId:R}),V(`session-doc-save`,{id:z,path:Si,text:c(),baseHash:c().min(1),requestId:R}),V(`session-coherence-journal`,{id:z,requestId:R}),V(`session-setup`,{id:z,requestId:R}),V(`client-error`,Ri.shape),V(`client-log`,Bi.shape),V(`dashboard-telemetry`,{event:l(Vi),properties:i(c(),e())}),V(`dismiss`,{id:z,force:e().optional(),expectedState:j.optional()}),V(`watch-session-changes`,{id:z.nullable()}),...Wi];u(`type`,Ki);var qi=[V(`snapshot`,{sessions:f(M),serverBuild:U}),V(`hooks-report`,{requestId:R,ts:bi,hooks:f(K).optional(),builtin:f(K).optional(),events:f(H({name:c(),matcher:U,description:c(),http:t().optional()})).optional(),projects:f(H({id:c(),name:c(),agent:c()})).optional(),limits:H({maxTimeoutSec:s().int().positive()}).optional(),error:G}),V(`save-hook-result`,{requestId:R,ok:t(),error:G,hook:K.optional()}),V(`add-session-result`,{requestId:R,ok:t(),error:G,reason:l([`not-git`]).optional(),sessionId:c().optional()}),V(`remove-session-result`,{requestId:R,ok:t(),error:G,canDiscardWork:t().optional(),keptPaths:f(gi).optional()}),V(`agent-logins`,{requestId:R,logins:Oi,error:G}),V(`start-remote-setup-result`,{requestId:R,ok:t(),error:G,sessionId:c().optional(),sessionName:c().optional()}),V(`delete-hook-result`,{requestId:R,ok:t(),error:G,id:c().optional()}),V(`workspace-repos`,{requestId:R,id:z,ok:t(),repos:f(c()),error:G}),V(`set-workspace-repos-result`,{requestId:R,id:z,ok:t(),error:G}),V(`hooks-updated`,{count:s().int().nonnegative()}),V(`session-status`,{id:z,session:c(),timestamp:W,...ji.shape}),V(`session-added`,Ai.shape),V(`session-modified`,Ai.shape),V(`session-removed`,{id:z,session:c()}),V(`session-close-confirm`,{id:z,mergeStatus:c()}),V(`session-renamed`,{id:z,oldName:c(),newName:c()}),V(`session-title`,{id:z,taskTitle:sr.nullable(),isCustom:t()}),V(`session-prs`,{id:z,linkedPrs:f(ct)}),V(`session-git`,{id:z,worktree:t()}),V(`session-coherence-hooks`,{id:z,coherenceHooks:hr.nullable()}),V(`session-merge-status`,{id:z,mergeStatus:c(),reason:U,parked:t(),timestamp:W}),V(`session-worktree-blocked`,{id:z,session:c(),branch:U,notice:U,timestamp:W}),V(`session-worktree-warning`,{id:z,session:c(),branch:U,notice:U,timestamp:W}),V(`session-worktree-ready`,{id:z,session:c(),branch:U,base:U,timestamp:W}),V(`session-diff`,{id:z,committed:H({stat:c(),diff:c()}),uncommitted:H({stat:c(),diff:c()}),hasCommits:t(),bases:f(yi)}),V(`session-diff-error`,{id:z,message:c()}),V(`change-map`,{id:z,map:Yn}),V(`branch-sync-status`,{id:z,branch:U,upstream:U,state:c(),ahead:s().int().nonnegative(),behind:s().int().nonnegative(),fetched:t().nullable(),action:c().optional(),error:G}),V(`session-changed`,{id:z}),V(`debug-state-response`,{id:z,payload:K}),V(`session-trace-response`,{id:z,requestId:R,records:f(wr),start:s().int().nonnegative(),next:s().int().nonnegative(),reset:t(),path:c()}),V(`session-trace-changed`,{id:z}),V(`session-plan-changed`,In.shape),V(`session-plan-draft`,Ln.shape),V(`session-plan-response`,Rn.shape),V(`session-docs-changed`,{id:z,docs:f(Sr)}),V(`session-docs-snapshot`,{sessions:i(c(),f(Sr))}),V(`session-shown`,{id:z,files:f(xr)}),V(`session-shown-snapshot`,{sessions:i(c(),f(xr))}),V(`session-doc-response`,{requestId:R,id:z,path:c(),ok:t(),text:c().optional(),hash:c().optional(),error:G}),V(`session-doc-save-result`,{requestId:R,id:z,path:c(),ok:t(),hash:c().optional(),conflict:t().optional(),error:G}),V(`session-coherence`,{id:z,...rr.shape}),V(`session-coherence-snapshot`,{sessions:i(c(),rr)}),V(`session-coherence-journal-response`,{requestId:R,id:z,ok:t(),entries:f(tr).max(200),error:G}),V(`session-setup-response`,{requestId:R,id:z,ok:t(),setup:Er.optional(),error:G}),V(`notify`,{session:c(),category:c(),message:c(),escalationCount:s().int().nonnegative(),kind:p(`plan`).optional()}),V(`update-status`,Ii),V(`update-progress`,{journal:Pr}),V(`post-turn-leftovers`,{repositories:f(c()),command:c()}),V(`error`,{id:z.optional(),message:c(),requestId:R,scope:c().optional()}),V(`session-error`,{id:z.optional(),session:c(),message:c(),scope:c().optional()}),V(`settings`,{settings:K,requestId:R}),V(`settings-error`,{message:c(),requestId:R}),V(`settings-updated`,{settings:K,requestId:R}),V(`pong`,{requestId:R}),V(`agents-listed`,{requestId:R,agents:f(H({id:c(),label:c(),resolvable:t()}))}),V(`repo-roots-scanned`,{requestId:R,directories:f(H({root:c(),projects:f(H({name:c(),path:c(),isGit:t().optional()}))})),suggestions:f(H({path:c(),label:c(),gitRepoCount:s().int().nonnegative()})).optional(),error:c().optional()}),V(`conversations`,{requestId:R,id:U,current:U.optional(),conversations:f(H({id:c(),title:c(),cwd:c(),worktreePath:c(),worktreeName:c(),gitBranch:U,mtime:W})),error:c().optional()}),V(`resume-conversation-ack`,{id:z.optional(),resumeSessionId:U.optional(),ok:t(),error:c().optional(),requestId:R}),V(`health-snapshot`,{stats:K}),V(`radar-status`,{ts:W,intervalMinutes:s(),projects:f(K),investigations:f(K)}),V(`radar-investigation-activity`,{projectId:a([c(),s()]),issueId:c(),inFlight:p(!0),startedAt:W.nullable(),trail:Ci}),V(`radar-investigation-finished`,{projectId:a([c(),s()]),issueId:c(),verdict:c(),summaryLine:U,startedAt:W.nullable(),trail:Ci}),V(`radar-report`,{requestId:R,ok:t(),found:t(),issueId:U,format:c().optional(),content:c().optional(),message:c().optional(),error:c().optional()}),V(`radar-open-session-result`,{requestId:R,ok:t(),error:G,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional()}),V(`issue-detail-result`,{requestId:c().min(1),ok:t(),body:c().nullable(),error:c().nullable()}),V(`open-issue-session-result`,{requestId:R,ok:t(),error:G,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),V(`open-team-review-session-result`,{requestId:R,ok:t(),error:G,key:B.optional(),sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),V(`radar-issue-action-result`,{requestId:R,ok:t(),error:G,status:U.optional()}),V(`team-review-action-result`,{...qe.shape,requestId:R}),V(`telemetry-deletion-result`,{requestId:R,ok:t()}),V(`benchmark-action-result`,{...oi.shape,requestId:R}),V(`my-pr-merge-result`,{...wt.shape,requestId:R}),V(`my-pr-keep-mergeable-result`,{...ft.shape,requestId:R}),V(`my-pr-merge-when-ready-result`,{...mt.shape,requestId:R}),V(`github-polling-refresh-result`,{...ce.shape,requestId:R}),V(`radar-archive-investigation-result`,{requestId:R,ok:t(),error:G}),V(`telegram-test-result`,{requestId:R,ok:t(),error:G,telegramDelivery:ki.nullable()}),et,ui,xt,on,hn,V(`usage-sessions`,{ts:W,pricingSource:U,sessions:f(H({id:z,tokens:s(),costUSD:s(),officialCostUSD:s().nullable().optional()}))}),V(`usage-report`,{requestId:R,ts:bi,tz:c().optional(),blockHours:s().optional(),totals:K.optional(),daily:q.optional(),models:q.optional(),sessions:q.optional(),blocks:q.optional(),activeBlock:e().nullable().optional(),anomaly:e().nullable().optional(),byLane:e().optional(),planWindowLanes:e().nullable().optional(),budget:e().optional(),savings:e().optional(),tokenLimit:e().nullable().optional(),pricing:K.optional(),scan:K.optional(),warning:G,error:G}),V(`plan-limits`,{ts:W,fiveHour:e().nullable(),sevenDay:e().nullable(),source:c(),vendor:l([`claude`,`codex`]).optional()}),V(`usage-budget-alert`,{scope:c(),periodKey:c(),threshold:s(),text:c(),ts:W}),V(`visions-findings`,{uri:c(),diagnostics:q,ts:W}),V(`visions-comments`,{uri:c(),comments:q,ts:W}),V(`visions-hand`,{uri:c(),hand:U,ts:W}),V(`visions-intent`,{projectId:U,intent:K,ts:W}),V(`visions-fix`,{uri:c(),fix:K,ts:W}),V(`visions-snapshot`,{documents:f(K),intent:K,fixes:f(K),ts:W}),V(`ingest-activity`,{events:f(K),overflow:s().int().nonnegative(),ts:W}),V(`ingest-snapshot`,{events:f(K),sources:e(),ts:W}),V(`client-trust`,{trust:l([`local`,`remote`])}),V(`shutting-down`),V(`restarting`)],Ji=u(`type`,qi);function J(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function Y(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}var X=60,Yi=3600,Xi=24,Zi=1024,Qi=Zi*1024,$i=Qi*1024,ea={compact:{second:e=>`${e}s`,minute:e=>`${e}m`,hour:e=>`${e}h`,day:e=>`${e}d`},abbreviated:{second:e=>`${e} sec`,minute:e=>`${e} min`,hour:e=>`${e} hr`,day:e=>`${e} ${e===1?`day`:`days`}`},spelled:{second:e=>`${e} ${e===1?`second`:`seconds`}`,minute:e=>`${e} ${e===1?`minute`:`minutes`}`,hour:e=>`${e} ${e===1?`hour`:`hours`}`,day:e=>`${e} ${e===1?`day`:`days`}`}},ta={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function Z(e){return String(e).padStart(2,`0`)}function na(e,t){return Math.max(0,Math[t](e/1e3))}function ra(e,t){let n=ea[t];if(e<X)return n.second(e);let r=Math.floor(e/X);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<Xi?n.hour(i):n.day(Math.floor(i/Xi))}function ia(e,t){let n=na(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${ra(n,t.wording)}${t.suffix}`}function aa(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<X)return`${e}s`;if(t===`s`&&e<Yi)return r(`${Math.floor(e/X)}m`,e%X,`s`);let i=Math.floor(e/X);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function oa(e,{rounding:t,showsHours:n}){let r=na(e,t),i=Z(r%X),a=Math.floor(r/X),o=Math.floor(r/Yi);return!n||o===0?`${a}:${i}`:`${o}:${Z(a%60)}:${i}`}function sa(e,t){return e<Zi?`${e} B`:t===`KB`||e<Qi?`${(e/Zi).toFixed(1)} KB`:e<$i?`${(e/Qi).toFixed(1)} MB`:`${(e/$i).toFixed(2)} GB`}function ca(e){let t=new Date(e);return`${t.getFullYear()}-${Z(t.getMonth()+1)}-${Z(t.getDate())}`}function la(e){return`${Z(e.getHours())}:${Z(e.getMinutes())}`}function ua(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function da(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function fa(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function pa({getAck:e,setAck:t,signature:n,isLooking:r}){let i=e(),a=e=>{e!==i&&(i=e,t(e))};return{refresh(){let e=n(),t=fa(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function ma(e,{label:t}){if(!e)return`Waiting for ${t} status from the server.`;let n=typeof e.reason==`string`?e.reason.trim():``;return e.configured===!1&&n?`${t} is misconfigured: ${n}.`:e.configured===!1?`${t} is off.`:`${t} is on. Waiting for the first poll.`}var ha=`machine-updates`,ga=`update-actions`,_a={spiking:0,regressed:1,worsened:2,new:3,quiet:4},va={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},ya=99,ba={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function xa(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=Y(t?.at,0),r=J(t?.note,``);if(r)return[{at:n,note:r}];let i=J(t?.tool,``);return i?[{at:n,tool:i,detail:J(t?.detail,``)}]:[]}):[]}function Sa(e){return e.filter(e=>`tool`in e)}function Ca(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function wa(e){let t=xa(e?.trail),n=t.findLast(e=>`note`in e);if(n)return n.note;let r=Sa(t).at(-1);return r?Ca(r):``}function Ta(e){let t=[];for(let n of e){if(`note`in n){t.push({kind:`note`,at:n.at,text:n.note});continue}let e=t.at(-1);e?.kind===`work`?e.stepCount+=1:t.push({kind:`work`,at:n.at,stepCount:1})}return t}function Ea(e){let t=J(e?.summaryLine,``);return e?.inFlight===!0&&wa(e)||t}function Da(e){return{inFlight:e?.inFlight===!0,startedAt:Y(e?.startedAt,null),steps:xa(e?.trail),verdict:J(e?.verdict,``),summaryLine:J(e?.summaryLine,``)}}function Oa(e,t,n){let r=String(t??``),i=String(n??``);if(!r||!i)return null;for(let t of Array.isArray(e?.projects)?e.projects:[])if(String(t?.projectId??``)===r){for(let e of Array.isArray(t.issues)?t.issues:[])if(String(e?.issueId??``)===i)return e}return null}function ka(e,t){let n=Oa(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=Y(t?.startedAt,null),n.trail=xa(t?.trail),!0):!1}function Aa(e){return{inFlight:!1,startedAt:Y(e?.startedAt,null),steps:xa(e?.trail),verdict:J(e?.verdict,``),summaryLine:J(e?.summaryLine,``)}}function ja(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function Ma(e,t){let n=Oa(e,t?.projectId,t?.issueId);if(!n)return!1;let r=Aa(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function Na(e){return ba[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function Pa(e){return oa(e,{rounding:`round`,showsHours:!1})}function Fa(e,t){return e==null?``:`+${Pa(t-e)}`}function Ia(e){let t=e.steps.at(-1),n=t&&`tool`in t?t.tool:t?.note??``;return[e.steps.length,t?.at??0,n].join(`::`)}function La(e,t){if(e.inFlight){let n=Sa(e.steps).length,r=`${n} ${n===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${r}`}return e.verdict?`finished: ${Na(e.verdict)}`:`finished`}function Ra(e){return ma(e,{label:`PostHog monitoring`})}function za(e){return Y(e.intervalMinutes,null)!==null}function Ba(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:za(e)?`placeholder`:`pending`}function Va(e){return va[e??``]||`dim`}function Ha(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function Ua(e){let t=J(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function Wa(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function Ga(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function Ka(e,t=64,n=16){let r=Wa(e);if(r.length<2)return``;let i=Math.max(...r),a=Math.min(...r),o=t/(r.length-1),ee=n/2,s=i-a;return r.map((e,t)=>{let r=t*o,i=s===0?ee:n-(e-a)/s*n;return`${Number(r.toFixed(2))},${Number(i.toFixed(2))}`}).join(` `)}function qa(e){if(e.length<4)return null;let t=Math.floor(e.length/2),n=e.slice(0,t).reduce((e,t)=>e+t,0);if(n===0)return null;let r=e.slice(-t).reduce((e,t)=>e+t,0),i=Math.round(Math.abs(r-n)/Math.abs(n)*100);return r>n?{direction:`up`,percent:i}:r<n?{direction:`down`,percent:i}:{direction:`flat`,percent:i}}function Ja(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function Ya(e){let t=Array.isArray(e)?e:[],n=0,r=0;for(let e of t)e?.change===`spiking`&&(n+=1),e?.verdict===`NEEDS_HUMAN`&&(r+=1);return{active:t.length,spiking:n,needsHuman:r}}var Xa=3e5;function Za(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Xa:t*2}function Qa(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function $a(e){let t=Qa(J(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function eo(e){let t=J(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function to(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=eo(e?.host);n&&t.add(n)}return t.size>1}function no(e,t,n={}){let r=Ya(e?.issues),i=J(e?.error,``).slice(0,200),a=Number(t),o=Number(e?.lastTickAt),ee=Number.isFinite(a)&&Number.isFinite(o)&&o>0?a-o:0,s=ee>Za(n.intervalMs)?ee:0;return{loud:r.active>0||r.spiking>0||!!i||s>0,counts:r,error:i,staleMs:s}}function ro(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=no(e,t,n),o={project:e,...a};a.loud?r.push(o):i.push(o)}return{loud:r,quiet:i}}function io(e,t=null){return(Array.isArray(e?.investigations)?e.investigations:[]).filter(e=>typeof e==`object`&&!!e).filter(e=>typeof e.id==`string`&&e.id!==``).filter(e=>e.archived!==!0).filter(e=>!t?.has(e.id)).map(e=>({id:e.id,issueId:J(e.issueId,``),projectId:e.projectId??null,projectLabel:J(e.projectName,``),title:J(e.title,`Untitled issue`),summaryLine:J(e.summaryLine,``),url:J(e.url,``),verdict:J(e.verdict,`ERROR`).toUpperCase(),mode:J(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(J(e.prUrl,``))?J(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function ao(e,t){if(!t||t.size===0)return t;let n=Array.isArray(e?.investigations)?e.investigations:[],r=new Set;for(let e of n){if(typeof e!=`object`||!e)continue;let{id:t}=e;typeof t==`string`&&r.add(t)}for(let e of[...t])r.has(e)||t.delete(e);return t}function Q(e,t){let n=J(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=he(t,{validate:!0});return r?`commit ${r}`:``}function oo(e){return`Update available: ${Q(e?.current,e?.currentSha)} to ${Q(e?.latest,e?.latestSha)}`}function so({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=J(e?.projectId,J(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=J(i?.issueId,J(i?.title,`#${e}`));i?.change===`spiking`&&t.push(`issue:${n}/${a}:spiking`),i?.verdict===`NEEDS_HUMAN`&&t.push(`issue:${n}/${a}:needs-human`)}}return t}function co(e={}){return da(so(e))}function lo(e){return _a[e??``]??ya}function uo(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=lo(e.issue?.change)-lo(t.issue?.change);if(n!==0)return n;let r=Y(t.issue?.users,0)-Y(e.issue?.users,0);if(r!==0)return r;let i=Y(t.issue?.occurrences,0)-Y(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var fo=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),po=Object.freeze({"release-check-failed":`The last release check failed.`,"update-check-failed":`The last update check failed.`}),mo=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),ho=`Not connected to the server. Reconnecting.`,go=Object.freeze({requested:!1,failure:null});function _o(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function vo(e,t,n=null){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:ho}:t===`progress-frame`?go:t===`error-frame`?e.requested?{requested:!1,failure:n}:e:e.failure===null?e:{requested:e.requested,failure:null}}function yo(e,t){return t?.state?t.state:e?.journalSummary?.state}function $(e,t=null,n=null){return{actions:e,note:t,command:n}}function bo(e){let t=e?.applyRefusal;return t?mo.includes(t.reason):!1}function xo({status:e,journal:t,request:n=go}){if(n.failure===`Not connected to the server. Reconnecting.`)return $([],ho);let r=So(yo(e,t),e,n.requested);return n.failure?{...r,note:n.failure}:r}function So(e,t,n){if(e===`running`||n)return $([]);if(e===`staged`||Co(t))return $([`restart`]);if(!t?.updateAvailable)return $([`check`]);let r=t.applyRefusal;return r?bo(t)?$([`check`],r.message,J(t.command,null)):$([`check`],r.message):$([`update`])}function Co(e){return e?.applyRefusal?.reason===`target-already-checked-out`}function wo(e){return e?.journalSummary?.state===`staged`||Co(e)}function To(e){return po[e]??`The last update check failed: ${e}.`}function Eo(e){let t=J(e?.deprecation,null);return t?`Security notice: ${Q(e?.current,e?.currentSha)||`This version`} is marked unsafe. ${t}`:null}function Do(e){let t=Q(e?.latest,e?.latestSha)||`A new version`;if(wo(e))return{mode:`restart`,text:`${t} is ready. Restart to update, or it installs on the next start.`};if(e?.journalSummary?.state===`running`)return{mode:`link`,text:`Downloading ${t} in the background.`};let n=oo(e);return!e||e.applyRefusal===void 0||bo(e)?{mode:`command`,text:n}:{mode:`link`,text:n}}function Oo(e){let t=Do(e),n=Eo(e);return n?wo(e)||e?.journalSummary?.state===`running`?{mode:t.mode,tone:`security`,text:`${n} ${t.text}`}:{mode:`command`,tone:`security`,text:n}:{...t,tone:`update`}}function ko(e){let t=J(e,``);return t?`: ${t}`:``}var Ao=new Set([`idle`,`staged`,`succeeded`,`discarded`]);function jo(e){return e.state===`failed`?`Update failed${ko(e.reason)}.`:e.state===`interrupted`?`Update interrupted${ko(e.reason)}.`:null}function Mo(e){return fo[e]??e}function No(e){let t=e.steps.find(t=>t.id===e.activeStep);if(t&&t.outputTail.length>0)return{stepId:t.id,lines:t.outputTail};let n=e.steps.findLast(e=>e.outputTail.length>0);return n?{stepId:n.id,lines:n.outputTail}:{stepId:null,lines:[]}}function Po(e){if(!e||Ao.has(e.state))return null;let t=No(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:jo(e),steps:e.steps.map(e=>({id:e.id,label:Mo(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:Mo(n)}}var Fo=6e5;function Io(e,t){let n=yo(e,t),r=Q(t?.toVersion,t?.toSha)||Q(e?.latest,e?.latestSha)||`the update`;if(n===`running`)return{tone:`running`,headline:`Downloading ${r} in the background. Glimmervoid keeps running.`};if(n===`staged`)return{tone:`staged`,headline:`${r} is ready. Restart to update now, or it installs on the next start.`};if(!e)return{tone:`unknown`,headline:`No update check has run yet.`};let i=Eo(e);if(i)return{tone:`security`,headline:i};if(Co(e))return{tone:`staged`,headline:`${Q(e.latest,e.latestSha)||`The latest release`} is already checked out. Restart to run it.`};if(e.updateAvailable)return{tone:`available`,headline:`Update available.`};let a=J(e.reason,``);return a?{tone:`unknown`,headline:To(a)}:{tone:`current`,headline:`Up to date.`}}function Lo(e){return e?.updateAvailable===!0||Co(e)}function Ro(e){if(!e)return`Update status unavailable.`;let t=Q(e.current,null)||`Unknown version`,n=he(e.currentSha,{validate:!0}),r=J(e.installedBranch,``);return[t,[n?`commit ${n}`:``,r?`on ${r}`:``].filter(Boolean).join(` `),e.isTreeClean===!0?`clean checkout`:e.isTreeClean===!1?`uncommitted local changes`:``].filter(Boolean).join(`, `)}function zo(e){return e?{label:Q(e.latest,e.latestSha)||`Latest target unknown`,releaseUrl:J(e.releaseUrl,``)}:{label:`Update status unavailable.`,releaseUrl:``}}function Bo({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<Fo)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=Fo}function Vo({status:e,checkForUpdates:t,relativeTime:n}){return t===!1?`Update checks are off.`:e?e.flavor===`unknown`?`The install flavor is unknown.`:n:`No update check has run.`}export{ua as $,Ga as A,Yt as At,Ka as B,Pe as Bt,io as C,vn as Ct,Ua as D,ln as Dt,Ha as E,wn as Et,Ra as F,ke as Ft,Ta as G,Ya as H,ao as I,xe as It,pa as J,Na as K,Va as L,et as Lt,co as M,wt as Mt,$a as N,xt as Nt,Ea as O,on as Ot,Ba as P,lt as Pt,ia as Q,eo as R,Ue as Rt,to as S,Yn as St,ja as T,yn as Tt,Ia as U,Ja as V,he as Vt,La as W,sa as X,ta as Y,oa as Z,Ma as _,mr as _t,zo as a,Oi as at,Pa as b,cr as bt,Bo as c,zi as ct,xo as d,Ti as dt,ca as et,_o as f,Ei as ft,ka as g,Dr as gt,ha as h,vi as ht,Vo as i,J as it,ro as j,S as jt,qa as k,rn as kt,Lo as l,Mi as lt,ga as m,ki as mt,ho as n,aa as nt,Po as o,hi as ot,Io as p,Ji as pt,da as q,Ro as r,Y as rt,vo as s,Li as st,go as t,la as tt,Oo as u,Ni as ut,Oa as v,ir as vt,Da as w,_n as wt,Fa as x,Xn as xt,Aa as y,ar as yt,uo as z,Ne as zt};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{et as e,it as t,nt as n,rt as r,tt as i}from"./updates-view-core-B_e7uWeW.js";import{n as a,o,u as s}from"./dom-helpers-C7P3_59O.js";import{An as c,Dn as l,En as u,Fn as d,In as f,Mn as p,Nn as m,On as h,Pn as ee,Tn as te,_ as ne,a as g,c as re,d as ie,jn as ae,kn as _,l as oe,m as v,o as se,p as ce,s as le,u as ue,wn as de}from"./index-DkVH8Ze_.js";var fe=`Estimated list prices, not a bill.`,pe=`Enable in Settings.`,me=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],y=/^(\d{4})-(\d{2})-(\d{2})$/,he=new Set([`day`,`model`,`label`]),ge=new Set([`model`,`label`]);function b(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${d(e.toFixed(1))}%`}function _e(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function ve(e){return e===`costUSD`?`share of cost`:`share of tokens`}function x(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function S(e){let t=y.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=me[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function ye(e){let t=be(e);return t.length===0?``:t.length===1?S(t[0]):`${S(t[0])} to ${S(t[t.length-1])}`}function be(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>y.test(e)).sort()}function xe(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:Se(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function Se(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=Ce(e,n);return y.test(r)?r:Ce(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function Ce(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function C(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?`-`:n(Math.round(e)*60,{smallestUnit:`m`,dropsZeroRemainder:!0})}function we(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=me[n.getMonth()];return r?`${r} ${n.getDate()} ${i(n)}`:`-`}function Te(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${_(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:_(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:c(e.costPerHour),sub:``}),t}function Ee(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${_(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push(c(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${C(e.remainingMinutes)} left in this block`:``;if(t.length===0)return n;let r=`-> ${t.join(`, `)} by block end`;return n?`${r}, ${n}`:r}function De(e,t=Date.now()){let n=Number(e?.startTs),r=Number(e?.endTs);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=(r-n)/6e4,a=Math.min(Math.max((t-n)/6e4,0),i);return{totalMinutes:i,elapsedMinutes:a,remainingMinutes:Math.max(i-a,0),pct:Math.round(a/i*100)}}function Oe(e){let t=ae(e);return t===null?``:`${Math.round(t)}% of ${_(e?.max)} tokens, the largest completed block seen`}function ke(e,t){let n=m(e,t);return n===null?``:n>=100?`On this burn rate the block ends past that reference, at ${Math.round(n)}% of it.`:`On this burn rate the block ends at ${Math.round(n)}% of that reference.`}var Ae=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function je(e){let t=Ae.map(t=>{let n=Number(e?.[t.key]);return{spec:t,tokens:Number.isFinite(n)&&n>0?n:0}}),n=t.reduce((e,t)=>e+t.tokens,0);return n<=0?[]:t.map(e=>{let t=x(e.tokens,n)??0,r=_(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${b(t)}`}})}var Me=Object.freeze({interactive:`Interactive`,"pr-review":`PR review`,"team-review":`PR reviews`,posthog:`PostHog`,"my-prs":`Keep mergeable`,workflows:`Workflows`,"change-map":`Change map`,visions:`Visions`,benchmark:`Benchmarks`,"agent-spawn":`Agent API`,"task-title":`Task titles`,other:`Other`}),Ne=`Sessions spawned by Glimmervoid; terminal sessions count as other`,Pe=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function Fe(e){let n=t(e,``);return n?Me[n]||n:Me.other}function w(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function Ie(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function Le(e){return w(e).some(e=>Ie(e.lane))}var Re=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`7 day window`});function ze(e,t,n){let r=p(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function Be(e,t,n,i){if(!Array.isArray(t))return null;let a=t.filter(e=>e&&typeof e.lane==`string`),o=a.reduce((e,t)=>e+r(t.costUSD,0),0),s=a.reduce((e,t)=>e+r(t.tokens,0),0),c=a.filter(e=>Ie(e.lane)).map(e=>({lane:String(e.lane),label:Fe(e.lane),tokens:r(e.tokens,0),costUSD:r(e.costUSD,0)})),l=c.reduce((e,t)=>e+t.costUSD,0),u=c.reduce((e,t)=>e+t.tokens,0),d=o>0?x(l,o):x(u,s),f=ze(n,e,i),p=d===null||f===null?null:d/100*f;return{key:e,label:Re[e],tokens:u,costUSD:l,sharePct:d,planPct:p,lanes:c}}function Ve(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:D.map(e=>Be(e.key,r[e.key],t,n)).filter(e=>e!==null)}function He(e){return e.planPct===null?``:`about ${b(e.planPct)} of plan`}function Ue(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?c(e.costUSD):_(e.tokens)}`).join(`, `)}var We=`team-review`;function Ge(e){if(!Array.isArray(e?.byLane))return null;let t=w(e).find(e=>e.lane===We),n=r(t?.costUSD,0),i=r(t?.tokens,0),a=_e(e?.totals),o=x(a===`costUSD`?n:i,e?.totals?.[a]),s=o===null?``:`${b(o)} of range ${a===`costUSD`?`cost`:`tokens`}`,l=[c(n),s,Ke(t?.sessions)].filter(Boolean).join(`, `);return{label:Fe(We),value:_(i),sub:l}}function Ke(e){let t=r(e,null);return t===null||t<=0?``:`${h(t)} ${t===1?`session`:`sessions`}`}function qe(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function Je(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function Ye(e){return qe(e)!==null||Je(e)!==null}function Xe(e){let t=qe(e);if(!t)return null;let n=r(t.commands,0),i=n===1?`command`:`commands`;return{value:`${_(r(t.savedTokens,0))} tokens`,sub:`${b(r(t.savingsPct,0))} avg across ${h(n)} ${i}`}}function Ze(e){let t=Je(e);if(!t)return null;let n=_(r(t.cacheReadTokens,0)),i=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),a=`${n} cache read tokens`;if(i.length===0)return{value:c(r(t.savedUSD,0)),sub:a};let o=i.length===1?`model`:`models`;return{value:c(r(t.savedUSD,0)),sub:`${a}, a floor (${i.length} unpriced ${o})`}}function Qe(e){return e===`monthly`?`this month`:`today`}function $e(e){return`${c(r(e?.spentUsd,0))} of ${c(r(e?.budgetUsd,0))}`}function et(e){return`${Qe(e?.scope)} spend against budget`}var tt=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function nt(e){let t=y.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function rt(t){let n=nt(t);if(!n)return``;let r=(n.getDay()+6)%7;return n.setDate(n.getDate()-r),e(n)}function it(e){let t=y.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function at(e){return{key:e,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0,days:0,sources:new Set,vendorSet:new Set,modelByName:new Map}}function ot(e,t){e.tokens+=r(t?.tokens,0),e.costUSD+=r(t?.costUSD,0),e.input+=r(t?.input,0),e.output+=r(t?.output,0),e.cacheCreate+=r(t?.cacheCreate,0),e.cacheRead+=r(t?.cacheRead,0),e.days+=1,e.sources.add(t?.source===`history`?`history`:`live`);let n=Array.isArray(t?.vendors)?t.vendors:[];for(let t of n)e.vendorSet.add(t);let i=t?.models||[];for(let t of i){t?.vendor&&e.vendorSet.add(t.vendor);let n=k(t),i=e.modelByName.get(n)||{key:n,model:t?.model??n,vendor:t?.vendor,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0};i.tokens+=r(t?.tokens,0),i.costUSD+=r(t?.costUSD,0),i.input+=r(t?.input,0),i.output+=r(t?.output,0),i.cacheCreate+=r(t?.cacheCreate,0),i.cacheRead+=r(t?.cacheRead,0),e.modelByName.set(n,i)}}function st(e){let{modelByName:t,sources:n,vendorSet:r,...i}=e,a={...i};return a.day=e.key,a.models=Array.from(t.values()).sort((e,t)=>t.tokens-e.tokens),a.source=n.has(`live`)?`live`:`history`,a.vendors=Array.from(r).sort(),a}function ct(e,t){let n=new Map,r=Array.isArray(e)?e:[];for(let e of r){let r=t(e?.day);if(!r)continue;let i=n.get(r)||at(r);ot(i,e),n.set(r,i)}return Array.from(n.values()).map(st)}function lt(e){return ct(e,rt)}function ut(e){return ct(e,it)}function dt(e,t){return t===`week`?lt(e):t===`month`?ut(e):Array.isArray(e)?[...e]:[]}var ft=/^(\d{4})-(\d{2})$/;function pt(e,t){if(t===`month`){let t=ft.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=me[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=S(e);return t===`-`?t:`week of ${t}`}return S(e)}function mt(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var ht=16,gt=Object.freeze([.05,.25,.5,.75]),_t=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function vt(e,t){let n=r(e,0),i=r(t,0);if(n<=0||i<=0)return 0;let a=n/i,o=1;for(let e=0;e<gt.length;e+=1)a>=gt[e]&&(o=e+1);return o}function yt(t,{weeks:n=ht,today:i=new Date}={}){let a=(Array.isArray(t)?t:[]).filter(e=>y.test(String(e?.day??``))),o=new Map(a.map(e=>[String(e.day),e])),s=i instanceof Date?i:new Date(i),c=Number.isFinite(s.getTime())?s:new Date,l=typeof i==`string`&&y.test(i)?i:e(c),u=nt(rt(l));if(!u)return{cells:[],max:0,weeks:0};let d=new Date(u.getFullYear(),u.getMonth(),u.getDate()-(n-1)*7,12),f=e(d),p=[],m=0,h=null;for(let e of a){let t=String(e.day);(h===null||t<h)&&(h=t),!(t<f||t>l)&&(m=Math.max(m,r(e.tokens,0)))}for(let t=0;t<n;t+=1)for(let n=0;n<7;n+=1){let i=new Date(d.getFullYear(),d.getMonth(),d.getDate()+t*7+n,12),a=e(i),s=o.get(a)||null,c=a>l,u=h!==null&&a<h;p.push({day:a,week:t,weekday:n,tokens:r(s?.tokens,0),costUSD:r(s?.costUSD,0),source:s?.source===`history`?`history`:s?`live`:null,noData:c||u||!s&&h===null,tone:vt(s?.tokens,m)})}return{cells:p,max:m,weeks:n}}function bt(e){let t=S(e?.day);if(e?.noData)return`${t}: no data`;let n=r(e?.tokens,0);return n<=0?`${t}: no usage`:`${t}: ${_(n)} tokens, ${c(r(e?.costUSD,0))}`}function xt(e){if(!e)return``;let t=r(e.baselineDays,null),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${Et(e.ratio)} the ${n} average: ${c(e.todayUsd)} against ${c(e.baselineUsd)}.`}function St(e){return e?`This block is burning ${Et(e.ratio)} the usual rate: ${_(e.current)} tokens per minute against ${_(e.baseline)}.`:``}function Ct(e){return[xt(e?.daily),St(e?.burn)].filter(Boolean).join(` `)}function wt(e){return e?.daily||e?.burn?`warn`:`ok`}function Tt(e){return!!(e?.daily||e?.burn)}function Et(e){let t=r(e,null);return t===null?`-`:`${d(t.toFixed(1))}x`}var Dt=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function Ot(e){let n=t(e,``);return n?Dt[n]||n:Dt.claude}function kt(e,t){return T(t)?Ot(e?.vendor):``}function At(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>r(t[n]?.tokens,0)-r(t[e]?.tokens,0)).map(e=>({vendor:e,label:Ot(e),tokens:r(t[e]?.tokens,0),costUSD:r(t[e]?.costUSD,0)}))}function T(e){let t=e?.byVendor;if(!t||typeof t!=`object`)return!1;let n=Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`);return n.length>1||n.length===1&&n[0]!==`claude`}var jt=`Claude only`;function E(e){return T(e)?jt:``}var Mt=36e5,D=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]),Nt=Object.freeze([{vendor:`claude`,label:`Claude Code`},{vendor:`codex`,label:`Codex`}]);function Pt(e,t){let n=`official, from ${Nt.filter(({vendor:t})=>e.includes(t)).map(({label:e})=>e).join(` and `)}`,r=e.length===1&&e[0]===`claude`?E(t):``;return r?`${n}, ${r}`:n}function Ft(e){return D.some(t=>p(e,t.key)!==null)}function It(e){return e===`estimated`?`estimated from the largest completed block`:``}function Lt(e){let t=r(e?.pct,null);return t===null?`-`:`${b(t)} used`}function Rt(e,t=Date.now()){let n=r(e,null);if(n===null||n<=0)return``;let i=(n-t)/6e4;return i<=0?`resetting now`:`resets in ${C(i)}`}function zt(e,t=Date.now()){let n=r(e,null);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function Bt(e,t=Date.now()){let n=r(e,null);return n===null||n<=0||t-n>Mt}function Vt(e,t=Date.now()){if(!Bt(e,t))return``;let n=zt(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function Ht(e){let t=(Array.isArray(e)?e:[]).map(e=>String(e)).filter(e=>e);if(t.length===0)return``;let n=t.length===1?`model`:`models`;return`No price for ${t.length} ${n}: ${t.join(`, `)}. Their cost counts as zero here.`}function Ut(e){let n=t(e?.warning,``);return n?`Glimmervoid could not read every transcript location: ${n}`:``}function Wt(e){return f(e)!==``}function Gt(e){let t=String(e??``).trim();if(!t)return``;let n=t.split(/[\\/]+/).filter(e=>e);return n.length===0?t:n[n.length-1]}function Kt(e){return typeof e?.id==`string`&&e.id!==``}function O(e){let n=t(e?.label,``);return Kt(e)&&n?n:Gt(e?.project)||n||`unknown project`}function k(e){let n=typeof e==`string`?e:e?.model;return t(n,`unknown model`)}function qt(e){return String(e?.day??``)}function Jt(e,t,n){if(!he.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?qt(e):n(e)}function A(e,t,n,r=O){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=Jt(e,t,r),o=Jt(n,t,r);if(typeof i==`string`||typeof o==`string`)return a*String(i).localeCompare(String(o));if(i!==o)return a*(i-o);let s=Number(e?.tokens),c=Number(n?.tokens),l=Number.isFinite(s)?s:0,u=Number.isFinite(c)?c:0;return l===u?r(e).localeCompare(r(n)):u-l})}function Yt(e){return ge.has(e)?`asc`:`desc`}function Xt(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:Yt(t)}}function Zt(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var Qt=Object.freeze({key:`lastTs`,dir:`desc`}),$t=Object.freeze({key:`tokens`,dir:`desc`}),en=Object.freeze({key:`day`,dir:`desc`});function tn(e,t=Qt){return A(e,t.key,t.dir,O)}function nn(e,t,n=10){if(!Array.isArray(e))return{rows:[],hiddenCount:0};let r=Number.isFinite(n)?Math.max(0,Math.floor(n)):10;return t||e.length<=r?{rows:e,hiddenCount:0}:{rows:e.slice(0,r),hiddenCount:e.length-r}}function rn(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${h(t)} hidden`}function an(e,t=$t){return A(e,t.key,t.dir,k)}function on(e,t=en){return A(e,t.key,t.dir,qt)}function sn(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function cn(e,t=8){return(Array.isArray(e)?e:[]).filter(e=>e&&e.isGap!==!0).sort((e,t)=>(Number(t?.startTs)||0)-(Number(e?.startTs)||0)).slice(0,Math.max(0,t)).map(e=>({startTs:Number(e.startTs),tokens:typeof e.tokens==`number`&&Number.isFinite(e.tokens)?e.tokens:0,costUSD:typeof e.costUSD==`number`&&Number.isFinite(e.costUSD)?e.costUSD:0,isActive:e.isActive===!0}))}var j=ie(),M=null,N=en,P=$t,F=Qt,I=!1,L=null,R=`day`,z=new Set,B=null,V=null,H=null,U=null,W=null,G=null,K=null,q=ce(()=>M),J=(e,t)=>a(`usage`,e,t);function Y(e,t,n,r){let i=o(`div`,`usage-tile`);r&&r!==`ok`&&(i.dataset.tone=r);let a=o(`span`,`usage-tile-value`,t);i.append(a,o(`span`,`usage-tile-label`,e));let s=n?o(`span`,`usage-tile-sub`,n):null;return s&&i.append(s),{tile:i,valueEl:a,subEl:s}}function ln(e){let t=Number(e);return Number.isFinite(t)?Math.min(Math.max(t,0),100):0}function X(e,t,n){let r=o(`div`,`usage-meter`);r.dataset.tone=String(t),r.setAttribute(`role`,`progressbar`),r.setAttribute(`aria-valuemin`,`0`),r.setAttribute(`aria-valuemax`,`100`),r.setAttribute(`aria-label`,n);let i=o(`span`,`usage-meter-fill`);return r.append(i),un(r,e),r}function un(e,t){if(!e)return;let n=ln(t);e.setAttribute(`aria-valuenow`,String(Math.round(n)));let r=e.querySelector(`.usage-meter-fill`);r&&(r.style.width=`${n}%`)}function Z(e,t,n,r){let i=o(`div`,`usage-table-scroll`);i.dataset.usageTable=r;let a=o(`table`,`usage-table`),s=o(`thead`),c=o(`tr`);for(let i of e){let e=o(`th`,i.numeric?`usage-num`:null);if(e.scope=`col`,!i.key){e.textContent=i.label,c.append(e);continue}let a=i.key;e.setAttribute(`aria-sort`,Zt(t,a));let s=o(`button`,`usage-sort`,i.label);s.type=`button`,s.dataset.sortKey=a,s.addEventListener(`click`,()=>{g(`sort`),L={kind:`sort`,table:r,key:a},n(a)}),e.append(s),c.append(e)}s.append(c);let l=o(`tbody`);return a.append(s,l),i.append(a),{wrap:i,body:l}}function Q(e,t){for(let n of t){let t=o(`td`,n.numeric?`usage-num`:n.className||null,n.node?null:n.text);n.node&&t.append(n.node),n.title&&(t.title=n.title),n.span&&(t.colSpan=n.span),e.append(t)}}function dn(e){let t=o(`div`,`usage-share`);if(!Number.isFinite(e))return t.append(o(`span`,`usage-share-text`,b(e))),t;let n=o(`span`,`usage-share-bar`),r=o(`span`,`usage-share-fill`);return r.style.width=`${ln(e)}%`,n.append(r),t.append(n,o(`span`,`usage-share-text`,b(e))),t}function fn(){if(!B?.isConnected)return;let e=Number(j.report?.ts);B.textContent=Number.isFinite(e)&&e>0?`Report ${v(e)}`:``}function pn(){if(!V?.isConnected)return;let e=Number(j.sessions?.ts);V.textContent=Number.isFinite(e)&&e>0?`Sessions ${v(e)}`:``}function mn(){let e=De(j.report?.activeBlock);e&&(H?.isConnected&&(H.textContent=`${e.pct}%`),U?.isConnected&&(U.textContent=`${C(e.remainingMinutes)} left`),W?.isConnected&&un(W,e.pct))}function hn(){let e=o(`div`,`usage-controls`),t=o(`label`,`usage-control`);t.append(o(`span`,`usage-control-label`,`Range`));let n=o(`select`,`usage-select`);for(let e of de){let t=o(`option`,null,e.label);t.value=e.value,n.append(t)}n.value=j.rangeValue,n.addEventListener(`change`,()=>{g(`range`),re(n.value),se()}),t.append(n);let r=o(`button`,`usage-refresh`,`Refresh`);r.type=`button`,r.title=`Re-read every transcript from the start`,r.addEventListener(`click`,()=>{g(`refresh`),se({force:!0})});let i=o(`span`,`usage-refresh-status`,``);return G=r,K=i,Gn(),e.append(t,r,i),e}function gn(){let e=J(`Usage`,ye(j.report?.daily||[]));e.append(hn()),B=o(`p`,`usage-meta`,``),e.append(B),fn(),q.onTick(fn);let t=Ut(j.report);t&&e.append(o(`p`,`usage-warning`,t));let n=Ht(j.report?.pricing?.missing);return n&&e.append(o(`p`,`usage-warning`,n)),e}function _n(){let e=Nt.filter(({vendor:e})=>Ft(j.planLimitsByVendor[e]));if(e.length===0)return null;let t=J(`Plan limits`,Pt(e.map(({vendor:e})=>e),j.report?.totals)),n=e.length>1,r=o(`div`,`usage-plan-vendors`);for(let{vendor:t,label:i}of e)r.append(vn(j.planLimitsByVendor[t],n?i:null));return t.append(r),t}function vn(e,t){let n=o(`div`,`usage-plan-vendor`);t&&n.append(o(`p`,`usage-plan-vendor-label`,t));let r=Vt(e?.ts);if(r){let e=o(`p`,`usage-meta`,r);e.dataset.tone=`warn`,n.append(e)}let i=o(`div`,`usage-plan`);for(let t of D){let n=p(e,t.key);n&&i.append(yn(t,n))}let a=o(`p`,`usage-meta`,``);n.append(i,a);let s=()=>{if(!a.isConnected)return;let t=zt(e?.ts);a.textContent=t?`Plan ${t}`:``};return s(),q.onTick(s),n}function yn(e,t){let n=o(`div`,`usage-plan-window`),r=o(`div`,`usage-plan-head`);r.append(o(`span`,`usage-plan-label`,e.label)),r.append(o(`span`,`usage-plan-used`,Lt(t)));let i=o(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(X(t.pct,ee(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=Rt(t.resetsAtMs))};return a(),q.onTick(a),n}function bn(){let e=Ve(j.report,j.planLimitsByVendor.claude),t=xn();if(e.length===0&&!t)return null;let n=J(`Glimmervoid overhead`,e.length>0?Pe:null);if(e.length>0){let t=o(`div`,`usage-tiles`);for(let n of e){let e=[He(n),c(n.costUSD)].filter(Boolean).join(`, `);t.append(Y(`${n.label}, share of Claude use`,b(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=Ue(t);e&&n.append(o(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(o(`p`,`usage-meta`,`Selected range by lane. ${Ne}`)),n.append(t)),n}function xn(){if(!Le(j.report))return null;let e=w(j.report),t=e.reduce((e,t)=>e+(typeof t.costUSD==`number`&&Number.isFinite(t.costUSD)?t.costUSD:0),0),{wrap:n,body:r}=Z([{label:`Lane`},{label:`Cost`,numeric:!0},{label:`Tokens`,numeric:!0},{label:`Sessions`,numeric:!0},{label:`Share`,numeric:!0}],null,()=>{},`lane`);for(let n of e){let e=o(`tr`,`usage-row`);n.lane===`other`&&(e.dataset.lane=`other`),Q(e,[{text:Fe(n.lane),className:`usage-lane-cell`},{text:c(n.costUSD),numeric:!0},{text:_(n.tokens),numeric:!0},{text:Ke(n.sessions),numeric:!0},{node:dn(x(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function Sn(){let e=j.report?.activeBlock,t=j.report?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=E(j.report?.totals),i=J(`Current block`,r?`${n}h window, ${r}`:`${n}h window`);if(!e){i.append(o(`p`,`usage-empty`,`No active block.`));let e=Cn();return e&&i.append(e),i}let a=te(j.report,j.planLimitsByVendor.claude),s=o(`div`,`usage-tiles`);s.append(Y(`block tokens`,_(e.tokens??0),c(e.costUSD??0),a).tile);for(let t of Te(e.burn))s.append(Y(t.label,t.value,t.sub,a).tile);let l=De(e);if(l){let e=Y(`elapsed`,`${l.pct}%`,`${C(l.remainingMinutes)} left`);H=e.valueEl,U=e.subEl,s.append(e.tile)}i.append(s),l&&(W=X(l.pct,`ok`,`Elapsed share of the current block window`),i.append(W),q.onTick(mn));let u=Ee(e.projection);if(u){let e=o(`p`,`usage-projection`,u);e.dataset.tone=a,i.append(e)}let d=Cn();d&&i.append(d);let f=Oe(j.report?.tokenLimit);if(!f)return i;let p=ae(j.report?.tokenLimit),m=te(j.report);i.append(X(p,m,`Share of the largest completed block seen, estimated`));let h=o(`p`,`usage-meta`,f);h.dataset.tone=m,i.append(h),i.append(o(`p`,`usage-provenance`,It(`estimated`)));let ee=ke(e.projection,j.report?.tokenLimit);if(ee){let e=o(`p`,`usage-meta`,ee);e.dataset.tone=m,i.append(e)}return i}function Cn(){let e=j.report?.anomaly;if(!Tt(e))return null;let t=o(`p`,`usage-meta`,Ct(e));return t.dataset.tone=wt(e),t}function wn(){let e=cn(j.report?.blocks);if(e.length===0)return null;let t=E(j.report?.totals),n=J(`Recent blocks`,t?`newest first, ${t}`:`newest first`),r=o(`div`,`usage-blocks`),i=e.reduce((e,t)=>Math.max(e,t.tokens),0);for(let t of e){let e=o(`div`,`usage-block`);t.isActive&&(e.dataset.active=`true`),e.append(o(`span`,`usage-block-label`,we(t.startTs)));let n=o(`span`,`usage-block-bar`),a=o(`span`,`usage-block-fill`);a.style.width=`${ln(x(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(o(`span`,`usage-block-value`,`${_(t.tokens)} ${c(t.costUSD)}`)),r.append(e)}return n.append(r),n}function Tn(){let e=j.report?.totals||{},t=sn(j.report?.daily,xe(j.report)),n=J(`Totals`,[fe,j.report?.tz?`TZ ${j.report.tz}`:``].filter(Boolean).join(` `)),r=te(j.report,j.planLimitsByVendor.claude),i=o(`div`,`usage-tiles`);i.append(Y(`today`,_(t?.tokens??0),c(t?.costUSD??0),r).tile),i.append(Y(`range total`,_(e.tokens??0),c(e.costUSD??0)).tile);let a=Ge(j.report);a&&i.append(Y(a.label,a.value,a.sub).tile),n.append(i);let s=En(e);s&&n.append(s);let l=T(e)?At(e):[];if(l.length>0){let e=o(`div`,`usage-tiles usage-vendor-tiles`);for(let t of l)e.append(Y(t.label,_(t.tokens),c(t.costUSD)).tile);n.append(e)}return V=o(`p`,`usage-meta`,``),n.append(V),pn(),q.onTick(pn),n}function En(e){let t=je(e);if(t.length===0)return null;let n=o(`div`,`usage-compo`),r=o(`div`,`usage-compo-bar`);r.setAttribute(`aria-hidden`,`true`);for(let e of t){if(e.pct<=0)continue;let t=o(`span`,`usage-compo-fill`);t.dataset.part=e.key,t.style.width=`${e.pct}%`,t.title=e.title,r.append(t)}let i=o(`div`,`usage-compo-legend`);for(let e of t){let t=o(`span`,`usage-compo-item`),n=o(`span`,`usage-compo-swatch`);n.dataset.part=e.key,t.append(n,o(`span`,`usage-compo-label`,e.label),o(`span`,`usage-compo-value`,e.value)),i.append(t)}return n.append(r,i),n}function Dn(){let e=j.report?.savings;if(!Ye(e))return null;let t=J(`Savings`,``),n=o(`div`,`usage-tiles`),r=Xe(e);r&&n.append(Y(`rtk compression`,r.value,r.sub).tile);let i=Ze(e);return i&&n.append(Y(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function On(){let e=l(j.report);if(e.length===0)return null;let t=J(`Budgets`,`your own ceilings`),n=o(`div`,`usage-budgets`),r=ne(`machine-usage`,`usage-daily-budget`,`Budget settings`);n.appendChild(r);for(let t of e){let e=o(`div`,`usage-budget`),r=o(`div`,`usage-budget-head`);r.append(o(`span`,`usage-budget-label`,Qe(t.scope))),r.append(o(`span`,`usage-budget-value`,$e(t))),r.append(o(`span`,`usage-budget-pct`,b(u(t)))),e.append(r),e.append(X(u(t),t.tone,et(t))),n.append(e)}return t.append(n),t}function kn(){let e=j.report?.daily||[],t=R,n=on(dt(e,t),N),r=tt.find(e=>e.value===t)?.label||`Day`,i=J(`Over time`,[mt(e)].filter(Boolean).join(`, `));if(i.append(An()),n.length===0)return i.append(o(`p`,`usage-empty`,`No usage.`)),i;let a=Mn(e);a&&i.append(a);let{wrap:s,body:l}=Z([{label:r,key:`day`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Models`}],N,e=>{N=Xt(N,e),$()},`day`);for(let e of n){let n=String(e.day??``),r=o(`tr`,`usage-row`);e.source===`history`&&(r.dataset.source=`history`);let i=an(e.models),a=`${t}:${n}`,s=Nn(a,i.length);Q(r,[{node:jn(e,t),title:n},{text:_(e.tokens),numeric:!0},{text:c(e.costUSD),numeric:!0},{node:s,className:`usage-toggle-cell`}]),l.append(r),i.length!==0&&z.has(a)&&l.append(Pn(i))}return i.append(s),i}function An(){let e=o(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of tt){let n=o(`button`,`usage-period-button`,t.label);n.type=`button`,n.dataset.periodView=t.value,n.setAttribute(`aria-pressed`,t.value===R?`true`:`false`),n.addEventListener(`click`,()=>{R!==t.value&&(g(`period`),R=t.value,L={kind:`period`,view:t.value},$())}),e.append(n)}return e}function jn(e,t){let n=o(`span`,`usage-period-cell`);return n.append(o(`span`,null,pt(e.day,t))),e.source===`history`&&n.append(o(`span`,`usage-history-tag`,`history`)),n}function Mn(e){let{cells:t,max:n}=yt(e,{today:xe(j.report)});if(t.length===0||n<=0)return null;let r=o(`div`,`usage-heatmap-scroll`),i=o(`div`,`usage-heatmap`);i.setAttribute(`role`,`img`),i.setAttribute(`aria-label`,`Daily usage for the trailing ${Math.max(...t.map(e=>e.week))+1} weeks`);let a=o(`div`,`usage-heatmap-days`);for(let e of _t)a.append(o(`span`,`usage-heatmap-day`,e));for(let e of t){let t=o(`span`,`usage-heatmap-cell`);t.dataset.tone=String(e.tone),e.noData&&(t.dataset.noData=`true`),e.source===`history`&&(t.dataset.source=`history`),t.style.gridColumn=String(e.week+1),t.style.gridRow=String(e.weekday+1),t.title=bt(e),i.append(t)}return r.append(a,i),r}function Nn(e,t){if(t===0)return null;let n=o(`button`,`usage-toggle`,`Models`);return n.type=`button`,n.dataset.usageDay=e,n.setAttribute(`aria-expanded`,z.has(e)?`true`:`false`),n.addEventListener(`click`,()=>{g(`expand`),L={kind:`day`,day:e},z.has(e)?(z.delete(e),$()):(z.add(e),$())}),n}function Pn(e){let t=o(`tr`,`usage-row-breakdown`),n=o(`td`,`usage-models`);n.colSpan=4;for(let t of e){let e=o(`span`,`usage-model-chip`);e.append(o(`span`,`usage-model-name`,k(t)),o(`span`,`usage-model-value`,`${_(t.tokens)} ${c(t.costUSD)}`)),n.append(e)}return t.append(n),t}function Fn(e,t){let n=o(`span`,`usage-model-name-wrap`),r=kt(e,t);return r&&n.append(o(`span`,`usage-vendor-tag`,r)),n.append(o(`span`,null,k(e))),n}function In(){let e=an(j.report?.models,P),t=j.report?.totals||{},n=_e(t),r=J(`By model`,ve(n));if(e.length===0)return r.append(o(`p`,`usage-empty`,`No models.`)),r;let{wrap:i,body:a}=Z([{label:`Model`,key:`model`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Input`,numeric:!0,key:`input`},{label:`Output`,numeric:!0,key:`output`},{label:`Cache write`,numeric:!0,key:`cacheCreate`},{label:`Cache read`,numeric:!0,key:`cacheRead`}],P,e=>{P=Xt(P,e),$()},`model`);for(let r of e){let e=o(`tr`,`usage-row`);Q(e,[{node:Fn(r,t),className:`usage-model-cell`,title:k(r)},{text:_(r.tokens),numeric:!0},{text:c(r.costUSD),numeric:!0},{node:dn(x(r[n],t[n])),className:`usage-share-cell`},{text:_(r.input),numeric:!0},{text:_(r.output),numeric:!0},{text:_(r.cacheCreate),numeric:!0},{text:_(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function Ln(){let e=tn(j.report?.sessions,F),t=nn(e,I),n=j.report?.totals||{},r=_e(n),i=J(`By session`,ve(r));if(e.length===0)return i.append(o(`p`,`usage-empty`,`No sessions.`)),i;let{wrap:a,body:s}=Z([{label:`Session`,key:`label`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Last activity`,numeric:!0,key:`lastTs`}],F,e=>{F=Xt(F,e),$()},`session`);for(let e of t.rows){let t=o(`tr`,`usage-row`);Kt(e)&&(t.dataset.managed=`true`);let i=O(e),a=o(`span`,`usage-ago`,``);Q(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:_(e.tokens),numeric:!0},{text:c(e.costUSD),numeric:!0},{node:dn(x(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),q.track(a,Number(e.lastTs),v),s.append(t)}return i.append(a),e.length>10&&i.append(Rn(t.hiddenCount)),i}function Rn(e){let t=o(`div`,`usage-overflow`),n=rn(e);n&&t.append(o(`p`,`usage-meta`,n));let r=o(`button`,`usage-toggle`,`All sessions`);return r.type=`button`,r.dataset.usageSessionsToggle=`true`,r.setAttribute(`aria-expanded`,I?`true`:`false`),r.addEventListener(`click`,()=>{g(`expand`),L={kind:`sessions-toggle`},I=!I,$()}),t.append(r),t}function zn(){let e=J(`Not available`,``);return e.append(o(`p`,`usage-empty`,f(j.report))),e.append(o(`p`,`usage-empty`,pe)),e}function Bn(){B=null,V=null,H=null,U=null,W=null,G=null,K=null}function $({force:e=!1}={}){if(!M||!e&&s(M))return;j=ie();let t=M.parentElement,n=t?t.scrollTop:0;q.reset(),Bn(),M.textContent=``,Un(),t&&(t.scrollTop=n),Vn()}function Vn(){let e=L;if(L=null,!e)return;let t=Hn(e);if(!t||!M)return;let n=M.querySelector(t);n instanceof HTMLElement&&n.focus()}function Hn(e){return e.kind===`day`?`.usage-toggle[data-usage-day="${CSS.escape(e.day)}"]`:e.kind===`period`?`.usage-period-button[data-period-view="${CSS.escape(e.view)}"]`:e.kind===`sessions-toggle`?`.usage-toggle[data-usage-sessions-toggle="true"]`:e.kind===`sort`?`[data-usage-table="${CSS.escape(e.table)}"] .usage-sort[data-sort-key="${CSS.escape(e.key)}"]`:null}function Un(){if(!M)return;M.append(gn());let e=_n();if(Wt(j.report)){e&&M.append(e),M.append(zn());return}if(!j.report){e&&M.append(e),M.append(o(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,On()].filter(e=>e!==null);M.append(Wn(`usage-band-now`,Sn(),t,{sideFirst:!0}));let n=[Dn()].filter(e=>e!==null);M.append(Wn(`usage-band-spend`,Tn(),n));let r=[wn()].filter(e=>e!==null);M.append(Wn(`usage-band-trend`,kn(),r));let i=bn();i&&M.append(i),M.append(In(),Ln())}function Wn(e,t,n,{sideFirst:r=!1}={}){if(n.length===0)return t;let i=o(`div`,`usage-band ${e}`),a=o(`div`,`usage-band-col`);for(let e of n)a.append(e);return r?(i.append(a,t),i):(i.append(t,a),i)}function Gn(){let e=ue();G&&(G.disabled=e.isPending),K&&(K.textContent=e.text,e.hasFailure?K.dataset.tone=`error`:delete K.dataset.tone)}function Kn(e){e===`refresh-status`?Gn():(j=ie(),e===`sessions`&&j.report&&!Wt(j.report)&&V?.isConnected?pn():$())}function qn(e){if(M)return;let t=o(`div`,`usage-content`);e.appendChild(t),M=t,le(()=>!s(M)),oe(Kn),q.ensure(),$({force:!0})}function Jn(e){e===`shown`&&$({force:!0}),se()}var Yn={mount:qn,refresh:Jn};export{Yn as view};
|
|
1
|
+
import{et as e,it as t,nt as n,rt as r,tt as i}from"./updates-view-core-BYoMfzXj.js";import{n as a,o,u as s}from"./dom-helpers-C7P3_59O.js";import{An as c,Dn as l,En as u,Fn as d,In as f,Mn as p,Nn as m,On as h,Pn as ee,Tn as te,_ as ne,a as g,c as re,d as ie,jn as ae,kn as _,l as oe,m as v,o as se,p as ce,s as le,u as ue,wn as de}from"./index-CClbz7ym.js";var fe=`Estimated list prices, not a bill.`,pe=`Enable in Settings.`,me=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],y=/^(\d{4})-(\d{2})-(\d{2})$/,he=new Set([`day`,`model`,`label`]),ge=new Set([`model`,`label`]);function b(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${d(e.toFixed(1))}%`}function _e(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function ve(e){return e===`costUSD`?`share of cost`:`share of tokens`}function x(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function S(e){let t=y.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=me[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function ye(e){let t=be(e);return t.length===0?``:t.length===1?S(t[0]):`${S(t[0])} to ${S(t[t.length-1])}`}function be(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>y.test(e)).sort()}function xe(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:Se(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function Se(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=Ce(e,n);return y.test(r)?r:Ce(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function Ce(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function C(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?`-`:n(Math.round(e)*60,{smallestUnit:`m`,dropsZeroRemainder:!0})}function we(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=me[n.getMonth()];return r?`${r} ${n.getDate()} ${i(n)}`:`-`}function Te(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${_(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:_(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:c(e.costPerHour),sub:``}),t}function Ee(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${_(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push(c(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${C(e.remainingMinutes)} left in this block`:``;if(t.length===0)return n;let r=`-> ${t.join(`, `)} by block end`;return n?`${r}, ${n}`:r}function De(e,t=Date.now()){let n=Number(e?.startTs),r=Number(e?.endTs);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=(r-n)/6e4,a=Math.min(Math.max((t-n)/6e4,0),i);return{totalMinutes:i,elapsedMinutes:a,remainingMinutes:Math.max(i-a,0),pct:Math.round(a/i*100)}}function Oe(e){let t=ae(e);return t===null?``:`${Math.round(t)}% of ${_(e?.max)} tokens, the largest completed block seen`}function ke(e,t){let n=m(e,t);return n===null?``:n>=100?`On this burn rate the block ends past that reference, at ${Math.round(n)}% of it.`:`On this burn rate the block ends at ${Math.round(n)}% of that reference.`}var Ae=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function je(e){let t=Ae.map(t=>{let n=Number(e?.[t.key]);return{spec:t,tokens:Number.isFinite(n)&&n>0?n:0}}),n=t.reduce((e,t)=>e+t.tokens,0);return n<=0?[]:t.map(e=>{let t=x(e.tokens,n)??0,r=_(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${b(t)}`}})}var Me=Object.freeze({interactive:`Interactive`,"pr-review":`PR review`,"team-review":`PR reviews`,posthog:`PostHog`,"my-prs":`Keep mergeable`,workflows:`Workflows`,"change-map":`Change map`,visions:`Visions`,benchmark:`Benchmarks`,"agent-spawn":`Agent API`,"task-title":`Task titles`,other:`Other`}),Ne=`Sessions spawned by Glimmervoid; terminal sessions count as other`,Pe=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function Fe(e){let n=t(e,``);return n?Me[n]||n:Me.other}function w(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function Ie(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function Le(e){return w(e).some(e=>Ie(e.lane))}var Re=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`7 day window`});function ze(e,t,n){let r=p(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function Be(e,t,n,i){if(!Array.isArray(t))return null;let a=t.filter(e=>e&&typeof e.lane==`string`),o=a.reduce((e,t)=>e+r(t.costUSD,0),0),s=a.reduce((e,t)=>e+r(t.tokens,0),0),c=a.filter(e=>Ie(e.lane)).map(e=>({lane:String(e.lane),label:Fe(e.lane),tokens:r(e.tokens,0),costUSD:r(e.costUSD,0)})),l=c.reduce((e,t)=>e+t.costUSD,0),u=c.reduce((e,t)=>e+t.tokens,0),d=o>0?x(l,o):x(u,s),f=ze(n,e,i),p=d===null||f===null?null:d/100*f;return{key:e,label:Re[e],tokens:u,costUSD:l,sharePct:d,planPct:p,lanes:c}}function Ve(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:D.map(e=>Be(e.key,r[e.key],t,n)).filter(e=>e!==null)}function He(e){return e.planPct===null?``:`about ${b(e.planPct)} of plan`}function Ue(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?c(e.costUSD):_(e.tokens)}`).join(`, `)}var We=`team-review`;function Ge(e){if(!Array.isArray(e?.byLane))return null;let t=w(e).find(e=>e.lane===We),n=r(t?.costUSD,0),i=r(t?.tokens,0),a=_e(e?.totals),o=x(a===`costUSD`?n:i,e?.totals?.[a]),s=o===null?``:`${b(o)} of range ${a===`costUSD`?`cost`:`tokens`}`,l=[c(n),s,Ke(t?.sessions)].filter(Boolean).join(`, `);return{label:Fe(We),value:_(i),sub:l}}function Ke(e){let t=r(e,null);return t===null||t<=0?``:`${h(t)} ${t===1?`session`:`sessions`}`}function qe(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function Je(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function Ye(e){return qe(e)!==null||Je(e)!==null}function Xe(e){let t=qe(e);if(!t)return null;let n=r(t.commands,0),i=n===1?`command`:`commands`;return{value:`${_(r(t.savedTokens,0))} tokens`,sub:`${b(r(t.savingsPct,0))} avg across ${h(n)} ${i}`}}function Ze(e){let t=Je(e);if(!t)return null;let n=_(r(t.cacheReadTokens,0)),i=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),a=`${n} cache read tokens`;if(i.length===0)return{value:c(r(t.savedUSD,0)),sub:a};let o=i.length===1?`model`:`models`;return{value:c(r(t.savedUSD,0)),sub:`${a}, a floor (${i.length} unpriced ${o})`}}function Qe(e){return e===`monthly`?`this month`:`today`}function $e(e){return`${c(r(e?.spentUsd,0))} of ${c(r(e?.budgetUsd,0))}`}function et(e){return`${Qe(e?.scope)} spend against budget`}var tt=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function nt(e){let t=y.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function rt(t){let n=nt(t);if(!n)return``;let r=(n.getDay()+6)%7;return n.setDate(n.getDate()-r),e(n)}function it(e){let t=y.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function at(e){return{key:e,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0,days:0,sources:new Set,vendorSet:new Set,modelByName:new Map}}function ot(e,t){e.tokens+=r(t?.tokens,0),e.costUSD+=r(t?.costUSD,0),e.input+=r(t?.input,0),e.output+=r(t?.output,0),e.cacheCreate+=r(t?.cacheCreate,0),e.cacheRead+=r(t?.cacheRead,0),e.days+=1,e.sources.add(t?.source===`history`?`history`:`live`);let n=Array.isArray(t?.vendors)?t.vendors:[];for(let t of n)e.vendorSet.add(t);let i=t?.models||[];for(let t of i){t?.vendor&&e.vendorSet.add(t.vendor);let n=k(t),i=e.modelByName.get(n)||{key:n,model:t?.model??n,vendor:t?.vendor,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0};i.tokens+=r(t?.tokens,0),i.costUSD+=r(t?.costUSD,0),i.input+=r(t?.input,0),i.output+=r(t?.output,0),i.cacheCreate+=r(t?.cacheCreate,0),i.cacheRead+=r(t?.cacheRead,0),e.modelByName.set(n,i)}}function st(e){let{modelByName:t,sources:n,vendorSet:r,...i}=e,a={...i};return a.day=e.key,a.models=Array.from(t.values()).sort((e,t)=>t.tokens-e.tokens),a.source=n.has(`live`)?`live`:`history`,a.vendors=Array.from(r).sort(),a}function ct(e,t){let n=new Map,r=Array.isArray(e)?e:[];for(let e of r){let r=t(e?.day);if(!r)continue;let i=n.get(r)||at(r);ot(i,e),n.set(r,i)}return Array.from(n.values()).map(st)}function lt(e){return ct(e,rt)}function ut(e){return ct(e,it)}function dt(e,t){return t===`week`?lt(e):t===`month`?ut(e):Array.isArray(e)?[...e]:[]}var ft=/^(\d{4})-(\d{2})$/;function pt(e,t){if(t===`month`){let t=ft.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=me[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=S(e);return t===`-`?t:`week of ${t}`}return S(e)}function mt(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var ht=16,gt=Object.freeze([.05,.25,.5,.75]),_t=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function vt(e,t){let n=r(e,0),i=r(t,0);if(n<=0||i<=0)return 0;let a=n/i,o=1;for(let e=0;e<gt.length;e+=1)a>=gt[e]&&(o=e+1);return o}function yt(t,{weeks:n=ht,today:i=new Date}={}){let a=(Array.isArray(t)?t:[]).filter(e=>y.test(String(e?.day??``))),o=new Map(a.map(e=>[String(e.day),e])),s=i instanceof Date?i:new Date(i),c=Number.isFinite(s.getTime())?s:new Date,l=typeof i==`string`&&y.test(i)?i:e(c),u=nt(rt(l));if(!u)return{cells:[],max:0,weeks:0};let d=new Date(u.getFullYear(),u.getMonth(),u.getDate()-(n-1)*7,12),f=e(d),p=[],m=0,h=null;for(let e of a){let t=String(e.day);(h===null||t<h)&&(h=t),!(t<f||t>l)&&(m=Math.max(m,r(e.tokens,0)))}for(let t=0;t<n;t+=1)for(let n=0;n<7;n+=1){let i=new Date(d.getFullYear(),d.getMonth(),d.getDate()+t*7+n,12),a=e(i),s=o.get(a)||null,c=a>l,u=h!==null&&a<h;p.push({day:a,week:t,weekday:n,tokens:r(s?.tokens,0),costUSD:r(s?.costUSD,0),source:s?.source===`history`?`history`:s?`live`:null,noData:c||u||!s&&h===null,tone:vt(s?.tokens,m)})}return{cells:p,max:m,weeks:n}}function bt(e){let t=S(e?.day);if(e?.noData)return`${t}: no data`;let n=r(e?.tokens,0);return n<=0?`${t}: no usage`:`${t}: ${_(n)} tokens, ${c(r(e?.costUSD,0))}`}function xt(e){if(!e)return``;let t=r(e.baselineDays,null),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${Et(e.ratio)} the ${n} average: ${c(e.todayUsd)} against ${c(e.baselineUsd)}.`}function St(e){return e?`This block is burning ${Et(e.ratio)} the usual rate: ${_(e.current)} tokens per minute against ${_(e.baseline)}.`:``}function Ct(e){return[xt(e?.daily),St(e?.burn)].filter(Boolean).join(` `)}function wt(e){return e?.daily||e?.burn?`warn`:`ok`}function Tt(e){return!!(e?.daily||e?.burn)}function Et(e){let t=r(e,null);return t===null?`-`:`${d(t.toFixed(1))}x`}var Dt=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function Ot(e){let n=t(e,``);return n?Dt[n]||n:Dt.claude}function kt(e,t){return T(t)?Ot(e?.vendor):``}function At(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>r(t[n]?.tokens,0)-r(t[e]?.tokens,0)).map(e=>({vendor:e,label:Ot(e),tokens:r(t[e]?.tokens,0),costUSD:r(t[e]?.costUSD,0)}))}function T(e){let t=e?.byVendor;if(!t||typeof t!=`object`)return!1;let n=Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`);return n.length>1||n.length===1&&n[0]!==`claude`}var jt=`Claude only`;function E(e){return T(e)?jt:``}var Mt=36e5,D=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]),Nt=Object.freeze([{vendor:`claude`,label:`Claude Code`},{vendor:`codex`,label:`Codex`}]);function Pt(e,t){let n=`official, from ${Nt.filter(({vendor:t})=>e.includes(t)).map(({label:e})=>e).join(` and `)}`,r=e.length===1&&e[0]===`claude`?E(t):``;return r?`${n}, ${r}`:n}function Ft(e){return D.some(t=>p(e,t.key)!==null)}function It(e){return e===`estimated`?`estimated from the largest completed block`:``}function Lt(e){let t=r(e?.pct,null);return t===null?`-`:`${b(t)} used`}function Rt(e,t=Date.now()){let n=r(e,null);if(n===null||n<=0)return``;let i=(n-t)/6e4;return i<=0?`resetting now`:`resets in ${C(i)}`}function zt(e,t=Date.now()){let n=r(e,null);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function Bt(e,t=Date.now()){let n=r(e,null);return n===null||n<=0||t-n>Mt}function Vt(e,t=Date.now()){if(!Bt(e,t))return``;let n=zt(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function Ht(e){let t=(Array.isArray(e)?e:[]).map(e=>String(e)).filter(e=>e);if(t.length===0)return``;let n=t.length===1?`model`:`models`;return`No price for ${t.length} ${n}: ${t.join(`, `)}. Their cost counts as zero here.`}function Ut(e){let n=t(e?.warning,``);return n?`Glimmervoid could not read every transcript location: ${n}`:``}function Wt(e){return f(e)!==``}function Gt(e){let t=String(e??``).trim();if(!t)return``;let n=t.split(/[\\/]+/).filter(e=>e);return n.length===0?t:n[n.length-1]}function Kt(e){return typeof e?.id==`string`&&e.id!==``}function O(e){let n=t(e?.label,``);return Kt(e)&&n?n:Gt(e?.project)||n||`unknown project`}function k(e){let n=typeof e==`string`?e:e?.model;return t(n,`unknown model`)}function qt(e){return String(e?.day??``)}function Jt(e,t,n){if(!he.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?qt(e):n(e)}function A(e,t,n,r=O){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=Jt(e,t,r),o=Jt(n,t,r);if(typeof i==`string`||typeof o==`string`)return a*String(i).localeCompare(String(o));if(i!==o)return a*(i-o);let s=Number(e?.tokens),c=Number(n?.tokens),l=Number.isFinite(s)?s:0,u=Number.isFinite(c)?c:0;return l===u?r(e).localeCompare(r(n)):u-l})}function Yt(e){return ge.has(e)?`asc`:`desc`}function Xt(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:Yt(t)}}function Zt(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var Qt=Object.freeze({key:`lastTs`,dir:`desc`}),$t=Object.freeze({key:`tokens`,dir:`desc`}),en=Object.freeze({key:`day`,dir:`desc`});function tn(e,t=Qt){return A(e,t.key,t.dir,O)}function nn(e,t,n=10){if(!Array.isArray(e))return{rows:[],hiddenCount:0};let r=Number.isFinite(n)?Math.max(0,Math.floor(n)):10;return t||e.length<=r?{rows:e,hiddenCount:0}:{rows:e.slice(0,r),hiddenCount:e.length-r}}function rn(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${h(t)} hidden`}function an(e,t=$t){return A(e,t.key,t.dir,k)}function on(e,t=en){return A(e,t.key,t.dir,qt)}function sn(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function cn(e,t=8){return(Array.isArray(e)?e:[]).filter(e=>e&&e.isGap!==!0).sort((e,t)=>(Number(t?.startTs)||0)-(Number(e?.startTs)||0)).slice(0,Math.max(0,t)).map(e=>({startTs:Number(e.startTs),tokens:typeof e.tokens==`number`&&Number.isFinite(e.tokens)?e.tokens:0,costUSD:typeof e.costUSD==`number`&&Number.isFinite(e.costUSD)?e.costUSD:0,isActive:e.isActive===!0}))}var j=ie(),M=null,N=en,P=$t,F=Qt,I=!1,L=null,R=`day`,z=new Set,B=null,V=null,H=null,U=null,W=null,G=null,K=null,q=ce(()=>M),J=(e,t)=>a(`usage`,e,t);function Y(e,t,n,r){let i=o(`div`,`usage-tile`);r&&r!==`ok`&&(i.dataset.tone=r);let a=o(`span`,`usage-tile-value`,t);i.append(a,o(`span`,`usage-tile-label`,e));let s=n?o(`span`,`usage-tile-sub`,n):null;return s&&i.append(s),{tile:i,valueEl:a,subEl:s}}function ln(e){let t=Number(e);return Number.isFinite(t)?Math.min(Math.max(t,0),100):0}function X(e,t,n){let r=o(`div`,`usage-meter`);r.dataset.tone=String(t),r.setAttribute(`role`,`progressbar`),r.setAttribute(`aria-valuemin`,`0`),r.setAttribute(`aria-valuemax`,`100`),r.setAttribute(`aria-label`,n);let i=o(`span`,`usage-meter-fill`);return r.append(i),un(r,e),r}function un(e,t){if(!e)return;let n=ln(t);e.setAttribute(`aria-valuenow`,String(Math.round(n)));let r=e.querySelector(`.usage-meter-fill`);r&&(r.style.width=`${n}%`)}function Z(e,t,n,r){let i=o(`div`,`usage-table-scroll`);i.dataset.usageTable=r;let a=o(`table`,`usage-table`),s=o(`thead`),c=o(`tr`);for(let i of e){let e=o(`th`,i.numeric?`usage-num`:null);if(e.scope=`col`,!i.key){e.textContent=i.label,c.append(e);continue}let a=i.key;e.setAttribute(`aria-sort`,Zt(t,a));let s=o(`button`,`usage-sort`,i.label);s.type=`button`,s.dataset.sortKey=a,s.addEventListener(`click`,()=>{g(`sort`),L={kind:`sort`,table:r,key:a},n(a)}),e.append(s),c.append(e)}s.append(c);let l=o(`tbody`);return a.append(s,l),i.append(a),{wrap:i,body:l}}function Q(e,t){for(let n of t){let t=o(`td`,n.numeric?`usage-num`:n.className||null,n.node?null:n.text);n.node&&t.append(n.node),n.title&&(t.title=n.title),n.span&&(t.colSpan=n.span),e.append(t)}}function dn(e){let t=o(`div`,`usage-share`);if(!Number.isFinite(e))return t.append(o(`span`,`usage-share-text`,b(e))),t;let n=o(`span`,`usage-share-bar`),r=o(`span`,`usage-share-fill`);return r.style.width=`${ln(e)}%`,n.append(r),t.append(n,o(`span`,`usage-share-text`,b(e))),t}function fn(){if(!B?.isConnected)return;let e=Number(j.report?.ts);B.textContent=Number.isFinite(e)&&e>0?`Report ${v(e)}`:``}function pn(){if(!V?.isConnected)return;let e=Number(j.sessions?.ts);V.textContent=Number.isFinite(e)&&e>0?`Sessions ${v(e)}`:``}function mn(){let e=De(j.report?.activeBlock);e&&(H?.isConnected&&(H.textContent=`${e.pct}%`),U?.isConnected&&(U.textContent=`${C(e.remainingMinutes)} left`),W?.isConnected&&un(W,e.pct))}function hn(){let e=o(`div`,`usage-controls`),t=o(`label`,`usage-control`);t.append(o(`span`,`usage-control-label`,`Range`));let n=o(`select`,`usage-select`);for(let e of de){let t=o(`option`,null,e.label);t.value=e.value,n.append(t)}n.value=j.rangeValue,n.addEventListener(`change`,()=>{g(`range`),re(n.value),se()}),t.append(n);let r=o(`button`,`usage-refresh`,`Refresh`);r.type=`button`,r.title=`Re-read every transcript from the start`,r.addEventListener(`click`,()=>{g(`refresh`),se({force:!0})});let i=o(`span`,`usage-refresh-status`,``);return G=r,K=i,Gn(),e.append(t,r,i),e}function gn(){let e=J(`Usage`,ye(j.report?.daily||[]));e.append(hn()),B=o(`p`,`usage-meta`,``),e.append(B),fn(),q.onTick(fn);let t=Ut(j.report);t&&e.append(o(`p`,`usage-warning`,t));let n=Ht(j.report?.pricing?.missing);return n&&e.append(o(`p`,`usage-warning`,n)),e}function _n(){let e=Nt.filter(({vendor:e})=>Ft(j.planLimitsByVendor[e]));if(e.length===0)return null;let t=J(`Plan limits`,Pt(e.map(({vendor:e})=>e),j.report?.totals)),n=e.length>1,r=o(`div`,`usage-plan-vendors`);for(let{vendor:t,label:i}of e)r.append(vn(j.planLimitsByVendor[t],n?i:null));return t.append(r),t}function vn(e,t){let n=o(`div`,`usage-plan-vendor`);t&&n.append(o(`p`,`usage-plan-vendor-label`,t));let r=Vt(e?.ts);if(r){let e=o(`p`,`usage-meta`,r);e.dataset.tone=`warn`,n.append(e)}let i=o(`div`,`usage-plan`);for(let t of D){let n=p(e,t.key);n&&i.append(yn(t,n))}let a=o(`p`,`usage-meta`,``);n.append(i,a);let s=()=>{if(!a.isConnected)return;let t=zt(e?.ts);a.textContent=t?`Plan ${t}`:``};return s(),q.onTick(s),n}function yn(e,t){let n=o(`div`,`usage-plan-window`),r=o(`div`,`usage-plan-head`);r.append(o(`span`,`usage-plan-label`,e.label)),r.append(o(`span`,`usage-plan-used`,Lt(t)));let i=o(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(X(t.pct,ee(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=Rt(t.resetsAtMs))};return a(),q.onTick(a),n}function bn(){let e=Ve(j.report,j.planLimitsByVendor.claude),t=xn();if(e.length===0&&!t)return null;let n=J(`Glimmervoid overhead`,e.length>0?Pe:null);if(e.length>0){let t=o(`div`,`usage-tiles`);for(let n of e){let e=[He(n),c(n.costUSD)].filter(Boolean).join(`, `);t.append(Y(`${n.label}, share of Claude use`,b(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=Ue(t);e&&n.append(o(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(o(`p`,`usage-meta`,`Selected range by lane. ${Ne}`)),n.append(t)),n}function xn(){if(!Le(j.report))return null;let e=w(j.report),t=e.reduce((e,t)=>e+(typeof t.costUSD==`number`&&Number.isFinite(t.costUSD)?t.costUSD:0),0),{wrap:n,body:r}=Z([{label:`Lane`},{label:`Cost`,numeric:!0},{label:`Tokens`,numeric:!0},{label:`Sessions`,numeric:!0},{label:`Share`,numeric:!0}],null,()=>{},`lane`);for(let n of e){let e=o(`tr`,`usage-row`);n.lane===`other`&&(e.dataset.lane=`other`),Q(e,[{text:Fe(n.lane),className:`usage-lane-cell`},{text:c(n.costUSD),numeric:!0},{text:_(n.tokens),numeric:!0},{text:Ke(n.sessions),numeric:!0},{node:dn(x(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function Sn(){let e=j.report?.activeBlock,t=j.report?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=E(j.report?.totals),i=J(`Current block`,r?`${n}h window, ${r}`:`${n}h window`);if(!e){i.append(o(`p`,`usage-empty`,`No active block.`));let e=Cn();return e&&i.append(e),i}let a=te(j.report,j.planLimitsByVendor.claude),s=o(`div`,`usage-tiles`);s.append(Y(`block tokens`,_(e.tokens??0),c(e.costUSD??0),a).tile);for(let t of Te(e.burn))s.append(Y(t.label,t.value,t.sub,a).tile);let l=De(e);if(l){let e=Y(`elapsed`,`${l.pct}%`,`${C(l.remainingMinutes)} left`);H=e.valueEl,U=e.subEl,s.append(e.tile)}i.append(s),l&&(W=X(l.pct,`ok`,`Elapsed share of the current block window`),i.append(W),q.onTick(mn));let u=Ee(e.projection);if(u){let e=o(`p`,`usage-projection`,u);e.dataset.tone=a,i.append(e)}let d=Cn();d&&i.append(d);let f=Oe(j.report?.tokenLimit);if(!f)return i;let p=ae(j.report?.tokenLimit),m=te(j.report);i.append(X(p,m,`Share of the largest completed block seen, estimated`));let h=o(`p`,`usage-meta`,f);h.dataset.tone=m,i.append(h),i.append(o(`p`,`usage-provenance`,It(`estimated`)));let ee=ke(e.projection,j.report?.tokenLimit);if(ee){let e=o(`p`,`usage-meta`,ee);e.dataset.tone=m,i.append(e)}return i}function Cn(){let e=j.report?.anomaly;if(!Tt(e))return null;let t=o(`p`,`usage-meta`,Ct(e));return t.dataset.tone=wt(e),t}function wn(){let e=cn(j.report?.blocks);if(e.length===0)return null;let t=E(j.report?.totals),n=J(`Recent blocks`,t?`newest first, ${t}`:`newest first`),r=o(`div`,`usage-blocks`),i=e.reduce((e,t)=>Math.max(e,t.tokens),0);for(let t of e){let e=o(`div`,`usage-block`);t.isActive&&(e.dataset.active=`true`),e.append(o(`span`,`usage-block-label`,we(t.startTs)));let n=o(`span`,`usage-block-bar`),a=o(`span`,`usage-block-fill`);a.style.width=`${ln(x(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(o(`span`,`usage-block-value`,`${_(t.tokens)} ${c(t.costUSD)}`)),r.append(e)}return n.append(r),n}function Tn(){let e=j.report?.totals||{},t=sn(j.report?.daily,xe(j.report)),n=J(`Totals`,[fe,j.report?.tz?`TZ ${j.report.tz}`:``].filter(Boolean).join(` `)),r=te(j.report,j.planLimitsByVendor.claude),i=o(`div`,`usage-tiles`);i.append(Y(`today`,_(t?.tokens??0),c(t?.costUSD??0),r).tile),i.append(Y(`range total`,_(e.tokens??0),c(e.costUSD??0)).tile);let a=Ge(j.report);a&&i.append(Y(a.label,a.value,a.sub).tile),n.append(i);let s=En(e);s&&n.append(s);let l=T(e)?At(e):[];if(l.length>0){let e=o(`div`,`usage-tiles usage-vendor-tiles`);for(let t of l)e.append(Y(t.label,_(t.tokens),c(t.costUSD)).tile);n.append(e)}return V=o(`p`,`usage-meta`,``),n.append(V),pn(),q.onTick(pn),n}function En(e){let t=je(e);if(t.length===0)return null;let n=o(`div`,`usage-compo`),r=o(`div`,`usage-compo-bar`);r.setAttribute(`aria-hidden`,`true`);for(let e of t){if(e.pct<=0)continue;let t=o(`span`,`usage-compo-fill`);t.dataset.part=e.key,t.style.width=`${e.pct}%`,t.title=e.title,r.append(t)}let i=o(`div`,`usage-compo-legend`);for(let e of t){let t=o(`span`,`usage-compo-item`),n=o(`span`,`usage-compo-swatch`);n.dataset.part=e.key,t.append(n,o(`span`,`usage-compo-label`,e.label),o(`span`,`usage-compo-value`,e.value)),i.append(t)}return n.append(r,i),n}function Dn(){let e=j.report?.savings;if(!Ye(e))return null;let t=J(`Savings`,``),n=o(`div`,`usage-tiles`),r=Xe(e);r&&n.append(Y(`rtk compression`,r.value,r.sub).tile);let i=Ze(e);return i&&n.append(Y(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function On(){let e=l(j.report);if(e.length===0)return null;let t=J(`Budgets`,`your own ceilings`),n=o(`div`,`usage-budgets`),r=ne(`machine-usage`,`usage-daily-budget`,`Budget settings`);n.appendChild(r);for(let t of e){let e=o(`div`,`usage-budget`),r=o(`div`,`usage-budget-head`);r.append(o(`span`,`usage-budget-label`,Qe(t.scope))),r.append(o(`span`,`usage-budget-value`,$e(t))),r.append(o(`span`,`usage-budget-pct`,b(u(t)))),e.append(r),e.append(X(u(t),t.tone,et(t))),n.append(e)}return t.append(n),t}function kn(){let e=j.report?.daily||[],t=R,n=on(dt(e,t),N),r=tt.find(e=>e.value===t)?.label||`Day`,i=J(`Over time`,[mt(e)].filter(Boolean).join(`, `));if(i.append(An()),n.length===0)return i.append(o(`p`,`usage-empty`,`No usage.`)),i;let a=Mn(e);a&&i.append(a);let{wrap:s,body:l}=Z([{label:r,key:`day`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Models`}],N,e=>{N=Xt(N,e),$()},`day`);for(let e of n){let n=String(e.day??``),r=o(`tr`,`usage-row`);e.source===`history`&&(r.dataset.source=`history`);let i=an(e.models),a=`${t}:${n}`,s=Nn(a,i.length);Q(r,[{node:jn(e,t),title:n},{text:_(e.tokens),numeric:!0},{text:c(e.costUSD),numeric:!0},{node:s,className:`usage-toggle-cell`}]),l.append(r),i.length!==0&&z.has(a)&&l.append(Pn(i))}return i.append(s),i}function An(){let e=o(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of tt){let n=o(`button`,`usage-period-button`,t.label);n.type=`button`,n.dataset.periodView=t.value,n.setAttribute(`aria-pressed`,t.value===R?`true`:`false`),n.addEventListener(`click`,()=>{R!==t.value&&(g(`period`),R=t.value,L={kind:`period`,view:t.value},$())}),e.append(n)}return e}function jn(e,t){let n=o(`span`,`usage-period-cell`);return n.append(o(`span`,null,pt(e.day,t))),e.source===`history`&&n.append(o(`span`,`usage-history-tag`,`history`)),n}function Mn(e){let{cells:t,max:n}=yt(e,{today:xe(j.report)});if(t.length===0||n<=0)return null;let r=o(`div`,`usage-heatmap-scroll`),i=o(`div`,`usage-heatmap`);i.setAttribute(`role`,`img`),i.setAttribute(`aria-label`,`Daily usage for the trailing ${Math.max(...t.map(e=>e.week))+1} weeks`);let a=o(`div`,`usage-heatmap-days`);for(let e of _t)a.append(o(`span`,`usage-heatmap-day`,e));for(let e of t){let t=o(`span`,`usage-heatmap-cell`);t.dataset.tone=String(e.tone),e.noData&&(t.dataset.noData=`true`),e.source===`history`&&(t.dataset.source=`history`),t.style.gridColumn=String(e.week+1),t.style.gridRow=String(e.weekday+1),t.title=bt(e),i.append(t)}return r.append(a,i),r}function Nn(e,t){if(t===0)return null;let n=o(`button`,`usage-toggle`,`Models`);return n.type=`button`,n.dataset.usageDay=e,n.setAttribute(`aria-expanded`,z.has(e)?`true`:`false`),n.addEventListener(`click`,()=>{g(`expand`),L={kind:`day`,day:e},z.has(e)?(z.delete(e),$()):(z.add(e),$())}),n}function Pn(e){let t=o(`tr`,`usage-row-breakdown`),n=o(`td`,`usage-models`);n.colSpan=4;for(let t of e){let e=o(`span`,`usage-model-chip`);e.append(o(`span`,`usage-model-name`,k(t)),o(`span`,`usage-model-value`,`${_(t.tokens)} ${c(t.costUSD)}`)),n.append(e)}return t.append(n),t}function Fn(e,t){let n=o(`span`,`usage-model-name-wrap`),r=kt(e,t);return r&&n.append(o(`span`,`usage-vendor-tag`,r)),n.append(o(`span`,null,k(e))),n}function In(){let e=an(j.report?.models,P),t=j.report?.totals||{},n=_e(t),r=J(`By model`,ve(n));if(e.length===0)return r.append(o(`p`,`usage-empty`,`No models.`)),r;let{wrap:i,body:a}=Z([{label:`Model`,key:`model`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Input`,numeric:!0,key:`input`},{label:`Output`,numeric:!0,key:`output`},{label:`Cache write`,numeric:!0,key:`cacheCreate`},{label:`Cache read`,numeric:!0,key:`cacheRead`}],P,e=>{P=Xt(P,e),$()},`model`);for(let r of e){let e=o(`tr`,`usage-row`);Q(e,[{node:Fn(r,t),className:`usage-model-cell`,title:k(r)},{text:_(r.tokens),numeric:!0},{text:c(r.costUSD),numeric:!0},{node:dn(x(r[n],t[n])),className:`usage-share-cell`},{text:_(r.input),numeric:!0},{text:_(r.output),numeric:!0},{text:_(r.cacheCreate),numeric:!0},{text:_(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function Ln(){let e=tn(j.report?.sessions,F),t=nn(e,I),n=j.report?.totals||{},r=_e(n),i=J(`By session`,ve(r));if(e.length===0)return i.append(o(`p`,`usage-empty`,`No sessions.`)),i;let{wrap:a,body:s}=Z([{label:`Session`,key:`label`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Last activity`,numeric:!0,key:`lastTs`}],F,e=>{F=Xt(F,e),$()},`session`);for(let e of t.rows){let t=o(`tr`,`usage-row`);Kt(e)&&(t.dataset.managed=`true`);let i=O(e),a=o(`span`,`usage-ago`,``);Q(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:_(e.tokens),numeric:!0},{text:c(e.costUSD),numeric:!0},{node:dn(x(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),q.track(a,Number(e.lastTs),v),s.append(t)}return i.append(a),e.length>10&&i.append(Rn(t.hiddenCount)),i}function Rn(e){let t=o(`div`,`usage-overflow`),n=rn(e);n&&t.append(o(`p`,`usage-meta`,n));let r=o(`button`,`usage-toggle`,`All sessions`);return r.type=`button`,r.dataset.usageSessionsToggle=`true`,r.setAttribute(`aria-expanded`,I?`true`:`false`),r.addEventListener(`click`,()=>{g(`expand`),L={kind:`sessions-toggle`},I=!I,$()}),t.append(r),t}function zn(){let e=J(`Not available`,``);return e.append(o(`p`,`usage-empty`,f(j.report))),e.append(o(`p`,`usage-empty`,pe)),e}function Bn(){B=null,V=null,H=null,U=null,W=null,G=null,K=null}function $({force:e=!1}={}){if(!M||!e&&s(M))return;j=ie();let t=M.parentElement,n=t?t.scrollTop:0;q.reset(),Bn(),M.textContent=``,Un(),t&&(t.scrollTop=n),Vn()}function Vn(){let e=L;if(L=null,!e)return;let t=Hn(e);if(!t||!M)return;let n=M.querySelector(t);n instanceof HTMLElement&&n.focus()}function Hn(e){return e.kind===`day`?`.usage-toggle[data-usage-day="${CSS.escape(e.day)}"]`:e.kind===`period`?`.usage-period-button[data-period-view="${CSS.escape(e.view)}"]`:e.kind===`sessions-toggle`?`.usage-toggle[data-usage-sessions-toggle="true"]`:e.kind===`sort`?`[data-usage-table="${CSS.escape(e.table)}"] .usage-sort[data-sort-key="${CSS.escape(e.key)}"]`:null}function Un(){if(!M)return;M.append(gn());let e=_n();if(Wt(j.report)){e&&M.append(e),M.append(zn());return}if(!j.report){e&&M.append(e),M.append(o(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,On()].filter(e=>e!==null);M.append(Wn(`usage-band-now`,Sn(),t,{sideFirst:!0}));let n=[Dn()].filter(e=>e!==null);M.append(Wn(`usage-band-spend`,Tn(),n));let r=[wn()].filter(e=>e!==null);M.append(Wn(`usage-band-trend`,kn(),r));let i=bn();i&&M.append(i),M.append(In(),Ln())}function Wn(e,t,n,{sideFirst:r=!1}={}){if(n.length===0)return t;let i=o(`div`,`usage-band ${e}`),a=o(`div`,`usage-band-col`);for(let e of n)a.append(e);return r?(i.append(a,t),i):(i.append(t,a),i)}function Gn(){let e=ue();G&&(G.disabled=e.isPending),K&&(K.textContent=e.text,e.hasFailure?K.dataset.tone=`error`:delete K.dataset.tone)}function Kn(e){e===`refresh-status`?Gn():(j=ie(),e===`sessions`&&j.report&&!Wt(j.report)&&V?.isConnected?pn():$())}function qn(e){if(M)return;let t=o(`div`,`usage-content`);e.appendChild(t),M=t,le(()=>!s(M)),oe(Kn),q.ensure(),$({force:!0})}function Jn(e){e===`shown`&&$({force:!0}),se()}var Yn={mount:qn,refresh:Jn};export{Yn as view};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as e,Y as t,n}from"./updates-view-core-
|
|
1
|
+
import{Q as e,Y as t,n}from"./updates-view-core-BYoMfzXj.js";import{o as r,u as i}from"./dom-helpers-C7P3_59O.js";import{$t as a,Ir as o,Jt as s,Kt as c,Qt as l,Xt as u,Yt as d,Zt as f,_ as p,qt as m}from"./index-CClbz7ym.js";var h=`No findings. Open a markdown file in a connected editor.`;function g(e){let t=Number(e?.range?.start?.character);return Number.isFinite(t)?t:0}function _(e){let t=Number(e?.range?.start?.line);return Number.isFinite(t)?t:0}function v(e){let t=typeof e==`string`?e:``;if(!t)return``;let n=t.lastIndexOf(`/`),r=n===-1?t:t.slice(n+1);if(!r)return t;try{return decodeURIComponent(r)}catch{return r}}function y(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(Math.floor(e),0):0}function b(e){let t=y(e);return t===1?`1 finding`:`${t} findings`}function x(e){let t=y(e);return t===1?`1 comment`:`${t} comments`}function S(e){let t=y(e?.findings?.length),n=y(e?.comments?.length),r=typeof e?.hand==`string`&&e.hand?1:0,i=[];return r>0&&i.push(`raised hand`),t>0&&i.push(b(t)),n>0&&i.push(x(n)),i.length>0?i.join(`, `):b(0)}function C(e){let t=typeof e==`string`?e.trim():``;return t?`Raised hand: ${t}`:``}function w(e,t=new Map,n=new Map){let r=[],i=new Set([...e.keys(),...t.keys(),...n.keys()]);for(let a of i){let i=e.get(a),o=t.get(a),s=n.get(a)||null,c=Array.isArray(i)?i:[],l=Array.isArray(o)?o:[];(c.length!==0||l.length!==0||s)&&r.push({uri:a,name:v(a)||a,hand:s,findings:[...c].sort((e,t)=>_(e)-_(t)||g(e)-g(t)),comments:[...l].sort((e,t)=>(Number(e?.line)||0)-(Number(t?.line)||0))})}return r.sort((e,t)=>T(e.name,t.name)||T(e.uri,t.uri)),r}function T(e,t){return e<t?-1:+(e>t)}var ee=`No fixes yet. Silent fixes appear here once the lane applies or is refused one.`;function te(e){let t=y(e);return t===1?`1 fix`:`${t} fixes`}var ne=`No activity yet. The ingest lane reports what your sessions and tools are doing.`,E={terminal:`terminal`,agentLogs:`agent`,git:`git`,fs:`files`,shellHistory:`shell`,editor:`editor`};function D(e){let t=typeof e==`string`?e:``;return E[t]||t||`source`}function O(n,r=Date.now()){let i=Number(n);return!Number.isFinite(i)||i<=0?``:e(Number(r)-i,t)}function k(e){let t=y(e);return t<=0?``:t===1?`1 more event not shown`:`${t} more events not shown`}function A(e){let t=y(e);return t===1?`1 event`:`${t} events`}function j(e){if(!e?.root)return`machine`;let t=e.root.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var M=null,N=null,P=null,F=null,I=null;function L(){let e=r(`section`,`visions-intent`);e.append(r(`h2`,`visions-intent-title`,`Intent`));let t=r(`div`,`visions-intent-list`);return e.append(t),P={list:t},e}function R(e){let t=r(`div`,`visions-intent-item`),n=r(`div`,`visions-intent-head`);n.append(r(`span`,`visions-intent-scope`,e.label),r(`span`,`visions-intent-meta`,e.meta));let i=r(`p`,`visions-intent-text`,e.text);return i.classList.toggle(`visions-intent-none`,!e.hasText),t.classList.toggle(`visions-intent-active`,e.active===!0),t.append(n,i),t}function z(){if(!P)return;let{intent:e,projectNamesById:t}=s();P.list.replaceChildren(...a(e,t).map(R))}function B(e){let t=r(`section`,`visions-doc`),n=r(`div`,`visions-doc-head`),i=r(`h2`,`visions-doc-name`);if(i.textContent=e.name,i.title=e.uri,n.append(i,r(`span`,`visions-doc-count`,S(e))),t.append(n),e.hand&&t.append(V(e.hand)),e.findings.length>0){let n=r(`div`,`visions-findings`);for(let t of e.findings)n.append(U(t));t.append(n)}if(e.comments.length>0){let n=r(`div`,`visions-comments`);for(let t of e.comments)n.append(H(t));t.append(n)}return t}function V(e){let t=r(`div`,`visions-hand`);return t.textContent=C(e),t}function H(e){let t=r(`div`,`visions-comment`),n=r(`div`,`visions-comment-head`);n.append(r(`span`,`visions-comment-chip`,`visions`)),n.append(r(`span`,`visions-comment-line`,d(e))),t.append(n);let i=r(`p`,`visions-comment-message`);return i.textContent=e?.message==null?``:String(e.message),t.append(i),t}function U(e){let t=r(`div`,`visions-finding`);t.append(r(`span`,`visions-finding-line`,u(e)));let n=e?.code==null?``:String(e.code);n&&t.append(r(`span`,`visions-finding-code`,n));let i=r(`span`,`visions-finding-message`);return i.textContent=e?.message==null?``:String(e.message),t.append(i),t}function W({force:e=!1}={}){if(!N||!e&&i(M))return;N.textContent=``;let{findingsByUri:t,commentsByUri:n,handsByUri:a,isEnabled:o}=s(),c=w(t,n,a);if(c.length===0){let e=r(`p`,`visions-empty`,h);if(o===!1){let t=p(`lanes-visions`,`visions-enabled`,`Enable Visions`);e.append(document.createTextNode(` `),t)}N.append(e)}else for(let e of c)N.append(B(e))}function G(){let e=r(`section`,`visions-activity`),t=r(`div`,`visions-activity-head`);t.append(r(`h2`,`visions-activity-title`,`Activity`));let n=r(`span`,`visions-activity-count`);t.append(n),e.append(t);let i=r(`div`,`visions-activity-list`);e.append(i);let a=r(`p`,`visions-activity-overflow`);return e.append(a),F={count:n,list:i,overflow:a},e}function K(e,t){let n=r(`div`,`visions-activity-row`);n.append(r(`span`,`visions-activity-source`,D(e.source))),n.append(r(`span`,`visions-activity-age`,O(e.ts,t))),n.append(r(`span`,`visions-activity-scope`,j(e)));let i=r(`span`,`visions-activity-summary`);return i.textContent=e.summary,n.append(i),n}function q({force:e=!1}={}){if(!F||!e&&i(M))return;let{count:t,list:n,overflow:a}=F,{activityEvents:o,activityOverflow:c}=s();if(t.textContent=A(o.length),n.textContent=``,o.length===0){n.append(r(`p`,`visions-empty`,ne)),a.textContent=``;return}let l=Date.now();for(let e of o)n.append(K(e,l));a.textContent=k(c)}function J(){let e=r(`section`,`visions-fixes`),t=r(`div`,`visions-fixes-head`);t.append(r(`h2`,`visions-fixes-title`,`Fixes`));let n=r(`span`,`visions-fixes-count`);t.append(n),e.append(t);let i=r(`div`,`visions-fixes-list`);return e.append(i),I={count:n,list:i},e}function Y(e){let t=r(`div`,`visions-fix-row`);t.dataset.applied=e.applied?`yes`:`no`;let n=r(`span`,`visions-fix-file`);n.textContent=v(e.uri)||e.uri,n.title=e.uri,t.append(n),t.append(r(`span`,`visions-fix-line`,f(e))),t.append(r(`span`,`visions-fix-outcome`,l(e))),t.append(r(`span`,`visions-fix-code`,e.code||``));let i=r(`span`,`visions-fix-message`);return i.textContent=e.message,t.append(i),t}function X({force:e=!1}={}){if(!I||!e&&i(M))return;let{count:t,list:n}=I,{fixEntries:a}=s();if(t.textContent=te(a.length),n.textContent=``,a.length===0)n.append(r(`p`,`visions-empty`,ee));else for(let e of a)n.append(Y(e))}var Z=o(`visions-connection-status`);function Q(){s().isConnected?Z.clear():Z.show(`error`,`${n} What you see below is from before the connection dropped.`)}var re={intent:z,feed:()=>W(),fixes:()=>X(),activity:()=>q(),connection:Q};function $(){z(),W({force:!0}),X({force:!0}),q({force:!0})}function ie(e){if(M)return;let t=r(`div`,`visions-content`);t.append(Z.element,L());let n=r(`div`,`visions-feed`);t.append(n),t.append(J()),t.append(G()),e.appendChild(t),M=t,N=n,c(()=>!i(M)),m(e=>{for(let t of e)re[t]()}),Q(),$()}var ae={mount:ie,refresh:$};export{ae as view};
|
|
Binary file
|
package/dist/client/index.html
CHANGED
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
<link rel="preload" href="/assets/commit-mono-700-regular-core-DchJmSaC.woff2" as="font" type="font/woff2" crossorigin>
|
|
10
10
|
<title>Glimmervoid</title>
|
|
11
11
|
<style>html,body{background:var(--bg,#0a0810);height:100%;color:var(--text,#c8c0e0);font-family:var(--font-mono,"CommitMono", "Cascadia Code", "Fira Code", "Consolas", "Menlo", monospace);margin:0;padding:0}.app-shell{display:none}html:not([data-layout=phone]) .app-ready .app-shell{display:contents}.loading-screen{z-index:9999;background:#0a0810;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .3s;display:flex;position:fixed;inset:0}.loading-screen.fade-out{opacity:0;pointer-events:none}.loading-title{letter-spacing:.1em;color:#e8e0ff;text-transform:uppercase;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:20px;font-weight:700}.loading-title:before{content:"▸";color:#c084fc}.loading-status{color:#8276b0;letter-spacing:.04em;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:12px}.loading-detail{color:#5e5584;text-align:center;text-wrap:balance;max-width:min(34ch,100vw - 32px);margin-top:-8px;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:12px;line-height:1.6}.loading-spinner{border:2px solid #2a2440;border-top-color:#c084fc;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shutdown-screen:not(.active) .loading-spinner{animation:none}.shutdown-screen{z-index:9999;-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;opacity:0;background:#0a081000;flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,opacity .3s;display:flex;position:fixed;inset:0}.shutdown-screen.active{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;opacity:1;background:#0a0810eb}.shutdown-status{color:#8276b0;letter-spacing:.04em;font-family:CommitMono,Cascadia Code,Fira Code,Consolas,Menlo,monospace;font-size:12px;transition:color .3s}.shutdown-screen.done .loading-spinner{opacity:.3;border-color:#2a2440;animation:none}.shutdown-screen.done .shutdown-status{color:#4a4268}</style>
|
|
12
|
-
<script type="module" crossorigin src="/assets/index-
|
|
12
|
+
<script type="module" crossorigin src="/assets/index-CClbz7ym.js"></script>
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/zod-BRLv4KqJ.js">
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/dom-helpers-C7P3_59O.js">
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/updates-view-core-
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/control-ws-
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/card-registry-
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/updates-view-core-BYoMfzXj.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/assets/control-ws-DUGWJI0x.js">
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/card-registry-DITW3gYA.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/modal-Bh-cVr-I.js">
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/assets/session-tick-
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/session-tick-D8pYTYt7.js">
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CFgGsY9k.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<a class="sr-only skip-link" href="#app-main">Skip to main content</a>
|
|
Binary file
|
package/dist/server/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as formatNodePtyBootRefusal, t as probeNodePty } from "../chunks/node-pty-preflight-DbfWP9Rc.js";
|
|
2
2
|
import { o as packageRoot } from "../chunks/runtime-paths-ghcH9CeW.js";
|
|
3
3
|
import { n as glimmervoidHomeDir } from "../chunks/config-path-core-DUWk0Lui.js";
|
|
4
4
|
import fs from "node:fs";
|
|
@@ -185,6 +185,6 @@ if (!nodePty.ok) {
|
|
|
185
185
|
}));
|
|
186
186
|
process.exit(1);
|
|
187
187
|
}
|
|
188
|
-
await import("../chunks/main-
|
|
188
|
+
await import("../chunks/main-BlPPfUFv.js");
|
|
189
189
|
//#endregion
|
|
190
190
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "glimmervoid",
|
|
3
|
-
"version": "0.46.2-next.
|
|
3
|
+
"version": "0.46.2-next.144",
|
|
4
4
|
"description": "Mission control that ships. Not a terminal multiplexer: Claude Code, Codex and Grok each work in their own git worktree, and the one session that needs you comes to the front",
|
|
5
5
|
"main": "dist/server/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { c as loadConfigFile } from "./config-store-BIh6L8HP.js";
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|