glimmervoid 0.46.2-next.115 → 0.46.2-next.116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/bin/glimmervoid.js +8 -8
  2. package/dist/chunks/{adapters-DsUfBNt2.js → adapters-D8F894HY.js} +1 -1
  3. package/dist/chunks/{adapters-D8q7K0IN.js → adapters-Debso6Nj.js} +2 -2
  4. package/dist/chunks/{agent-api-cli-BNP5jgzo.js → agent-api-cli-CVYoNWsl.js} +1 -1
  5. package/dist/chunks/{agent-api-cli-BghkyG7c.js → agent-api-cli-DioYG2u4.js} +1 -1
  6. package/dist/chunks/{agent-api-core-JTVlt1Pv.js → agent-api-core-DygWYNDI.js} +1 -1
  7. package/dist/chunks/{build-channel-DNz_uA_k.js → build-channel-BOrLvUIj.js} +1 -1
  8. package/dist/chunks/{config-BYsrGS5K.js → config-BhD7tb4P.js} +16 -23
  9. package/dist/chunks/config-store-CC7iuAI1.js +1 -0
  10. package/dist/chunks/{config-store-DDNmZ_D7.js → config-store-DRj0wUWV.js} +2 -2
  11. package/dist/chunks/{main-GgXenoSk.js → main-CwIQbb0t.js} +38 -29
  12. package/dist/chunks/{pair-cli-fDiZsM5e.js → pair-cli-pSxxCt7v.js} +2 -2
  13. package/dist/chunks/{remote-config-QRP1O8B6.js → remote-config-CKCDKWYU.js} +1 -1
  14. package/dist/chunks/{settings-cli-6pG0t44Q.js → settings-cli-BP-uyH8u.js} +4 -4
  15. package/dist/chunks/{settings-readout-core-DBeH6YNb.js → settings-readout-core-Cvy3rJLz.js} +1 -1
  16. package/dist/chunks/{ssh-sign-cli-BYGncFQu.js → ssh-sign-cli-BpiODQx0.js} +1 -1
  17. package/dist/client/assets/{action-status-D9Sf2cZp.js → action-status-D8Umoh8L.js} +1 -1
  18. package/dist/client/assets/action-status-D8Umoh8L.js.br +0 -0
  19. package/dist/client/assets/{benchmark-panel-C4mpk8j2.js → benchmark-panel-7YulhCNL.js} +1 -1
  20. package/dist/client/assets/benchmark-panel-7YulhCNL.js.br +0 -0
  21. package/dist/client/assets/{card-dom-BeRjc5Sk.js → card-dom-CBmQitFF.js} +1 -1
  22. package/dist/client/assets/card-dom-CBmQitFF.js.br +0 -0
  23. package/dist/client/assets/{control-ws-C8SS9PPx.js → control-ws-Dlbz9gUW.js} +1 -1
  24. package/dist/client/assets/control-ws-Dlbz9gUW.js.br +0 -0
  25. package/dist/client/assets/{dialogs-CNLg_Ggz.js → dialogs-DFunl_qf.js} +1 -1
  26. package/dist/client/assets/dialogs-DFunl_qf.js.br +0 -0
  27. package/dist/client/assets/{dom-helpers-B98sy9ep.js → dom-helpers-Dkpf80rm.js} +1 -1
  28. package/dist/client/assets/dom-helpers-Dkpf80rm.js.br +0 -0
  29. package/dist/client/assets/{hooks-panel-Dg0zOBrq.js → hooks-panel-j3G_boVQ.js} +1 -1
  30. package/dist/client/assets/hooks-panel-j3G_boVQ.js.br +0 -0
  31. package/dist/client/assets/{index-q6rb4Bxj.js → index-Br2NXdLW.js} +4 -4
  32. package/dist/client/assets/index-Br2NXdLW.js.br +0 -0
  33. package/dist/client/assets/{issues-panel-CfGIphXj.js → issues-panel-D45Xhaxg.js} +1 -1
  34. package/dist/client/assets/issues-panel-D45Xhaxg.js.br +0 -0
  35. package/dist/client/assets/{modal-5t7_5VCF.js → modal-C2f-fRR_.js} +1 -1
  36. package/dist/client/assets/modal-C2f-fRR_.js.br +0 -0
  37. package/dist/client/assets/{phone-shell-CsSctWYn.js → phone-shell-qeUJJBEd.js} +1 -1
  38. package/dist/client/assets/phone-shell-qeUJJBEd.js.br +0 -0
  39. package/dist/client/assets/{plan-face-C8wrPA9n.js → plan-face-BO9_KwK8.js} +1 -1
  40. package/dist/client/assets/plan-face-BO9_KwK8.js.br +0 -0
  41. package/dist/client/assets/{poll-ago-DdlzkUaM.js → poll-ago-BUOGSvtp.js} +1 -1
  42. package/dist/client/assets/poll-ago-BUOGSvtp.js.br +0 -0
  43. package/dist/client/assets/{pr-scope-tabs-D1ubxrZ7.js → pr-scope-tabs-oHkMxE0R.js} +1 -1
  44. package/dist/client/assets/pr-scope-tabs-oHkMxE0R.js.br +0 -0
  45. package/dist/client/assets/{radar-panel-CfnVG4Os.js → radar-panel--q9yObcC.js} +1 -1
  46. package/dist/client/assets/radar-panel--q9yObcC.js.br +0 -0
  47. package/dist/client/assets/{review-queue-panel-D3PVIeCs.js → review-queue-panel-DT4aageG.js} +1 -1
  48. package/dist/client/assets/review-queue-panel-DT4aageG.js.br +0 -0
  49. package/dist/client/assets/{settings-panel-CUhLnAVj.js → settings-panel-CgahEjLM.js} +2 -2
  50. package/dist/client/assets/settings-panel-CgahEjLM.js.br +0 -0
  51. package/dist/client/assets/{trace-panel-xiEqUO10.js → trace-panel-Dc7gjJP_.js} +1 -1
  52. package/dist/client/assets/trace-panel-Dc7gjJP_.js.br +0 -0
  53. package/dist/client/assets/{ui-prefs-Dvsgw_ZF.js → ui-prefs-Vl6YJfoy.js} +1 -1
  54. package/dist/client/assets/ui-prefs-Vl6YJfoy.js.br +0 -0
  55. package/dist/client/assets/{usage-panel-DTZSVZrx.js → usage-panel-uQlE5Pu-.js} +1 -1
  56. package/dist/client/assets/usage-panel-uQlE5Pu-.js.br +0 -0
  57. package/dist/client/assets/{visions-panel-BOX-F0QV.js → visions-panel-Cz-V2LvQ.js} +1 -1
  58. package/dist/client/assets/visions-panel-Cz-V2LvQ.js.br +0 -0
  59. package/dist/client/index.html +8 -8
  60. package/dist/client/index.html.br +0 -0
  61. package/dist/server/index.js +1 -1
  62. package/package.json +1 -1
  63. package/dist/chunks/config-store-B5Slifzz.js +0 -1
  64. package/dist/client/assets/action-status-D9Sf2cZp.js.br +0 -0
  65. package/dist/client/assets/benchmark-panel-C4mpk8j2.js.br +0 -0
  66. package/dist/client/assets/card-dom-BeRjc5Sk.js.br +0 -0
  67. package/dist/client/assets/control-ws-C8SS9PPx.js.br +0 -0
  68. package/dist/client/assets/dialogs-CNLg_Ggz.js.br +0 -0
  69. package/dist/client/assets/dom-helpers-B98sy9ep.js.br +0 -0
  70. package/dist/client/assets/hooks-panel-Dg0zOBrq.js.br +0 -0
  71. package/dist/client/assets/index-q6rb4Bxj.js.br +0 -0
  72. package/dist/client/assets/issues-panel-CfGIphXj.js.br +0 -0
  73. package/dist/client/assets/modal-5t7_5VCF.js.br +0 -0
  74. package/dist/client/assets/phone-shell-CsSctWYn.js.br +0 -0
  75. package/dist/client/assets/plan-face-C8wrPA9n.js.br +0 -0
  76. package/dist/client/assets/poll-ago-DdlzkUaM.js.br +0 -0
  77. package/dist/client/assets/pr-scope-tabs-D1ubxrZ7.js.br +0 -0
  78. package/dist/client/assets/radar-panel-CfnVG4Os.js.br +0 -0
  79. package/dist/client/assets/review-queue-panel-D3PVIeCs.js.br +0 -0
  80. package/dist/client/assets/settings-panel-CUhLnAVj.js.br +0 -0
  81. package/dist/client/assets/trace-panel-xiEqUO10.js.br +0 -0
  82. package/dist/client/assets/ui-prefs-Dvsgw_ZF.js.br +0 -0
  83. package/dist/client/assets/usage-panel-DTZSVZrx.js.br +0 -0
  84. package/dist/client/assets/visions-panel-BOX-F0QV.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";var te=h({attempt:s().int().positive(),limit:s().int().positive()}).refine(e=>e.attempt<=e.limit),ne={error:c().nullable().optional(),lastRefreshedAt:s().finite().nonnegative().nullable().optional(),incident:c().nullable().optional(),nextAttemptAt:s().finite().nonnegative().nullable().optional(),retry:te.nullable().optional(),isRefreshing:t().optional(),refreshNotice:c().nullable().optional()},re=d({lastRefreshedAt:s().finite().nonnegative().nullable(),error:c().nullable()}),ie=h({lane:l([`my-prs`,`team-review`,`issues`])}),ae=h({ok:t(),error:c().optional(),freshness:re.optional()}),oe=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,se=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,ce=/^[A-Za-z0-9_=-]+$/,le=7,ue=/^[0-9a-f]{7,40}$/i,de=/^[0-9a-f]{40}$/;function fe(e,{chars:t=le,validate:n=!1}={}){if(typeof e!=`string`||!e)return``;if(!n)return e.slice(0,t);let r=e.trim();return ue.test(r)?r.slice(0,t).toLowerCase():``}var _=c().regex(de),pe=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 me=h({path:c(),line:s().int().positive(),side:l([`RIGHT`,`LEFT`]).default(`RIGHT`),body:c()}),he=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),ge=l([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),_e=r(e=>typeof e==`string`&&Object.hasOwn(he,e)?he[e]:e,ge),ve=l([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),ye=h({line:s().int().positive().nullable(),kind:l([`add`,`del`,`context`]),text:c()}),be=me.extend({severity:ve.optional(),excerpt:f(ye).max(9).optional()}),xe=h({path:c().min(1),line:s().int().positive().nullable(),side:l([`RIGHT`,`LEFT`]),severity:ve,reviewer:c().min(1),disposition:l([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:c().min(1)}),Se=h({text:c().min(1),paths:f(c()),isFallback:t().default(!1)}),Ce=h({goal:c().default(``),change:c(),checked:f(c()),gaps:f(c()),handChecks:f(Se).default([])});h({verdict:ge,head:_,summary:c(),assessment:Ce.nullable(),findings:f(xe)}),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 we=l([`APPROVE`,`COMMENT`,`REQUEST_CHANGES`]),Te=l([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),Ee=new Set([`APPROVED`,`CHANGES_REQUESTED`]),De=l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Oe=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),ke={requestSource:l([`direct`,`team`]).default(`team`),isDraft:t().optional(),checksState:Oe.nullable().optional()},Ae=h({login:c().min(1),state:Te,commit:_.nullable(),isViewer:t(),submittedAt:c().nullable().optional()});function je(e,t){return e||(t.includes(`CHANGES_REQUESTED`)?`CHANGES_REQUESTED`:t.includes(`APPROVED`)?`APPROVED`:`REVIEW_REQUIRED`)}function Me(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 Ne=h({head:_,base:_.optional(),verdict:ge,summary:c(),body:c(),comments:f(me),wasPosted:t()}),Pe=Ne.pick({head:!0,verdict:!0,summary:!0,wasPosted:!0}).extend({comments:f(be)}),Fe=c().min(1).max(256).regex(ce),Ie=h({addressed:t(),reason:c().trim().min(1).max(4e3)}).strict(),Le=h({id:Fe,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:Le.shape.comments}).nullable()}).nullable()}),h({pullRequest:h({reviewThreads:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable().optional()}),nodes:f(Le)})}).nullable()}),h({data:h({resolveReviewThread:h({thread:h({id:Fe,isResolved:p(!0)})})}).nullable(),errors:f(e()).optional()});var Re=h({id:Fe,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:Ie.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 ze=h({total:s().int().nonnegative(),resolved:s().int().nonnegative()}),Be=h({...ke,key:c(),repo:pe,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),reviewedHead:_,reviewedBase:_.optional(),verdict:_e,summary:c(),assessment:Ce.optional(),body:c(),comments:f(be),status:l([`ready`,`stale`,`posted`,`discarded`,`error`]),error:c().optional(),threads:f(Re).optional(),viewerThreads:ze.optional(),githubReviews:f(Ae).optional(),reviewDecision:De.nullable().optional(),liveHead:_.optional(),prCreatedAt:c().optional(),reviewedAt:s().finite().optional(),postedAt:s().finite().optional(),postedEvent:we.optional(),priorReviewedHead:_.optional(),requeuedHead:_.optional(),earlierReview:Pe.optional()});function Ve(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var He=l([`approve`,`approve-only`,`comment`,`request-changes`,`discard`,`requeue`,`resolve-thread`]);function Ue(e){return e.action===`discard`||e.head!==void 0}var We=h({key:c().min(1),head:_.optional(),action:He,threadId:Fe.optional(),body:c(),comments:f(me)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}).refine(Ue,{message:`only discard may omit head`,path:[`head`]}),Ge=h({key:c(),ok:t(),error:c().optional(),warning:c().optional()}),Ke=h({sessionId:c().min(1),workDir:c().min(1),worktreePath:c().min(1),head:_,deadlineAt:s(),remainingAwakeMs:s().nonnegative().optional(),savedAt:s()}),qe=h({...ke,reviewDecision:De.nullable().optional(),key:c(),repo:pe,number:s().int().positive(),title:c(),url:c(),author:c(),prCreatedAt:c().optional()}),Je=h({draft:Be.nullable(),reviewedHead:_.nullable(),inFlight:t(),reviewAttempts:s().int().nonnegative().default(0),resumable:Ke.nullable().optional(),reviewedAt:s().optional(),threads:f(Re).optional(),viewerThreads:ze.optional(),autoResolvedThreadIds:f(Fe).optional(),githubReviews:f(Ae).optional(),reviewDecision:De.nullable().optional(),liveHead:_.optional(),requeuedHead:_.optional(),priorReview:Ne.optional(),discardedReviewHead:_.optional(),requestedAt:s().finite().optional(),updatedAt:s().finite()});i(c(),Je);var Ye=l([`preparing`,`checkout`,`reviewing`]),Xe=h({at:s().finite(),tool:c(),detail:c()}),Ze=h({...ke,reviewDecision:De.nullable().optional(),key:c(),repo:pe,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),head:_,phase:Ye,startedAt:s().finite(),deadlineAt:s().finite().nullable(),toolCalls:s().int().nonnegative(),recentSteps:f(Xe),prCreatedAt:c().optional(),priorReviewedHead:_.optional()}),Qe=h({...ne,type:p(`team-review-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),drafts:f(Be),inFlight:f(Ze),queued:f(qe).default([]),team:h({org:c(),slug:c(),name:c(),avatarUrl:c()}).nullable().optional()}).passthrough(),$e=l([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),et=s().int().nonnegative(),v=c().regex(se),tt=c().regex(/^[1-9][0-9]*$/),nt=o([v,`#`,tt]),rt=o([nt,`@`,_]),y=c().refine(e=>nt.safeParse(e).success),it=c().refine(e=>rt.safeParse(e).success);u(`outcome`,[d({outcome:p(`pushed`)}),d({outcome:l([`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1)})]);var at=d({outcome:l([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1).optional(),at:s().finite()}),ot=at.extend({key:y,headRefOid:_,baseRefOid:_,consecutiveAttempts:s().int().min(1).optional()});d({keepMergeableKeys:f(y),keepMergeableAttemptKeys:f(it),keepMergeableAttempts:f(ot).default([]),mergeQueueKeys:f(y).default([]),keepMergeablePushedHeadKeys:f(it).default([])});var st=d({repo:v,number:s().int().positive(),url:g(),source:l([`hook`,`sha`,`manual`]),linkedAt:s().finite()}),ct=d({links:f(st).max(20),unlinkedKeys:f(y).default([])}),lt=h({repo:v,number:s().int().positive(),keepMergeable:t()}),ut=h({key:c(),ok:t(),error:c().optional()}),dt=ut,ft=h({repo:v,number:s().int().positive(),mergeWhenReady:t()}),pt=ut,mt=l([`MERGE`,`SQUASH`,`REBASE`]),ht=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()}),gt=h({reviewer:c().nullable(),state:c(),submittedAt:c().nullable()}),_t=h({outcome:l([`rebased`,`failed`]),at:s().finite(),message:c()}),vt=h({at:s().finite(),message:c()}),b=h({key:c(),repo:v,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:mt,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:et}),unresolvedThreads:et,threads:f(ht),behindBy:et.nullable(),reviewRequests:f(h({name:c(),isTeam:t(),avatarUrl:c().nullable()})),approvals:et,reviews:f(gt),stage:$e,autoRebase:_t.optional(),keepMergeable:t().optional(),keepMergeableAttempt:at.optional(),isKeepMergeableFixInFlight:t().optional(),mergeQueuePosition:s().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:t().optional(),mergeQueueFailure:vt.optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),yt=d({key:y,autoRebase:b.shape.autoRebase,keepMergeable:b.shape.keepMergeable,keepMergeableAttempt:b.shape.keepMergeableAttempt,isKeepMergeableFixInFlight:b.shape.isKeepMergeableFixInFlight,mergeQueuePosition:b.shape.mergeQueuePosition,isMergeQueueHeldForRepairPush:b.shape.isMergeQueueHeldForRepairPush,mergeQueueFailure:b.shape.mergeQueueFailure}),bt=h({...ne,type:p(`my-prs-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),viewer:c().nullable(),prs:f(yt),truncatedNote:c().nullable().optional(),isKeepMergeableEnabled:t().optional(),isMergeQueueEnabled:t().optional()}).passthrough();bt.extend({prs:f(b)});var xt=h({repo:v,number:s().int().positive(),headRefOid:_}),St=l([`merged`,`queued`,`auto-merge`,`unconfirmed`]),Ct=h({key:c(),ok:t(),kind:St.optional(),error:c().optional()}),wt=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()}),Tt=h({__typename:p(`StatusContext`),context:c(),state:c()}),Et=a([wt,Tt]),Dt=h({hasNextPage:t(),endCursor:c().nullable()}),x=h({__typename:p(`PullRequest`),id:c().regex(ce),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:v,viewerDefaultMergeMethod:mt}),commits:h({nodes:f(h({commit:h({statusCheckRollup:h({id:c().regex(ce).optional(),state:l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:h({pageInfo:Dt.optional(),nodes:f(Et)})}).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()}))})}),Ot=h({login:c()}).nullable();h({isResolved:t(),isOutdated:t(),path:c(),line:s().int().positive().nullable(),firstComment:h({totalCount:et,nodes:f(h({author:Ot,bodyText:c(),url:g(),createdAt:c()}))}),lastComment:h({nodes:f(h({author:Ot,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:Dt,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 S=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),kt=Object.freeze({min:0,label:`zero or more`}),At=Object.freeze({min:0,max:300}),jt=Object.freeze({min:1,max:60}),Mt=Object.freeze({min:.5,max:2}),Nt=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0}),Pt=Object.freeze({min:64,max:16384}),Ft=Object.freeze({min:0,max:65536}),It=Object.freeze({min:0,max:65535}),Lt=Object.freeze({min:0,exclusiveMin:!0,max:2147483647/1e3}),Rt=S,zt=S,Bt=S,Vt=kt,Ht=S,Ut=S,Wt=S,Gt=S,Kt=S,qt=S,Jt=S,Yt=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),Xt=Object.freeze({min:1,label:`at least 1`}),Zt=Object.freeze({min:1,label:`at least 1`}),Qt=kt,$t=Object.freeze({min:1,max:30,label:`between 1 and 30`}),en=Object.freeze({min:1,max:1440}),tn=Object.freeze({min:1,max:3650}),nn=Object.freeze({min:30,max:3650}),rn=Object.freeze({min:1,max:24}),an=S,on=Object.freeze({scanIntervalMinutes:en,retainDays:tn,warehouseRetainDays:nn,sessionBlockHours:rn}),sn=Object.freeze({min:5,max:120}),cn=Object.freeze({min:1,max:5}),ln=Object.freeze({min:1,max:50});Object.freeze({NON_NEGATIVE_NUMBER_RANGE:kt,FLYING_ANIMALS_GAP_RANGE:At,FLYING_ANIMALS_DURATION_RANGE:jt,FLYING_ANIMALS_SCALE_RANGE:Mt,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:sn,PORT_RANGE:It,POSTHOG_ESCALATION_RANGE:Jt,POSTHOG_FIX_TIMEOUT_RANGE:Yt,POSTHOG_INTERVAL_RANGE:Wt,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:Kt,POSTHOG_MAX_CONCURRENT_RANGE:Gt,POSTHOG_MIN_USERS_RANGE:qt,POSTHOG_TRAFFIC_BASELINE_RANGE:$t,POSTHOG_TRAFFIC_COOLDOWN_RANGE:Qt,POSTHOG_TRAFFIC_MIN_USERS_RANGE:Zt,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:Xt,REPLAY_BUFFER_KB_RANGE:Pt,MEMORY_RESERVE_MB_RANGE:Ft,TASK_TITLE_TIMEOUT_RANGE:Lt,USAGE_BUDGET_RANGE:an,USAGE_RETAIN_DAYS_RANGE:tn,USAGE_SCAN_INTERVAL_RANGE:en,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:Vt,VISIONS_COOLDOWN_MS_RANGE:zt,VISIONS_DISPATCH_TIMEOUT_RANGE:Ht,VISIONS_INTENT_THREAD_TTL_MS_RANGE:Ut,VISIONS_MAX_PER_HOUR_RANGE:Bt,VISIONS_QUIET_MS_RANGE:Rt,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:ln,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:cn});var un=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),dn=Object.freeze([`notify`,`spawn`,`label`,`comment`]),fn=2e4,pn=65536,mn=50,hn=/^[a-z0-9][a-z0-9-]{0,63}$/,gn=/[\x00-\x1f\x7f,]|^-/,_n=(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})},vn=t({error:`workflows.enabled must be a boolean`}),yn=_n(`workflows.maxConcurrentSessions`,cn),bn=_n(`workflows.maxActionsPerPoll`,ln),C=(e,t)=>f(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),xn=c({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(mn,{error:`a workflow label name must be at most ${mn} characters`}).refine(e=>!gn.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),Sn=c({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(pn,{error:`a workflow comment body must be at most ${pn} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),Cn=l(un,{error:`workflows.rules[].trigger must be one of ${un.join(`, `)}`}),wn=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(fn,{error:`a spawn action promptTemplate must be at most ${fn} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),d({type:p(`label`),name:xn}),d({type:p(`comment`),body:Sn})],{error:`workflows.rules[].actions[].type must be one of ${dn.join(`, `)}`}),Tn=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:C(`workflows.rules[].filters.authors`,c({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(oe,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:C(`workflows.rules[].filters.labels`,xn).optional(),baseBranches:C(`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`}),En=c({error:`workflows.rules[].id must be a string`}).regex(hn,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),Dn=t({error:`workflows.rules[].enabled must be a boolean`}),On=d({id:En,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:Dn.default(!1),repos:C(`workflows.rules[].repos`,v),filters:Tn.default({}),trigger:Cn,actions:C(`workflows.rules[].actions`,wn)},{error:`workflows.rules[] must be an object`}),kn=d({enabled:vn.default(!0),maxConcurrentSessions:yn.default(2),maxActionsPerPoll:bn.default(20),rules:f(On,{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)}),An=d({id:En,enabled:Dn},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});d({enabled:vn.optional(),maxConcurrentSessions:yn.optional(),maxActionsPerPoll:bn.optional(),rules:f(An,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var jn=s().int().nonnegative(),Mn=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),Nn=x.extend({author:h({login:c()}).nullable(),labels:h({nodes:f(h({name:c()}))}),comments:h({totalCount:jn})}),Pn=d({repo:v,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:jn,reviewRequests:f(c()),checksState:Mn,reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}),Fn=d({polledAtMs:jn,prs:f(Pn)});d({repos:i(c().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),Fn)});var In=c().refine(e=>nt.safeParse(e).success&&e===e.toLowerCase()&&Number.isSafeInteger(Number(e.slice(e.lastIndexOf(`#`)+1))));function Ln(e){return`${e.repo}#${e.number}`.toLowerCase()}h({repository:x.shape.repository.pick({nameWithOwner:!0}),number:x.shape.number,updatedAt:x.shape.updatedAt,headRefOid:x.shape.headRefOid,state:x.shape.state,commits:h({nodes:f(h({commit:h({statusCheckRollup:h({state:b.shape.checks.shape.state}).nullable()})}))}),reviewDecision:x.shape.reviewDecision,mergeable:x.shape.mergeable}),x.extend({author:Nn.shape.author.unwrap().extend({__typename:c().optional()}).nullable(),labels:Nn.shape.labels,comments:Nn.shape.comments,latestReviews:h({nodes:f(x.shape.latestReviews.shape.nodes.element.extend({commit:h({oid:c()}).nullable().optional()}))}),writerOpinionatedReviews:x.shape.latestOpinionatedReviews.optional()});var Rn=d({key:In,id:x.shape.id,repo:b.shape.repo,number:b.shape.number,title:b.shape.title,url:b.shape.url,author:Pn.shape.author,isAuthorBot:t(),labels:Pn.shape.labels,commentCount:Pn.shape.commentCount,isDraft:b.shape.isDraft,state:b.shape.state,createdAt:b.shape.createdAt,mergedAt:b.shape.mergedAt,updatedAt:b.shape.updatedAt,baseRefName:b.shape.baseRefName,baseRefOid:b.shape.baseRefOid,headRefName:b.shape.headRefName,headRefOid:b.shape.headRefOid,isCrossRepository:b.shape.isCrossRepository,isInMergeQueue:b.shape.isInMergeQueue,mergeMethod:b.shape.mergeMethod,mergeable:b.shape.mergeable,mergeStateStatus:b.shape.mergeStateStatus,reviewDecision:De.nullable(),checks:b.shape.checks.strict(),rollupState:Oe.nullable(),unresolvedThreads:b.shape.unresolvedThreads,threads:f(b.shape.threads.element.strict()),behindBy:b.shape.behindBy,reviewRequests:f(b.shape.reviewRequests.element.strict()),approvals:b.shape.approvals,reviews:f(b.shape.reviews.element.extend({commit:_.nullable()}).strict()),opinionatedWriterReviewStates:f(c())}).refine(e=>e.key===Ln(e)),zn=n({type:p(`github-prs`),ts:s().finite().nonnegative(),prs:i(In,Rn).refine(e=>Object.entries(e).every(([e,t])=>e===t.key)),freshness:re}),w=c().regex(se),Bn=c().regex(RegExp(`${se.source.slice(0,-1)}#[1-9][0-9]*$`)),Vn=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:Vn.shape.number,url:Vn.shape.url,title:Vn.shape.title,state:l([`OPEN`,`MERGED`,`CLOSED`]),isDraft:t()}).nullable()).max(5)})}).nullable()});function Hn({state:e,isDraft:t}){return e===`OPEN`?t?`draft`:`open`:e===`MERGED`?`merged`:`closed`}var T={key:c(),repo:w,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`]),Wn={...T,sources:f(Un).nonempty().refine(e=>new Set(e).size===e.length),teams:f(w),projectId:c().nullable(),pullRequests:f(Vn).max(5).default([])},Gn=h(Wn).refine(e=>e.key===`${e.repo}#${e.number}`),Kn=h({...Wn,sessionId:c().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),qn=h({...T,state:l([`open`,`closed`])});h({number:T.number,title:T.title,html_url:T.url,state:l([`open`,`closed`]),labels:f(a([c(),h({name:c()})])),assignees:f(h({login:c()})),user:h({login:c()}).nullable(),comments:T.comments,created_at:T.createdAt,updated_at:T.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(qn),isComplete:t(),error:c()}),h({issues:f(Gn),lastSyncAt:s().finite().nonnegative().nullable(),perRepoSync:i(w,h({lastSyncAt:s().finite().nonnegative().nullable(),ticks:s().int().nonnegative(),needsFullReconcile:t()})),sessionLinks:i(Bn,c()).default({}),pullRequestsFetchedAt:i(Bn,m()).default({})});var Jn=h({type:p(`issues-status`),ts:s().finite(),configured:t(),reason:c().nullable(),lastSyncAt:s().finite().nonnegative().nullable(),issues:f(Kn),...ne}).passthrough(),Yn=2e4,Xn=4e3,Zn=524288,Qn=1e4,$n=`ExitPlanMode`,er=4096,tr=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function nr(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 rr(e,{overlongLine:t}){if(t===`reject`&&e.length>er)return null;let n=tr.exec(e.slice(0,er));return n?{level:n[1].length,text:nr(n[2])}:null}var ir=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($n),tool_input:ir,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 ar=Object.freeze([`open`,`released`,`decided`,`closed`]),or=l(ar),sr=Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`]),cr=l(sr),lr=h({heading:c().max(Xn).nullable(),comment:c().min(1).max(Xn)}),ur=h({id:c().min(1),agentId:c().nullable(),revision:s().int().positive(),decision:cr,feedback:c().max(Yn).optional(),comments:f(lr).max(40).optional(),plan:c().min(1).max(Zn).optional()}),dr=h({revision:s().int().positive(),receivedAt:s().finite(),chars:s().int().nonnegative(),title:c()}),fr=h({revision:s().int().positive(),since:s().finite()}),pr=h({agentId:c().nullable(),agentType:c().nullable(),revisions:f(dr),state:or,openRevision:fr.nullable(),approvedRevision:s().int().positive().nullable(),lastDecision:cr.nullable()});h({reviews:f(pr)});var mr=h({agentId:c().nullable(),revision:s().int().nonnegative(),plan:c(),planFilePath:c(),receivedAt:s().finite()}),hr=h({id:c(),agentId:c().nullable(),agentType:c().nullable(),revision:s().int().positive(),receivedAt:s().finite(),state:or,lastDecision:cr.nullable(),approvedRevision:s().int().positive().nullable(),chars:s().int().nonnegative(),title:c(),hasPlan:t()}),gr=h({id:c(),agentId:c().nullable(),planFilePath:c(),changedAt:s().finite()}),_r=h({id:c(),reviews:f(pr),body:mr.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var E=c().min(1),D=c().min(1),O=s().int().nonnegative(),vr=f(D).max(20),yr=l([`added`,`modified`,`deleted`,`renamed`,`untracked`]),br=d({factId:E,path:D,previousPath:D.optional(),status:yr,isCommitted:t()}),xr=d({factId:E,agentsPath:D,title:c(),paths:f(D).min(1)}),Sr=d({factId:E,path:D,partner:D,support:O,confidence:s().min(0).max(1)}),Cr=d({factId:E,path:D,commitCount:O,fixCommitCount:O}),wr=d({factId:E,path:D,directDependents:vr,directDependentCount:O,transitiveDependentCount:O,dependentTests:vr,dependentTestCount:O}),Tr=d({factId:E,path:D}),Er=d({factId:E,path:D,otherSessionId:c().min(1),otherSessionName:c()}),Dr=d({factId:E,providerRepo:c().min(1),packageName:c().min(1),packageDir:c(),consumerManifest:D,versionSpec:c(),isLocalLink:t(),providerChangedPathCount:O,importers:vr,importerCount:O,changedImporterCount:O}),Or=d({name:c().min(1),root:c().min(1),sessionPathPrefix:c(),base:c().nullable(),files:f(br),subsystems:f(xr),coChangeGaps:f(Sr),hotspots:f(Cr),blastRadius:f(wr),untestedFiles:f(Tr),collisions:f(Er),links:f(Dr),error:c().nullable()}),kr=d({sessionId:c().min(1),sig:c().nullable(),generatedAt:s().finite(),repos:f(Or),error:c().min(1).optional()}),Ar=l([`decision`,`retraction`,`conjecture`,`resolution`,`dismissal`,`defect`,`experiment`,`close`,`unable`,`escalation`,`acknowledgement`,`enactment`]),k={id:c().min(1),at:m(),session:c(),agent:c(),commit:c().nullable(),dirty:t(),binding:c()},jr={of:c().min(1),because:c()},Mr=n({id:c(),text:c()}),Nr=u(`kind`,[n({...k,kind:p(`decision`),chose:c(),over:f(c()),because:c()}),n({...k,kind:p(`retraction`),...jr}),n({...k,kind:p(`conjecture`),observation:c(),couldBe:f(c()),discriminatedBy:c()}),n({...k,kind:p(`resolution`),...jr,as:c().optional()}),n({...k,kind:p(`dismissal`),...jr}),n({...k,kind:p(`defect`),what:c(),evidence:c(),files:f(c())}),n({...k,kind:p(`experiment`),expectation:c(),context:f(c()),actions:f(Mr),criteria:f(Mr)}),n({...k,kind:p(`close`),of:c(),outcome:l([`success`,`failure`,`inconclusive`]),results:i(c(),e())}),n({...k,kind:p(`unable`),what:c(),because:c()}),n({...k,kind:p(`escalation`),what:c(),because:c()}),n({...k,kind:p(`acknowledgement`),...jr}),n({...k,kind:p(`enactment`),practice:c(),results:i(c(),e())})]),Pr=a([Nr,h({id:c().min(1),kind:c().min(1).refine(e=>!Ar.safeParse(e).success)})]);n({branch:c().nullable(),escalations:f(e()),records:f(Pr),citedBy:i(c(),f(e())),damaged:f(e())});var Fr=d({id:c().min(1),at:m().nullable(),kind:c().min(1),text:c().max(280),detail:c().max(280).nullable(),supersedes:c().nullable()}),Ir=u(`ok`,[d({ok:p(!0),latest:Fr.nullable()}),d({ok:p(!1),reason:c().min(1).max(200)})]),Lr=d({journal:Ir,updatedAt:s().finite()}),A=Object.freeze({DORMANT:`DORMANT`,INITIALIZING:`INITIALIZING`,STARTING:`STARTING`,RUNNING:`RUNNING`,WAITING:`WAITING`,IDLE:`IDLE`,COMPLETE:`COMPLETE`,DONE:`DONE`,FAILED:`FAILED`}),Rr=Object.freeze({[A.DORMANT]:`Dormant`,[A.INITIALIZING]:`Starting`,[A.STARTING]:`Starting`,[A.RUNNING]:`Working`,[A.WAITING]:`Needs Input`,[A.IDLE]:`Idle`,[A.COMPLETE]:`Complete`,[A.DONE]:`Exited`,[A.FAILED]:`Failed`}),zr=Object.freeze([A.INITIALIZING,A.STARTING,A.RUNNING,A.WAITING,A.IDLE,A.COMPLETE]),Br=Object.freeze([A.DONE,A.FAILED]),Vr=Object.freeze([A.WAITING,A.IDLE,A.COMPLETE]),Hr=/^[a-zA-Z0-9_\-. ()]{1,64}$/,Ur=`Session name may only contain letters, numbers, spaces, dashes, dots, underscores, and parentheses (max 64 chars)`,Wr=/[\x00-\x1f\x7f-\x9f]/,Gr=c().refine(e=>!Wr.test(e)).trim().max(120);h({title:c().nullable(),name:c().nullable().optional()}).strict();var Kr=l(A),qr=l([`finished`,`failed`]),Jr=4e3,Yr=1e3,Xr=2e3,Zr=h({question:c().min(1).max(Yr),header:c().max(100).default(``),options:f(h({label:c().min(1).max(200),description:c().max(Yr).default(``)})).min(1).max(8),multiSelect:t().default(!1)}),Qr=h({requestId:a([c().min(1).max(128),s().int()]),kind:l([`command`,`fileChange`,`permissions`,`tool`,`question`]),summary:c().max(Jr),isSummaryTruncated:t(),toolName:c().max(200).optional(),questions:f(Zr).min(1).max(4).optional(),alwaysAllowSummary:c().max(Jr).optional()}),$r=i(c().max(Yr),c().max(Xr)),ei=l([`accept`,`acceptForSession`,`decline`]),ti=80,ni=Object.freeze({notInstalled:`not installed`,unsupportedVersion:`unsupported version`,codexHooksUntrusted:`Codex hooks need trust in /hooks`}),ri=u(`active`,[h({active:p(!0)}).strict(),h({active:p(!1),reason:c().min(1).max(ti),version:c().optional()}).strict()]),j=h({id:c(),name:c(),taskTitle:Gr.nullable().default(null),taskTitleIsCustom:t().default(!1),path:c(),agent:c(),state:Kr,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(),conversationApproval:Qr.nullable().default(null),hasConversationBridge:t().default(!1),isConversationViewOn:t().default(!1),hasPlan:t().default(!1),mergeStatus:c().nullable(),mergeReason:c().nullable(),worktreeNotice:c().nullable(),failureReason:c().nullable().optional(),unseenOutcome:qr.nullable().default(null),effectiveBase:c().nullable(),linkedPrs:f(st).default([]),coherenceHooks:ri.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 ii=[`push`,`spawn`,`send`,`read`,`close`,`attention`,`board`,`edit`,`show`,`review`,`reviews`,`prs`,`link-pr`,`settings`];[...ii],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 ai=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:ai.optional()}).strict(),h({child:ai,discard:t().optional()}).strict(),a([h({child:ai,answers:i(c(),c().min(1))}).strict(),h({child:ai,toOperator:p(!0)}).strict()]);var oi=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(oi),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:j.shape.id,name:j.shape.name,agent:j.shape.agent,state:j.shape.state,ephemeral:j.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 si=qe.pick({key:!0,title:!0,url:!0,author:!0});h({ok:p(!0),configured:t(),reason:c().nullable(),reviewing:f(si.extend({phase:Ze.shape.phase})),queued:f(si),drafts:f(si.extend({status:Be.shape.status,verdict:c(),summary:Be.shape.summary,comments:s().int().nonnegative(),isOutOfDate:t()}))}).strict(),h({ok:p(!0),configured:t(),prs:f(h({key:b.shape.key,title:b.shape.title,url:b.shape.url,state:b.shape.state,isDraft:b.shape.isDraft,stage:b.shape.stage,reviewDecision:b.shape.reviewDecision,approvals:b.shape.approvals,unresolvedThreads:b.shape.unresolvedThreads,behindBy:b.shape.behindBy,mergeable:b.shape.mergeable,isInMergeQueue:b.shape.isInMergeQueue,checks:b.shape.checks.pick({state:!0,failing:!0})}).strict())}).strict();var ci=4096;h({path:c({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(ci,{error:`path must be at most ${ci} characters`})}).strict();var li=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(),ui=h({path:c(),name:c(),surfacedAt:s().finite()}).strict();h({commands:f(h({name:l(ii),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 di=4e3,M=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()}),fi=u(`kind`,[M.extend({kind:p(`prompt`),text:c()}),M.extend({kind:p(`expansion`),text:c(),toolUseId:c().min(1).optional()}),M.extend({kind:p(`thinking`),text:c()}),M.extend({kind:p(`assistant`),text:c()}),M.extend({kind:p(`tool_call`),toolUseId:c().min(1),name:c().min(1),input:e()}),M.extend({kind:p(`tool_result`),toolUseId:c().min(1),content:c(),isError:t(),truncated:t()}),M.extend({kind:p(`session`),vendor:c().min(1),transcriptPath:c().min(1),reason:c().min(1).optional()}),M.extend({kind:p(`notice`),text:c().max(di)}),M.extend({kind:p(`raw`),line:c().max(di)})]);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 pi=c().max(16384),mi=f(pi).max(4096),hi=h({model:pi.nullable(),mcpServers:mi,plugins:f(h({name:pi,skills:mi,agents:mi})).max(4096),skills:mi,agents:mi,hookEvents:f(h({event:pi,runCount:s().int().nonnegative()})).max(4096),hookCommands:f(c().max(65536)).max(4096)}),gi=Object.freeze([`release`,`experimental`]),_i=`main`,vi=r(e=>e===_i?`experimental`:e,l(gi,{error:`updateChannel must be one of ${gi.join(`, `)}`})),yi=l([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),bi=l([`fetch`,`stage`,`install`,`link-deps`,`build`]),xi=l([`pending`,`running`,`succeeded`,`failed`]),Si=h({id:bi,status:xi,startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),outputTail:f(c())}).strict(),Ci=h({state:yi,fromSha:c().nullable(),toSha:c().nullable(),toVersion:c().nullable(),channel:vi,steps:f(Si),activeStep:bi.nullable(),reason:c().nullable(),startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),failedAtHandOff:t().optional()}).strict(),wi=Ci.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Ti=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Ei=/^[A-Za-z_][A-Za-z0-9_]*$/,Di=c().regex(/^[^/\s]+\/[^/\s]+$/),N=s().finite(),P=c().min(1),Oi=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),F=c().regex(Ti);function ki(e){return new Set(e.map(e=>e.id)).size===e.length}var Ai=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-merged-prs`),repo:Di,minBodies:s().int().min(1),limit:s().int().min(1).max(500)})]),ji=u(`kind`,[d({kind:p(`none`)}),d({kind:p(`pr-checkout`)})]),Mi=l([`review-findings`,`json`]),Ni=d({promptTemplate:P,output:Mi,timeoutSeconds:s().int().min(30).max(14400)}),Pi=d({id:F,env:i(c().regex(Ei),c()).refine(e=>Oi.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${Oi.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:f(c()).optional(),setup:d({command:f(P).min(1)}).optional()}),Fi=u(`kind`,[d({kind:p(`llm-judge-match`),model:P})]);d({id:F,title:P,caseSource:Ai,workspace:ji,subject:Ni,arms:f(Pi).min(2).refine(ki,{message:`arm ids must be unique`}),baselineArm:F,trials:s().int().min(1).max(20),scorer:Fi}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var Ii=d({id:F,text:P,tags:f(F),path:P.optional(),line:s().int().positive().optional()}),Li=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-pr`),repo:Di,number:s().int().positive(),url:P,minedAt:N})]);d({id:F,input:i(c(),e()),references:f(Ii).min(1).refine(ki,{message:`reference ids must be unique`}),source:Li}),h({repo:Di,number:s().int().positive(),reviewedSha:_,baseSha:_,changedFiles:f(P)});var Ri=l([`found`,`partial`,`missed`]),zi=d({referenceId:F,verdict:Ri,findingIndexes:f(s().int().nonnegative())}),Bi=l([`scored`,`invalid`,`error`]),Vi=d({caseId:F,armId:F,trial:s().int().min(1),status:Bi,startedAt:N,finishedAt:N,degradedReasons:f(P),findingCount:s().int().nonnegative(),judgements:f(zi),costUsd:s().finite().nonnegative().nullable(),error:P.nullable()}),Hi=l([`running`,`completed`,`interrupted`,`failed`]);d({id:F,suiteId:F,status:Hi,startedAt:N,finishedAt:N.nullable(),error:P.nullable(),cells:f(Vi)});var Ui=s().min(0).max(1).nullable(),Wi=d({trials:s().int().nonnegative(),recall:Ui,recallByTag:i(F,Ui),degraded:s().int().nonnegative(),invalid:s().int().nonnegative(),costUsd:s().finite().nonnegative().nullable()}),Gi=d({caseId:F,arms:i(F,Wi),deltaVsBaseline:i(F,s().min(-1).max(1).nullable())}),Ki=d({runId:F,suiteId:F,status:Hi,baselineArm:F,armIds:f(F),rows:f(Gi),totals:i(F,Wi)}),qi=l([`mine`,`run`,`cancel`]),Ji=h({suiteId:F,action:qi}),Yi=h({suiteId:F,action:qi,ok:t(),error:c().optional(),runId:F.optional()}),Xi=l([`setup`,`preflight`,`workspace`,`subject`,`judge`]),Zi=h({suiteId:F,runId:F,caseId:F.nullable(),armId:F,trial:s().int().min(1),phase:Xi,cellIndex:s().int().nonnegative(),cellCount:s().int().positive(),startedAt:N}),Qi=h({id:F,title:c(),error:c().nullable(),caseCount:s().int().nonnegative(),candidateCount:s().int().nonnegative(),armIds:f(F),baselineArm:F.nullable(),latestReport:Ki.nullable()}),$i=h({type:p(`benchmark-status`),ts:N,configured:t(),reason:c().nullable(),suites:f(Qi),inFlight:Zi.nullable()}).passthrough(),ea=h({__typename:c(),login:c()}).nullable();h({number:s().int().positive(),title:c(),url:P,mergedAt:c().nullable(),reviewThreads:h({totalCount:s().int().nonnegative()}),reviews:h({totalCount:s().int().nonnegative()})});var ta=h({path:c(),line:s().int().positive().nullable(),originalLine:s().int().positive().nullable(),comments:h({nodes:f(h({databaseId:s().int().positive(),author:ea,body:c(),createdAt:c(),originalCommit:h({oid:_}).nullable()}))})}),na=h({databaseId:s().int().positive(),author:ea,body:c(),submittedAt:c().nullable(),commit:h({oid:_}).nullable()}),ra=u(`__typename`,[h({__typename:p(`BaseRefChangedEvent`),createdAt:c()}),h({__typename:p(`BaseRefForcePushedEvent`),createdAt:c(),beforeCommit:h({oid:_}).nullable()})]);h({author:ea,baseRefOid:_,reviewThreads:h({pageInfo:h({hasNextPage:t()}),nodes:f(ta)}),reviews:h({pageInfo:h({hasNextPage:t()}),nodes:f(na)}),timelineItems:h({pageInfo:h({hasNextPage:t()}),nodes:f(ra)})}),h({mergeBaseSha:_,changedFiles:f(P),isFileListComplete:t()});var ia=4e3,I=c().nullable().optional(),L=c(),aa=h({path:c(),reason:c()}).strict(),oa=ct.shape.unlinkedKeys.unwrap().element,sa=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/([0-9]+)(?:[/?#].*)?$/i;function ca(e){let t=e.trim(),n=sa.exec(t),r=n?`${n[1]}#${n[2]}`:t,i=oa.safeParse(r);return i.success?i.data:null}function R(e,t){return n({type:p(e),...t})}function z(e={}){return n(e)}var B=c().nullable(),la=h({member:B,ref:B,sha:c(),verified:t()}),V=s().finite(),ua=V.optional(),H=B.optional(),U=z(),W=f(e()),da=s().int().positive(),fa=c().min(1).max(ci),pa=f(a([z({at:V,tool:c(),detail:c()}),z({at:V,note:c()})]));h({id:c(),label:c(),command:c(),args:f(c()),resolvable:t().nullable()}).strict();var ma=h({name:c(),template:c(),parameters:i(c(),c()),hourlyCostUsd:s().nullable(),idleStopMinutes:s()}),ha=f(ma).nullable(),ga=l([`claude-code`,`codex`]),_a=h({agent:ga,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(),va=f(_a),ya=h({setupWarning:B,lastFailure:h({message:c(),failedAt:V}).nullable()}),ba=h({id:L,session:c(),taskTitle:Gr.nullable().optional(),taskTitleIsCustom:t().optional(),path:c(),agent:c(),state:Kr,stateSince:V,skipPerms:t(),saneYolo:t(),worktree:t(),workspace:t().optional(),remoteWorkspace:c().optional(),guarded:t().optional(),guardrailsReleased:t().optional(),resumeSessionId:B,ephemeral:t().optional(),ownerId:L.optional(),linkedPrs:f(st).optional()}),xa=4096,Sa=xa+2*(Zn+Yn+80*Xn),Ca=h({reason:c(),message:c()}),wa=l([`npm-global`,`npx`,`clone`,`unknown`]),Ta={updateAvailable:t(),current:B,latest:B,currentSha:B,latestSha:B,releaseUrl:B,command:c(),flavor:wa,platform:c(),installedBranch:B,upstream:B,isTreeClean:t().nullable(),lastCheckAt:V,channel:vi,reason:B,deprecation:B,journalSummary:wi.nullable(),applyRefusal:Ca.nullable()};h(Ta);var Ea=8192,Da=h({name:c().max(128),stack:c().max(Ea)}).strict(),Oa=1e3,ka=h({scope:c().min(1).max(64),text:c().min(1).max(Oa)}).strict(),Aa=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 ja=[`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 Ma(t){return R(t,{id:L,force:e().optional()})}var Na=ja.map(Ma),Pa={id:L,force:e().optional(),fresh:e().optional(),conversationId:c().optional()},Fa=[R(`restart`,Pa),R(`force-restart`,Pa),R(`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:I}),R(`quick-session`,{id:L,requestId:I}),R(`remove-session`,{id:L,force:e().optional(),discardWork:t().optional(),confirmedKeptPaths:f(c()).optional(),requestId:I}),R(`list-conversations`,{id:L,requestId:I}),R(`resume-conversation`,{id:L,conversationId:c()}),R(`rename-session`,{id:L,newName:c()}),R(`get-workspace-repos`,{id:L,requestId:I}),R(`set-workspace-repos`,{id:L,repos:f(c()),requestId:I}),R(`set-session-title`,{id:L,title:Gr}),R(`link-session-pr`,{id:L,key:oa}),R(`unlink-session-pr`,{id:L,key:oa}),R(`ping`,{requestId:I}),R(`get-settings`,{requestId:I}),R(`get-agent-logins`,{requestId:I}),R(`start-remote-setup`,{agent:ga,requestId:I}),R(`agent-connect`,{agent:ga,action:l([`start`,`cancel`]),requestId:I}),R(`agent-connect-code`,{agent:ga,code:c(),requestId:I}),R(`update-settings`,{settings:i(c(),e()),requestId:I}),R(`scan-repo-roots`,{requestId:I,includeSuggestions:t().optional()}),R(`list-agents`,{requestId:I,rescan:t().optional()}),R(`get-radar-report`,{issueId:a([c(),s()]),requestId:I}),R(`radar-open-session`,{projectId:a([c(),s()]),issueId:a([c(),s()]),requestId:I}),R(`issue-detail`,{requestId:c().min(1),repo:w,issueNumber:s().int().positive()}),R(`open-issue-session`,{requestId:I,projectId:c(),repo:w,issueNumber:s().int().positive()}),R(`radar-issue-action`,{projectId:a([c(),s()]),issueId:a([c(),s()]),action:c(),requestId:I}),R(`open-team-review-session`,{requestId:I,key:oa}),R(`team-review-action`,{...We.shape,requestId:I}).refine(Ue,{message:`only discard may omit head`,path:[`head`]}),R(`benchmark-action`,{...Ji.shape,requestId:I}),R(`my-pr-merge`,{...xt.shape,requestId:I}),R(`my-pr-keep-mergeable`,{...lt.shape,requestId:I}),R(`my-pr-merge-when-ready`,{...ft.shape,requestId:I}),R(`github-polling-refresh`,{...ie.shape,requestId:I}),R(`radar-archive-investigation`,{id:e().optional(),requestId:I}),R(`telegram-test`,{requestId:I}),R(`request-usage-report`,{requestId:I,days:e().optional(),force:e().optional()}),R(`request-hooks-report`,{requestId:I}),R(`save-hook`,{hook:i(c(),e()),requestId:I}),R(`delete-hook`,{id:c(),requestId:I}),R(`shutdown`),R(`restart-server`),R(`focus-change`,{focused:t()}),R(`request-health-snapshot`),R(`request-telemetry-deletion`,{requestId:I}),R(`update-check`),R(`update-apply`),R(`session-trace`,{id:L,requestId:I,after:s().int().nonnegative().default(0),endingAt:a([s().int().nonnegative(),p(`tail`)]).optional()}),R(`session-plan`,{id:L,agentId:B,revision:da.optional(),draft:t().optional()}),R(`plan-decision`,ur.shape),R(`set-session-conversation-view`,{id:L,isOn:t()}),R(`set-session-guardrails`,{id:L,isOn:t()}),R(`conversation-approval`,{id:L,requestId:Qr.shape.requestId,decision:ei,answers:$r.optional()}),R(`session-doc-read`,{id:L,path:fa,requestId:I}),R(`session-doc-save`,{id:L,path:fa,text:c(),baseHash:c().min(1),requestId:I}),R(`session-coherence-journal`,{id:L,requestId:I}),R(`session-setup`,{id:L,requestId:I}),R(`client-error`,Da.shape),R(`client-log`,ka.shape),R(`dashboard-telemetry`,{event:l(Aa),properties:i(c(),e())}),R(`dismiss`,{id:L,force:e().optional(),expectedState:Kr.optional()}),R(`watch-session-changes`,{id:L.nullable()}),...Na];u(`type`,Fa);var Ia=[R(`snapshot`,{sessions:f(j),serverBuild:B}),R(`hooks-report`,{requestId:I,ts:ua,hooks:f(U).optional(),builtin:f(U).optional(),events:f(z({name:c(),matcher:B,description:c(),http:t().optional()})).optional(),projects:f(z({id:c(),name:c(),agent:c()})).optional(),limits:z({maxTimeoutSec:s().int().positive()}).optional(),error:H}),R(`save-hook-result`,{requestId:I,ok:t(),error:H,hook:U.optional()}),R(`add-session-result`,{requestId:I,ok:t(),error:H,reason:l([`not-git`]).optional(),sessionId:c().optional()}),R(`remove-session-result`,{requestId:I,ok:t(),error:H,canDiscardWork:t().optional(),keptPaths:f(aa).optional()}),R(`agent-logins`,{requestId:I,logins:va,error:H}),R(`start-remote-setup-result`,{requestId:I,ok:t(),error:H,sessionId:c().optional(),sessionName:c().optional()}),R(`delete-hook-result`,{requestId:I,ok:t(),error:H,id:c().optional()}),R(`workspace-repos`,{requestId:I,id:L,ok:t(),repos:f(c()),error:H}),R(`set-workspace-repos-result`,{requestId:I,id:L,ok:t(),error:H}),R(`hooks-updated`,{count:s().int().nonnegative()}),R(`state-change`,{id:L,session:c(),from:Kr,to:Kr,event:c(),timestamp:V,skipPerms:t().optional(),saneYolo:t().optional(),failureReason:c().optional()}),R(`session-added`,ba.shape),R(`session-modified`,ba.shape),R(`session-removed`,{id:L,session:c()}),R(`session-close-confirm`,{id:L,mergeStatus:c()}),R(`session-renamed`,{id:L,oldName:c(),newName:c()}),R(`session-title`,{id:L,taskTitle:Gr.nullable(),isCustom:t()}),R(`session-prs`,{id:L,linkedPrs:f(st)}),R(`session-git`,{id:L,worktree:t()}),R(`session-coherence-hooks`,{id:L,coherenceHooks:ri.nullable()}),R(`session-agents`,{id:L,activeAgents:s().int().nonnegative(),awaitingBackgroundTasks:t(),timestamp:V}),R(`session-unseen`,{id:L,unseenOutcome:qr.nullable(),timestamp:V}),R(`session-prompt`,{id:L,pendingPromptKind:B,timestamp:V}),R(`session-conversation`,{id:L,hasConversationBridge:t(),isConversationViewOn:t(),conversationApproval:Qr.nullable()}),R(`session-merge-status`,{id:L,mergeStatus:c(),reason:B,parked:t(),timestamp:V}),R(`session-worktree-blocked`,{id:L,session:c(),branch:B,notice:B,timestamp:V}),R(`session-worktree-warning`,{id:L,session:c(),branch:B,notice:B,timestamp:V}),R(`session-worktree-ready`,{id:L,session:c(),branch:B,base:B,timestamp:V}),R(`session-diff`,{id:L,committed:z({stat:c(),diff:c()}),uncommitted:z({stat:c(),diff:c()}),hasCommits:t(),bases:f(la)}),R(`session-diff-error`,{id:L,message:c()}),R(`change-map`,{id:L,map:kr}),R(`branch-sync-status`,{id:L,branch:B,upstream:B,state:c(),ahead:s().int().nonnegative(),behind:s().int().nonnegative(),fetched:t().nullable(),action:c().optional(),error:H}),R(`session-changed`,{id:L}),R(`debug-state-response`,{id:L,payload:U}),R(`session-trace-response`,{id:L,requestId:I,records:f(fi),start:s().int().nonnegative(),next:s().int().nonnegative(),reset:t(),path:c()}),R(`session-trace-changed`,{id:L}),R(`session-plan-changed`,hr.shape),R(`session-plan-draft`,gr.shape),R(`session-plan-response`,_r.shape),R(`session-docs-changed`,{id:L,docs:f(ui)}),R(`session-docs-snapshot`,{sessions:i(c(),f(ui))}),R(`session-shown`,{id:L,files:f(li)}),R(`session-shown-snapshot`,{sessions:i(c(),f(li))}),R(`session-doc-response`,{requestId:I,id:L,path:c(),ok:t(),text:c().optional(),hash:c().optional(),error:H}),R(`session-doc-save-result`,{requestId:I,id:L,path:c(),ok:t(),hash:c().optional(),conflict:t().optional(),error:H}),R(`session-coherence`,{id:L,...Lr.shape}),R(`session-coherence-snapshot`,{sessions:i(c(),Lr)}),R(`session-coherence-journal-response`,{requestId:I,id:L,ok:t(),entries:f(Fr).max(200),error:H}),R(`session-setup-response`,{requestId:I,id:L,ok:t(),setup:hi.optional(),error:H}),R(`notify`,{session:c(),category:c(),message:c(),escalationCount:s().int().nonnegative(),kind:p(`plan`).optional()}),R(`update-status`,Ta),R(`update-progress`,{journal:Ci}),R(`post-turn-leftovers`,{repositories:f(c()),command:c()}),R(`error`,{id:L.optional(),message:c(),requestId:I,scope:c().optional()}),R(`session-error`,{id:L.optional(),session:c(),message:c(),scope:c().optional()}),R(`settings`,{settings:U,requestId:I}),R(`settings-error`,{message:c(),requestId:I}),R(`settings-updated`,{settings:U,requestId:I}),R(`pong`,{requestId:I}),R(`agents-listed`,{requestId:I,agents:f(z({id:c(),label:c(),resolvable:t()}))}),R(`repo-roots-scanned`,{requestId:I,directories:f(z({root:c(),projects:f(z({name:c(),path:c(),isGit:t().optional()}))})),suggestions:f(z({path:c(),label:c(),gitRepoCount:s().int().nonnegative()})).optional(),error:c().optional()}),R(`conversations`,{requestId:I,id:B,current:B.optional(),conversations:f(z({id:c(),title:c(),cwd:c(),worktreePath:c(),worktreeName:c(),gitBranch:B,mtime:V})),error:c().optional()}),R(`resume-conversation-ack`,{id:L.optional(),resumeSessionId:B.optional(),ok:t(),error:c().optional(),requestId:I}),R(`health-snapshot`,{stats:U}),R(`radar-status`,{ts:V,intervalMinutes:s(),projects:f(U),investigations:f(U)}),R(`radar-investigation-activity`,{projectId:a([c(),s()]),issueId:c(),inFlight:p(!0),startedAt:V.nullable(),trail:pa}),R(`radar-investigation-finished`,{projectId:a([c(),s()]),issueId:c(),verdict:c(),summaryLine:B,startedAt:V.nullable(),trail:pa}),R(`radar-report`,{requestId:I,ok:t(),found:t(),issueId:B,format:c().optional(),content:c().optional(),message:c().optional(),error:c().optional()}),R(`radar-open-session-result`,{requestId:I,ok:t(),error:H,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional()}),R(`issue-detail-result`,{requestId:c().min(1),ok:t(),body:c().nullable(),error:c().nullable()}),R(`open-issue-session-result`,{requestId:I,ok:t(),error:H,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),R(`open-team-review-session-result`,{requestId:I,ok:t(),error:H,key:oa.optional(),sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),R(`radar-issue-action-result`,{requestId:I,ok:t(),error:H,status:B.optional()}),R(`team-review-action-result`,{...Ge.shape,requestId:I}),R(`telemetry-deletion-result`,{requestId:I,ok:t()}),R(`benchmark-action-result`,{...Yi.shape,requestId:I}),R(`my-pr-merge-result`,{...Ct.shape,requestId:I}),R(`my-pr-keep-mergeable-result`,{...dt.shape,requestId:I}),R(`my-pr-merge-when-ready-result`,{...pt.shape,requestId:I}),R(`github-polling-refresh-result`,{...ae.shape,requestId:I}),R(`radar-archive-investigation-result`,{requestId:I,ok:t(),error:H}),R(`telegram-test-result`,{requestId:I,ok:t(),error:H,telegramDelivery:ya.nullable()}),Qe,$i,bt,zn,Jn,R(`usage-sessions`,{ts:V,pricingSource:B,sessions:f(z({id:L,tokens:s(),costUSD:s(),officialCostUSD:s().nullable().optional()}))}),R(`usage-report`,{requestId:I,ts:ua,tz:c().optional(),blockHours:s().optional(),totals:U.optional(),daily:W.optional(),models:W.optional(),sessions:W.optional(),blocks:W.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:U.optional(),scan:U.optional(),warning:H,error:H}),R(`plan-limits`,{ts:V,fiveHour:e().nullable(),sevenDay:e().nullable(),source:c(),vendor:l([`claude`,`codex`]).optional()}),R(`usage-budget-alert`,{scope:c(),periodKey:c(),threshold:s(),text:c(),ts:V}),R(`visions-findings`,{uri:c(),diagnostics:W,ts:V}),R(`visions-comments`,{uri:c(),comments:W,ts:V}),R(`visions-hand`,{uri:c(),hand:B,ts:V}),R(`visions-intent`,{projectId:B,intent:U,ts:V}),R(`visions-fix`,{uri:c(),fix:U,ts:V}),R(`visions-snapshot`,{documents:f(U),intent:U,fixes:f(U),ts:V}),R(`ingest-activity`,{events:f(U),overflow:s().int().nonnegative(),ts:V}),R(`ingest-snapshot`,{events:f(U),sources:e(),ts:V}),R(`client-trust`,{trust:l([`local`,`remote`])}),R(`shutting-down`),R(`restarting`)],La=u(`type`,Ia);function G(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function K(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}var q=60,Ra=3600,za=24,Ba=1024,Va=Ba*1024,Ha=Va*1024,Ua={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`}`}},Wa={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function J(e){return String(e).padStart(2,`0`)}function Ga(e,t){return Math.max(0,Math[t](e/1e3))}function Ka(e,t){let n=Ua[t];if(e<q)return n.second(e);let r=Math.floor(e/q);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<za?n.hour(i):n.day(Math.floor(i/za))}function qa(e,t){let n=Ga(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${Ka(n,t.wording)}${t.suffix}`}function Ja(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<q)return`${e}s`;if(t===`s`&&e<Ra)return r(`${Math.floor(e/q)}m`,e%q,`s`);let i=Math.floor(e/q);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function Ya(e,{rounding:t,showsHours:n}){let r=Ga(e,t),i=J(r%q),a=Math.floor(r/q),o=Math.floor(r/Ra);return!n||o===0?`${a}:${i}`:`${o}:${J(a%60)}:${i}`}function Xa(e,t){return e<Ba?`${e} B`:t===`KB`||e<Va?`${(e/Ba).toFixed(1)} KB`:e<Ha?`${(e/Va).toFixed(1)} MB`:`${(e/Ha).toFixed(2)} GB`}function Za(e){let t=new Date(e);return`${t.getFullYear()}-${J(t.getMonth()+1)}-${J(t.getDate())}`}function Qa(e){return`${J(e.getHours())}:${J(e.getMinutes())}`}function $a(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function eo(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function to(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function no({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=to(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function ro(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 io=`machine-updates`,ao=`update-actions`,oo={spiking:0,regressed:1,worsened:2,new:3,quiet:4},so={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},co=99,lo={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function uo(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=K(t?.at,0),r=G(t?.note,``);if(r)return[{at:n,note:r}];let i=G(t?.tool,``);return i?[{at:n,tool:i,detail:G(t?.detail,``)}]:[]}):[]}function fo(e){return e.filter(e=>`tool`in e)}function po(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function mo(e){let t=uo(e?.trail),n=t.findLast(e=>`note`in e);if(n)return n.note;let r=fo(t).at(-1);return r?po(r):``}function ho(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 go(e){let t=G(e?.summaryLine,``);return e?.inFlight===!0&&mo(e)||t}function _o(e){return{inFlight:e?.inFlight===!0,startedAt:K(e?.startedAt,null),steps:uo(e?.trail),verdict:G(e?.verdict,``),summaryLine:G(e?.summaryLine,``)}}function vo(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 yo(e,t){let n=vo(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=K(t?.startedAt,null),n.trail=uo(t?.trail),!0):!1}function bo(e){return{inFlight:!1,startedAt:K(e?.startedAt,null),steps:uo(e?.trail),verdict:G(e?.verdict,``),summaryLine:G(e?.summaryLine,``)}}function xo(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function So(e,t){let n=vo(e,t?.projectId,t?.issueId);if(!n)return!1;let r=bo(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function Co(e){return lo[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function wo(e){return Ya(e,{rounding:`round`,showsHours:!1})}function To(e,t){return e==null?``:`+${wo(t-e)}`}function Eo(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 Do(e,t){if(e.inFlight){let n=fo(e.steps).length,r=`${n} ${n===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${r}`}return e.verdict?`finished: ${Co(e.verdict)}`:`finished`}function Oo(e){return ro(e,{label:`PostHog monitoring`})}function ko(e){return K(e.intervalMinutes,null)!==null}function Ao(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:ko(e)?`placeholder`:`pending`}function jo(e){return so[e??``]||`dim`}function Mo(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function No(e){let t=G(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function Po(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function Fo(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function Io(e,t=64,n=16){let r=Po(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 Lo(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 Ro(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function zo(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 Bo=3e5;function Vo(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Bo:t*2}function Ho(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function Uo(e){let t=Ho(G(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function Wo(e){let t=G(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function Go(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=Wo(e?.host);n&&t.add(n)}return t.size>1}function Ko(e,t,n={}){let r=zo(e?.issues),i=G(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>Vo(n.intervalMs)?ee:0;return{loud:r.active>0||r.spiking>0||!!i||s>0,counts:r,error:i,staleMs:s}}function qo(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=Ko(e,t,n),o={project:e,...a};a.loud?r.push(o):i.push(o)}return{loud:r,quiet:i}}function Jo(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:G(e.issueId,``),projectId:e.projectId??null,projectLabel:G(e.projectName,``),title:G(e.title,`Untitled issue`),summaryLine:G(e.summaryLine,``),url:G(e.url,``),verdict:G(e.verdict,`ERROR`).toUpperCase(),mode:G(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(G(e.prUrl,``))?G(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function Yo(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 Y(e,t){let n=G(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=fe(t,{validate:!0});return r?`commit ${r}`:``}function Xo(e){return`Update available: ${Y(e?.current,e?.currentSha)} to ${Y(e?.latest,e?.latestSha)}`}function Zo({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=G(e?.projectId,G(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=G(i?.issueId,G(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 Qo(e={}){return eo(Zo(e))}function $o(e){return oo[e??``]??co}function es(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=$o(e.issue?.change)-$o(t.issue?.change);if(n!==0)return n;let r=K(t.issue?.users,0)-K(e.issue?.users,0);if(r!==0)return r;let i=K(t.issue?.occurrences,0)-K(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var ts=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),ns=Object.freeze({"release-check-failed":`The last release check failed.`,"update-check-failed":`The last update check failed.`}),rs=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),is=`Not connected to the server. Reconnecting.`,as=Object.freeze({requested:!1,failure:null});function os(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function ss(e,t,n=null){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:is}:t===`progress-frame`?as:t===`error-frame`?e.requested?{requested:!1,failure:n}:e:e.failure===null?e:{requested:e.requested,failure:null}}function cs(e,t){return t?.state?t.state:e?.journalSummary?.state}function X(e,t=null,n=null){return{actions:e,note:t,command:n}}function ls(e){let t=e?.applyRefusal;return t?rs.includes(t.reason):!1}function us({status:e,journal:t,request:n=as}){if(n.failure===`Not connected to the server. Reconnecting.`)return X([],is);let r=ds(cs(e,t),e,n.requested);return n.failure?{...r,note:n.failure}:r}function ds(e,t,n){if(e===`running`||n)return X([]);if(e===`staged`||fs(t))return X([`restart`]);if(!t?.updateAvailable)return X([`check`]);let r=t.applyRefusal;return r?ls(t)?X([`check`],r.message,G(t.command,null)):X([`check`],r.message):X([`update`])}function fs(e){return e?.applyRefusal?.reason===`target-already-checked-out`}function ps(e){return e?.journalSummary?.state===`staged`||fs(e)}function ms(e){return ns[e]??`The last update check failed: ${e}.`}function hs(e){let t=G(e?.deprecation,null);return t?`Security notice: ${Y(e?.current,e?.currentSha)||`This version`} is marked unsafe. ${t}`:null}function gs(e){let t=Y(e?.latest,e?.latestSha)||`A new version`;if(ps(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=Xo(e);return!e||e.applyRefusal===void 0||ls(e)?{mode:`command`,text:n}:{mode:`link`,text:n}}function _s(e){let t=gs(e),n=hs(e);return n?ps(e)||e?.journalSummary?.state===`running`?{mode:t.mode,tone:`security`,text:`${n} ${t.text}`}:{mode:`command`,tone:`security`,text:n}:{...t,tone:`update`}}function vs(e){let t=G(e,``);return t?`: ${t}`:``}var ys=new Set([`idle`,`staged`,`succeeded`,`discarded`]);function bs(e){return e.state===`failed`?`Update failed${vs(e.reason)}.`:e.state===`interrupted`?`Update interrupted${vs(e.reason)}.`:null}function xs(e){return ts[e]??e}function Ss(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 Cs(e){if(!e||ys.has(e.state))return null;let t=Ss(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:bs(e),steps:e.steps.map(e=>({id:e.id,label:xs(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:xs(n)}}var ws=6e5;function Ts(e,t){let n=cs(e,t),r=Y(t?.toVersion,t?.toSha)||Y(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=hs(e);if(i)return{tone:`security`,headline:i};if(fs(e))return{tone:`staged`,headline:`${Y(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=G(e.reason,``);return a?{tone:`unknown`,headline:ms(a)}:{tone:`current`,headline:`Up to date.`}}function Es(e){return e?.updateAvailable===!0||fs(e)}function Ds(e){if(!e)return`Update status unavailable.`;let t=Y(e.current,null)||`Unknown version`,n=fe(e.currentSha,{validate:!0}),r=G(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 Os(e){return e?{label:Y(e.latest,e.latestSha)||`Latest target unknown`,releaseUrl:G(e.releaseUrl,``)}:{label:`Update status unavailable.`,releaseUrl:``}}function ks({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<ws)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=ws}function As({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.`}var js=Object.freeze({[A.DORMANT]:`not-started`,[A.INITIALIZING]:`starting`,[A.STARTING]:`starting`,[A.RUNNING]:`working`,[A.WAITING]:`needs-input`,[A.IDLE]:`idle`,[A.COMPLETE]:`complete`,[A.DONE]:`exited`,[A.FAILED]:`failed`}),Ms=`monitoring`,Z=e=>({fill:`none`,stroke:`currentColor`,"stroke-width":e,"stroke-linecap":`round`,"stroke-linejoin":`round`}),Q={fill:`currentColor`},Ns=Object.freeze({"not-started":[{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`6`,...Z(`1.6`),"stroke-linecap":`butt`,"stroke-dasharray":`2.6 2.1`}}],starting:[{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`6`,...Z(`1.8`),"stroke-opacity":`.25`}},{tag:`path`,attributes:{d:`M8 2a6 6 0 0 1 6 6`,...Z(`1.8`),class:`status-icon-spin`}}],working:[{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`4`,...Z(`1.4`),class:`status-icon-ping`}},{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`4`,...Q}}],monitoring:[{tag:`path`,attributes:{d:`M1.3 8S3.8 3.4 8 3.4 14.7 8 14.7 8 12.2 12.6 8 12.6 1.3 8 1.3 8z`,...Z(`1.5`)}},{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`2.2`,...Q}}],"needs-input":[{tag:`path`,attributes:{d:`M4.6 5.2a3.4 3.4 0 1 1 4.9 3.05c-1 .5-1.5 1.1-1.5 2.05v.6`,...Z(`2.5`)}},{tag:`circle`,attributes:{cx:`8`,cy:`14`,r:`1.55`,...Q}}],idle:[{tag:`rect`,attributes:{x:`3.6`,y:`2.8`,width:`3`,height:`10.4`,rx:`.8`,...Q}},{tag:`rect`,attributes:{x:`9.4`,y:`2.8`,width:`3`,height:`10.4`,rx:`.8`,...Q}}],complete:[{tag:`path`,attributes:{d:`M2.8 8.4l3.4 3.4 7-7.4`,...Z(`2.2`)}}],exited:[{tag:`rect`,attributes:{x:`3`,y:`3`,width:`10`,height:`10`,rx:`1.6`,...Q}}],failed:[{tag:`path`,attributes:{d:`M3.5 3.5l9 9M12.5 3.5l-9 9`,...Z(`2`)}}]});function Ps(e,t){return!e||e.toLowerCase().endsWith(`[bot]`)?null:`https://avatars.githubusercontent.com/${encodeURIComponent(e)}?s=${t*2}`}function Fs(e){return e.match(/[a-z0-9]/i)?.[0]?.toUpperCase()??`?`}function $(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function Is(e,t,n){let r=$(e,t);return r.innerHTML=n,r}function Ls(e,t){for(let[n,r]of t)e.style.setProperty(n,r)}function Rs({login:e,url:t,cssPx:n}){let r=$(`span`,`avatar`);r.style.width=`${n}px`,r.style.height=`${n}px`;let i=()=>$(`span`,`avatar-monogram`,Fs(e)),a=t===void 0?Ps(e,n):t;if(!a)return r.append(i()),r;let o=$(`img`);return o.src=a,o.width=n,o.height=n,o.loading=`lazy`,o.decoding=`async`,o.referrerPolicy=`no-referrer`,o.alt=``,o.addEventListener(`error`,()=>o.replaceWith(i()),{once:!0}),r.append(o),r}function zs(e,t){let n=$(`span`,`avatar-stack`);for(let r of e){let e=Rs({login:r.login,url:r.url,cssPx:t});e.title=r.title,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,r.title);let i=$(`span`,`avatar-badge`);i.dataset.tone=r.tone,e.append(i),n.append(e)}return n}function Bs(e,t,n){let r=e.querySelector(t);if(!r||r.tagName.toLowerCase()!==n)throw Error(`${t} does not match a <${n}>`);return r}function Vs(e,t){let n=e.querySelector(t);if(!(n instanceof HTMLElement))throw Error(`${t} matches no element`);return n}function Hs(e,t,n,r=t){if(!n){let n=$(`span`,e,t);return n.title=r,n}let i=$(`a`,e,t);return i.title=r,i.href=n,i.target=`_blank`,i.rel=`noopener`,i}function Us(e,t){return e===A.RUNNING&&t===!0}function Ws(e,t=!1){let n=e,r=Us(e,t),i=r?`Monitoring`:Rr[n]||e;return{icon:r?Ms:js[n]??js[A.DORMANT],label:i.toUpperCase(),isMonitoring:r}}function Gs(e){if(!e)return;let t=null,n=()=>{t=null;let n=e.offsetHeight;n>0&&document.documentElement.style.setProperty(`--header-h`,`${n}px`)};new ResizeObserver(()=>{t===null&&(t=requestAnimationFrame(n))}).observe(e)}function Ks(e,t,n){let r=$(`section`,`${e}-section`),i=$(`div`,`${e}-section-head`);return i.append($(`h2`,`${e}-section-title`,t)),n&&i.append($(`span`,`${e}-section-hint`,n)),r.append(i),r}function qs(e,t,n,r){let i=$(`span`,`${e}-stat`);return r&&(i.dataset.tone=r),i.append($(`span`,`${e}-stat-value`,n),$(`span`,`${e}-stat-label`,t)),i}function Js(e){return Array.isArray(e?.projects)?e.projects:[]}function Ys(e){return!e||!!e.closest(`[hidden]`)}function Xs(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function Zs(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function Qs(e,t=null){let n=e?._adoptHome;n&&(delete e._adoptHome,n.parent?.isConnected?n.next&&n.next.parentElement===n.parent?n.parent.insertBefore(e,n.next):n.parent.appendChild(e):t&&t.appendChild(e))}var $s=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function ec(e,t){return e.value!==``&&$s.has(t.key)}function tc(e){let t=document.activeElement;return t instanceof HTMLElement?t.isContentEditable?!0:t instanceof HTMLTextAreaElement&&t.dataset.dashboardShortcuts===`allowed`?ec(t,e):(t.tagName===`INPUT`||t.tagName===`TEXTAREA`)&&!t.classList.contains(`xterm-helper-textarea`):!1}export{Qo as $,Hn as $t,Es as A,Qe as An,xa as At,bo as B,Ur as Bt,is as C,cn as Cn,Ja as Ct,Cs as D,ct as Dn,ia as Dt,Os as E,bt as En,va as Et,ao as F,ya as Ft,_o as G,Br as Gt,To as H,Rr as Ht,io as I,ca as It,No as J,kr as Jt,xo as K,A as Kt,yo as L,gi as Lt,us as M,je as Mn,ha as Mt,os as N,Me as Nn,ga as Nt,ss as O,Ee as On,Ea as Ot,Ts as P,fe as Pn,La as Pt,qo as Q,rr as Qt,So as R,ni as Rt,as as S,ln as Sn,Qa as St,As as T,Ct as Tn,G as Tt,Go as U,zr as Ut,wo as V,qr as Vt,Jo as W,Vr as Wt,Lo as X,Xn as Xt,go as Y,Zn as Yt,Fo as Z,Qn as Zt,Ls as _,Lt as _n,Xa as _t,zs as a,At as an,Wo as at,js as b,tn as bn,$a as bt,Hs as c,Ft as cn,Ro as ct,tc as d,S as dn,Do as dt,zn as en,Uo as et,Gs as f,Yt as fn,ho as ft,Qs as g,Pt as gn,Wa as gt,Bs as h,Xt as hn,no as ht,Rs as i,jt as in,jo as it,_s as j,Ve as jn,Sa as jt,ks as k,ve as kn,Oa as kt,Us as l,kt as ln,zo as lt,Vs as m,Zt as mn,eo as mt,Ks as n,kn as nn,Oo as nt,$ as o,Mt as on,es as ot,Js as p,$t as pn,Co as pt,Mo as q,Ar as qt,qs as r,Nt as rn,Yo as rt,Is as s,sn,Io as st,Zs as t,Ln as tn,Ao as tt,Ys as u,It as un,Eo as ut,Ws as v,an as vn,Ya as vt,Ds as w,b as wn,K as wt,Ns as x,en as xn,Za as xt,Xs as y,on as yn,qa as yt,vo as z,Hr 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";var te=h({attempt:s().int().positive(),limit:s().int().positive()}).refine(e=>e.attempt<=e.limit),ne={error:c().nullable().optional(),lastRefreshedAt:s().finite().nonnegative().nullable().optional(),incident:c().nullable().optional(),nextAttemptAt:s().finite().nonnegative().nullable().optional(),retry:te.nullable().optional(),isRefreshing:t().optional(),refreshNotice:c().nullable().optional()},re=d({lastRefreshedAt:s().finite().nonnegative().nullable(),error:c().nullable()}),ie=h({lane:l([`my-prs`,`team-review`,`issues`])}),ae=h({ok:t(),error:c().optional(),freshness:re.optional()}),oe=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,se=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,ce=/^[A-Za-z0-9_=-]+$/,le=7,ue=/^[0-9a-f]{7,40}$/i,de=/^[0-9a-f]{40}$/;function fe(e,{chars:t=le,validate:n=!1}={}){if(typeof e!=`string`||!e)return``;if(!n)return e.slice(0,t);let r=e.trim();return ue.test(r)?r.slice(0,t).toLowerCase():``}var _=c().regex(de),pe=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 me=h({path:c(),line:s().int().positive(),side:l([`RIGHT`,`LEFT`]).default(`RIGHT`),body:c()}),he=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),ge=l([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),_e=r(e=>typeof e==`string`&&Object.hasOwn(he,e)?he[e]:e,ge),ve=l([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),ye=h({line:s().int().positive().nullable(),kind:l([`add`,`del`,`context`]),text:c()}),be=me.extend({severity:ve.optional(),excerpt:f(ye).max(9).optional()}),xe=h({path:c().min(1),line:s().int().positive().nullable(),side:l([`RIGHT`,`LEFT`]),severity:ve,reviewer:c().min(1),disposition:l([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:c().min(1)}),Se=h({text:c().min(1),paths:f(c()),isFallback:t().default(!1)}),Ce=h({goal:c().default(``),change:c(),checked:f(c()),gaps:f(c()),handChecks:f(Se).default([])});h({verdict:ge,head:_,summary:c(),assessment:Ce.nullable(),findings:f(xe)}),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 we=l([`APPROVE`,`COMMENT`,`REQUEST_CHANGES`]),Te=l([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),Ee=new Set([`APPROVED`,`CHANGES_REQUESTED`]),De=l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Oe=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),ke={requestSource:l([`direct`,`team`]).default(`team`),isDraft:t().optional(),checksState:Oe.nullable().optional()},Ae=h({login:c().min(1),state:Te,commit:_.nullable(),isViewer:t(),submittedAt:c().nullable().optional()});function je(e,t){return e||(t.includes(`CHANGES_REQUESTED`)?`CHANGES_REQUESTED`:t.includes(`APPROVED`)?`APPROVED`:`REVIEW_REQUIRED`)}function Me(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 Ne=h({head:_,base:_.optional(),verdict:ge,summary:c(),body:c(),comments:f(me),wasPosted:t()}),Pe=Ne.pick({head:!0,verdict:!0,summary:!0,wasPosted:!0}).extend({comments:f(be)}),Fe=c().min(1).max(256).regex(ce),Ie=h({addressed:t(),reason:c().trim().min(1).max(4e3)}).strict(),Le=h({id:Fe,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:Le.shape.comments}).nullable()}).nullable()}),h({pullRequest:h({reviewThreads:h({pageInfo:h({hasNextPage:t(),endCursor:c().nullable().optional()}),nodes:f(Le)})}).nullable()}),h({data:h({resolveReviewThread:h({thread:h({id:Fe,isResolved:p(!0)})})}).nullable(),errors:f(e()).optional()});var Re=h({id:Fe,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:Ie.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 ze=h({total:s().int().nonnegative(),resolved:s().int().nonnegative()}),Be=h({...ke,key:c(),repo:pe,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),reviewedHead:_,reviewedBase:_.optional(),verdict:_e,summary:c(),assessment:Ce.optional(),body:c(),comments:f(be),status:l([`ready`,`stale`,`posted`,`discarded`,`error`]),error:c().optional(),threads:f(Re).optional(),viewerThreads:ze.optional(),githubReviews:f(Ae).optional(),reviewDecision:De.nullable().optional(),liveHead:_.optional(),prCreatedAt:c().optional(),reviewedAt:s().finite().optional(),postedAt:s().finite().optional(),postedEvent:we.optional(),priorReviewedHead:_.optional(),requeuedHead:_.optional(),earlierReview:Pe.optional()});function Ve(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var He=l([`approve`,`approve-only`,`comment`,`request-changes`,`discard`,`requeue`,`resolve-thread`]);function Ue(e){return e.action===`discard`||e.head!==void 0}var We=h({key:c().min(1),head:_.optional(),action:He,threadId:Fe.optional(),body:c(),comments:f(me)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}).refine(Ue,{message:`only discard may omit head`,path:[`head`]}),Ge=h({key:c(),ok:t(),error:c().optional(),warning:c().optional()}),Ke=h({sessionId:c().min(1),workDir:c().min(1),worktreePath:c().min(1),head:_,deadlineAt:s(),remainingAwakeMs:s().nonnegative().optional(),savedAt:s()}),qe=h({...ke,reviewDecision:De.nullable().optional(),key:c(),repo:pe,number:s().int().positive(),title:c(),url:c(),author:c(),prCreatedAt:c().optional()}),Je=h({draft:Be.nullable(),reviewedHead:_.nullable(),inFlight:t(),reviewAttempts:s().int().nonnegative().default(0),resumable:Ke.nullable().optional(),reviewedAt:s().optional(),threads:f(Re).optional(),viewerThreads:ze.optional(),autoResolvedThreadIds:f(Fe).optional(),githubReviews:f(Ae).optional(),reviewDecision:De.nullable().optional(),liveHead:_.optional(),requeuedHead:_.optional(),priorReview:Ne.optional(),discardedReviewHead:_.optional(),requestedAt:s().finite().optional(),updatedAt:s().finite()});i(c(),Je);var Ye=l([`preparing`,`checkout`,`reviewing`]),Xe=h({at:s().finite(),tool:c(),detail:c()}),Ze=h({...ke,reviewDecision:De.nullable().optional(),key:c(),repo:pe,number:s().int().positive(),title:c(),url:c(),author:c(),tier:l([`stamp`,`full`]),reasons:f(c()),head:_,phase:Ye,startedAt:s().finite(),deadlineAt:s().finite().nullable(),toolCalls:s().int().nonnegative(),recentSteps:f(Xe),prCreatedAt:c().optional(),priorReviewedHead:_.optional()}),Qe=h({...ne,type:p(`team-review-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),drafts:f(Be),inFlight:f(Ze),queued:f(qe).default([]),team:h({org:c(),slug:c(),name:c(),avatarUrl:c()}).nullable().optional()}).passthrough(),$e=l([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),et=s().int().nonnegative(),v=c().regex(se),tt=c().regex(/^[1-9][0-9]*$/),nt=o([v,`#`,tt]),rt=o([nt,`@`,_]),y=c().refine(e=>nt.safeParse(e).success),it=c().refine(e=>rt.safeParse(e).success);u(`outcome`,[d({outcome:p(`pushed`)}),d({outcome:l([`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1)})]);var at=d({outcome:l([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:c().min(1).optional(),at:s().finite()}),ot=at.extend({key:y,headRefOid:_,baseRefOid:_,consecutiveAttempts:s().int().min(1).optional()});d({keepMergeableKeys:f(y),keepMergeableAttemptKeys:f(it),keepMergeableAttempts:f(ot).default([]),mergeQueueKeys:f(y).default([]),keepMergeablePushedHeadKeys:f(it).default([])});var st=d({repo:v,number:s().int().positive(),url:g(),source:l([`hook`,`sha`,`manual`]),linkedAt:s().finite()}),ct=d({links:f(st).max(20),unlinkedKeys:f(y).default([])}),lt=h({repo:v,number:s().int().positive(),keepMergeable:t()}),ut=h({key:c(),ok:t(),error:c().optional()}),dt=ut,ft=h({repo:v,number:s().int().positive(),mergeWhenReady:t()}),pt=ut,mt=l([`MERGE`,`SQUASH`,`REBASE`]),ht=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()}),gt=h({reviewer:c().nullable(),state:c(),submittedAt:c().nullable()}),_t=h({outcome:l([`rebased`,`failed`]),at:s().finite(),message:c()}),vt=h({at:s().finite(),message:c()}),b=h({key:c(),repo:v,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:mt,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:et}),unresolvedThreads:et,threads:f(ht),behindBy:et.nullable(),reviewRequests:f(h({name:c(),isTeam:t(),avatarUrl:c().nullable()})),approvals:et,reviews:f(gt),stage:$e,autoRebase:_t.optional(),keepMergeable:t().optional(),keepMergeableAttempt:at.optional(),isKeepMergeableFixInFlight:t().optional(),mergeQueuePosition:s().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:t().optional(),mergeQueueFailure:vt.optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),yt=d({key:y,autoRebase:b.shape.autoRebase,keepMergeable:b.shape.keepMergeable,keepMergeableAttempt:b.shape.keepMergeableAttempt,isKeepMergeableFixInFlight:b.shape.isKeepMergeableFixInFlight,mergeQueuePosition:b.shape.mergeQueuePosition,isMergeQueueHeldForRepairPush:b.shape.isMergeQueueHeldForRepairPush,mergeQueueFailure:b.shape.mergeQueueFailure}),bt=h({...ne,type:p(`my-prs-status`),ts:s().finite(),configured:t(),reason:c().nullable().optional(),viewer:c().nullable(),prs:f(yt),truncatedNote:c().nullable().optional(),isKeepMergeableEnabled:t().optional(),isMergeQueueEnabled:t().optional()}).passthrough();bt.extend({prs:f(b)});var xt=h({repo:v,number:s().int().positive(),headRefOid:_}),St=l([`merged`,`queued`,`auto-merge`,`unconfirmed`]),Ct=h({key:c(),ok:t(),kind:St.optional(),error:c().optional()}),wt=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()}),Tt=h({__typename:p(`StatusContext`),context:c(),state:c()}),Et=a([wt,Tt]),Dt=h({hasNextPage:t(),endCursor:c().nullable()}),x=h({__typename:p(`PullRequest`),id:c().regex(ce),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:v,viewerDefaultMergeMethod:mt}),commits:h({nodes:f(h({commit:h({statusCheckRollup:h({id:c().regex(ce).optional(),state:l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:h({pageInfo:Dt.optional(),nodes:f(Et)})}).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()}))})}),Ot=h({login:c()}).nullable();h({isResolved:t(),isOutdated:t(),path:c(),line:s().int().positive().nullable(),firstComment:h({totalCount:et,nodes:f(h({author:Ot,bodyText:c(),url:g(),createdAt:c()}))}),lastComment:h({nodes:f(h({author:Ot,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:Dt,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 S=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),kt=Object.freeze({min:0,label:`zero or more`}),At=Object.freeze({min:0,max:300}),jt=Object.freeze({min:1,max:60}),Mt=Object.freeze({min:.5,max:2}),Nt=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0}),Pt=Object.freeze({min:64,max:16384}),Ft=Object.freeze({min:0,max:65536}),It=Object.freeze({min:0,max:65535}),Lt=Object.freeze({min:0,exclusiveMin:!0,max:2147483647/1e3}),Rt=S,zt=S,Bt=S,Vt=kt,Ht=S,Ut=S,Wt=S,Gt=S,Kt=S,qt=S,Jt=S,Yt=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),Xt=Object.freeze({min:1,label:`at least 1`}),Zt=Object.freeze({min:1,label:`at least 1`}),Qt=kt,$t=Object.freeze({min:1,max:30,label:`between 1 and 30`}),en=Object.freeze({min:1,max:1440}),tn=Object.freeze({min:1,max:3650}),nn=Object.freeze({min:30,max:3650}),rn=Object.freeze({min:1,max:24}),an=S,on=Object.freeze({scanIntervalMinutes:en,retainDays:tn,warehouseRetainDays:nn,sessionBlockHours:rn}),sn=Object.freeze({min:5,max:120}),cn=Object.freeze({min:1,max:5}),ln=Object.freeze({min:1,max:50});Object.freeze({NON_NEGATIVE_NUMBER_RANGE:kt,FLYING_ANIMALS_GAP_RANGE:At,FLYING_ANIMALS_DURATION_RANGE:jt,FLYING_ANIMALS_SCALE_RANGE:Mt,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:sn,PORT_RANGE:It,POSTHOG_ESCALATION_RANGE:Jt,POSTHOG_FIX_TIMEOUT_RANGE:Yt,POSTHOG_INTERVAL_RANGE:Wt,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:Kt,POSTHOG_MAX_CONCURRENT_RANGE:Gt,POSTHOG_MIN_USERS_RANGE:qt,POSTHOG_TRAFFIC_BASELINE_RANGE:$t,POSTHOG_TRAFFIC_COOLDOWN_RANGE:Qt,POSTHOG_TRAFFIC_MIN_USERS_RANGE:Zt,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:Xt,REPLAY_BUFFER_KB_RANGE:Pt,MEMORY_RESERVE_MB_RANGE:Ft,TASK_TITLE_TIMEOUT_RANGE:Lt,USAGE_BUDGET_RANGE:an,USAGE_RETAIN_DAYS_RANGE:tn,USAGE_SCAN_INTERVAL_RANGE:en,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:Vt,VISIONS_COOLDOWN_MS_RANGE:zt,VISIONS_DISPATCH_TIMEOUT_RANGE:Ht,VISIONS_INTENT_THREAD_TTL_MS_RANGE:Ut,VISIONS_MAX_PER_HOUR_RANGE:Bt,VISIONS_QUIET_MS_RANGE:Rt,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:ln,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:cn});var un=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),dn=Object.freeze([`notify`,`spawn`,`label`,`comment`]),fn=2e4,pn=65536,mn=50,hn=/^[a-z0-9][a-z0-9-]{0,63}$/,gn=/[\x00-\x1f\x7f,]|^-/,_n=(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})},vn=t({error:`workflows.enabled must be a boolean`}),yn=_n(`workflows.maxConcurrentSessions`,cn),bn=_n(`workflows.maxActionsPerPoll`,ln),C=(e,t)=>f(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),xn=c({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(mn,{error:`a workflow label name must be at most ${mn} characters`}).refine(e=>!gn.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),Sn=c({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(pn,{error:`a workflow comment body must be at most ${pn} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),Cn=l(un,{error:`workflows.rules[].trigger must be one of ${un.join(`, `)}`}),wn=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(fn,{error:`a spawn action promptTemplate must be at most ${fn} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),d({type:p(`label`),name:xn}),d({type:p(`comment`),body:Sn})],{error:`workflows.rules[].actions[].type must be one of ${dn.join(`, `)}`}),Tn=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:C(`workflows.rules[].filters.authors`,c({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(oe,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:C(`workflows.rules[].filters.labels`,xn).optional(),baseBranches:C(`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`}),En=c({error:`workflows.rules[].id must be a string`}).regex(hn,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),Dn=t({error:`workflows.rules[].enabled must be a boolean`}),On=d({id:En,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:Dn.default(!1),repos:C(`workflows.rules[].repos`,v),filters:Tn.default({}),trigger:Cn,actions:C(`workflows.rules[].actions`,wn)},{error:`workflows.rules[] must be an object`}),kn=d({enabled:vn.default(!0),maxConcurrentSessions:yn.default(2),maxActionsPerPoll:bn.default(20),rules:f(On,{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)}),An=d({id:En,enabled:Dn},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});d({enabled:vn.optional(),maxConcurrentSessions:yn.optional(),maxActionsPerPoll:bn.optional(),rules:f(An,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var jn=s().int().nonnegative(),Mn=l([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),Nn=x.extend({author:h({login:c()}).nullable(),labels:h({nodes:f(h({name:c()}))}),comments:h({totalCount:jn})}),Pn=d({repo:v,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:jn,reviewRequests:f(c()),checksState:Mn,reviewDecision:l([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}),Fn=d({polledAtMs:jn,prs:f(Pn)});d({repos:i(c().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),Fn)});var In=c().refine(e=>nt.safeParse(e).success&&e===e.toLowerCase()&&Number.isSafeInteger(Number(e.slice(e.lastIndexOf(`#`)+1))));function Ln(e){return`${e.repo}#${e.number}`.toLowerCase()}h({repository:x.shape.repository.pick({nameWithOwner:!0}),number:x.shape.number,updatedAt:x.shape.updatedAt,headRefOid:x.shape.headRefOid,state:x.shape.state,commits:h({nodes:f(h({commit:h({statusCheckRollup:h({state:b.shape.checks.shape.state}).nullable()})}))}),reviewDecision:x.shape.reviewDecision,mergeable:x.shape.mergeable}),x.extend({author:Nn.shape.author.unwrap().extend({__typename:c().optional()}).nullable(),labels:Nn.shape.labels,comments:Nn.shape.comments,latestReviews:h({nodes:f(x.shape.latestReviews.shape.nodes.element.extend({commit:h({oid:c()}).nullable().optional()}))}),writerOpinionatedReviews:x.shape.latestOpinionatedReviews.optional()});var Rn=d({key:In,id:x.shape.id,repo:b.shape.repo,number:b.shape.number,title:b.shape.title,url:b.shape.url,author:Pn.shape.author,isAuthorBot:t(),labels:Pn.shape.labels,commentCount:Pn.shape.commentCount,isDraft:b.shape.isDraft,state:b.shape.state,createdAt:b.shape.createdAt,mergedAt:b.shape.mergedAt,updatedAt:b.shape.updatedAt,baseRefName:b.shape.baseRefName,baseRefOid:b.shape.baseRefOid,headRefName:b.shape.headRefName,headRefOid:b.shape.headRefOid,isCrossRepository:b.shape.isCrossRepository,isInMergeQueue:b.shape.isInMergeQueue,mergeMethod:b.shape.mergeMethod,mergeable:b.shape.mergeable,mergeStateStatus:b.shape.mergeStateStatus,reviewDecision:De.nullable(),checks:b.shape.checks.strict(),rollupState:Oe.nullable(),unresolvedThreads:b.shape.unresolvedThreads,threads:f(b.shape.threads.element.strict()),behindBy:b.shape.behindBy,reviewRequests:f(b.shape.reviewRequests.element.strict()),approvals:b.shape.approvals,reviews:f(b.shape.reviews.element.extend({commit:_.nullable()}).strict()),opinionatedWriterReviewStates:f(c())}).refine(e=>e.key===Ln(e)),zn=n({type:p(`github-prs`),ts:s().finite().nonnegative(),prs:i(In,Rn).refine(e=>Object.entries(e).every(([e,t])=>e===t.key)),freshness:re}),w=c().regex(se),Bn=c().regex(RegExp(`${se.source.slice(0,-1)}#[1-9][0-9]*$`)),Vn=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:Vn.shape.number,url:Vn.shape.url,title:Vn.shape.title,state:l([`OPEN`,`MERGED`,`CLOSED`]),isDraft:t()}).nullable()).max(5)})}).nullable()});function Hn({state:e,isDraft:t}){return e===`OPEN`?t?`draft`:`open`:e===`MERGED`?`merged`:`closed`}var T={key:c(),repo:w,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`]),Wn={...T,sources:f(Un).nonempty().refine(e=>new Set(e).size===e.length),teams:f(w),projectId:c().nullable(),pullRequests:f(Vn).max(5).default([])},Gn=h(Wn).refine(e=>e.key===`${e.repo}#${e.number}`),Kn=h({...Wn,sessionId:c().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),qn=h({...T,state:l([`open`,`closed`])});h({number:T.number,title:T.title,html_url:T.url,state:l([`open`,`closed`]),labels:f(a([c(),h({name:c()})])),assignees:f(h({login:c()})),user:h({login:c()}).nullable(),comments:T.comments,created_at:T.createdAt,updated_at:T.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(qn),isComplete:t(),error:c()}),h({issues:f(Gn),lastSyncAt:s().finite().nonnegative().nullable(),perRepoSync:i(w,h({lastSyncAt:s().finite().nonnegative().nullable(),ticks:s().int().nonnegative(),needsFullReconcile:t()})),sessionLinks:i(Bn,c()).default({}),pullRequestsFetchedAt:i(Bn,m()).default({})});var Jn=h({type:p(`issues-status`),ts:s().finite(),configured:t(),reason:c().nullable(),lastSyncAt:s().finite().nonnegative().nullable(),issues:f(Kn),...ne}).passthrough(),Yn=2e4,Xn=4e3,Zn=524288,Qn=1e4,$n=`ExitPlanMode`,er=4096,tr=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function nr(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 rr(e,{overlongLine:t}){if(t===`reject`&&e.length>er)return null;let n=tr.exec(e.slice(0,er));return n?{level:n[1].length,text:nr(n[2])}:null}var ir=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($n),tool_input:ir,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 ar=Object.freeze([`open`,`released`,`decided`,`closed`]),or=l(ar),sr=Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`]),cr=l(sr),lr=h({heading:c().max(Xn).nullable(),comment:c().min(1).max(Xn)}),ur=h({id:c().min(1),agentId:c().nullable(),revision:s().int().positive(),decision:cr,feedback:c().max(Yn).optional(),comments:f(lr).max(40).optional(),plan:c().min(1).max(Zn).optional()}),dr=h({revision:s().int().positive(),receivedAt:s().finite(),chars:s().int().nonnegative(),title:c()}),fr=h({revision:s().int().positive(),since:s().finite()}),pr=h({agentId:c().nullable(),agentType:c().nullable(),revisions:f(dr),state:or,openRevision:fr.nullable(),approvedRevision:s().int().positive().nullable(),lastDecision:cr.nullable()});h({reviews:f(pr)});var mr=h({agentId:c().nullable(),revision:s().int().nonnegative(),plan:c(),planFilePath:c(),receivedAt:s().finite()}),hr=h({id:c(),agentId:c().nullable(),agentType:c().nullable(),revision:s().int().positive(),receivedAt:s().finite(),state:or,lastDecision:cr.nullable(),approvedRevision:s().int().positive().nullable(),chars:s().int().nonnegative(),title:c(),hasPlan:t()}),gr=h({id:c(),agentId:c().nullable(),planFilePath:c(),changedAt:s().finite()}),_r=h({id:c(),reviews:f(pr),body:mr.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var E=c().min(1),D=c().min(1),O=s().int().nonnegative(),vr=f(D).max(20),yr=l([`added`,`modified`,`deleted`,`renamed`,`untracked`]),br=d({factId:E,path:D,previousPath:D.optional(),status:yr,isCommitted:t()}),xr=d({factId:E,agentsPath:D,title:c(),paths:f(D).min(1)}),Sr=d({factId:E,path:D,partner:D,support:O,confidence:s().min(0).max(1)}),Cr=d({factId:E,path:D,commitCount:O,fixCommitCount:O}),wr=d({factId:E,path:D,directDependents:vr,directDependentCount:O,transitiveDependentCount:O,dependentTests:vr,dependentTestCount:O}),Tr=d({factId:E,path:D}),Er=d({factId:E,path:D,otherSessionId:c().min(1),otherSessionName:c()}),Dr=d({factId:E,providerRepo:c().min(1),packageName:c().min(1),packageDir:c(),consumerManifest:D,versionSpec:c(),isLocalLink:t(),providerChangedPathCount:O,importers:vr,importerCount:O,changedImporterCount:O}),Or=d({name:c().min(1),root:c().min(1),sessionPathPrefix:c(),base:c().nullable(),files:f(br),subsystems:f(xr),coChangeGaps:f(Sr),hotspots:f(Cr),blastRadius:f(wr),untestedFiles:f(Tr),collisions:f(Er),links:f(Dr),error:c().nullable()}),kr=d({sessionId:c().min(1),sig:c().nullable(),generatedAt:s().finite(),repos:f(Or),error:c().min(1).optional()}),Ar=l([`decision`,`retraction`,`conjecture`,`resolution`,`dismissal`,`defect`,`experiment`,`close`,`unable`,`escalation`,`acknowledgement`,`enactment`]),k={id:c().min(1),at:m(),session:c(),agent:c(),commit:c().nullable(),dirty:t(),binding:c()},jr={of:c().min(1),because:c()},Mr=n({id:c(),text:c()}),Nr=u(`kind`,[n({...k,kind:p(`decision`),chose:c(),over:f(c()),because:c()}),n({...k,kind:p(`retraction`),...jr}),n({...k,kind:p(`conjecture`),observation:c(),couldBe:f(c()),discriminatedBy:c()}),n({...k,kind:p(`resolution`),...jr,as:c().optional()}),n({...k,kind:p(`dismissal`),...jr}),n({...k,kind:p(`defect`),what:c(),evidence:c(),files:f(c())}),n({...k,kind:p(`experiment`),expectation:c(),context:f(c()),actions:f(Mr),criteria:f(Mr)}),n({...k,kind:p(`close`),of:c(),outcome:l([`success`,`failure`,`inconclusive`]),results:i(c(),e())}),n({...k,kind:p(`unable`),what:c(),because:c()}),n({...k,kind:p(`escalation`),what:c(),because:c()}),n({...k,kind:p(`acknowledgement`),...jr}),n({...k,kind:p(`enactment`),practice:c(),results:i(c(),e())})]),Pr=a([Nr,h({id:c().min(1),kind:c().min(1).refine(e=>!Ar.safeParse(e).success)})]);n({branch:c().nullable(),escalations:f(e()),records:f(Pr),citedBy:i(c(),f(e())),damaged:f(e())});var Fr=d({id:c().min(1),at:m().nullable(),kind:c().min(1),text:c().max(280),detail:c().max(280).nullable(),supersedes:c().nullable()}),Ir=u(`ok`,[d({ok:p(!0),latest:Fr.nullable()}),d({ok:p(!1),reason:c().min(1).max(200)})]),Lr=d({journal:Ir,updatedAt:s().finite()}),A=Object.freeze({DORMANT:`DORMANT`,INITIALIZING:`INITIALIZING`,STARTING:`STARTING`,RUNNING:`RUNNING`,WAITING:`WAITING`,IDLE:`IDLE`,COMPLETE:`COMPLETE`,DONE:`DONE`,FAILED:`FAILED`}),Rr=Object.freeze({[A.DORMANT]:`Dormant`,[A.INITIALIZING]:`Starting`,[A.STARTING]:`Starting`,[A.RUNNING]:`Working`,[A.WAITING]:`Needs Input`,[A.IDLE]:`Idle`,[A.COMPLETE]:`Complete`,[A.DONE]:`Exited`,[A.FAILED]:`Failed`}),zr=Object.freeze([A.INITIALIZING,A.STARTING,A.RUNNING,A.WAITING,A.IDLE,A.COMPLETE]),Br=Object.freeze([A.DONE,A.FAILED]),Vr=Object.freeze([A.WAITING,A.IDLE,A.COMPLETE]),Hr=/^[a-zA-Z0-9_\-. ()]{1,64}$/,Ur=`Session name may only contain letters, numbers, spaces, dashes, dots, underscores, and parentheses (max 64 chars)`,Wr=/[\x00-\x1f\x7f-\x9f]/,Gr=c().refine(e=>!Wr.test(e)).trim().max(120);h({title:c().nullable(),name:c().nullable().optional()}).strict();var Kr=l(A),qr=l([`finished`,`failed`]),Jr=4e3,Yr=1e3,Xr=2e3,Zr=h({question:c().min(1).max(Yr),header:c().max(100).default(``),options:f(h({label:c().min(1).max(200),description:c().max(Yr).default(``)})).min(1).max(8),multiSelect:t().default(!1)}),Qr=h({requestId:a([c().min(1).max(128),s().int()]),kind:l([`command`,`fileChange`,`permissions`,`tool`,`question`]),summary:c().max(Jr),isSummaryTruncated:t(),toolName:c().max(200).optional(),questions:f(Zr).min(1).max(4).optional(),alwaysAllowSummary:c().max(Jr).optional()}),$r=i(c().max(Yr),c().max(Xr)),ei=l([`accept`,`acceptForSession`,`decline`]),ti=80,ni=Object.freeze({notInstalled:`not installed`,unsupportedVersion:`unsupported version`,codexHooksUntrusted:`Codex hooks need trust in /hooks`}),ri=u(`active`,[h({active:p(!0)}).strict(),h({active:p(!1),reason:c().min(1).max(ti),version:c().optional()}).strict()]),j=h({id:c(),name:c(),taskTitle:Gr.nullable().default(null),taskTitleIsCustom:t().default(!1),path:c(),agent:c(),state:Kr,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(),conversationApproval:Qr.nullable().default(null),hasConversationBridge:t().default(!1),isConversationViewOn:t().default(!1),hasPlan:t().default(!1),mergeStatus:c().nullable(),mergeReason:c().nullable(),worktreeNotice:c().nullable(),failureReason:c().nullable().optional(),unseenOutcome:qr.nullable().default(null),effectiveBase:c().nullable(),linkedPrs:f(st).default([]),coherenceHooks:ri.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 ii=[`push`,`spawn`,`send`,`read`,`close`,`attention`,`board`,`edit`,`show`,`review`,`reviews`,`prs`,`link-pr`,`settings`];[...ii],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 ai=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:ai.optional()}).strict(),h({child:ai,discard:t().optional()}).strict(),a([h({child:ai,answers:i(c(),c().min(1))}).strict(),h({child:ai,toOperator:p(!0)}).strict()]);var oi=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(oi),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:j.shape.id,name:j.shape.name,agent:j.shape.agent,state:j.shape.state,ephemeral:j.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 si=qe.pick({key:!0,title:!0,url:!0,author:!0});h({ok:p(!0),configured:t(),reason:c().nullable(),reviewing:f(si.extend({phase:Ze.shape.phase})),queued:f(si),drafts:f(si.extend({status:Be.shape.status,verdict:c(),summary:Be.shape.summary,comments:s().int().nonnegative(),isOutOfDate:t()}))}).strict(),h({ok:p(!0),configured:t(),prs:f(h({key:b.shape.key,title:b.shape.title,url:b.shape.url,state:b.shape.state,isDraft:b.shape.isDraft,stage:b.shape.stage,reviewDecision:b.shape.reviewDecision,approvals:b.shape.approvals,unresolvedThreads:b.shape.unresolvedThreads,behindBy:b.shape.behindBy,mergeable:b.shape.mergeable,isInMergeQueue:b.shape.isInMergeQueue,checks:b.shape.checks.pick({state:!0,failing:!0})}).strict())}).strict();var ci=4096;h({path:c({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(ci,{error:`path must be at most ${ci} characters`})}).strict();var li=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(),ui=h({path:c(),name:c(),surfacedAt:s().finite()}).strict();h({commands:f(h({name:l(ii),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 di=4e3,M=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()}),fi=u(`kind`,[M.extend({kind:p(`prompt`),text:c()}),M.extend({kind:p(`expansion`),text:c(),toolUseId:c().min(1).optional()}),M.extend({kind:p(`thinking`),text:c()}),M.extend({kind:p(`assistant`),text:c()}),M.extend({kind:p(`tool_call`),toolUseId:c().min(1),name:c().min(1),input:e()}),M.extend({kind:p(`tool_result`),toolUseId:c().min(1),content:c(),isError:t(),truncated:t()}),M.extend({kind:p(`session`),vendor:c().min(1),transcriptPath:c().min(1),reason:c().min(1).optional()}),M.extend({kind:p(`notice`),text:c().max(di)}),M.extend({kind:p(`raw`),line:c().max(di)})]);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 pi=c().max(16384),mi=f(pi).max(4096),hi=h({model:pi.nullable(),mcpServers:mi,plugins:f(h({name:pi,skills:mi,agents:mi})).max(4096),skills:mi,agents:mi,hookEvents:f(h({event:pi,runCount:s().int().nonnegative()})).max(4096),hookCommands:f(c().max(65536)).max(4096)}),gi=Object.freeze([`release`,`experimental`]),_i=`main`,vi=r(e=>e===_i?`experimental`:e,l(gi,{error:`updateChannel must be one of ${gi.join(`, `)}`})),yi=l([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),bi=l([`fetch`,`stage`,`install`,`link-deps`,`build`]),xi=l([`pending`,`running`,`succeeded`,`failed`]),Si=h({id:bi,status:xi,startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),outputTail:f(c())}).strict(),Ci=h({state:yi,fromSha:c().nullable(),toSha:c().nullable(),toVersion:c().nullable(),channel:vi,steps:f(Si),activeStep:bi.nullable(),reason:c().nullable(),startedAt:s().finite().nullable(),finishedAt:s().finite().nullable(),failedAtHandOff:t().optional()}).strict(),wi=Ci.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Ti=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Ei=/^[A-Za-z_][A-Za-z0-9_]*$/,Di=c().regex(/^[^/\s]+\/[^/\s]+$/),N=s().finite(),P=c().min(1),Oi=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),F=c().regex(Ti);function ki(e){return new Set(e.map(e=>e.id)).size===e.length}var Ai=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-merged-prs`),repo:Di,minBodies:s().int().min(1),limit:s().int().min(1).max(500)})]),ji=u(`kind`,[d({kind:p(`none`)}),d({kind:p(`pr-checkout`)})]),Mi=l([`review-findings`,`json`]),Ni=d({promptTemplate:P,output:Mi,timeoutSeconds:s().int().min(30).max(14400)}),Pi=d({id:F,env:i(c().regex(Ei),c()).refine(e=>Oi.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${Oi.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:f(c()).optional(),setup:d({command:f(P).min(1)}).optional()}),Fi=u(`kind`,[d({kind:p(`llm-judge-match`),model:P})]);d({id:F,title:P,caseSource:Ai,workspace:ji,subject:Ni,arms:f(Pi).min(2).refine(ki,{message:`arm ids must be unique`}),baselineArm:F,trials:s().int().min(1).max(20),scorer:Fi}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var Ii=d({id:F,text:P,tags:f(F),path:P.optional(),line:s().int().positive().optional()}),Li=u(`kind`,[d({kind:p(`manual`)}),d({kind:p(`github-pr`),repo:Di,number:s().int().positive(),url:P,minedAt:N})]);d({id:F,input:i(c(),e()),references:f(Ii).min(1).refine(ki,{message:`reference ids must be unique`}),source:Li}),h({repo:Di,number:s().int().positive(),reviewedSha:_,baseSha:_,changedFiles:f(P)});var Ri=l([`found`,`partial`,`missed`]),zi=d({referenceId:F,verdict:Ri,findingIndexes:f(s().int().nonnegative())}),Bi=l([`scored`,`invalid`,`error`]),Vi=d({caseId:F,armId:F,trial:s().int().min(1),status:Bi,startedAt:N,finishedAt:N,degradedReasons:f(P),findingCount:s().int().nonnegative(),judgements:f(zi),costUsd:s().finite().nonnegative().nullable(),error:P.nullable()}),Hi=l([`running`,`completed`,`interrupted`,`failed`]);d({id:F,suiteId:F,status:Hi,startedAt:N,finishedAt:N.nullable(),error:P.nullable(),cells:f(Vi)});var Ui=s().min(0).max(1).nullable(),Wi=d({trials:s().int().nonnegative(),recall:Ui,recallByTag:i(F,Ui),degraded:s().int().nonnegative(),invalid:s().int().nonnegative(),costUsd:s().finite().nonnegative().nullable()}),Gi=d({caseId:F,arms:i(F,Wi),deltaVsBaseline:i(F,s().min(-1).max(1).nullable())}),Ki=d({runId:F,suiteId:F,status:Hi,baselineArm:F,armIds:f(F),rows:f(Gi),totals:i(F,Wi)}),qi=l([`mine`,`run`,`cancel`]),Ji=h({suiteId:F,action:qi}),Yi=h({suiteId:F,action:qi,ok:t(),error:c().optional(),runId:F.optional()}),Xi=l([`setup`,`preflight`,`workspace`,`subject`,`judge`]),Zi=h({suiteId:F,runId:F,caseId:F.nullable(),armId:F,trial:s().int().min(1),phase:Xi,cellIndex:s().int().nonnegative(),cellCount:s().int().positive(),startedAt:N}),Qi=h({id:F,title:c(),error:c().nullable(),caseCount:s().int().nonnegative(),candidateCount:s().int().nonnegative(),armIds:f(F),baselineArm:F.nullable(),latestReport:Ki.nullable()}),$i=h({type:p(`benchmark-status`),ts:N,configured:t(),reason:c().nullable(),suites:f(Qi),inFlight:Zi.nullable()}).passthrough(),ea=h({__typename:c(),login:c()}).nullable();h({number:s().int().positive(),title:c(),url:P,mergedAt:c().nullable(),reviewThreads:h({totalCount:s().int().nonnegative()}),reviews:h({totalCount:s().int().nonnegative()})});var ta=h({path:c(),line:s().int().positive().nullable(),originalLine:s().int().positive().nullable(),comments:h({nodes:f(h({databaseId:s().int().positive(),author:ea,body:c(),createdAt:c(),originalCommit:h({oid:_}).nullable()}))})}),na=h({databaseId:s().int().positive(),author:ea,body:c(),submittedAt:c().nullable(),commit:h({oid:_}).nullable()}),ra=u(`__typename`,[h({__typename:p(`BaseRefChangedEvent`),createdAt:c()}),h({__typename:p(`BaseRefForcePushedEvent`),createdAt:c(),beforeCommit:h({oid:_}).nullable()})]);h({author:ea,baseRefOid:_,reviewThreads:h({pageInfo:h({hasNextPage:t()}),nodes:f(ta)}),reviews:h({pageInfo:h({hasNextPage:t()}),nodes:f(na)}),timelineItems:h({pageInfo:h({hasNextPage:t()}),nodes:f(ra)})}),h({mergeBaseSha:_,changedFiles:f(P),isFileListComplete:t()});var ia=4e3,I=c().nullable().optional(),L=c(),aa=h({path:c(),reason:c()}).strict(),oa=ct.shape.unlinkedKeys.unwrap().element,sa=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/([0-9]+)(?:[/?#].*)?$/i;function ca(e){let t=e.trim(),n=sa.exec(t),r=n?`${n[1]}#${n[2]}`:t,i=oa.safeParse(r);return i.success?i.data:null}function R(e,t){return n({type:p(e),...t})}function z(e={}){return n(e)}var B=c().nullable(),la=h({member:B,ref:B,sha:c(),verified:t()}),V=s().finite(),ua=V.optional(),H=B.optional(),U=z(),W=f(e()),da=s().int().positive(),fa=c().min(1).max(ci),pa=f(a([z({at:V,tool:c(),detail:c()}),z({at:V,note:c()})]));h({id:c(),label:c(),command:c(),args:f(c()),resolvable:t().nullable()}).strict();var ma=h({name:c(),template:c(),parameters:i(c(),c()),hourlyCostUsd:s().nullable(),idleStopMinutes:s()}),ha=f(ma).nullable(),ga=l([`claude-code`,`codex`]),_a=h({agent:ga,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(),va=f(_a),ya=h({setupWarning:B,lastFailure:h({message:c(),failedAt:V}).nullable()}),ba=h({id:L,session:c(),taskTitle:Gr.nullable().optional(),taskTitleIsCustom:t().optional(),path:c(),agent:c(),state:Kr,stateSince:V,skipPerms:t(),saneYolo:t(),worktree:t(),workspace:t().optional(),remoteWorkspace:c().optional(),guarded:t().optional(),guardrailsReleased:t().optional(),resumeSessionId:B,ephemeral:t().optional(),ownerId:L.optional(),linkedPrs:f(st).optional()}),xa=h({transition:h({from:Kr,to:Kr,event:c()}).optional(),skipPerms:t().optional(),saneYolo:t().optional(),failureReason:c().optional(),activeAgents:s().int().nonnegative().optional(),awaitingBackgroundTasks:t().optional(),unseenOutcome:qr.nullable().optional(),pendingPromptKind:B.optional()}),Sa=4096,Ca=Sa+2*(Zn+Yn+80*Xn),wa=h({reason:c(),message:c()}),Ta=l([`npm-global`,`npx`,`clone`,`unknown`]),Ea={updateAvailable:t(),current:B,latest:B,currentSha:B,latestSha:B,releaseUrl:B,command:c(),flavor:Ta,platform:c(),installedBranch:B,upstream:B,isTreeClean:t().nullable(),lastCheckAt:V,channel:vi,reason:B,deprecation:B,journalSummary:wi.nullable(),applyRefusal:wa.nullable()};h(Ea);var Da=8192,Oa=h({name:c().max(128),stack:c().max(Da)}).strict(),ka=1e3,Aa=h({scope:c().min(1).max(64),text:c().min(1).max(ka)}).strict(),ja=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 Ma=[`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 Na(t){return R(t,{id:L,force:e().optional()})}var Pa=Ma.map(Na),Fa={id:L,force:e().optional(),fresh:e().optional(),conversationId:c().optional()},Ia=[R(`restart`,Fa),R(`force-restart`,Fa),R(`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:I}),R(`quick-session`,{id:L,requestId:I}),R(`remove-session`,{id:L,force:e().optional(),discardWork:t().optional(),confirmedKeptPaths:f(c()).optional(),requestId:I}),R(`list-conversations`,{id:L,requestId:I}),R(`resume-conversation`,{id:L,conversationId:c()}),R(`rename-session`,{id:L,newName:c()}),R(`get-workspace-repos`,{id:L,requestId:I}),R(`set-workspace-repos`,{id:L,repos:f(c()),requestId:I}),R(`set-session-title`,{id:L,title:Gr}),R(`link-session-pr`,{id:L,key:oa}),R(`unlink-session-pr`,{id:L,key:oa}),R(`ping`,{requestId:I}),R(`get-settings`,{requestId:I}),R(`get-agent-logins`,{requestId:I}),R(`start-remote-setup`,{agent:ga,requestId:I}),R(`agent-connect`,{agent:ga,action:l([`start`,`cancel`]),requestId:I}),R(`agent-connect-code`,{agent:ga,code:c(),requestId:I}),R(`update-settings`,{settings:i(c(),e()),requestId:I}),R(`scan-repo-roots`,{requestId:I,includeSuggestions:t().optional()}),R(`list-agents`,{requestId:I,rescan:t().optional()}),R(`get-radar-report`,{issueId:a([c(),s()]),requestId:I}),R(`radar-open-session`,{projectId:a([c(),s()]),issueId:a([c(),s()]),requestId:I}),R(`issue-detail`,{requestId:c().min(1),repo:w,issueNumber:s().int().positive()}),R(`open-issue-session`,{requestId:I,projectId:c(),repo:w,issueNumber:s().int().positive()}),R(`radar-issue-action`,{projectId:a([c(),s()]),issueId:a([c(),s()]),action:c(),requestId:I}),R(`open-team-review-session`,{requestId:I,key:oa}),R(`team-review-action`,{...We.shape,requestId:I}).refine(Ue,{message:`only discard may omit head`,path:[`head`]}),R(`benchmark-action`,{...Ji.shape,requestId:I}),R(`my-pr-merge`,{...xt.shape,requestId:I}),R(`my-pr-keep-mergeable`,{...lt.shape,requestId:I}),R(`my-pr-merge-when-ready`,{...ft.shape,requestId:I}),R(`github-polling-refresh`,{...ie.shape,requestId:I}),R(`radar-archive-investigation`,{id:e().optional(),requestId:I}),R(`telegram-test`,{requestId:I}),R(`request-usage-report`,{requestId:I,days:e().optional(),force:e().optional()}),R(`request-hooks-report`,{requestId:I}),R(`save-hook`,{hook:i(c(),e()),requestId:I}),R(`delete-hook`,{id:c(),requestId:I}),R(`shutdown`),R(`restart-server`),R(`focus-change`,{focused:t()}),R(`request-health-snapshot`),R(`request-telemetry-deletion`,{requestId:I}),R(`update-check`),R(`update-apply`),R(`session-trace`,{id:L,requestId:I,after:s().int().nonnegative().default(0),endingAt:a([s().int().nonnegative(),p(`tail`)]).optional()}),R(`session-plan`,{id:L,agentId:B,revision:da.optional(),draft:t().optional()}),R(`plan-decision`,ur.shape),R(`set-session-conversation-view`,{id:L,isOn:t()}),R(`set-session-guardrails`,{id:L,isOn:t()}),R(`conversation-approval`,{id:L,requestId:Qr.shape.requestId,decision:ei,answers:$r.optional()}),R(`session-doc-read`,{id:L,path:fa,requestId:I}),R(`session-doc-save`,{id:L,path:fa,text:c(),baseHash:c().min(1),requestId:I}),R(`session-coherence-journal`,{id:L,requestId:I}),R(`session-setup`,{id:L,requestId:I}),R(`client-error`,Oa.shape),R(`client-log`,Aa.shape),R(`dashboard-telemetry`,{event:l(ja),properties:i(c(),e())}),R(`dismiss`,{id:L,force:e().optional(),expectedState:Kr.optional()}),R(`watch-session-changes`,{id:L.nullable()}),...Pa];u(`type`,Ia);var La=[R(`snapshot`,{sessions:f(j),serverBuild:B}),R(`hooks-report`,{requestId:I,ts:ua,hooks:f(U).optional(),builtin:f(U).optional(),events:f(z({name:c(),matcher:B,description:c(),http:t().optional()})).optional(),projects:f(z({id:c(),name:c(),agent:c()})).optional(),limits:z({maxTimeoutSec:s().int().positive()}).optional(),error:H}),R(`save-hook-result`,{requestId:I,ok:t(),error:H,hook:U.optional()}),R(`add-session-result`,{requestId:I,ok:t(),error:H,reason:l([`not-git`]).optional(),sessionId:c().optional()}),R(`remove-session-result`,{requestId:I,ok:t(),error:H,canDiscardWork:t().optional(),keptPaths:f(aa).optional()}),R(`agent-logins`,{requestId:I,logins:va,error:H}),R(`start-remote-setup-result`,{requestId:I,ok:t(),error:H,sessionId:c().optional(),sessionName:c().optional()}),R(`delete-hook-result`,{requestId:I,ok:t(),error:H,id:c().optional()}),R(`workspace-repos`,{requestId:I,id:L,ok:t(),repos:f(c()),error:H}),R(`set-workspace-repos-result`,{requestId:I,id:L,ok:t(),error:H}),R(`hooks-updated`,{count:s().int().nonnegative()}),R(`session-status`,{id:L,session:c(),timestamp:V,...xa.shape}),R(`session-added`,ba.shape),R(`session-modified`,ba.shape),R(`session-removed`,{id:L,session:c()}),R(`session-close-confirm`,{id:L,mergeStatus:c()}),R(`session-renamed`,{id:L,oldName:c(),newName:c()}),R(`session-title`,{id:L,taskTitle:Gr.nullable(),isCustom:t()}),R(`session-prs`,{id:L,linkedPrs:f(st)}),R(`session-git`,{id:L,worktree:t()}),R(`session-coherence-hooks`,{id:L,coherenceHooks:ri.nullable()}),R(`session-conversation`,{id:L,hasConversationBridge:t(),isConversationViewOn:t(),conversationApproval:Qr.nullable()}),R(`session-merge-status`,{id:L,mergeStatus:c(),reason:B,parked:t(),timestamp:V}),R(`session-worktree-blocked`,{id:L,session:c(),branch:B,notice:B,timestamp:V}),R(`session-worktree-warning`,{id:L,session:c(),branch:B,notice:B,timestamp:V}),R(`session-worktree-ready`,{id:L,session:c(),branch:B,base:B,timestamp:V}),R(`session-diff`,{id:L,committed:z({stat:c(),diff:c()}),uncommitted:z({stat:c(),diff:c()}),hasCommits:t(),bases:f(la)}),R(`session-diff-error`,{id:L,message:c()}),R(`change-map`,{id:L,map:kr}),R(`branch-sync-status`,{id:L,branch:B,upstream:B,state:c(),ahead:s().int().nonnegative(),behind:s().int().nonnegative(),fetched:t().nullable(),action:c().optional(),error:H}),R(`session-changed`,{id:L}),R(`debug-state-response`,{id:L,payload:U}),R(`session-trace-response`,{id:L,requestId:I,records:f(fi),start:s().int().nonnegative(),next:s().int().nonnegative(),reset:t(),path:c()}),R(`session-trace-changed`,{id:L}),R(`session-plan-changed`,hr.shape),R(`session-plan-draft`,gr.shape),R(`session-plan-response`,_r.shape),R(`session-docs-changed`,{id:L,docs:f(ui)}),R(`session-docs-snapshot`,{sessions:i(c(),f(ui))}),R(`session-shown`,{id:L,files:f(li)}),R(`session-shown-snapshot`,{sessions:i(c(),f(li))}),R(`session-doc-response`,{requestId:I,id:L,path:c(),ok:t(),text:c().optional(),hash:c().optional(),error:H}),R(`session-doc-save-result`,{requestId:I,id:L,path:c(),ok:t(),hash:c().optional(),conflict:t().optional(),error:H}),R(`session-coherence`,{id:L,...Lr.shape}),R(`session-coherence-snapshot`,{sessions:i(c(),Lr)}),R(`session-coherence-journal-response`,{requestId:I,id:L,ok:t(),entries:f(Fr).max(200),error:H}),R(`session-setup-response`,{requestId:I,id:L,ok:t(),setup:hi.optional(),error:H}),R(`notify`,{session:c(),category:c(),message:c(),escalationCount:s().int().nonnegative(),kind:p(`plan`).optional()}),R(`update-status`,Ea),R(`update-progress`,{journal:Ci}),R(`post-turn-leftovers`,{repositories:f(c()),command:c()}),R(`error`,{id:L.optional(),message:c(),requestId:I,scope:c().optional()}),R(`session-error`,{id:L.optional(),session:c(),message:c(),scope:c().optional()}),R(`settings`,{settings:U,requestId:I}),R(`settings-error`,{message:c(),requestId:I}),R(`settings-updated`,{settings:U,requestId:I}),R(`pong`,{requestId:I}),R(`agents-listed`,{requestId:I,agents:f(z({id:c(),label:c(),resolvable:t()}))}),R(`repo-roots-scanned`,{requestId:I,directories:f(z({root:c(),projects:f(z({name:c(),path:c(),isGit:t().optional()}))})),suggestions:f(z({path:c(),label:c(),gitRepoCount:s().int().nonnegative()})).optional(),error:c().optional()}),R(`conversations`,{requestId:I,id:B,current:B.optional(),conversations:f(z({id:c(),title:c(),cwd:c(),worktreePath:c(),worktreeName:c(),gitBranch:B,mtime:V})),error:c().optional()}),R(`resume-conversation-ack`,{id:L.optional(),resumeSessionId:B.optional(),ok:t(),error:c().optional(),requestId:I}),R(`health-snapshot`,{stats:U}),R(`radar-status`,{ts:V,intervalMinutes:s(),projects:f(U),investigations:f(U)}),R(`radar-investigation-activity`,{projectId:a([c(),s()]),issueId:c(),inFlight:p(!0),startedAt:V.nullable(),trail:pa}),R(`radar-investigation-finished`,{projectId:a([c(),s()]),issueId:c(),verdict:c(),summaryLine:B,startedAt:V.nullable(),trail:pa}),R(`radar-report`,{requestId:I,ok:t(),found:t(),issueId:B,format:c().optional(),content:c().optional(),message:c().optional(),error:c().optional()}),R(`radar-open-session-result`,{requestId:I,ok:t(),error:H,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional()}),R(`issue-detail-result`,{requestId:c().min(1),ok:t(),body:c().nullable(),error:c().nullable()}),R(`open-issue-session-result`,{requestId:I,ok:t(),error:H,sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),R(`open-team-review-session-result`,{requestId:I,ok:t(),error:H,key:oa.optional(),sessionId:c().optional(),sessionName:c().optional(),pending:t().optional(),existing:t().optional()}),R(`radar-issue-action-result`,{requestId:I,ok:t(),error:H,status:B.optional()}),R(`team-review-action-result`,{...Ge.shape,requestId:I}),R(`telemetry-deletion-result`,{requestId:I,ok:t()}),R(`benchmark-action-result`,{...Yi.shape,requestId:I}),R(`my-pr-merge-result`,{...Ct.shape,requestId:I}),R(`my-pr-keep-mergeable-result`,{...dt.shape,requestId:I}),R(`my-pr-merge-when-ready-result`,{...pt.shape,requestId:I}),R(`github-polling-refresh-result`,{...ae.shape,requestId:I}),R(`radar-archive-investigation-result`,{requestId:I,ok:t(),error:H}),R(`telegram-test-result`,{requestId:I,ok:t(),error:H,telegramDelivery:ya.nullable()}),Qe,$i,bt,zn,Jn,R(`usage-sessions`,{ts:V,pricingSource:B,sessions:f(z({id:L,tokens:s(),costUSD:s(),officialCostUSD:s().nullable().optional()}))}),R(`usage-report`,{requestId:I,ts:ua,tz:c().optional(),blockHours:s().optional(),totals:U.optional(),daily:W.optional(),models:W.optional(),sessions:W.optional(),blocks:W.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:U.optional(),scan:U.optional(),warning:H,error:H}),R(`plan-limits`,{ts:V,fiveHour:e().nullable(),sevenDay:e().nullable(),source:c(),vendor:l([`claude`,`codex`]).optional()}),R(`usage-budget-alert`,{scope:c(),periodKey:c(),threshold:s(),text:c(),ts:V}),R(`visions-findings`,{uri:c(),diagnostics:W,ts:V}),R(`visions-comments`,{uri:c(),comments:W,ts:V}),R(`visions-hand`,{uri:c(),hand:B,ts:V}),R(`visions-intent`,{projectId:B,intent:U,ts:V}),R(`visions-fix`,{uri:c(),fix:U,ts:V}),R(`visions-snapshot`,{documents:f(U),intent:U,fixes:f(U),ts:V}),R(`ingest-activity`,{events:f(U),overflow:s().int().nonnegative(),ts:V}),R(`ingest-snapshot`,{events:f(U),sources:e(),ts:V}),R(`client-trust`,{trust:l([`local`,`remote`])}),R(`shutting-down`),R(`restarting`)],Ra=u(`type`,La);function G(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function K(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}var q=60,za=3600,Ba=24,Va=1024,Ha=Va*1024,Ua=Ha*1024,Wa={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`}`}},Ga={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function J(e){return String(e).padStart(2,`0`)}function Ka(e,t){return Math.max(0,Math[t](e/1e3))}function qa(e,t){let n=Wa[t];if(e<q)return n.second(e);let r=Math.floor(e/q);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<Ba?n.hour(i):n.day(Math.floor(i/Ba))}function Ja(e,t){let n=Ka(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${qa(n,t.wording)}${t.suffix}`}function Ya(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<q)return`${e}s`;if(t===`s`&&e<za)return r(`${Math.floor(e/q)}m`,e%q,`s`);let i=Math.floor(e/q);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function Xa(e,{rounding:t,showsHours:n}){let r=Ka(e,t),i=J(r%q),a=Math.floor(r/q),o=Math.floor(r/za);return!n||o===0?`${a}:${i}`:`${o}:${J(a%60)}:${i}`}function Za(e,t){return e<Va?`${e} B`:t===`KB`||e<Ha?`${(e/Va).toFixed(1)} KB`:e<Ua?`${(e/Ha).toFixed(1)} MB`:`${(e/Ua).toFixed(2)} GB`}function Qa(e){let t=new Date(e);return`${t.getFullYear()}-${J(t.getMonth()+1)}-${J(t.getDate())}`}function $a(e){return`${J(e.getHours())}:${J(e.getMinutes())}`}function eo(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function to(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function no(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function ro({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=no(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function io(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 ao=`machine-updates`,oo=`update-actions`,so={spiking:0,regressed:1,worsened:2,new:3,quiet:4},co={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},lo=99,uo={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function fo(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=K(t?.at,0),r=G(t?.note,``);if(r)return[{at:n,note:r}];let i=G(t?.tool,``);return i?[{at:n,tool:i,detail:G(t?.detail,``)}]:[]}):[]}function po(e){return e.filter(e=>`tool`in e)}function mo(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function ho(e){let t=fo(e?.trail),n=t.findLast(e=>`note`in e);if(n)return n.note;let r=po(t).at(-1);return r?mo(r):``}function go(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 _o(e){let t=G(e?.summaryLine,``);return e?.inFlight===!0&&ho(e)||t}function vo(e){return{inFlight:e?.inFlight===!0,startedAt:K(e?.startedAt,null),steps:fo(e?.trail),verdict:G(e?.verdict,``),summaryLine:G(e?.summaryLine,``)}}function yo(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 bo(e,t){let n=yo(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=K(t?.startedAt,null),n.trail=fo(t?.trail),!0):!1}function xo(e){return{inFlight:!1,startedAt:K(e?.startedAt,null),steps:fo(e?.trail),verdict:G(e?.verdict,``),summaryLine:G(e?.summaryLine,``)}}function So(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function Co(e,t){let n=yo(e,t?.projectId,t?.issueId);if(!n)return!1;let r=xo(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function wo(e){return uo[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function To(e){return Xa(e,{rounding:`round`,showsHours:!1})}function Eo(e,t){return e==null?``:`+${To(t-e)}`}function Do(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 Oo(e,t){if(e.inFlight){let n=po(e.steps).length,r=`${n} ${n===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${r}`}return e.verdict?`finished: ${wo(e.verdict)}`:`finished`}function ko(e){return io(e,{label:`PostHog monitoring`})}function Ao(e){return K(e.intervalMinutes,null)!==null}function jo(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:Ao(e)?`placeholder`:`pending`}function Mo(e){return co[e??``]||`dim`}function No(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function Po(e){let t=G(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function Fo(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function Io(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function Lo(e,t=64,n=16){let r=Fo(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 Ro(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 zo(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function Bo(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 Vo=3e5;function Ho(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Vo:t*2}function Uo(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function Wo(e){let t=Uo(G(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function Go(e){let t=G(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function Ko(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=Go(e?.host);n&&t.add(n)}return t.size>1}function qo(e,t,n={}){let r=Bo(e?.issues),i=G(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>Ho(n.intervalMs)?ee:0;return{loud:r.active>0||r.spiking>0||!!i||s>0,counts:r,error:i,staleMs:s}}function Jo(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=qo(e,t,n),o={project:e,...a};a.loud?r.push(o):i.push(o)}return{loud:r,quiet:i}}function Yo(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:G(e.issueId,``),projectId:e.projectId??null,projectLabel:G(e.projectName,``),title:G(e.title,`Untitled issue`),summaryLine:G(e.summaryLine,``),url:G(e.url,``),verdict:G(e.verdict,`ERROR`).toUpperCase(),mode:G(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(G(e.prUrl,``))?G(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function Xo(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 Y(e,t){let n=G(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=fe(t,{validate:!0});return r?`commit ${r}`:``}function Zo(e){return`Update available: ${Y(e?.current,e?.currentSha)} to ${Y(e?.latest,e?.latestSha)}`}function Qo({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=G(e?.projectId,G(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=G(i?.issueId,G(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 $o(e={}){return to(Qo(e))}function es(e){return so[e??``]??lo}function ts(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=es(e.issue?.change)-es(t.issue?.change);if(n!==0)return n;let r=K(t.issue?.users,0)-K(e.issue?.users,0);if(r!==0)return r;let i=K(t.issue?.occurrences,0)-K(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var ns=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),rs=Object.freeze({"release-check-failed":`The last release check failed.`,"update-check-failed":`The last update check failed.`}),is=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),as=`Not connected to the server. Reconnecting.`,os=Object.freeze({requested:!1,failure:null});function ss(e){return e.replace(/^\[[^\]]+\]\s*/,``)}function cs(e,t,n=null){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:as}:t===`progress-frame`?os:t===`error-frame`?e.requested?{requested:!1,failure:n}:e:e.failure===null?e:{requested:e.requested,failure:null}}function ls(e,t){return t?.state?t.state:e?.journalSummary?.state}function X(e,t=null,n=null){return{actions:e,note:t,command:n}}function us(e){let t=e?.applyRefusal;return t?is.includes(t.reason):!1}function ds({status:e,journal:t,request:n=os}){if(n.failure===`Not connected to the server. Reconnecting.`)return X([],as);let r=fs(ls(e,t),e,n.requested);return n.failure?{...r,note:n.failure}:r}function fs(e,t,n){if(e===`running`||n)return X([]);if(e===`staged`||ps(t))return X([`restart`]);if(!t?.updateAvailable)return X([`check`]);let r=t.applyRefusal;return r?us(t)?X([`check`],r.message,G(t.command,null)):X([`check`],r.message):X([`update`])}function ps(e){return e?.applyRefusal?.reason===`target-already-checked-out`}function ms(e){return e?.journalSummary?.state===`staged`||ps(e)}function hs(e){return rs[e]??`The last update check failed: ${e}.`}function gs(e){let t=G(e?.deprecation,null);return t?`Security notice: ${Y(e?.current,e?.currentSha)||`This version`} is marked unsafe. ${t}`:null}function _s(e){let t=Y(e?.latest,e?.latestSha)||`A new version`;if(ms(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=Zo(e);return!e||e.applyRefusal===void 0||us(e)?{mode:`command`,text:n}:{mode:`link`,text:n}}function vs(e){let t=_s(e),n=gs(e);return n?ms(e)||e?.journalSummary?.state===`running`?{mode:t.mode,tone:`security`,text:`${n} ${t.text}`}:{mode:`command`,tone:`security`,text:n}:{...t,tone:`update`}}function ys(e){let t=G(e,``);return t?`: ${t}`:``}var bs=new Set([`idle`,`staged`,`succeeded`,`discarded`]);function xs(e){return e.state===`failed`?`Update failed${ys(e.reason)}.`:e.state===`interrupted`?`Update interrupted${ys(e.reason)}.`:null}function Ss(e){return ns[e]??e}function Cs(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 ws(e){if(!e||bs.has(e.state))return null;let t=Cs(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:xs(e),steps:e.steps.map(e=>({id:e.id,label:Ss(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:Ss(n)}}var Ts=6e5;function Es(e,t){let n=ls(e,t),r=Y(t?.toVersion,t?.toSha)||Y(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=gs(e);if(i)return{tone:`security`,headline:i};if(ps(e))return{tone:`staged`,headline:`${Y(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=G(e.reason,``);return a?{tone:`unknown`,headline:hs(a)}:{tone:`current`,headline:`Up to date.`}}function Ds(e){return e?.updateAvailable===!0||ps(e)}function Os(e){if(!e)return`Update status unavailable.`;let t=Y(e.current,null)||`Unknown version`,n=fe(e.currentSha,{validate:!0}),r=G(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 ks(e){return e?{label:Y(e.latest,e.latestSha)||`Latest target unknown`,releaseUrl:G(e.releaseUrl,``)}:{label:`Update status unavailable.`,releaseUrl:``}}function As({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<Ts)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=Ts}function js({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.`}var Ms=Object.freeze({[A.DORMANT]:`not-started`,[A.INITIALIZING]:`starting`,[A.STARTING]:`starting`,[A.RUNNING]:`working`,[A.WAITING]:`needs-input`,[A.IDLE]:`idle`,[A.COMPLETE]:`complete`,[A.DONE]:`exited`,[A.FAILED]:`failed`}),Ns=`monitoring`,Z=e=>({fill:`none`,stroke:`currentColor`,"stroke-width":e,"stroke-linecap":`round`,"stroke-linejoin":`round`}),Q={fill:`currentColor`},Ps=Object.freeze({"not-started":[{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`6`,...Z(`1.6`),"stroke-linecap":`butt`,"stroke-dasharray":`2.6 2.1`}}],starting:[{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`6`,...Z(`1.8`),"stroke-opacity":`.25`}},{tag:`path`,attributes:{d:`M8 2a6 6 0 0 1 6 6`,...Z(`1.8`),class:`status-icon-spin`}}],working:[{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`4`,...Z(`1.4`),class:`status-icon-ping`}},{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`4`,...Q}}],monitoring:[{tag:`path`,attributes:{d:`M1.3 8S3.8 3.4 8 3.4 14.7 8 14.7 8 12.2 12.6 8 12.6 1.3 8 1.3 8z`,...Z(`1.5`)}},{tag:`circle`,attributes:{cx:`8`,cy:`8`,r:`2.2`,...Q}}],"needs-input":[{tag:`path`,attributes:{d:`M4.6 5.2a3.4 3.4 0 1 1 4.9 3.05c-1 .5-1.5 1.1-1.5 2.05v.6`,...Z(`2.5`)}},{tag:`circle`,attributes:{cx:`8`,cy:`14`,r:`1.55`,...Q}}],idle:[{tag:`rect`,attributes:{x:`3.6`,y:`2.8`,width:`3`,height:`10.4`,rx:`.8`,...Q}},{tag:`rect`,attributes:{x:`9.4`,y:`2.8`,width:`3`,height:`10.4`,rx:`.8`,...Q}}],complete:[{tag:`path`,attributes:{d:`M2.8 8.4l3.4 3.4 7-7.4`,...Z(`2.2`)}}],exited:[{tag:`rect`,attributes:{x:`3`,y:`3`,width:`10`,height:`10`,rx:`1.6`,...Q}}],failed:[{tag:`path`,attributes:{d:`M3.5 3.5l9 9M12.5 3.5l-9 9`,...Z(`2`)}}]});function Fs(e,t){return!e||e.toLowerCase().endsWith(`[bot]`)?null:`https://avatars.githubusercontent.com/${encodeURIComponent(e)}?s=${t*2}`}function Is(e){return e.match(/[a-z0-9]/i)?.[0]?.toUpperCase()??`?`}function $(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function Ls(e,t,n){let r=$(e,t);return r.innerHTML=n,r}function Rs(e,t){for(let[n,r]of t)e.style.setProperty(n,r)}function zs({login:e,url:t,cssPx:n}){let r=$(`span`,`avatar`);r.style.width=`${n}px`,r.style.height=`${n}px`;let i=()=>$(`span`,`avatar-monogram`,Is(e)),a=t===void 0?Fs(e,n):t;if(!a)return r.append(i()),r;let o=$(`img`);return o.src=a,o.width=n,o.height=n,o.loading=`lazy`,o.decoding=`async`,o.referrerPolicy=`no-referrer`,o.alt=``,o.addEventListener(`error`,()=>o.replaceWith(i()),{once:!0}),r.append(o),r}function Bs(e,t){let n=$(`span`,`avatar-stack`);for(let r of e){let e=zs({login:r.login,url:r.url,cssPx:t});e.title=r.title,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,r.title);let i=$(`span`,`avatar-badge`);i.dataset.tone=r.tone,e.append(i),n.append(e)}return n}function Vs(e,t,n){let r=e.querySelector(t);if(!r||r.tagName.toLowerCase()!==n)throw Error(`${t} does not match a <${n}>`);return r}function Hs(e,t){let n=e.querySelector(t);if(!(n instanceof HTMLElement))throw Error(`${t} matches no element`);return n}function Us(e,t,n,r=t){if(!n){let n=$(`span`,e,t);return n.title=r,n}let i=$(`a`,e,t);return i.title=r,i.href=n,i.target=`_blank`,i.rel=`noopener`,i}function Ws(e,t){return e===A.RUNNING&&t===!0}function Gs(e,t=!1){let n=e,r=Ws(e,t),i=r?`Monitoring`:Rr[n]||e;return{icon:r?Ns:Ms[n]??Ms[A.DORMANT],label:i.toUpperCase(),isMonitoring:r}}function Ks(e){if(!e)return;let t=null,n=()=>{t=null;let n=e.offsetHeight;n>0&&document.documentElement.style.setProperty(`--header-h`,`${n}px`)};new ResizeObserver(()=>{t===null&&(t=requestAnimationFrame(n))}).observe(e)}function qs(e,t,n){let r=$(`section`,`${e}-section`),i=$(`div`,`${e}-section-head`);return i.append($(`h2`,`${e}-section-title`,t)),n&&i.append($(`span`,`${e}-section-hint`,n)),r.append(i),r}function Js(e,t,n,r){let i=$(`span`,`${e}-stat`);return r&&(i.dataset.tone=r),i.append($(`span`,`${e}-stat-value`,n),$(`span`,`${e}-stat-label`,t)),i}function Ys(e){return Array.isArray(e?.projects)?e.projects:[]}function Xs(e){return!e||!!e.closest(`[hidden]`)}function Zs(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function Qs(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function $s(e,t=null){let n=e?._adoptHome;n&&(delete e._adoptHome,n.parent?.isConnected?n.next&&n.next.parentElement===n.parent?n.parent.insertBefore(e,n.next):n.parent.appendChild(e):t&&t.appendChild(e))}var ec=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function tc(e,t){return e.value!==``&&ec.has(t.key)}function nc(e){let t=document.activeElement;return t instanceof HTMLElement?t.isContentEditable?!0:t instanceof HTMLTextAreaElement&&t.dataset.dashboardShortcuts===`allowed`?tc(t,e):(t.tagName===`INPUT`||t.tagName===`TEXTAREA`)&&!t.classList.contains(`xterm-helper-textarea`):!1}export{$o as $,Hn as $t,Ds as A,Qe as An,Sa as At,xo as B,Ur as Bt,as as C,cn as Cn,Ya as Ct,ws as D,ct as Dn,ia as Dt,ks as E,bt as En,va as Et,oo as F,ya as Ft,vo as G,Br as Gt,Eo as H,Rr as Ht,ao as I,ca as It,Po as J,kr as Jt,So as K,A as Kt,bo as L,gi as Lt,ds as M,je as Mn,ha as Mt,ss as N,Me as Nn,ga as Nt,cs as O,Ee as On,Da as Ot,Es as P,fe as Pn,Ra as Pt,Jo as Q,rr as Qt,Co as R,ni as Rt,os as S,ln as Sn,$a as St,js as T,Ct as Tn,G as Tt,Ko as U,zr as Ut,To as V,qr as Vt,Yo as W,Vr as Wt,Ro as X,Xn as Xt,_o as Y,Zn as Yt,Io as Z,Qn as Zt,Rs as _,Lt as _n,Za as _t,Bs as a,At as an,Go as at,Ms as b,tn as bn,eo as bt,Us as c,Ft as cn,zo as ct,nc as d,S as dn,Oo as dt,zn as en,Wo as et,Ks as f,Yt as fn,go as ft,$s as g,Pt as gn,Ga as gt,Vs as h,Xt as hn,ro as ht,zs as i,jt as in,Mo as it,vs as j,Ve as jn,Ca as jt,As as k,ve as kn,ka as kt,Ws as l,kt as ln,Bo as lt,Hs as m,Zt as mn,to as mt,qs as n,kn as nn,ko as nt,$ as o,Mt as on,ts as ot,Ys as p,$t as pn,wo as pt,No as q,Ar as qt,Js as r,Nt as rn,Xo as rt,Ls as s,sn,Lo as st,Qs as t,Ln as tn,jo as tt,Xs as u,It as un,Do as ut,Gs as v,an as vn,Xa as vt,Os as w,b as wn,K as wt,Ps as x,en as xn,Qa as xt,Zs as y,on as yn,Ja as yt,yo as z,Hr as zt};
@@ -1 +1 @@
1
- import{_ as e,a as t,f as n,l as r,m as i,n as a,r as o,u as s}from"./zod-BRLv4KqJ.js";import{C as c,n as l,o as u,p as ee,r as d,u as f}from"./dom-helpers-B98sy9ep.js";import{u as p}from"./control-ws-C8SS9PPx.js";import{i as m,s as h,t as g}from"./action-status-D9Sf2cZp.js";import{a as _}from"./modal-5t7_5VCF.js";import{Ht as v,Ut as y,Wt as b}from"./index-q6rb4Bxj.js";var te=n(i(),e());s({glimmervoidId:i().min(1),event:i().min(1),token:i().nullable().optional(),payload:te}),s({id:i().min(1),name:i().min(1),event:i().min(1),matcher:i().optional(),type:a([`command`,`http`]),command:i().optional(),url:i().optional(),timeout:r().int().positive().optional(),enabled:t(),projects:o(i()).optional()}).passthrough();var ne=`Claude Code hooks injected into every session Glimmervoid spawns.`,re=`Loading hooks`,ie=`No hooks yet. A hook runs a command, or calls a URL, when a Claude Code event fires in a Glimmervoid session. Start from one of these, or add your own.`,ae=`Start from`,oe=`Filter by name, event or command`,se=`Nothing matches that filter.`,ce=`Preview`,le=`The entry this becomes in the per-session settings file.`,ue=`Duplicate`,de=`Discard changes`,fe=`Close the editor and lose the unsaved changes?`,pe=`Esc cancels. Ctrl+Enter saves.`,me=4,he=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,ge=`Glimmervoid's own hooks`,_e=`Always present, read-only. Status detection depends on them.`,ve=`Your hooks`,ye=`New hook`,be=`Edit hook`,xe=`Saved to config.json.`,x=`All projects`,Se=`This event takes no matcher.`,Ce=`Blank uses Claude Code's default for the event.`,we=Object.freeze([{value:`command`,label:`Command`,hint:`Run a shell command. It receives the event JSON on stdin.`},{value:`http`,label:`HTTP`,hint:`POST the event JSON to a URL.`}]),Te=Object.freeze([{id:`lint`,label:`Lint after edits`,summary:`PostToolUse on Edit|Write`,draft:{name:`Lint after edits`,event:`PostToolUse`,matcher:`Edit|Write`,type:`command`,command:`npx biome check --write "$(jq -r .tool_input.file_path)"`}},{id:`notify`,label:`Notify on Stop`,summary:`Stop, command`,draft:{name:`Notify on Stop`,event:`Stop`,matcher:``,type:`command`,command:`command -v notify-send >/dev/null 2>&1 && notify-send "Claude finished a turn" || { command -v osascript >/dev/null 2>&1 && osascript -e 'display notification "Claude finished a turn" with title "Claude Code"'; }`}},{id:`guard`,label:`Guard destructive Bash`,summary:`PreToolUse on Bash, exit 2 blocks`,draft:{name:`Guard destructive Bash`,event:`PreToolUse`,matcher:`Bash`,type:`command`,command:`jq -r .tool_input.command | grep -Eq "rm -rf|git push --force" && exit 2 || exit 0`}},{id:`log`,label:`Log every prompt`,summary:`UserPromptSubmit, appends JSON`,draft:{name:`Log every prompt`,event:`UserPromptSubmit`,matcher:``,type:`command`,command:`cat >> ~/.claude/prompts.jsonl`}}]),Ee=Object.freeze({hooks:[],builtin:[],events:[]});function De(e){return!e||typeof e.error==`string`}function Oe(e){return!e||typeof e.error!=`string`?``:e.error}function S(e,t){let n=e?.[t];return Array.isArray(n)?n:Ee[t]}var C=e=>S(e,`hooks`),w=e=>S(e,`builtin`),T=e=>S(e,`events`);function E(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function ke(e){let t=C(e),n=t.filter(e=>e.enabled!==!1).length;return[{label:`yours`,value:String(t.length),tone:null},{label:`enabled`,value:String(n),tone:t.length>0&&n===0?`warn`:null},{label:`built in`,value:String(w(e).length),tone:null}]}function Ae(e,t){let n=new Map(t.map((e,t)=>[e.name,t])),r=e=>n.get(e.event)??t.length;return[...e].sort((e,t)=>{let n=r(e)-r(t);return n===0?String(e.name).localeCompare(String(t.name)):n})}function je(e,t){let n=String(t||``).trim().toLowerCase();return n?e.filter(e=>[e.name,e.event,e.matcher,e.command,e.url].some(e=>typeof e==`string`&&e.toLowerCase().includes(n))):e}function Me(e){return e.length>=me}function Ne(e){let t=[];for(let n of e){let e=t[t.length-1];e&&e.event===n.event?e.hooks.push(n):t.push({event:n.event,hooks:[n]})}return t}function Pe(e){let t=e.type===`http`?{type:`http`,url:e.url||``}:{type:`command`,command:e.command||``};Number.isInteger(e.timeout)&&Number(e.timeout)>0&&(t.timeout=e.timeout);let n=e.matcher?{matcher:e.matcher,hooks:[t]}:{hooks:[t]};return JSON.stringify({hooks:{[e.event]:[n]}},null,2)}function Fe(e){return`${e} copy`}function D(e,t){return e.find(e=>e.name===t)||null}function O(e,t){let n=D(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:Se:``}function Ie(e){return e.type===`http`?e.url||``:e.command||``}function Le(e){let t=we.find(t=>t.value===e);return t?t.label:String(e||``)}function Re(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function ze(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?x:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function Be(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function Ve(e){return Be(e)}function He(e,t){let n=Array.isArray(e.projects)?e.projects:[],r=new Set(t.map(e=>e.id));return n.filter(e=>!r.has(e))}function k(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function A(e){return{id:e.id??null,name:e.name||``,event:e.event||``,matcher:e.matcher||``,type:e.type===`http`?`http`:`command`,command:e.command||``,url:e.url||``,timeout:Number.isInteger(e.timeout)?String(e.timeout):``,enabled:e.enabled!==!1,projects:Array.isArray(e.projects)?[...e.projects]:[]}}function Ue(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=D(t,e.event);if(!r)return`Pick an event.`;if(e.matcher.trim()&&!r.matcher)return`${r.name} takes no matcher.`;if(e.type===`http`&&r.http===!1)return`${r.name} does not support HTTP hooks.`;if(e.type===`command`&&!e.command.trim())return`Enter the command to run.`;if(e.type===`http`&&!/^https?:\/\/\S+$/i.test(e.url.trim()))return`Enter a URL starting with http:// or https://.`;if(e.timeout.trim()!==``){let t=Number(e.timeout);if(!Number.isInteger(t)||t<1||t>n)return`Timeout must be a whole number of seconds from 1 to ${n}.`}return null}function j(e){let t={name:e.name.trim(),event:e.event,type:e.type,enabled:e.enabled!==!1};return e.id&&(t.id=e.id),e.matcher.trim()&&(t.matcher=e.matcher.trim()),e.type===`command`&&(t.command=e.command.trim()),e.type===`http`&&(t.url=e.url.trim()),e.timeout.trim()!==``&&(t.timeout=Number(e.timeout)),e.projects.length>0&&(t.projects=[...e.projects]),t}function We(e,t){let n={...k(t),...e.draft};return D(t,n.event)||(n.event=k(t).event),n}function Ge(e,t){return JSON.stringify(j(e))!==JSON.stringify(t)}function Ke(e){return{...e,enabled:e.enabled===!1}}function qe(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var M=v(),N=null,P=null,F=null,I=null,L=null,R=null,z=!1,B=``,V=new Set,H=new Set,U=new Map,W=!1,G=(e,t)=>l(`hooks`,e,t);function K(e,t,n){let r=u(`p`,e,t);return n&&(r.dataset.tone=n),r}function q(e,t,n,r){let i=u(`button`,e,t);return i.type=`button`,r&&i.setAttribute(`aria-label`,r),i.addEventListener(`click`,n),i}async function Je(e,t){try{let n=await p(e,t,{timeoutMs:g});if((n.type===`save-hook-result`||n.type===`delete-hook-result`)&&n.ok)return null;let r=e===`save-hook`?`Could not save the hook.`:`Could not delete the hook.`;return`error`in n&&typeof n.error==`string`&&n.error?n.error:r}catch(e){return h(e,g)}}async function Ye(e,t,n,r){H.add(e),U.set(e,{tone:`busy`,text:r}),$({force:!0});let i=await Je(t,n);H.delete(e),i&&U.set(e,{tone:`error`,text:i}),i||U.delete(e),$({force:!0}),y()}function J(e,t,n){let r=u(`label`,`hooks-field`);return r.append(u(`span`,`hooks-field-label`,e),t),n&&r.append(u(`span`,`hooks-field-hint`,n)),r}function Y(e,t,n){let r=u(`input`,`settings-view-input`);return r.type=`text`,r.value=e,r.autocomplete=`off`,r.spellcheck=!1,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value)),r}function Xe(e,t){let n=u(`textarea`,`settings-view-input hooks-command`);return n.rows=3,n.value=e,n.spellcheck=!1,n.addEventListener(`input`,()=>t(n.value)),n}function Ze(e,t,n){let r=u(`select`,`settings-view-input hooks-select`);for(let n of t){let t=u(`option`,null,n.name);t.value=n.name,t.title=n.description,n.name===e.event&&(t.selected=!0),r.append(t)}return r.addEventListener(`change`,()=>n(r.value)),r}function Qe(e,t){let n=u(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of we){let i=u(`label`,`settings-view-toggle hooks-choice`),a=u(`input`,`settings-view-checkbox`);a.type=`radio`,a.name=`hooks-type`,a.value=r.value,a.checked=e.type===r.value,a.title=r.hint,a.addEventListener(`change`,()=>{a.checked&&t(r.value)}),i.append(a,u(`span`,null,r.label)),n.append(i)}return n}function $e(e,t){let n=u(`div`,`hooks-projects`);if(t.length===0)return n.append(u(`span`,`hooks-field-hint`,x)),n;let r=u(`label`,`settings-view-project-choice hooks-choice`),i=u(`input`,`settings-view-checkbox`);i.type=`checkbox`,i.checked=e.projects.length===0,r.append(i,u(`span`,null,x)),n.append(r);let a=[];for(let r of t){let t=u(`label`,`settings-view-project-choice hooks-choice`),o=u(`input`,`settings-view-checkbox`);o.type=`checkbox`,o.value=r.id,o.checked=e.projects.includes(r.id),o.addEventListener(`change`,()=>{e.projects=a.filter(e=>e.checked).map(e=>e.value),i.checked=e.projects.length===0}),a.push(o),t.append(o,u(`span`,null,r.name)),r.agent!==`claude-code`&&(t.append(u(`span`,`hooks-choice-note`,r.agent)),t.title=`Not a Claude Code project: this hook will not reach its sessions.`),n.append(t)}return i.addEventListener(`change`,()=>{if(!i.checked)i.checked=e.projects.length===0;else{for(let e of a)e.checked=!1;e.projects=[]}}),n}function et(e){let t=u(`div`,`hooks-templates`);t.append(u(`span`,`hooks-templates-label`,ae));for(let n of Te){let r=q(`hooks-chip`,n.label,()=>Z(null,We(n,e)));r.title=n.summary,t.append(r)}return t}function X(e){L&&(e?L.show(`error`,e):L.clear())}function tt(e){let t=T(M.report),n=ee(M.report),r=G(e.id?be:ye,xe);r.classList.add(`hooks-editor`);let i=u(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),rt()}),i.addEventListener(`keydown`,e=>{e.key===`Escape`?(e.preventDefault(),nt()):e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),rt())}),e.id||i.append(et(t));let a=u(`span`,`hooks-field-hint`,O(t,e.event)),o=Y(e.matcher,``,t=>{e.matcher=t}),s=J(`Command`,Xe(e.command,t=>{e.command=t}),`Runs through the shell with the event JSON on stdin. Exit 2 blocks the action where the event allows it.`),c=J(`URL`,Y(e.url,`http://127.0.0.1:8080/hook`,t=>{e.url=t}),`Claude Code POSTs the event JSON to it.`),l=()=>{s.hidden=e.type!==`command`,c.hidden=e.type!==`http`};l();let d=J(`Matcher`,o,null);d.append(a);let f=()=>{let n=t.find(t=>t.name===e.event);a.textContent=O(t,e.event),o.disabled=!!n&&!n.matcher,o.disabled&&(o.value=``,e.matcher=``)};f();let p=u(`input`,`settings-view-input hooks-timeout`);p.type=`number`,p.inputMode=`numeric`,p.min=`1`,p.max=String(E(M.report)),p.value=e.timeout,p.addEventListener(`input`,()=>{e.timeout=p.value});let h=u(`label`,`settings-view-toggle hooks-choice`),g=u(`input`,`settings-view-checkbox`);g.type=`checkbox`,g.checked=e.enabled,g.addEventListener(`change`,()=>{e.enabled=g.checked}),h.append(g,u(`span`,null,`Enabled`)),i.append(J(`Name`,Y(e.name,`Lint after edits`,t=>{e.name=t}),null),J(`Event`,Ze(e,t,t=>{e.event=t,f()}),null),d,J(`Type`,Qe(e,t=>{e.type=t,l()}),null),s,c,J(`Timeout (seconds)`,p,Ce),J(`Projects`,$e(e,n),null),J(``,h,null)),L=m(`hooks-editor-status`);let _=u(`div`,`hooks-editor-footer`),v=u(`span`,`hooks-editor-shortcut`,pe),y=q(`btn-dialog btn-dialog-cancel`,`Cancel`,nt),b=u(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return b.type=`submit`,R=b,_.append(L.element,v,y,b),i.append(_),r.append(i),r}function Z(e,t=null){P=t||(e?A(e):k(T(M.report))),F=j(e?A(e):k(T(M.report))),I=tt(P),$({force:!0}),I.scrollIntoView({block:`nearest`});let n=I.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function Q(){P=null,F=null,I=null,L=null,R=null,z=!1,W=!0,$({force:!0})}function nt(){!P||!F||!Ge(P,F)?Q():_({title:de,message:fe,confirmLabel:`Discard`,danger:!0,onConfirm:Q})}async function rt(){if(!P||z)return;let e=Ue(P,T(M.report),E(M.report));if(e){X(e);return}let t=L,n=R;z=!0,t?.show(`busy`,`Saving the hook.`),n&&(n.disabled=!0);let r=await Je(`save-hook`,{hook:j(P)});z=!1,n&&(n.disabled=!1),t===L&&(r?X(r):(Q(),y()))}function it(e){let t=u(`details`,`hooks-preview`);t.open=V.has(e.id),t.addEventListener(`toggle`,()=>{t.open?V.add(e.id):V.delete(e.id)});let n=u(`summary`,`hooks-preview-summary`,ce);n.title=le;let r=u(`pre`,`hooks-preview-code`,Pe(e));return t.append(n,r),t}function at(e,{grouped:t=!1}={}){let n=ee(M.report),r=u(`article`,`hooks-row`);r.setAttribute(`aria-label`,e.name),e.enabled===!1&&(r.dataset.state=`off`);let i=u(`div`,`hooks-row-main`),a=u(`div`,`hooks-row-head`);a.append(u(`span`,`hooks-row-name`,e.name));let o=t?e.matcher||``:Be(e);o&&a.append(u(`span`,`hooks-row-event`,o));let s=u(`code`,`hooks-row-target`,Ie(e));s.title=Ie(e);let c=u(`p`,`hooks-row-meta`,[Le(e.type),Re(e),ze(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=He(e,n);l.length>0&&i.append(K(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(it(e));let d=U.get(e.id);if(d){let e=m(`hooks-row-status`);e.show(d.tone,d.text),i.append(e.element)}let f=u(`div`,`hooks-row-actions`),p=u(`label`,`settings-view-toggle hooks-choice`),h=u(`input`,`settings-view-checkbox`);h.type=`checkbox`,h.checked=e.enabled!==!1,h.disabled=H.has(e.id),h.setAttribute(`aria-label`,`${e.name} enabled`),h.addEventListener(`change`,()=>{Ye(e.id,`save-hook`,{hook:Ke(e)},h.checked?`Turning the hook on.`:`Turning the hook off.`)}),p.append(h,u(`span`,null,`On`));let g=q(`hooks-btn`,`Edit`,()=>Z(e),`Edit ${e.name}`),v=q(`hooks-btn`,ue,()=>{let t=A({...e,name:Fe(e.name)});t.id=null,Z(null,t)},`Duplicate ${e.name}`),y=q(`hooks-btn hooks-btn-danger`,`Delete`,()=>{_({title:`Delete hook`,message:qe(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{Ye(e.id,`delete-hook`,{id:e.id},`Deleting the hook.`)}})},`Delete ${e.name}`);return y.disabled=H.has(e.id),f.append(p,g,v,y),r.append(i,f),r}function ot(e){let t=u(`article`,`hooks-row hooks-row-builtin`),n=u(`div`,`hooks-row-main`);return n.append(u(`span`,`hooks-row-event`,Ve(e)),u(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function st(){let e=G(`Hooks`,ne),t=u(`div`,`hooks-stats`);for(let e of ke(M.report))t.append(d(`hooks`,e.label,e.value,e.tone));return e.append(t,K(`hooks-meta`,he)),e}function ct(){let e=u(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=B,e.placeholder=oe,e.setAttribute(`aria-label`,oe),e.addEventListener(`input`,()=>{B=e.value;let t=N?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(ut())}),e}function lt(){let e=u(`div`,`hooks-empty-state`);return e.append(K(`hooks-empty`,ie),et(T(M.report))),e}function ut(){let e=u(`div`,`hooks-list-yours`),t=C(M.report);if(t.length===0)return e.append(lt()),e;let n=je(Ae(t,T(M.report)),B);if(n.length===0)return e.append(K(`hooks-empty`,se)),e;for(let t of Ne(n)){let n=u(`div`,`hooks-group`);n.append(u(`h3`,`hooks-group-title`,t.event));let r=u(`div`,`hooks-list`);for(let e of t.hooks)r.append(at(e,{grouped:!0}));n.append(r),e.append(n)}return e}function dt(){let e=G(ve,null),t=q(`hooks-btn hooks-btn-add`,`+ New hook`,()=>Z(null));t.disabled=!!P;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),Me(C(M.report))&&e.append(ct()),e.append(ut()),e}function ft(){let e=u(`details`,`hooks-builtin`),t=u(`summary`,`hooks-builtin-summary`);t.append(u(`span`,`hooks-section-title`,`${ge} (${w(M.report).length})`),u(`span`,`hooks-section-hint`,_e));let n=u(`div`,`hooks-list`);for(let e of w(M.report))n.append(ot(e));return e.append(t,n),e}function pt(){let e=u(`div`,`hooks-content`);return M.report?De(M.report)?(e.append(K(`hooks-warning`,Oe(M.report))),e):(e.append(st()),I&&e.append(I),e.append(dt(),ft()),e):(e.append(M.hasReportSendFailed?K(`hooks-warning`,c):K(`hooks-empty`,re)),e)}function $({force:e=!1}={}){if(!N||!e&&f(N)||(M=v(),N.replaceChildren(pt()),!W))return;W=!1;let t=N.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function mt(e){N||(N=u(`div`,`hooks-panel`),e.append(N),b(()=>$()),$({force:!0}))}function ht(e){e===`shown`&&$({force:!0}),y()}var gt={mount:mt,refresh:ht};export{gt as view};
1
+ import{_ as e,a as t,f as n,l as r,m as i,n as a,r as o,u as s}from"./zod-BRLv4KqJ.js";import{C as c,n as l,o as u,p as ee,r as d,u as f}from"./dom-helpers-Dkpf80rm.js";import{u as p}from"./control-ws-Dlbz9gUW.js";import{i as m,s as h,t as g}from"./action-status-D8Umoh8L.js";import{a as _}from"./modal-C2f-fRR_.js";import{Ht as v,Ut as y,Wt as b}from"./index-Br2NXdLW.js";var te=n(i(),e());s({glimmervoidId:i().min(1),event:i().min(1),token:i().nullable().optional(),payload:te}),s({id:i().min(1),name:i().min(1),event:i().min(1),matcher:i().optional(),type:a([`command`,`http`]),command:i().optional(),url:i().optional(),timeout:r().int().positive().optional(),enabled:t(),projects:o(i()).optional()}).passthrough();var ne=`Claude Code hooks injected into every session Glimmervoid spawns.`,re=`Loading hooks`,ie=`No hooks yet. A hook runs a command, or calls a URL, when a Claude Code event fires in a Glimmervoid session. Start from one of these, or add your own.`,ae=`Start from`,oe=`Filter by name, event or command`,se=`Nothing matches that filter.`,ce=`Preview`,le=`The entry this becomes in the per-session settings file.`,ue=`Duplicate`,de=`Discard changes`,fe=`Close the editor and lose the unsaved changes?`,pe=`Esc cancels. Ctrl+Enter saves.`,me=4,he=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,ge=`Glimmervoid's own hooks`,_e=`Always present, read-only. Status detection depends on them.`,ve=`Your hooks`,ye=`New hook`,be=`Edit hook`,xe=`Saved to config.json.`,x=`All projects`,Se=`This event takes no matcher.`,Ce=`Blank uses Claude Code's default for the event.`,we=Object.freeze([{value:`command`,label:`Command`,hint:`Run a shell command. It receives the event JSON on stdin.`},{value:`http`,label:`HTTP`,hint:`POST the event JSON to a URL.`}]),Te=Object.freeze([{id:`lint`,label:`Lint after edits`,summary:`PostToolUse on Edit|Write`,draft:{name:`Lint after edits`,event:`PostToolUse`,matcher:`Edit|Write`,type:`command`,command:`npx biome check --write "$(jq -r .tool_input.file_path)"`}},{id:`notify`,label:`Notify on Stop`,summary:`Stop, command`,draft:{name:`Notify on Stop`,event:`Stop`,matcher:``,type:`command`,command:`command -v notify-send >/dev/null 2>&1 && notify-send "Claude finished a turn" || { command -v osascript >/dev/null 2>&1 && osascript -e 'display notification "Claude finished a turn" with title "Claude Code"'; }`}},{id:`guard`,label:`Guard destructive Bash`,summary:`PreToolUse on Bash, exit 2 blocks`,draft:{name:`Guard destructive Bash`,event:`PreToolUse`,matcher:`Bash`,type:`command`,command:`jq -r .tool_input.command | grep -Eq "rm -rf|git push --force" && exit 2 || exit 0`}},{id:`log`,label:`Log every prompt`,summary:`UserPromptSubmit, appends JSON`,draft:{name:`Log every prompt`,event:`UserPromptSubmit`,matcher:``,type:`command`,command:`cat >> ~/.claude/prompts.jsonl`}}]),Ee=Object.freeze({hooks:[],builtin:[],events:[]});function De(e){return!e||typeof e.error==`string`}function Oe(e){return!e||typeof e.error!=`string`?``:e.error}function S(e,t){let n=e?.[t];return Array.isArray(n)?n:Ee[t]}var C=e=>S(e,`hooks`),w=e=>S(e,`builtin`),T=e=>S(e,`events`);function E(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function ke(e){let t=C(e),n=t.filter(e=>e.enabled!==!1).length;return[{label:`yours`,value:String(t.length),tone:null},{label:`enabled`,value:String(n),tone:t.length>0&&n===0?`warn`:null},{label:`built in`,value:String(w(e).length),tone:null}]}function Ae(e,t){let n=new Map(t.map((e,t)=>[e.name,t])),r=e=>n.get(e.event)??t.length;return[...e].sort((e,t)=>{let n=r(e)-r(t);return n===0?String(e.name).localeCompare(String(t.name)):n})}function je(e,t){let n=String(t||``).trim().toLowerCase();return n?e.filter(e=>[e.name,e.event,e.matcher,e.command,e.url].some(e=>typeof e==`string`&&e.toLowerCase().includes(n))):e}function Me(e){return e.length>=me}function Ne(e){let t=[];for(let n of e){let e=t[t.length-1];e&&e.event===n.event?e.hooks.push(n):t.push({event:n.event,hooks:[n]})}return t}function Pe(e){let t=e.type===`http`?{type:`http`,url:e.url||``}:{type:`command`,command:e.command||``};Number.isInteger(e.timeout)&&Number(e.timeout)>0&&(t.timeout=e.timeout);let n=e.matcher?{matcher:e.matcher,hooks:[t]}:{hooks:[t]};return JSON.stringify({hooks:{[e.event]:[n]}},null,2)}function Fe(e){return`${e} copy`}function D(e,t){return e.find(e=>e.name===t)||null}function O(e,t){let n=D(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:Se:``}function Ie(e){return e.type===`http`?e.url||``:e.command||``}function Le(e){let t=we.find(t=>t.value===e);return t?t.label:String(e||``)}function Re(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function ze(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?x:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function Be(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function Ve(e){return Be(e)}function He(e,t){let n=Array.isArray(e.projects)?e.projects:[],r=new Set(t.map(e=>e.id));return n.filter(e=>!r.has(e))}function k(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function A(e){return{id:e.id??null,name:e.name||``,event:e.event||``,matcher:e.matcher||``,type:e.type===`http`?`http`:`command`,command:e.command||``,url:e.url||``,timeout:Number.isInteger(e.timeout)?String(e.timeout):``,enabled:e.enabled!==!1,projects:Array.isArray(e.projects)?[...e.projects]:[]}}function Ue(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=D(t,e.event);if(!r)return`Pick an event.`;if(e.matcher.trim()&&!r.matcher)return`${r.name} takes no matcher.`;if(e.type===`http`&&r.http===!1)return`${r.name} does not support HTTP hooks.`;if(e.type===`command`&&!e.command.trim())return`Enter the command to run.`;if(e.type===`http`&&!/^https?:\/\/\S+$/i.test(e.url.trim()))return`Enter a URL starting with http:// or https://.`;if(e.timeout.trim()!==``){let t=Number(e.timeout);if(!Number.isInteger(t)||t<1||t>n)return`Timeout must be a whole number of seconds from 1 to ${n}.`}return null}function j(e){let t={name:e.name.trim(),event:e.event,type:e.type,enabled:e.enabled!==!1};return e.id&&(t.id=e.id),e.matcher.trim()&&(t.matcher=e.matcher.trim()),e.type===`command`&&(t.command=e.command.trim()),e.type===`http`&&(t.url=e.url.trim()),e.timeout.trim()!==``&&(t.timeout=Number(e.timeout)),e.projects.length>0&&(t.projects=[...e.projects]),t}function We(e,t){let n={...k(t),...e.draft};return D(t,n.event)||(n.event=k(t).event),n}function Ge(e,t){return JSON.stringify(j(e))!==JSON.stringify(t)}function Ke(e){return{...e,enabled:e.enabled===!1}}function qe(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var M=v(),N=null,P=null,F=null,I=null,L=null,R=null,z=!1,B=``,V=new Set,H=new Set,U=new Map,W=!1,G=(e,t)=>l(`hooks`,e,t);function K(e,t,n){let r=u(`p`,e,t);return n&&(r.dataset.tone=n),r}function q(e,t,n,r){let i=u(`button`,e,t);return i.type=`button`,r&&i.setAttribute(`aria-label`,r),i.addEventListener(`click`,n),i}async function Je(e,t){try{let n=await p(e,t,{timeoutMs:g});if((n.type===`save-hook-result`||n.type===`delete-hook-result`)&&n.ok)return null;let r=e===`save-hook`?`Could not save the hook.`:`Could not delete the hook.`;return`error`in n&&typeof n.error==`string`&&n.error?n.error:r}catch(e){return h(e,g)}}async function Ye(e,t,n,r){H.add(e),U.set(e,{tone:`busy`,text:r}),$({force:!0});let i=await Je(t,n);H.delete(e),i&&U.set(e,{tone:`error`,text:i}),i||U.delete(e),$({force:!0}),y()}function J(e,t,n){let r=u(`label`,`hooks-field`);return r.append(u(`span`,`hooks-field-label`,e),t),n&&r.append(u(`span`,`hooks-field-hint`,n)),r}function Y(e,t,n){let r=u(`input`,`settings-view-input`);return r.type=`text`,r.value=e,r.autocomplete=`off`,r.spellcheck=!1,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value)),r}function Xe(e,t){let n=u(`textarea`,`settings-view-input hooks-command`);return n.rows=3,n.value=e,n.spellcheck=!1,n.addEventListener(`input`,()=>t(n.value)),n}function Ze(e,t,n){let r=u(`select`,`settings-view-input hooks-select`);for(let n of t){let t=u(`option`,null,n.name);t.value=n.name,t.title=n.description,n.name===e.event&&(t.selected=!0),r.append(t)}return r.addEventListener(`change`,()=>n(r.value)),r}function Qe(e,t){let n=u(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of we){let i=u(`label`,`settings-view-toggle hooks-choice`),a=u(`input`,`settings-view-checkbox`);a.type=`radio`,a.name=`hooks-type`,a.value=r.value,a.checked=e.type===r.value,a.title=r.hint,a.addEventListener(`change`,()=>{a.checked&&t(r.value)}),i.append(a,u(`span`,null,r.label)),n.append(i)}return n}function $e(e,t){let n=u(`div`,`hooks-projects`);if(t.length===0)return n.append(u(`span`,`hooks-field-hint`,x)),n;let r=u(`label`,`settings-view-project-choice hooks-choice`),i=u(`input`,`settings-view-checkbox`);i.type=`checkbox`,i.checked=e.projects.length===0,r.append(i,u(`span`,null,x)),n.append(r);let a=[];for(let r of t){let t=u(`label`,`settings-view-project-choice hooks-choice`),o=u(`input`,`settings-view-checkbox`);o.type=`checkbox`,o.value=r.id,o.checked=e.projects.includes(r.id),o.addEventListener(`change`,()=>{e.projects=a.filter(e=>e.checked).map(e=>e.value),i.checked=e.projects.length===0}),a.push(o),t.append(o,u(`span`,null,r.name)),r.agent!==`claude-code`&&(t.append(u(`span`,`hooks-choice-note`,r.agent)),t.title=`Not a Claude Code project: this hook will not reach its sessions.`),n.append(t)}return i.addEventListener(`change`,()=>{if(!i.checked)i.checked=e.projects.length===0;else{for(let e of a)e.checked=!1;e.projects=[]}}),n}function et(e){let t=u(`div`,`hooks-templates`);t.append(u(`span`,`hooks-templates-label`,ae));for(let n of Te){let r=q(`hooks-chip`,n.label,()=>Z(null,We(n,e)));r.title=n.summary,t.append(r)}return t}function X(e){L&&(e?L.show(`error`,e):L.clear())}function tt(e){let t=T(M.report),n=ee(M.report),r=G(e.id?be:ye,xe);r.classList.add(`hooks-editor`);let i=u(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),rt()}),i.addEventListener(`keydown`,e=>{e.key===`Escape`?(e.preventDefault(),nt()):e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),rt())}),e.id||i.append(et(t));let a=u(`span`,`hooks-field-hint`,O(t,e.event)),o=Y(e.matcher,``,t=>{e.matcher=t}),s=J(`Command`,Xe(e.command,t=>{e.command=t}),`Runs through the shell with the event JSON on stdin. Exit 2 blocks the action where the event allows it.`),c=J(`URL`,Y(e.url,`http://127.0.0.1:8080/hook`,t=>{e.url=t}),`Claude Code POSTs the event JSON to it.`),l=()=>{s.hidden=e.type!==`command`,c.hidden=e.type!==`http`};l();let d=J(`Matcher`,o,null);d.append(a);let f=()=>{let n=t.find(t=>t.name===e.event);a.textContent=O(t,e.event),o.disabled=!!n&&!n.matcher,o.disabled&&(o.value=``,e.matcher=``)};f();let p=u(`input`,`settings-view-input hooks-timeout`);p.type=`number`,p.inputMode=`numeric`,p.min=`1`,p.max=String(E(M.report)),p.value=e.timeout,p.addEventListener(`input`,()=>{e.timeout=p.value});let h=u(`label`,`settings-view-toggle hooks-choice`),g=u(`input`,`settings-view-checkbox`);g.type=`checkbox`,g.checked=e.enabled,g.addEventListener(`change`,()=>{e.enabled=g.checked}),h.append(g,u(`span`,null,`Enabled`)),i.append(J(`Name`,Y(e.name,`Lint after edits`,t=>{e.name=t}),null),J(`Event`,Ze(e,t,t=>{e.event=t,f()}),null),d,J(`Type`,Qe(e,t=>{e.type=t,l()}),null),s,c,J(`Timeout (seconds)`,p,Ce),J(`Projects`,$e(e,n),null),J(``,h,null)),L=m(`hooks-editor-status`);let _=u(`div`,`hooks-editor-footer`),v=u(`span`,`hooks-editor-shortcut`,pe),y=q(`btn-dialog btn-dialog-cancel`,`Cancel`,nt),b=u(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return b.type=`submit`,R=b,_.append(L.element,v,y,b),i.append(_),r.append(i),r}function Z(e,t=null){P=t||(e?A(e):k(T(M.report))),F=j(e?A(e):k(T(M.report))),I=tt(P),$({force:!0}),I.scrollIntoView({block:`nearest`});let n=I.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function Q(){P=null,F=null,I=null,L=null,R=null,z=!1,W=!0,$({force:!0})}function nt(){!P||!F||!Ge(P,F)?Q():_({title:de,message:fe,confirmLabel:`Discard`,danger:!0,onConfirm:Q})}async function rt(){if(!P||z)return;let e=Ue(P,T(M.report),E(M.report));if(e){X(e);return}let t=L,n=R;z=!0,t?.show(`busy`,`Saving the hook.`),n&&(n.disabled=!0);let r=await Je(`save-hook`,{hook:j(P)});z=!1,n&&(n.disabled=!1),t===L&&(r?X(r):(Q(),y()))}function it(e){let t=u(`details`,`hooks-preview`);t.open=V.has(e.id),t.addEventListener(`toggle`,()=>{t.open?V.add(e.id):V.delete(e.id)});let n=u(`summary`,`hooks-preview-summary`,ce);n.title=le;let r=u(`pre`,`hooks-preview-code`,Pe(e));return t.append(n,r),t}function at(e,{grouped:t=!1}={}){let n=ee(M.report),r=u(`article`,`hooks-row`);r.setAttribute(`aria-label`,e.name),e.enabled===!1&&(r.dataset.state=`off`);let i=u(`div`,`hooks-row-main`),a=u(`div`,`hooks-row-head`);a.append(u(`span`,`hooks-row-name`,e.name));let o=t?e.matcher||``:Be(e);o&&a.append(u(`span`,`hooks-row-event`,o));let s=u(`code`,`hooks-row-target`,Ie(e));s.title=Ie(e);let c=u(`p`,`hooks-row-meta`,[Le(e.type),Re(e),ze(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=He(e,n);l.length>0&&i.append(K(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(it(e));let d=U.get(e.id);if(d){let e=m(`hooks-row-status`);e.show(d.tone,d.text),i.append(e.element)}let f=u(`div`,`hooks-row-actions`),p=u(`label`,`settings-view-toggle hooks-choice`),h=u(`input`,`settings-view-checkbox`);h.type=`checkbox`,h.checked=e.enabled!==!1,h.disabled=H.has(e.id),h.setAttribute(`aria-label`,`${e.name} enabled`),h.addEventListener(`change`,()=>{Ye(e.id,`save-hook`,{hook:Ke(e)},h.checked?`Turning the hook on.`:`Turning the hook off.`)}),p.append(h,u(`span`,null,`On`));let g=q(`hooks-btn`,`Edit`,()=>Z(e),`Edit ${e.name}`),v=q(`hooks-btn`,ue,()=>{let t=A({...e,name:Fe(e.name)});t.id=null,Z(null,t)},`Duplicate ${e.name}`),y=q(`hooks-btn hooks-btn-danger`,`Delete`,()=>{_({title:`Delete hook`,message:qe(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{Ye(e.id,`delete-hook`,{id:e.id},`Deleting the hook.`)}})},`Delete ${e.name}`);return y.disabled=H.has(e.id),f.append(p,g,v,y),r.append(i,f),r}function ot(e){let t=u(`article`,`hooks-row hooks-row-builtin`),n=u(`div`,`hooks-row-main`);return n.append(u(`span`,`hooks-row-event`,Ve(e)),u(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function st(){let e=G(`Hooks`,ne),t=u(`div`,`hooks-stats`);for(let e of ke(M.report))t.append(d(`hooks`,e.label,e.value,e.tone));return e.append(t,K(`hooks-meta`,he)),e}function ct(){let e=u(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=B,e.placeholder=oe,e.setAttribute(`aria-label`,oe),e.addEventListener(`input`,()=>{B=e.value;let t=N?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(ut())}),e}function lt(){let e=u(`div`,`hooks-empty-state`);return e.append(K(`hooks-empty`,ie),et(T(M.report))),e}function ut(){let e=u(`div`,`hooks-list-yours`),t=C(M.report);if(t.length===0)return e.append(lt()),e;let n=je(Ae(t,T(M.report)),B);if(n.length===0)return e.append(K(`hooks-empty`,se)),e;for(let t of Ne(n)){let n=u(`div`,`hooks-group`);n.append(u(`h3`,`hooks-group-title`,t.event));let r=u(`div`,`hooks-list`);for(let e of t.hooks)r.append(at(e,{grouped:!0}));n.append(r),e.append(n)}return e}function dt(){let e=G(ve,null),t=q(`hooks-btn hooks-btn-add`,`+ New hook`,()=>Z(null));t.disabled=!!P;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),Me(C(M.report))&&e.append(ct()),e.append(ut()),e}function ft(){let e=u(`details`,`hooks-builtin`),t=u(`summary`,`hooks-builtin-summary`);t.append(u(`span`,`hooks-section-title`,`${ge} (${w(M.report).length})`),u(`span`,`hooks-section-hint`,_e));let n=u(`div`,`hooks-list`);for(let e of w(M.report))n.append(ot(e));return e.append(t,n),e}function pt(){let e=u(`div`,`hooks-content`);return M.report?De(M.report)?(e.append(K(`hooks-warning`,Oe(M.report))),e):(e.append(st()),I&&e.append(I),e.append(dt(),ft()),e):(e.append(M.hasReportSendFailed?K(`hooks-warning`,c):K(`hooks-empty`,re)),e)}function $({force:e=!1}={}){if(!N||!e&&f(N)||(M=v(),N.replaceChildren(pt()),!W))return;W=!1;let t=N.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function mt(e){N||(N=u(`div`,`hooks-panel`),e.append(N),b(()=>$()),$({force:!0}))}function ht(e){e===`shown`&&$({force:!0}),y()}var gt={mount:mt,refresh:ht};export{gt as view};