agent-log-viewer 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server.mjs +2078 -959
- package/dist/runtime-host.mjs +2615 -1363
- package/dist/standalone/.next/BUILD_ID +1 -1
- package/dist/standalone/.next/app-path-routes-manifest.json +15 -15
- package/dist/standalone/.next/build-manifest.json +2 -2
- package/dist/standalone/.next/prerender-manifest.json +4 -4
- package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/account-project-bindings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/reset-credits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -1
- package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -1
- package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js +1 -1
- package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversation-host/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js +1 -1
- package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/files/route.js +2 -2
- package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -1
- package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/provenance/route.js +2 -2
- package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js +1 -1
- package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/log/suggestions/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js +12 -14
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js +2 -2
- package/dist/standalone/.next/server/app/api/monitor/seat-tick/settings/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +1 -3
- package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +1 -1
- package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
- package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/projects/directories/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
- package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/hosts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/inject/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/queue/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -1
- package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js +1 -1
- package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js +1 -1
- package/dist/standalone/.next/server/app/api/spawn/validate/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
- package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
- package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
- package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/index.html +1 -1
- package/dist/standalone/.next/server/app/index.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/standalone/.next/server/app/page.js +18 -18
- package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/.next/server/app-paths-manifest.json +15 -15
- package/dist/standalone/.next/server/chunks/1406.js +17 -17
- package/dist/standalone/.next/server/chunks/1585.js +2 -2
- package/dist/standalone/.next/server/chunks/160.js +2 -2
- package/dist/standalone/.next/server/chunks/1617.js +2 -2
- package/dist/standalone/.next/server/chunks/2150.js +1 -1
- package/dist/standalone/.next/server/chunks/2744.js +3 -0
- package/dist/standalone/.next/server/chunks/2857.js +1 -1
- package/dist/standalone/.next/server/chunks/286.js +22 -0
- package/dist/standalone/.next/server/chunks/2914.js +1 -1
- package/dist/standalone/.next/server/chunks/3086.js +1 -1
- package/dist/standalone/.next/server/chunks/3131.js +1 -1
- package/dist/standalone/.next/server/chunks/3743.js +10 -8
- package/dist/standalone/.next/server/chunks/4037.js +1 -0
- package/dist/standalone/.next/server/chunks/4972.js +1 -1
- package/dist/standalone/.next/server/chunks/5408.js +1 -0
- package/dist/standalone/.next/server/chunks/5771.js +1 -1
- package/dist/standalone/.next/server/chunks/606.js +126 -0
- package/dist/standalone/.next/server/chunks/644.js +1 -1
- package/dist/standalone/.next/server/chunks/6453.js +1 -1
- package/dist/standalone/.next/server/chunks/7008.js +8 -8
- package/dist/standalone/.next/server/chunks/7192.js +1 -1
- package/dist/standalone/.next/server/chunks/781.js +2 -2
- package/dist/standalone/.next/server/chunks/8027.js +1 -1
- package/dist/standalone/.next/server/chunks/8465.js +2 -2
- package/dist/standalone/.next/server/chunks/8617.js +1 -1
- package/dist/standalone/.next/server/chunks/8966.js +2 -2
- package/dist/standalone/.next/server/chunks/9296.js +1 -1
- package/dist/standalone/.next/server/chunks/9307.js +1 -1
- package/dist/standalone/.next/server/chunks/9360.js +13 -11
- package/dist/standalone/.next/server/chunks/9517.js +1 -1
- package/dist/standalone/.next/server/chunks/9940.js +1 -1
- package/dist/standalone/.next/server/file-scanner-worker.js +2 -2
- package/dist/standalone/.next/server/files-response-worker.js +1 -1
- package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/standalone/.next/server/pages/404.html +1 -1
- package/dist/standalone/.next/server/pages/500.html +1 -1
- package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/standalone/.next/static/chunks/7333-cf17cea2a91e7b4b.js +1 -0
- package/dist/standalone/.next/static/chunks/app/page-1cde2db61f461960.js +125 -0
- package/dist/standalone/.next/static/css/b25c03e915fd256b.css +1 -0
- package/dist/standalone/AGENTS.md +10 -0
- package/dist/standalone/package.json +1 -1
- package/dist/standalone/src/lib/viewerInstrumentation.ts +19 -4
- package/package.json +1 -1
- package/dist/standalone/.next/server/chunks/480.js +0 -126
- package/dist/standalone/.next/server/chunks/7361.js +0 -22
- package/dist/standalone/.next/static/chunks/6976-016b6947195a6ed2.js +0 -1
- package/dist/standalone/.next/static/chunks/app/page-16384e540b4c0a90.js +0 -125
- package/dist/standalone/.next/static/css/496211a19557b7ee.css +0 -1
- /package/dist/standalone/.next/static/{e4qE_aCE0s0KQnnU6IWRw → 836HTp-5V8cZC5YWFVOCk}/_buildManifest.js +0 -0
- /package/dist/standalone/.next/static/{e4qE_aCE0s0KQnnU6IWRw → 836HTp-5V8cZC5YWFVOCk}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.id=1617,exports.ids=[1617],exports.modules={27359:(a,b,c)=>{c.d(b,{EB:()=>e,NU:()=>p,OK:()=>C,WM:()=>D,ZW:()=>B,_1:()=>o,cZ:()=>x,d3:()=>E,dC:()=>m,fm:()=>w,g2:()=>l,ye:()=>n});let d=/^\s*[❯›]/,e=/\? for shortcuts|bypass permissions on|Press up to edit|⏎ send|Context \d+% used/,f=/Resume from summary/,g=/Do you trust|trust this folder|trust the contents of this directory/i,h=/Enter to confirm|Press enter to continue/i,i=/Allow command\?|Do you want to proceed\?|Press enter to approve|approve this (command|action)|\(y\/n\)|Yes, (allow|proceed|run)/i,j=/You(?:'ve| have) (?:hit|reached) (?:your|the) .{0,24}limit|(?:usage|rate).?limit (?:reached|hit|exceeded)|out of (?:quota|credits)|\d+.hour limit reached|limit resets/i,k=new Set(["zsh","bash","fish","sh","dash"]);function l(a){return null!==a&&k.has(a)}function m(a){let b=a.split("\n");for(let a=b.length-1;a>=0;a-=1){let c=b[a]??"";if(d.test(c))return c}return""}function n(a){return f.test(a)?"resume_picker":g.test(a)?"trust_prompt":h.test(a)?"startup_gate":null}function o(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(d.test(b[a]??"")){c=a;break}if(-1!==c){let a=b.slice(c+1).join("\n");if(e.test(a)&&!i.test(a)&&!j.test(a))return null}let f=b.slice(-14).join("\n");return i.test(f)?"approval_prompt":j.test(f)?"rate_limit":null}function p(a,b=Date.now()/1e3){return"rate_limit"!==o(a)?null:{resetAt:function(a,b){let c=/(?:try again|resets?)(?:\s+\w+){0,4}\s+(?:at\s+)?(\d{1,2})(?::(\d{2}))?\s*([ap])\.?m\.?/i.exec(a);if(!c)return null;let d=Number(c[1]),e=Number(c[2]??"0");if(d<1||d>12)return null;let f=d%12+12*(c[3]?.toLowerCase()==="p");if(!Number.isFinite(b)||f<0||f>23||e<0||e>59)return null;let g=new Date(1e3*b),h=new Date(g);return h.setHours(f,e,0,0),h.getTime()<=g.getTime()&&h.setDate(h.getDate()+1),Math.floor(h.getTime()/1e3)}(a.split("\n").slice(-14).join("\n"),b)}}let q=/^\s*❯?\s*\d+\.\s+\S/m,r=/Enter to (select|confirm|submit)/,s=/^\s*[─━—]{6,}\s*$/,t=/[☐☑✔☒]/,u=/^\s*(❯\s*)?(\d{1,2})\.\s+(\S.*)$/,v=/\s*\(Recommended\)\s*$/i;function w(a){let b=a.split("\n").map(a=>a.replace(/\s+$/,"")),c=-1;for(let a=b.length-1;a>=0;a-=1)if(r.test(b[a]??"")){c=a;break}if(-1===c)return null;let d=-1;for(let a=c-1;a>=Math.max(0,c-40);a-=1){let c=u.exec(b[a]??"");if(c&&1===Number(c[2])){d=a;break}}if(-1===d)return null;let e=[];for(let a=d;a<c;a+=1){let c=b[a]??"";if(!c.trim()||s.test(c))continue;let d=u.exec(c);if(d){let a=d[3].trim(),b=a.replace(v,"").trim();e.push({value:Number(d[2]),label:b||a,description:"",recommended:v.test(a)});continue}let f=e[e.length-1];f&&/^\s{2,}\S/.test(c)&&(f.description=f.description?`${f.description} ${c.trim()}`:c.trim())}if(e.length<2||e.some((a,b)=>a.value!==b+1))return null;let f=[],g=d-1;for(;g>=0&&!(b[g]??"").trim();)g-=1;for(let a=g;a>=0&&f.length<8;a-=1){let c=b[a]??"";if(!c.trim()||s.test(c)||t.test(c)||u.test(c))break;f.unshift(c.trim())}let h=f.join(" ").trim();if(!h)return null;let i=[],j=g-f.length;for(;j>=0&&!(b[j]??"").trim();)j-=1;let k=j>=0?b[j]??"":"";if(t.test(k))for(let a of k.replace(/[←→]/g," ").split(/\s{2,}/)){let b=a.replace(/[☐☑✔☒]/g,"").trim();b&&i.push({label:b,done:/[☑✔]/.test(a)})}return{question:h,tabs:i,options:e}}function x(a){if(null!==o(a)||g.test(a))return!0;let b=a.split("\n").slice(-14).join("\n");return q.test(b)&&!e.test(b)}let y=/esc to interrupt|ctrl\+c to (?:stop|cancel)|Interrupting/i,z=/Select login method|Choose (?:a|your) login method|Log in to (?:Claude|continue)|Sign in to (?:Claude|continue)/i,A=/Bypass Permissions mode[\s\S]*(?:accept all responsibility|No, exit)/i;function B(a,b){if("claude"!==a||y.test(b)||D(b))return null;let c=b.split("\n").slice(-20).join("\n");return z.test(c)?{code:"authentication_required",message:"Claude needs account re-login. Open Accounts, sign in, and retry the launch."}:A.test(c)?{code:"bypass_acceptance_required",message:"Claude bypass-permissions acceptance was not prepared. Retry the launch after refreshing the account."}:null}function C(a,b,c){if(B(a,b))return!1;let d=c.split("\n").map(a=>a.trim()).find(Boolean)?.slice(0,32)??"";if(!d)return D(b);if(y.test(b))return!0;let f=m(b);return!(f.includes(d)||f.includes("[Pasted text"))&&""!==f&&e.test(b)}function D(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(d.test(b[a]??"")){c=a;break}if(-1===c||x(b.slice(c).join("\n")))return!1;let e=b.slice(c+1).join("\n");return!y.test(e)}function E(a){return a.split("\n").filter(a=>a.trim()).slice(-3).join(" | ").slice(0,300)}},41617:(a,b,c)=>{c.d(b,{J0:()=>
|
|
2
|
-
`,"utf8"),a()}finally{e().closeSync(d),e().rmSync(b,{force:!0})}}})}function
|
|
1
|
+
"use strict";exports.id=1617,exports.ids=[1617],exports.modules={27359:(a,b,c)=>{c.d(b,{EB:()=>e,NU:()=>p,OK:()=>C,WM:()=>D,ZW:()=>B,_1:()=>o,cZ:()=>x,d3:()=>E,dC:()=>m,fm:()=>w,g2:()=>l,ye:()=>n});let d=/^\s*[❯›]/,e=/\? for shortcuts|bypass permissions on|Press up to edit|⏎ send|Context \d+% used/,f=/Resume from summary/,g=/Do you trust|trust this folder|trust the contents of this directory/i,h=/Enter to confirm|Press enter to continue/i,i=/Allow command\?|Do you want to proceed\?|Press enter to approve|approve this (command|action)|\(y\/n\)|Yes, (allow|proceed|run)/i,j=/You(?:'ve| have) (?:hit|reached) (?:your|the) .{0,24}limit|(?:usage|rate).?limit (?:reached|hit|exceeded)|out of (?:quota|credits)|\d+.hour limit reached|limit resets/i,k=new Set(["zsh","bash","fish","sh","dash"]);function l(a){return null!==a&&k.has(a)}function m(a){let b=a.split("\n");for(let a=b.length-1;a>=0;a-=1){let c=b[a]??"";if(d.test(c))return c}return""}function n(a){return f.test(a)?"resume_picker":g.test(a)?"trust_prompt":h.test(a)?"startup_gate":null}function o(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(d.test(b[a]??"")){c=a;break}if(-1!==c){let a=b.slice(c+1).join("\n");if(e.test(a)&&!i.test(a)&&!j.test(a))return null}let f=b.slice(-14).join("\n");return i.test(f)?"approval_prompt":j.test(f)?"rate_limit":null}function p(a,b=Date.now()/1e3){return"rate_limit"!==o(a)?null:{resetAt:function(a,b){let c=/(?:try again|resets?)(?:\s+\w+){0,4}\s+(?:at\s+)?(\d{1,2})(?::(\d{2}))?\s*([ap])\.?m\.?/i.exec(a);if(!c)return null;let d=Number(c[1]),e=Number(c[2]??"0");if(d<1||d>12)return null;let f=d%12+12*(c[3]?.toLowerCase()==="p");if(!Number.isFinite(b)||f<0||f>23||e<0||e>59)return null;let g=new Date(1e3*b),h=new Date(g);return h.setHours(f,e,0,0),h.getTime()<=g.getTime()&&h.setDate(h.getDate()+1),Math.floor(h.getTime()/1e3)}(a.split("\n").slice(-14).join("\n"),b)}}let q=/^\s*❯?\s*\d+\.\s+\S/m,r=/Enter to (select|confirm|submit)/,s=/^\s*[─━—]{6,}\s*$/,t=/[☐☑✔☒]/,u=/^\s*(❯\s*)?(\d{1,2})\.\s+(\S.*)$/,v=/\s*\(Recommended\)\s*$/i;function w(a){let b=a.split("\n").map(a=>a.replace(/\s+$/,"")),c=-1;for(let a=b.length-1;a>=0;a-=1)if(r.test(b[a]??"")){c=a;break}if(-1===c)return null;let d=-1;for(let a=c-1;a>=Math.max(0,c-40);a-=1){let c=u.exec(b[a]??"");if(c&&1===Number(c[2])){d=a;break}}if(-1===d)return null;let e=[];for(let a=d;a<c;a+=1){let c=b[a]??"";if(!c.trim()||s.test(c))continue;let d=u.exec(c);if(d){let a=d[3].trim(),b=a.replace(v,"").trim();e.push({value:Number(d[2]),label:b||a,description:"",recommended:v.test(a)});continue}let f=e[e.length-1];f&&/^\s{2,}\S/.test(c)&&(f.description=f.description?`${f.description} ${c.trim()}`:c.trim())}if(e.length<2||e.some((a,b)=>a.value!==b+1))return null;let f=[],g=d-1;for(;g>=0&&!(b[g]??"").trim();)g-=1;for(let a=g;a>=0&&f.length<8;a-=1){let c=b[a]??"";if(!c.trim()||s.test(c)||t.test(c)||u.test(c))break;f.unshift(c.trim())}let h=f.join(" ").trim();if(!h)return null;let i=[],j=g-f.length;for(;j>=0&&!(b[j]??"").trim();)j-=1;let k=j>=0?b[j]??"":"";if(t.test(k))for(let a of k.replace(/[←→]/g," ").split(/\s{2,}/)){let b=a.replace(/[☐☑✔☒]/g,"").trim();b&&i.push({label:b,done:/[☑✔]/.test(a)})}return{question:h,tabs:i,options:e}}function x(a){if(null!==o(a)||g.test(a))return!0;let b=a.split("\n").slice(-14).join("\n");return q.test(b)&&!e.test(b)}let y=/esc to interrupt|ctrl\+c to (?:stop|cancel)|Interrupting/i,z=/Select login method|Choose (?:a|your) login method|Log in to (?:Claude|continue)|Sign in to (?:Claude|continue)/i,A=/Bypass Permissions mode[\s\S]*(?:accept all responsibility|No, exit)/i;function B(a,b){if("claude"!==a||y.test(b)||D(b))return null;let c=b.split("\n").slice(-20).join("\n");return z.test(c)?{code:"authentication_required",message:"Claude needs account re-login. Open Accounts, sign in, and retry the launch."}:A.test(c)?{code:"bypass_acceptance_required",message:"Claude bypass-permissions acceptance was not prepared. Retry the launch after refreshing the account."}:null}function C(a,b,c){if(B(a,b))return!1;let d=c.split("\n").map(a=>a.trim()).find(Boolean)?.slice(0,32)??"";if(!d)return D(b);if(y.test(b))return!0;let f=m(b);return!(f.includes(d)||f.includes("[Pasted text"))&&""!==f&&e.test(b)}function D(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(d.test(b[a]??"")){c=a;break}if(-1===c||x(b.slice(c).join("\n")))return!1;let e=b.slice(c+1).join("\n");return!y.test(e)}function E(a){return a.split("\n").filter(a=>a.trim()).slice(-3).join(" | ").slice(0,300)}},41617:(a,b,c)=>{c.d(b,{J0:()=>I,Kc:()=>Y,NE:()=>u,O:()=>N,O$:()=>O,Sq:()=>M,Ut:()=>T,Zi:()=>v,b0:()=>Q,hg:()=>_,js:()=>t,lS:()=>Z,m1:()=>s,vD:()=>R,yG:()=>$,yN:()=>S,yX:()=>P});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(27359),l=c(22962),m=c(81334);let n=/^[a-z0-9][a-z0-9-]{0,31}$/,o="default",p=["skills","prompts","config.toml","AGENTS.md","memories","rules"],q=null,r=new Set;class s extends Error{constructor(a){super(`unknown Codex account: ${a}`),this.name="UnknownAccountError"}}class t extends Error{constructor(){super("account label must contain visible text and be at most 80 characters"),this.name="InvalidAccountLabelError"}}class u extends Error{constructor(){super("Codex account registry is corrupt; repair or remove it before changing accounts"),this.name="CorruptCodexAccountsError"}}class v extends Error{constructor(){super("managed Codex home failed safety checks"),this.name="UnsafeCodexHomeError"}}function w(){return i().resolve(process.env.LLV_CODEX_HOME||i().join(g().homedir(),".codex"))}function x(){return i().join(i().dirname((0,j.Pn)()),"accounts","codex")}function y(){return(0,j.BQ)("codex-accounts.json")}function z(){return{version:1,active:o,accounts:[],retired:[],removals:[]}}function A(a,b){r.has(a)||(r.add(a),console.error(`[codex accounts] ${b}`))}function B(a){return i().join(x(),a)}function C(a,b=!1){if(!n.test(a)||a===o)return!1;let c=i().resolve(x()),d=i().resolve(B(a));if(i().dirname(d)!==c)return!1;try{let a=e().lstatSync(c),b=e().lstatSync(d);if(!a.isDirectory()||a.isSymbolicLink()||!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0)return!1;let f=e().realpathSync(c);return i().dirname(e().realpathSync(d))===f}catch{return!b}}function D(){let a,b=y(),c=`${b}:${function(a){try{let b=e().statSync(a);return`${b.mtimeMs}:${b.size}`}catch{return"missing"}}(b)}`;if(q?.key===c)return q.loaded;try{a=e().existsSync(b)?function(a,b){if(!a||"object"!=typeof a)return A(b,"registry is invalid; serving the default account"),{registry:z(),corrupt:!0};if(1!==a.version||"string"!=typeof a.active||!Array.isArray(a.accounts)||void 0!==a.retired&&!Array.isArray(a.retired))return A(b,"registry has an unsupported shape; serving the default account"),{registry:z(),corrupt:!0};let c=new Set,d=[],e=!1;for(let f of a.accounts){if(!(f&&"object"==typeof f&&"string"==typeof f.id&&"string"==typeof f.label&&"managed"===f.kind&&"number"==typeof f.createdAt&&(void 0===f.loginPane||null===f.loginPane||"object"==typeof f.loginPane&&"string"==typeof f.loginPane.paneId&&"string"==typeof f.loginPane.windowName&&(void 0===f.loginPane.startedAt||"number"==typeof f.loginPane.startedAt)))||c.has(f.id)||!C(f.id)){A(`${b}:${"object"==typeof f&&f?"invalid-account":"invalid-entry"}`,"ignored an invalid managed account record"),e=!0;continue}c.add(f.id),d.push({id:f.id,label:f.label,kind:"managed",createdAt:f.createdAt,loginPane:f.loginPane?{...f.loginPane,startedAt:f.loginPane.startedAt??0}:null})}let f=[];for(let d of a.retired??[]){if(!(d&&"object"==typeof d&&"string"==typeof d.id&&"string"==typeof d.label&&"number"==typeof d.retiredAt&&(void 0===d.archived||!0===d.archived))||c.has(d.id)||!C(d.id)){A(`${b}:invalid-retired`,"ignored an invalid retired account record"),e=!0;continue}c.add(d.id),f.push({id:d.id,label:d.label,retiredAt:d.retiredAt,...d.archived?{archived:!0}:{}})}let g=(0,m.yK)(a.removals,a=>n.test(a)&&a!==o);return g?{registry:{version:1,active:a.active,accounts:d,retired:f,removals:g},corrupt:e}:(A(`${b}:invalid-removals`,"registry has an unreadable removal journal; serving the default account"),{registry:z(),corrupt:!0})}(JSON.parse(e().readFileSync(b,"utf8")),c):{registry:z(),corrupt:!1}}catch{A(c,"registry cannot be read; serving the default account"),a={registry:z(),corrupt:!0}}return q={key:c,loaded:a},a}function E(){let a=D();if(a.corrupt)throw new u;return a.registry}function F(){return`${y()}.lock`}function G(a){try{let b=Number.parseInt(e().readFileSync(a,"utf8"),10);if(!Number.isSafeInteger(b)||b<=0||b===process.pid)return!1;return process.kill(b,0),!1}catch(a){return"ESRCH"===a.code}}function H(a){return(0,l.oV)(()=>{let b=F(),c=Date.now();for(e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});;){let d;try{d=e().openSync(b,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;try{if(G(b)||Date.now()-e().statSync(b).mtimeMs>3e4){e().rmSync(b,{force:!0});continue}}catch{continue}if(Date.now()-c>=5e3)throw Error("Codex account registry is busy; retry shortly");Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,10);continue}try{return e().writeFileSync(d,`${process.pid}
|
|
2
|
+
`,"utf8"),a()}finally{e().closeSync(d),e().rmSync(b,{force:!0})}}})}function I(){return D().corrupt}function J(a){let b=y();e().mkdirSync(i().dirname(b),{recursive:!0,mode:448});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${Date.now()}.tmp`);try{e().writeFileSync(c,JSON.stringify(a,null,2)+"\n",{encoding:"utf8",mode:384}),e().renameSync(c,b),q=null}finally{e().rmSync(c,{force:!0})}}function K(a){try{return e().statSync(i().join(a,"auth.json")).isFile()}catch{return!1}}function L(a){let b=B(a.id);return{id:a.id,label:a.label,kind:"managed",home:b,sessionsDir:i().join(b,"sessions"),authPresent:K(b),loginPane:a.loginPane??null,createdAt:a.createdAt}}function M(){let a;return!function(){if(X)return;let a=D();if(a.corrupt||0===a.registry.removals.length){X=!0;return}if(!e().existsSync(F())||G(F()))try{H(()=>W()),X=!0}catch{}}(),[{id:o,label:"Main",kind:"legacy",home:a=w(),sessionsDir:i().join(a,"sessions"),authPresent:K(a),loginPane:null,createdAt:0},...D().registry.accounts.map(L)]}function N(){let a=D().registry.active;return M().some(b=>b.id===a)?a:o}function O(a){let b=a??N(),c=M().find(a=>a.id===b);if(!c)throw new s(b);return{id:c.id,kind:c.kind,home:c.home,sessionsDir:c.sessionsDir}}function P(a){return M().some(b=>"managed"===b.kind&&b.home===a)}function Q(a){H(()=>{q=null;let b=E();if(!M().some(b=>b.id===a))throw new s(a);J({...b,active:a})})}function R(){return[...new Set([...M().map(a=>a.sessionsDir),...D().registry.retired.map(a=>i().join(a.archived?(0,m.Zi)("codex",a.id):B(a.id),"sessions"))])]}function S(a){let b;try{b=e().realpathSync(a)}catch{return null}for(let a of M())try{let c=e().realpathSync(a.sessionsDir);if(b.startsWith(c+i().sep))return a.home}catch{continue}return null}function T(a){let b=a.trim();if(!b||b.length>80||/[\u0000-\u001f\u007f]/.test(b))throw new t;return H(()=>{q=null;let a=E(),c=function(a,b){let c=a.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32)||"account";for(let a=0;;a+=1){let d=0===a?c:`${c.slice(0,32-String(a).length-1)}-${a}`;if(n.test(d)&&d!==o&&!b.has(d)&&!e().existsSync(B(d))&&!e().existsSync((0,m.Zi)("codex",d)))return d}}(b,new Set([...M().map(a=>a.id),...a.retired.map(a=>a.id)])),d=B(c),f=!1;try{for(let a of(e().mkdirSync(i().dirname(d),{recursive:!0,mode:448}),e().mkdirSync(d,{recursive:!1,mode:448}),f=!0,e().chmodSync(d,448),p))e().symlinkSync(i().join(w(),a),i().join(d,a));e().mkdirSync(i().join(d,"plugins"),{mode:448}),e().symlinkSync(i().join(w(),"plugins","cache"),i().join(d,"plugins","cache"));let g={id:c,label:b,kind:"managed",createdAt:Date.now(),loginPane:null};return J({...a,accounts:[...a.accounts,g]}),L(g)}catch(a){if(f)try{(0,m.jK)("codex",c,d)||console.warn("[codex accounts] failed-account home cleanup is incomplete")}catch(a){if(console.warn("[codex accounts] preserving failed-account home after history cleanup refusal"),a instanceof m.s4)throw a}throw a}})}function U(a,b,c){q=null;let d=E();J({...d,removals:(0,m.XU)(d.removals,a,b,c)})}function V(a,b){let c=a.accounts.find(a=>a.id===b)?.label??b;return{...a,active:a.active===b?o:a.active,accounts:a.accounts.filter(a=>a.id!==b),retired:[...a.retired.filter(a=>a.id!==b),{id:b,label:c,retiredAt:Date.now(),archived:!0}],removals:(0,m.XU)(a.removals,b,"scrubbing")}}function W(){q=null;let a=E(),b=[],c=[];for(let d of a.removals){if((0,m.nr)("codex",d.id))continue;let e=null;try{e=(0,m.nH)({engine:"codex",accountId:d.id,home:B(d.id),entry:d,listed:a.accounts.some(a=>a.id===d.id),commitRetired:()=>{q=null,J(V(E(),d.id))},clearJournal:()=>U(d.id,null)})}catch{}(e?b:c).push(d.id)}return{recovered:b,unresolved:c}}let X=!1;function Y(a){return H(()=>{W(),q=null;let b=E();if(!b.accounts.find(b=>b.id===a))throw new s(a);let c={...b,removals:(0,m.XU)(b.removals,a,null)};return(0,m.ne)({engine:"codex",accountId:a,home:B(a),homeIsSafe:()=>C(a,!0),unsafeHome:()=>new v,rewrites:(a,b)=>{let c=[a];try{let b=e().realpathSync(a);b!==a&&c.push(b)}catch{}return c.map(a=>({from:a,to:b}))},registry:{journal:(b,c)=>U(a,b,c),commitRetired:()=>J(V(c,a)),restore:()=>J(c)}})})}function Z(){return H(()=>{let a;W(),q=null;let b=E(),c=new Set(b.accounts.map(a=>a.id)),d=new Set(b.retired.map(a=>a.id));try{a=e().readdirSync(x(),{withFileTypes:!0})}catch(a){if("ENOENT"===a.code)return{removed:[],unresolved:[]};throw a}let f=[],g=[],h={};for(let b of a){let a;if(!c.has(b.name)){if((0,m.Du)("codex",b.name).length>0||!b.isDirectory()||!C(b.name,!0)){g.push(b.name);continue}try{a=(0,m.Ck)("codex",b.name,B(b.name))}catch(a){a instanceof m.s4&&(h[b.name]=a.report),g.push(b.name);continue}if(d.has(b.name)){if(!a.artifacts.some(a=>a.history)){try{(0,m.jK)("codex",b.name,B(b.name))?f.push(b.name):g.push(b.name)}catch(a){a instanceof m.s4&&(h[b.name]=a.report),g.push(b.name)}continue}if(!a.artifacts.filter(a=>a.history).every(a=>a.path.startsWith(`sessions${i().sep}`))){h[b.name]=a,g.push(b.name);continue}try{let a=(0,m.F1)("codex",b.name,B(b.name),"sessions");a.complete?a.changed&&f.push(b.name):g.push(b.name)}catch(a){a instanceof m.s4&&(h[b.name]=a.report),g.push(b.name)}continue}if(a.artifacts.some(a=>a.history)){h[b.name]=a,g.push(b.name);continue}try{(0,m.jK)("codex",b.name,B(b.name))?f.push(b.name):g.push(b.name)}catch(a){a instanceof m.s4&&(h[b.name]=a.report),g.push(b.name)}}}return{removed:f.sort(),unresolved:g.sort(),...Object.keys(h).length>0?{history:h}:{}}})}function $(a,b){H(()=>{q=null;let c=E(),d=c.accounts.findIndex(b=>b.id===a);if(d<0)throw new s(a);let e=[...c.accounts];e[d]={...e[d],loginPane:b},J({...c,accounts:e})})}function _(a,b,c,d=Date.now()){if(a)return{state:"authenticated",clear:null!==b};if(!b)return{state:"idle",clear:!1};let e=d-b.startedAt<15e3;return c?c.windowName!==b.windowName?{state:"idle",clear:!0}:(0,k.g2)(c.command)?e?{state:"pending",clear:!1}:{state:"idle",clear:!0}:{state:"pending",clear:!1}:e?{state:"pending",clear:!1}:{state:"idle",clear:!0}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=2150,exports.ids=[2150],exports.modules={22150:(a,b,c)=>{c.d(b,{runIdentityWaveMigrationAtStartup:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(63685),i=c(68465),j=c(27146),k=c(29307),l=c(14310),m=c(57718),n=c(70160),o=c(93151),p=c(23953),q=c(74085);function r(a){let b=a&&"object"==typeof a?a.code:void 0;return"ENOENT"===b||"ENOTDIR"===b}function s(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/).find(a=>a.trim());return(0,m.St)(b,120)}function t(a,b){try{let c=e().statSync(a);if(!c.isFile())return null;let d=(0,l.fy)(a,c.size,b);return s(d.title)??s(d.firstPrompt)}catch(a){if(r(a))return null;throw a}}function u(a,b=g().join((0,i.Hy)(),"projects"),c=(0,i.o1)()){let d=g().relative(b,a);if(!d||".."===d||d.startsWith(`..${g().sep}`)||g().isAbsolute(d))return null;let f=g().join(c,d);if(f===a)return null;try{let d=e().statSync(f);if(!d.isFile())return null;let g=!1;try{g=e().realpathSync.native(b)===e().realpathSync.native(c)}catch(a){if(!r(a))throw a}let h=!1;try{let b=e().statSync(a);h=b.isFile()&&b.dev===d.dev&&b.ino===d.ino}catch(a){if(!r(a))throw a}return{sharedPath:f,identityEquivalent:g||h}}catch(a){if(r(a))return null;throw a}}function v(a={}){let b=a.env??process.env,c="1"===b.LLV_IDENTITY_WAVE_DRY_RUN,d={registry:a.registry??(c?function(a,b=process.env){return{runIdentityWaveMigration:c=>(0,q.Oy)(function(a=(0,j.BQ)("agent-registry.json"),b=process.env){let c,d=(0,o.Ej)(a,b),f="read"===d.mode||"sqlite"===d.mode,g=function(a){try{return e().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}}(a);if(null===g){if(f)throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror is absent; start the registry writer once so it refreshes the mirror`);return(0,n.l5)({version:2,entries:{},receipts:{}})}try{c=JSON.parse(g)}catch(a){throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}if(f){let a=c?._sqliteRevision;if(!Number.isInteger(a)||0>Number(a))throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror carries no SQLite revision stamp; start the registry writer once so it refreshes the mirror`)}return(0,p.$q)((0,n.l5)(c))}(a,b),{...c,dryRun:!0})}}(void 0,b):(0,n.agentRegistry)()),seats:a.seats??k.
|
|
1
|
+
"use strict";exports.id=2150,exports.ids=[2150],exports.modules={22150:(a,b,c)=>{c.d(b,{runIdentityWaveMigrationAtStartup:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(63685),i=c(68465),j=c(27146),k=c(29307),l=c(14310),m=c(57718),n=c(70160),o=c(93151),p=c(23953),q=c(74085);function r(a){let b=a&&"object"==typeof a?a.code:void 0;return"ENOENT"===b||"ENOTDIR"===b}function s(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/).find(a=>a.trim());return(0,m.St)(b,120)}function t(a,b){try{let c=e().statSync(a);if(!c.isFile())return null;let d=(0,l.fy)(a,c.size,b);return s(d.title)??s(d.firstPrompt)}catch(a){if(r(a))return null;throw a}}function u(a,b=g().join((0,i.Hy)(),"projects"),c=(0,i.o1)()){let d=g().relative(b,a);if(!d||".."===d||d.startsWith(`..${g().sep}`)||g().isAbsolute(d))return null;let f=g().join(c,d);if(f===a)return null;try{let d=e().statSync(f);if(!d.isFile())return null;let g=!1;try{g=e().realpathSync.native(b)===e().realpathSync.native(c)}catch(a){if(!r(a))throw a}let h=!1;try{let b=e().statSync(a);h=b.isFile()&&b.dev===d.dev&&b.ino===d.ino}catch(a){if(!r(a))throw a}return{sharedPath:f,identityEquivalent:g||h}}catch(a){if(r(a))return null;throw a}}function v(a={}){let b=a.env??process.env,c="1"===b.LLV_IDENTITY_WAVE_DRY_RUN,d={registry:a.registry??(c?function(a,b=process.env){return{runIdentityWaveMigration:c=>(0,q.Oy)(function(a=(0,j.BQ)("agent-registry.json"),b=process.env){let c,d=(0,o.Ej)(a,b),f="read"===d.mode||"sqlite"===d.mode,g=function(a){try{return e().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}}(a);if(null===g){if(f)throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror is absent; start the registry writer once so it refreshes the mirror`);return(0,n.l5)({version:2,entries:{},receipts:{}})}try{c=JSON.parse(g)}catch(a){throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}if(f){let a=c?._sqliteRevision;if(!Number.isInteger(a)||0>Number(a))throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror carries no SQLite revision stamp; start the registry writer once so it refreshes the mirror`)}return(0,p.$q)((0,n.l5)(c))}(a,b),{...c,dryRun:!0})}}(void 0,b):(0,n.agentRegistry)()),seats:a.seats??k.activeOrchestratorSeatsForMigration,now:a.now??(()=>new Date().toISOString()),transcriptTitle:a.transcriptTitle??t,sharedPath:a.sharedPath??u,commitExternalPathRekeys:a.commitExternalPathRekeys??k.rekeyOrchestratorSeatPaths,log:a.log??((a,b)=>console.info(a,b)),env:b},f=()=>d.registry.runIdentityWaveMigration({dryRun:c,now:d.now(),transcriptTitle:d.transcriptTitle,sharedPathForLegacy:d.sharedPath,orchestratorSeats:d.seats(),commitExternalPathRekeys:d.commitExternalPathRekeys}),g=c?f():(0,h.oV)(f);return d.log("[identity-wave] registry migration",{dryRun:g.dryRun,alreadyCompleted:g.alreadyCompleted,retitled:g.retitled,rekeyed:g.rekeyed,quarantinedRekeys:g.quarantinedRekeys,edgesStamped:g.edgesStamped}),g}}};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";exports.id=2744,exports.ids=[2744,5408],exports.modules={15408:(a,b,c)=>{c.r(b),c.d(b,{ORCHESTRATOR_SEATS_SCHEMA_VERSION:()=>m,ORCHESTRATOR_SEAT_HISTORY_CAP:()=>n,abandonStillbornOrchestratorSeat:()=>I,activeOrchestratorSeats:()=>K,activeOrchestratorSeatsForMigration:()=>N,activeOrchestratorSeatsOrUnknown:()=>L,beginOrchestratorSeatIntent:()=>E,canonicalOrchestratorProject:()=>p,completeOrchestratorSeatIntent:()=>F,confirmOrchestratorSeatMaterialization:()=>J,failOrchestratorSeatIntent:()=>H,orchestratorRevocations:()=>P,orchestratorSeatFor:()=>D,orchestratorSeatForOrUnknown:()=>M,readOrchestratorSeatFile:()=>x,rekeyOrchestratorSeatPaths:()=>O,repairOrchestratorSeatRuntimeIdentity:()=>G,revokedOrchestratorSeatConversationsOrUnknown:()=>Q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(22962),k=c(91724),l=c(89940);let m=1,n=50,o=()=>(0,k.BQ)("orchestrator-seats.json");function p(a){return(0,l.G$)(a.trim())}function q(){return{schemaVersion:m,nextSeatEpoch:1,seats:{},pending:{},revocations:[],history:[],rollbacks:{}}}function r(a,b){g().mkdirSync(i().dirname(a),{recursive:!0});let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);g().writeFileSync(c,JSON.stringify(b,null,2)+"\n","utf8"),g().renameSync(c,a)}function s(a){if(!a||"object"!=typeof a||Array.isArray(a)||"operator"!==a.kind&&"agent"!==a.kind)return null;let b="string"==typeof a.conversationId&&a.conversationId?a.conversationId:null,c="number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&a.seatEpoch>=1?a.seatEpoch:null;return{kind:a.kind,conversationId:b,seatEpoch:c}}function t(a){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.project||!a.project||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||null!==a.conversationId&&"string"!=typeof a.conversationId||null!==a.path&&"string"!=typeof a.path||"string"!=typeof a.mandate||"pending"!==a.state&&"active"!==a.state)return null;let b=a.intent;if(!b||"string"!=typeof b.clientRequestId||!b.clientRequestId||"spawn"!==b.mode&&"existing"!==b.mode||"string"!=typeof a.designatedAt||null!==a.activatedAt&&"string"!=typeof a.activatedAt)return null;let c="string"==typeof a.engine&&a.engine.trim()?a.engine:null,d="string"==typeof a.model&&a.model.trim()?a.model:null,e="boolean"==typeof a.runtimeIdentityFrozen?a.runtimeIdentityFrozen:!!(c||d);return{project:a.project,seatEpoch:a.seatEpoch,conversationId:a.conversationId??null,path:a.path??null,engine:c,model:d,runtimeIdentityFrozen:e,mandate:a.mandate,promptVersion:"number"==typeof a.promptVersion&&Number.isInteger(a.promptVersion)?a.promptVersion:null,predecessorConversationId:"string"==typeof a.predecessorConversationId?a.predecessorConversationId:null,triggeredBy:s(a.triggeredBy),state:a.state,intent:{clientRequestId:b.clientRequestId,mode:b.mode,launchId:"string"==typeof b.launchId?b.launchId:null,error:"string"==typeof b.error?b.error:null},designatedAt:a.designatedAt,activatedAt:a.activatedAt??null}}function u(a,b){return a.history.push(b),a.history.length>n&&a.history.splice(0,a.history.length-n),b}function v(a,b){let c=a[b.project];(!c||b.seatEpoch>c.seatEpoch)&&(a[b.project]=b)}function w(){let a;try{a=g().readFileSync(o(),"utf8")}catch(a){return a?.code==="ENOENT"?q():null}try{let b=JSON.parse(a);if(b.schemaVersion!==m)return null;let c=q();for(let[a,d]of(c.nextSeatEpoch="number"==typeof b.nextSeatEpoch&&Number.isInteger(b.nextSeatEpoch)&&b.nextSeatEpoch>=1?b.nextSeatEpoch:1,Object.entries(b.seats??{}))){let b=t(d);b&&b.project===a&&"active"===b.state&&b.conversationId&&v(c.seats,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.pending??{})){let b=t(d);b&&b.project===a&&"pending"===b.state&&v(c.pending,{...b,project:p(a)})}for(let[a,d]of Object.entries(b.rollbacks??{})){let b=t(d);b&&b.conversationId&&(c.rollbacks[p(a)]=b)}for(let a of Array.isArray(b.revocations)?b.revocations:[])"string"==typeof a.project&&"string"==typeof a.conversationId&&"number"==typeof a.seatEpoch&&Number.isInteger(a.seatEpoch)&&"string"==typeof a.revokedAt&&c.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:"string"==typeof a.successorConversationId?a.successorConversationId:null,triggeredBy:s(a.triggeredBy)});for(let a of Array.isArray(b.history)?b.history:[]){let b=t(a.seat);b&&("terminal_error"===a.reason||"superseded_epoch"===a.reason)&&"string"==typeof a.terminalizedAt&&c.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}let d=Math.max(0,...Object.values(c.seats).map(a=>a.seatEpoch),...Object.values(c.pending).map(a=>a.seatEpoch),...Object.values(c.rollbacks).map(a=>a.seatEpoch),...c.revocations.map(a=>a.seatEpoch),...c.history.map(a=>a.seat.seatEpoch));return c.nextSeatEpoch<=d&&(c.nextSeatEpoch=d+1),c}catch{return null}}function x(){return w()??q()}function y(a){return void 0===a?Error("orchestrator seat evidence is malformed"):Error("orchestrator seat evidence is malformed",{cause:a})}function z(a,b){if(void 0===a)return{};if(!a||"object"!=typeof a||Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function A(a,b){if(void 0===a)return[];if(!Array.isArray(a))throw y(Error(`${b} is invalid`));return a}function B(){let a,b;try{a=g().readFileSync(o(),"utf8")}catch(a){if(a&&"object"==typeof a&&"ENOENT"===a.code)return{raw:null,normalized:q()};throw a}try{b=JSON.parse(a)}catch(a){throw y(a)}if(!b||"object"!=typeof b||Array.isArray(b))throw y();let c=b;if(c.schemaVersion!==m||"number"!=typeof c.nextSeatEpoch||!Number.isInteger(c.nextSeatEpoch)||c.nextSeatEpoch<1)throw y();let d=q();for(let[a,b]of(d.nextSeatEpoch=c.nextSeatEpoch,Object.entries(z(c.seats,"seats")))){let c=t(b);if(!c||c.project!==a||"active"!==c.state||!c.conversationId)throw y();let e=p(a);if(d.seats[e])throw y();d.seats[e]={...c,project:e}}for(let[a,b]of Object.entries(z(c.pending,"pending"))){let c=t(b);if(!c||c.project!==a||"pending"!==c.state)throw y();let e=p(a);if(d.pending[e])throw y();d.pending[e]={...c,project:e}}for(let a of A(c.revocations,"revocations")){if(!a||"object"!=typeof a||"string"!=typeof a.project||!a.project||"string"!=typeof a.conversationId||!a.conversationId||"number"!=typeof a.seatEpoch||!Number.isInteger(a.seatEpoch)||a.seatEpoch<1||"string"!=typeof a.revokedAt||void 0!==a.successorConversationId&&null!==a.successorConversationId&&"string"!=typeof a.successorConversationId)throw y();d.revocations.push({project:p(a.project),conversationId:a.conversationId,seatEpoch:a.seatEpoch,revokedAt:a.revokedAt,successorConversationId:a.successorConversationId??null,triggeredBy:s(a.triggeredBy)})}for(let a of A(c.history,"history")){let b=t(a?.seat);if(!a||!b||"terminal_error"!==a.reason&&"superseded_epoch"!==a.reason||"string"!=typeof a.terminalizedAt)throw y();d.history.push({seat:{...b,project:p(b.project)},reason:a.reason,terminalizedAt:a.terminalizedAt})}return{raw:c,normalized:d}}function C(a){r(o(),a)}function D(a){let b=x(),c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null,history:b.history.filter(a=>a.seat.project===c)}}function E(a){return(0,j.oV)(()=>{let b,c=x(),d=p(a.project),e=c.seats[d];if(e&&e.intent.clientRequestId===a.clientRequestId)return{kind:"completed",seat:e};let f=c.pending[d];if(f&&null===f.intent.error&&f.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:f};if(f){if(!(null!==f.intent.error||void 0!==e&&f.seatEpoch<e.seatEpoch))return{kind:"in_progress",seat:f};b=u(c,{seat:f,reason:null!==f.intent.error?"terminal_error":"superseded_epoch",terminalizedAt:a.now??new Date().toISOString()}),delete c.pending[d]}let g={project:d,seatEpoch:c.nextSeatEpoch,conversationId:a.conversationId??null,path:null,engine:a.engine?.trim()||null,model:a.model?.trim()||null,runtimeIdentityFrozen:!!(a.engine?.trim()&&a.model?.trim()),mandate:a.mandate,promptVersion:a.promptVersion??null,predecessorConversationId:null,triggeredBy:a.triggeredBy??null,state:"pending",intent:{clientRequestId:a.clientRequestId,mode:a.mode,launchId:null,error:null},designatedAt:a.now??new Date().toISOString(),activatedAt:null};return c.nextSeatEpoch+=1,c.pending[d]=g,C(c),{kind:"begun",seat:g,...b?{terminalized:b}:{}}})}function F(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(d&&d.intent.clientRequestId===a.clientRequestId)return{kind:"replay",seat:d};let e=b.pending[c];if(!e||e.intent.clientRequestId!==a.clientRequestId)return{kind:"missing"};let f=a.now??new Date().toISOString(),g=null;d&&d.conversationId&&d.conversationId!==a.conversationId&&(g={project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:f,successorConversationId:a.conversationId,triggeredBy:e.triggeredBy??null},b.revocations.push(g)),"spawn"===e.intent.mode&&null===a.path&&d?.conversationId&&d.conversationId!==a.conversationId?b.rollbacks[c]=d:delete b.rollbacks[c];let h={...e,conversationId:a.conversationId,path:a.path,engine:e.engine??(a.engine?.trim()||null),model:e.model??(a.model?.trim()||null),runtimeIdentityFrozen:!0===e.runtimeIdentityFrozen||!!(a.engine||a.model),predecessorConversationId:g?.conversationId??e.predecessorConversationId,state:"active",intent:{...e.intent,launchId:a.launchId??e.intent.launchId,error:null},activatedAt:f};return delete b.pending[c],b.seats[c]=h,C(b),{kind:"activated",seat:h,revoked:g}})}function G(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.conversationId!==a.conversationId)return null;let e=d.engine??(a.engine?.trim()||null),f=d.model??(a.model?.trim()||null);if(e===d.engine&&f===d.model)return d;let g={...d,engine:e,model:f};return b.seats[c]=g,C(b),g})}function H(a,b,c,d){return(0,j.oV)(()=>{let e=x(),f=p(a),g=e.pending[f];if(!g||g.intent.clientRequestId!==b)return null;g.intent.error=c.slice(0,500);let h=u(e,{seat:g,reason:"terminal_error",terminalizedAt:d??new Date().toISOString()});return delete e.pending[f],C(e),h})}function I(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||"active"!==d.state||"spawn"!==d.intent.mode||null!==d.path||!d.conversationId)return null;let e=a.now??new Date().toISOString(),f=b.rollbacks[c]??null,g=f?null:[...b.revocations].reverse().find(a=>a.project===c&&a.successorConversationId===d.conversationId)?.conversationId??null,h=f??(g?a.restorableSeat?.({conversationId:g,stillborn:d})??null:null),i=!!(h?.conversationId&&a.resolvable&&!a.resolvable(h.conversationId)),j=i?null:h,k=null;j?.conversationId?(k={...j,project:c,seatEpoch:b.nextSeatEpoch,state:"active",activatedAt:e},b.nextSeatEpoch+=1,b.seats[c]=k):delete b.seats[c],b.revocations.push({project:c,conversationId:d.conversationId,seatEpoch:d.seatEpoch,revokedAt:e,successorConversationId:k?.conversationId??null,triggeredBy:d.triggeredBy??null}),delete b.rollbacks[c];let l=i?`${a.error}; the predecessor ${h.conversationId} it would have been rolled back to is no longer resolvable either, so the project is left undesignated`:a.error,m=u(b,{seat:{...d,intent:{...d.intent,error:l.slice(0,500)}},reason:"terminal_error",terminalizedAt:e});return C(b),{terminalized:m,restored:k}})}function J(a){return(0,j.oV)(()=>{let b=x(),c=p(a.project),d=b.seats[c];if(!d||d.intent.clientRequestId!==a.clientRequestId||d.conversationId!==a.conversationId)return null;if(d.path===a.path&&!b.rollbacks[c])return d;let e={...d,path:a.path};return b.seats[c]=e,delete b.rollbacks[c],C(b),e})}function K(){return Object.values(x().seats)}function L(){let a=w();return null===a?null:Object.values(a.seats)}function M(a){let b=w();if(null===b)return null;let c=p(a);return{active:b.seats[c]??null,pending:b.pending[c]??null}}function N(){return Object.values(B().normalized.seats)}function O(a){0!==a.length&&(0,j.oV)(()=>{let b=B();if(!b.raw||0===Object.keys(b.normalized.seats).length)return;let c=new Map(a.map(a=>[a.legacyPath,a.sharedPath])),d=z(b.raw.seats,"seats"),e=!1;for(let a of Object.values(d)){if(!a||"object"!=typeof a||Array.isArray(a)||"string"!=typeof a.path)continue;let b=c.get(a.path);b&&(a.path=b,e=!0)}e&&r(o(),b.raw)})}function P(){return x().revocations}function Q(a=a=>a){let b=w();if(null===b)return null;let c=new Map,d=b=>{if(!b.conversationId)return;let d=a(b.conversationId);c.set(d,Math.max(c.get(d)??0,b.seatEpoch))};for(let a of Object.values(b.seats))d(a);for(let a of Object.values(b.pending))null===a.intent.error&&d(a);let e=new Set;for(let d of b.revocations){let b=a(d.conversationId);d.seatEpoch>=(c.get(b)??0)&&e.add(b)}return e}},93785:(a,b,c)=>{c.d(b,{nK:()=>E,Rx:()=>y});var d=c(25617),e=c(10781),f=c(71277),g=c(58996),h=c(41085),i=c(48289),j=c(1849);function k(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("catalog selection cancelled","AbortError")}function l(a,b){let c=Math.max(0,Math.floor(b.limit)),d=b.query?b.query.toLocaleLowerCase():"",e=[],f=new Set,g=0,h=0;for(let i of a){if("claude"===i.engine||"codex"===i.engine)h+=1,b.hostedPaths?.has(i.path)&&f.add(i.path),(!b.project||i.project===b.project)&&(!b.liveOnly||"live"===i.activity||"stalled"===i.activity||b.hostedPaths?.has(i.path))&&(!d||`${i.title}
|
|
2
|
+
${i.project}
|
|
3
|
+
${i.path}`.toLocaleLowerCase().includes(d))&&(g+=1,e.length<c&&e.push(i))}return{entries:e,matched:g,scanned:h,hostedSeen:f}}async function m(a,b={completedFileScan:j.Nm}){let c=performance.now();if(b.signal?.aborted)throw k(b.signal.reason);let d=await b.completedFileScan({signal:b.signal??null});if(b.signal?.aborted)throw k(b.signal.reason);return{...l(d.snapshot.files,a),generation:d.generation,cacheStatus:d.cacheStatus,freshScan:!1,selectionMs:performance.now()-c}}async function n(a,b,c,d){let e=d.now??Date.now,f=d.signal??null,g=new Map,h=0,i=0,j="complete";if(f?.aborted)throw k(f.reason);let l=async()=>{for(;;){if(f?.aborted)throw k(f.reason);if("complete"!==j||h>=a.length)return;if(null!==d.deadlineAt&&e()>=d.deadlineAt){j="deadline";return}let l=h,m=a[l],n=Math.max(0,b(m));if(i+n>d.maxBytes){j="byte_budget";return}h=l+1,i+=n,g.set(l,await c(m,f))}},m=(await Promise.allSettled(Array.from({length:Number.isFinite(d.concurrency)?Math.max(1,Math.min(Math.floor(d.concurrency),a.length||1)):1},()=>l()))).find(a=>"rejected"===a.status);if(m?.status==="rejected")throw m.reason;return{results:g,hydrated:g.size,skipped:a.length-g.size,bytes:i,stopped:j}}var o=c(73024),p=c.n(o),q=c(76760),r=c.n(q),s=c(49113),t=c(23855),u=c(70107),v=c(89333);async function w(a,b){let c=await (0,t.mR)(b);if("complete"!==c.integrity)return null;let d=(0,s.j)(c.records,a);return{turn:"terminal"===d.state?"idle":"busy"===d.state?"busy":"unknown",lastRecordTs:function(a){let b=null;for(let c of a){let a=c.timestamp;if("string"!=typeof a)continue;let d=Date.parse(a);Number.isFinite(d)&&(null===b||d>b)&&(b=d)}return b}(c.records)}}async function x(a){let b,c=function(a){let b=null;for(let[c,d]of(0,v.s9)())(a===d||a.startsWith(d.endsWith(r().sep)?d:d+r().sep))&&(!b||d.length>b[1].length)&&(b=[c,d]);return b}(a);if(!c)return null;try{b=await p().promises.stat(a)}catch{return null}if(!b.isFile())return null;let d=(0,u.q0)(c[0],c[1],a,b);return{path:a,project:d.project,title:d.title,engine:d.engine,mtimeMs:b.mtimeMs,sizeBytes:b.size,conversationId:null,activity:null,activityReason:null}}function y(a={}){let b=a.completedFileScan??j.Nm;return{now:()=>Date.now(),selectInventory:(a,c)=>m(a,{completedFileScan:b,signal:c?.signal??null}),describeTranscript:x,registrySnapshot:()=>(0,e.agentRegistry)().readOnlySnapshot(),pipelines:()=>(0,i.Cz)().pipelines,transcriptEvidence:w,limitsProvenance:g.io,probe:(0,d.AM)()}}function z(a){return{path:a.path,project:a.project,title:a.title,engine:a.engine,mtimeMs:Number.isFinite(a.mtime)?1e3*a.mtime:NaN,sizeBytes:Number.isFinite(a.size)?a.size:void 0,conversationId:a.conversationId??null,activity:a.activity??null,activityReason:a.activityReason??null}}async function A(a,b,c,d){let e=[];for(let c of a)b.has(c)||e.push(c);if(0===e.length)return{entries:[],truncated:!1};let f=e.length>64,g=f?e.slice(-64):e;return{entries:(await Promise.all(g.map(async a=>{try{return await d(a)}catch{return null}}))).filter(a=>null!==a&&("claude"===a.engine||"codex"===a.engine)&&(!c||a.project===c)),truncated:f}}function B(a,b){let c=a=>Number.isFinite(a.mtimeMs)?a.mtimeMs:-1/0;return c(b)-c(a)}function C(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("liveness snapshot cancelled","AbortError")}function D(a){return Math.round(100*Math.max(0,a))/100}async function E(a,b){let c,e,g=performance.now(),i=b.now(),j=a.signal??null;if(j?.aborted)throw C(j.reason);let k=Number.isFinite(a.stallAfterMs)&&a.stallAfterMs>0?Math.floor(a.stallAfterMs):6e5,m=Math.max(1,Math.min(200,Number.isInteger(a.limit)?a.limit:100)),o=performance.now(),p=b.registrySnapshot(),q=function(a){let b=new Map,c=new Map;for(let d of a)for(let a of d.runs)for(let e of a.attempts){if(e.historical)continue;let f={pipelineId:d.id,stageId:a.stageId,attempt:e.n,reportedState:e.state,reportedPipelineState:d.state,paneId:e.paneId};e.conversationId&&b.set(e.conversationId,f),e.agentPath&&c.set(e.agentPath,f)}return{byConversation:b,byPath:c}}(b.pipelines()),r=function(a){let b=new Set;for(let c of Object.values(a.entries))("starting"===c.status||"live"===c.status||"idle"===c.status||"handoff"===c.status)&&c.artifactPath&&b.add(c.artifactPath);return b}(p),s=performance.now()-o,t=new Set,u=!!(a.transcriptPath||a.conversationId);if(a.transcriptPath&&t.add(a.transcriptPath),a.conversationId){let b=p.conversations[a.conversationId],c=b?.generations.at(-1)?.path;c&&t.add(c)}let v=performance.now();if(u)c=t.size>0?(await Promise.all([...t].slice(0,m).map(a=>b.describeTranscript(a)))).filter(a=>null!==a):[],e={scope:"targeted",scanned:t.size,matched:c.length,selected:c.length,recovered:0,recoveryTruncated:!1,generation:null,cacheStatus:null,freshScan:!1};else{let d,f={project:a.project,liveOnly:a.liveOnly,limit:m,hostedPaths:r};if(b.selectInventory){let g=await b.selectInventory(f,{signal:j});c=g.entries.map(z),d=g.hostedSeen??new Set(g.entries.map(a=>a.path)),e={scope:a.project?"project":"corpus",scanned:g.scanned,matched:g.matched,selected:g.entries.length,recovered:0,recoveryTruncated:!1,generation:g.generation,cacheStatus:g.cacheStatus,freshScan:g.freshScan}}else if(b.listFiles){let g=l(await b.listFiles(),f);c=g.entries.map(z),d=g.hostedSeen,e={scope:a.project?"project":"corpus",scanned:g.scanned,matched:g.matched,selected:g.entries.length,recovered:0,recoveryTruncated:!1,generation:null,cacheStatus:null,freshScan:!0}}else throw Error("liveness needs an inventory source: install selectInventory");let g=await A(r,d,a.project,b.describeTranscript),h=new Set(c.map(a=>a.path)),i=g.entries.filter(a=>!h.has(a.path));(i.length>0||g.truncated)&&(i.length>0&&(c=[...c,...i].sort(B).slice(0,m)),e={...e,matched:e.matched+i.length,selected:c.length,recovered:i.length,recoveryTruncated:g.truncated})}let w=performance.now()-v;if(j?.aborted)throw C(j.reason);let x=c.filter(a=>"claude"===a.engine||"codex"===a.engine),y=performance.now(),E=Number.isFinite(a.evidenceDeadlineMs)&&a.evidenceDeadlineMs>0?Math.floor(a.evidenceDeadlineMs):2e3,F=await n(x,a=>Math.min(Number.isFinite(a.sizeBytes)?a.sizeBytes:131072,131072),async(a,c)=>{try{return await b.transcriptEvidence(a.engine,a.path,{signal:c})}catch(a){if(c?.aborted||(0,f.zf)(a))throw a;return null}},{concurrency:Number.isFinite(a.evidenceConcurrency)?Math.max(1,Math.floor(a.evidenceConcurrency)):4,maxBytes:Number.isFinite(a.evidenceByteBudget)?Math.max(0,Math.floor(a.evidenceByteBudget)):131072*Math.max(1,m),deadlineAt:b.now()+E,signal:j,now:b.now}),G=performance.now()-y;if(j?.aborted)throw C(j.reason);let H=performance.now(),I=0,J={claude:new Map,codex:new Map},K=x.map((a,c)=>{var e,f;let g,j=F.results.has(c),l=F.results.get(c)??null;j&&null===l&&(I+=1);let m=l?l.turn:"jsonl_turn_open"===a.activityReason?"busy":"jsonl_turn_completed"===a.activityReason?"idle":"unknown",n=l?.lastRecordTs??(Number.isFinite(a.mtimeMs)?a.mtimeMs:null),o=null!==n?Math.max(0,i-n):null,r=function(a,b){for(let c of Object.values(a.entries))if(c.artifactPath===b)return c;return null}(p,a.path),s=function(a,b){if(!a)return{state:"unknown",kind:"none",pid:null};let c="starting"===a.status||"live"===a.status||"idle"===a.status||"handoff"===a.status,e=a.structuredHost?.process??null,f=a.host?{state:(0,d.eW)(a.host.agent,b)||(0,d.eW)(a.host.panePid,b)?"alive":"gone",kind:"tmux",pid:a.host.agent.pid}:null,g=e?{state:(0,d.eW)(e,b)?"alive":"gone",kind:"structured",pid:e.pid}:null;if(!c){let a=f??g;return a?{...a,state:"gone"}:{state:"gone",kind:"none",pid:null}}if(f?.state==="alive")return f;if(g?.state==="alive")return g;if(f)return f;if(g)return g;let h=Date.parse(a.updatedAt);return{state:Number.isFinite(h)&&b.now()-h<3e5?"unknown":"gone",kind:"none",pid:null}}(r,b.probe),t="busy"===m&&"alive"===s.state&&r?.accountId?(e=a.engine,f=r.accountId,(g=J[e]).has(f)||g.set(f,(0,h.p5)(b.limitsProvenance?.(e,f),i,h.Lm)),g.get(f)??null):null,u=a.conversationId??function(a,b){for(let c of Object.values(a.conversations))if(c.generations.some(a=>a.path===b)||c.continuityPaths?.includes(b))return c.id;return null}(p,a.path);return{entry:a,conversationId:u,turnState:m,lastRecordMs:n,silentForMs:o,host:s,...function(a){let b=null!==a.silentForMs&&a.silentForMs>=a.stallAfterMs;if("gone"===a.host.state)return"busy"===a.turnState?{lifecycle:"stalled",reason:"host_gone_turn_open"}:{lifecycle:"gone",reason:"host_gone_turn_settled"};if("unknown"===a.host.state){let b=a.startingGraceMs??3e5;return null===a.silentForMs||a.silentForMs<b?{lifecycle:"starting",reason:"launch_unproven"}:"busy"===a.turnState?{lifecycle:"stalled",reason:"launch_unproven_expired"}:{lifecycle:"gone",reason:"launch_unproven_expired"}}return"busy"===a.turnState&&a.providerRetryAt?{lifecycle:"waiting",reason:"provider_throttled",retryAt:a.providerRetryAt}:b?{lifecycle:"stalled",reason:"host_alive_transcript_silent"}:"idle"===a.turnState?{lifecycle:"waiting",reason:"host_alive_turn_idle"}:{lifecycle:"running",reason:"host_alive_turn_active"}}({host:s,turnState:m,silentForMs:o,stallAfterMs:k,providerRetryAt:t}),pipeline:(u?q.byConversation.get(u):void 0)??q.byPath.get(a.path)??null,evidenceSource:j?null!==l?"transcript":"unreadable":"projection"}}),L=s+(performance.now()-H),M=performance.now(),N=K.map(a=>{var b;return{conversationId:a.conversationId,transcriptPath:a.entry.path,project:a.entry.project,engine:a.entry.engine,title:a.entry.title,lastRecordAt:null!==(b=a.lastRecordMs)&&Number.isFinite(b)?new Date(b).toISOString():null,turnState:a.turnState,host:a.host,lifecycle:a.lifecycle,reason:a.reason,retryAt:a.retryAt??null,silentForMs:a.silentForMs,stalledForMs:"stalled"===a.lifecycle||"gone"===a.lifecycle?a.silentForMs:null,pipeline:a.pipeline,evidenceSource:a.evidenceSource}}),O=performance.now()-M;return{observedAt:new Date(i).toISOString(),stallAfterMs:k,count:N.length,stalledCount:N.filter(a=>"stalled"===a.lifecycle).length,stalledConfirmedCount:N.filter(a=>"stalled"===a.lifecycle&&"transcript"===a.evidenceSource).length,conversations:N,selection:{...e,hydrated:F.hydrated,unreadable:I,projected:x.length-F.hydrated,evidenceBytes:F.bytes,budget:F.stopped},timings:{inventorySelectionMs:D(w),journalProjectionMs:D(L),evidenceReadMs:D(G),serializationMs:D(O),totalMs:D(performance.now()-g)}}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=2857,exports.ids=[2857],exports.modules={52857:(a,b,c)=>{c.d(b,{viewerReleaseOwnsTraffic:()=>g});var d=c(73024),e=c.n(d);c(76760);var f=c(91724);function g(a=process.env,b=()=>e().readFileSync((0,f.BQ)("viewer-release.json"),"utf8")){let c,d=a.PORT?.trim();if(!d)return!0;try{c=b()}catch(a){return"ENOENT"===a.code}try{let a=JSON.parse(c);if("string"!=typeof a.endpoint)return!1;return new URL(a.endpoint).port===d}catch{return!1}}c(3127),c(43734),c(13117),c(21241)}};
|
|
1
|
+
"use strict";exports.id=2857,exports.ids=[2857],exports.modules={52857:(a,b,c)=>{c.d(b,{viewerReleaseOwnsTraffic:()=>g}),c(77598);var d=c(73024),e=c.n(d);c(76760);var f=c(91724);function g(a=process.env,b=()=>e().readFileSync((0,f.BQ)("viewer-release.json"),"utf8")){let c,d=a.PORT?.trim();if(!d)return!0;try{c=b()}catch(a){return"ENOENT"===a.code}try{let a=JSON.parse(c);if("string"!=typeof a.endpoint)return!1;return new URL(a.endpoint).port===d}catch{return!1}}c(3127),c(43734),c(13117),c(21241)}};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";exports.id=286,exports.ids=[286],exports.modules={5343:(a,b,c)=>{c.d(b,{Tc:()=>K,W6:()=>g,re:()=>Q,fK:()=>o,Ho:()=>N,K:()=>J,Cs:()=>I,WI:()=>T,hD:()=>S,l6:()=>G,aW:()=>u});var d=c(34196),e=c(76775),f=c(85745);let g=36e5,h=3e5,i=24e5,j=864e5,k=5,l=2,m=2592e5;function n(a,b,c){let d=Number(a?.trim());return Number.isFinite(d)&&d>0?d*c:b}function o(a=process.env){let b=a.LLV_SEAT_TICK_CHECK_MINUTES?.trim();return b&&0===Number(b)?null:{checkIntervalMs:n(b,h,6e4),stallAfterMs:n(a.LLV_SEAT_TICK_STALL_MINUTES,i,6e4),proposalIntervalMs:n(a.LLV_SEAT_TICK_PROPOSAL_HOURS,j,36e5),itemsPerWake:Math.floor(n(a.LLV_SEAT_TICK_ITEMS,k,1)),retryGuard:Math.floor(n(a.LLV_SEAT_TICK_RETRY_GUARD,l,1)),backlogAfterMs:n(a.LLV_SEAT_TICK_BACKLOG_DAYS,m,864e5)}}function p(a){return"terminal"!==a.state}function q(a){return"running"===a.status}function r(a){return"terminal"===a.status}function s(a){return`child:${a.conversationId}`}function t(a){return(0,d.jk)(a.type)&&!a.pipelineTerminal}function u(a){if("busy"!==a.turn)return!1;let b=a.activity;return!!b&&("waiting"===b.lifecycle?"busy"===b.turnState:"running"===b.lifecycle||"starting"===b.lifecycle)}function v(a){return"unresolvable"!==a.transcript}function w(a){let b=a.terminalAt?Date.parse(a.terminalAt):NaN;return Number.isFinite(b)?b:a.lastRecordAt?Date.parse(a.lastRecordAt):NaN}function x(a,b){let c=null===b?String(w(a)):b.slice(-32);return`${a.conversationId}@${c}`}let y=["unreadable","stale","unchanged"],z=new Set;function A(a,b){let c=0;for(let d of a.values())d===b&&(c+=1);return c}function B(a,b,c,d){let e=C(a,b);return e||(d.has(x(a,c))?"unchanged":null)}function C(a,b){let c,d;return v(a)&&Number.isFinite(w(a))?(c=w(a),d=b.designatedAt?Date.parse(b.designatedAt):NaN,Number.isFinite(c)&&Number.isFinite(d)&&(c<d-864e5||"number"==typeof a.harvestedEpoch&&a.harvestedEpoch<b.seatEpoch&&c<d))?"stale":null:"unreadable"}function D(a,b){return b?null===C(a,b):v(a)}function E(a){return a.ownLanes.filter(b=>{let c=b.updatedAt?Date.parse(b.updatedAt):NaN;return Number.isFinite(c)&&a.now-c<a.policy.backlogAfterMs})}function F(a,b,c){if(!a)return!0;let d=Date.parse(a);return!Number.isFinite(d)||b-d>=c}function G(a,b,c){return F(a,b,c)}function H(a,b,c){if(!a)return!1;let d=Date.parse(a.since);return Number.isFinite(d)&&b-d>=c}function I(a,b,c){if(!a||!H(a,b,c))return!0;let d=Date.parse(a.lastAttemptAt);return!Number.isFinite(d)||b-d>=c}function J(a,b,c){return a?{...a,gap:b,lastAttemptAt:c,attempts:a.attempts+1}:{gap:b,since:c,lastAttemptAt:c,attempts:1,reported:!1}}let K="unread";function L(a,b){if(null===a)return!0;let c=M(a),d=M(b);return c&&d?c.board!==d.board||c.pullRequests!==K&&d.pullRequests!==K&&c.pullRequests!==d.pullRequests:a!==b}function M(a){let b=a.indexOf(".");return b<=0||b===a.length-1?null:{board:a.slice(0,b),pullRequests:a.slice(b+1)}}function N(a){return a.isDefault?a.lapsed?"the recorded tick setting reached its expiry, so this project is back on the default wake interval":"this project is on the default tick settings":a.enabled?`wakes for this project are set to one every ${Math.round(a.wakeIntervalMs/6e4)} minute(s)`:"ticking is off for this project: no wake will be sent until it is turned back on"}function O(a){switch(a){case"registry-unreadable":return"the registry read failed";case"children-unindexed":return"the registry backend has no indexed lineage projection, so children cannot be paged";case"migration-pending":return"the SQLite accounting has not finished importing the legacy tick state";case"migration-blocked":return"the legacy tick state at state/seat-tick.json cannot be imported and blocks every wake until it is fixed or removed";case"discovery-incomplete":return"an owner's lineage page or the seat file's revocations could not be read to the end";case"ledger-gap":return"a child's event ledger was replaced, torn, malformed or skipped a sequence";case"ledger-pending":return"a child left its running state and its ledger has not been read yet";case"child-departed":return"a tracked child no longer projects under this seat and project";case"child-unplaced":return"a child has no conversation record or an unobserved turn with no host behind it"}}function P(a,b){let c="pull-requests"===b?a.state.pullRequestGap:a.state.childrenGap;if(!("pull-requests"===b?a.pullRequestsUnavailable:a.childrenUnavailable)||!c||c.reported||!H(c,a.now,a.settings.wakeIntervalMs))return null;let d=`${c.since.slice(0,16).replace("T"," ")} UTC (${c.gap}, ${c.attempts} attempt(s))`;return{card:{ref:(0,e.X7)(b),kind:"source-unreadable",instance:c.since,detail:"pull-requests"===b?`The open pull requests of this project's finished lanes have not been readable since ${d}`:`The seat's spawned children have not been fully accountable since ${d}: `+O(c.gap)},gap:{...c,reported:!0}}}function Q(a){let b=function(a){var b,c,d,f;let g,h,i=new Date(a.now).toISOString(),j={...a.state,lastCheckAt:i};if(!a.seat)return{verdict:{kind:"no-seat",detail:"the project has open work and no active orchestrator seat"},state:{...j,seatEpoch:null},cards:[{ref:e.Qw,kind:"no-seat",detail:"No active orchestrator seat holds this project, so the tick has nothing to wake"}]};if(u(a.seat))return{verdict:{kind:"skipped",reason:"seat-busy"},state:j,cards:[]};let k={...j,seatEpoch:a.seat.seatEpoch,eventsThrough:function(a,b){let c=b;for(let b of a){if(t(b))break;c=Math.max(c??b.seq,b.seq)}return c}(a.events,j.eventsThrough)},l=function(a){let b={now:new Date(a.now),stallAfterMs:null},c=[];for(let d of a.pipelines){if(!p(d))continue;let a=function(a,b){if("terminal"===a.state)return null;if("inert"===a.state)return`${a.kind} ${a.id} is parked`;if(null===b.stallAfterMs)return null;let c=b.stallAfterMs??1728e5,d=a.updatedAt?Date.parse(a.updatedAt):NaN;return Number.isFinite(d)&&b.now.getTime()-d>c?`${a.kind} ${a.id} is live but shows no movement past the stall threshold`:null}({kind:"pipeline",id:d.id,state:d.state,updatedAt:d.updatedAt},b);if(a){c.push({pipeline:d,reason:a});continue}let e=d.stageActivity;if(e&&("stalled"===e.lifecycle||"gone"===e.lifecycle)){let a=d.stageId?` stage ${d.stageId}`:"";c.push({pipeline:d,reason:`pipeline ${d.id}${a} runs a turn the registry reports ${e.lifecycle} (${e.reason})`})}}return c}(a),m=function(a){let b=[];for(let c of a.children){if(!q(c))continue;let a=c.activity;a&&("stalled"===a.lifecycle||"gone"===a.lifecycle)&&b.push({child:c,reason:`child ${c.conversationId} runs a turn the registry reports ${a.lifecycle} (${a.reason})`})}return b}(a),n=[...l.map(a=>a.pipeline.id),...m.map(a=>s(a.child))],o=E(a),v=new Map,w=(a,b)=>{let c=v.get(a.conversationId);(!c||y.indexOf(b)<y.indexOf(c))&&v.set(a.conversationId,b)},C=a.children.filter(r).sort((a,b)=>{let c=a=>{let b=a.terminalAt?Date.parse(a.terminalAt):NaN;return Number.isFinite(b)?b:1/0};return c(a)-c(b)||a.conversationId.localeCompare(b.conversationId)}).filter(b=>{let c=B(b,a.seat,b.outcomeId??null,z);return c&&w(b,c),null===c}),G=new Set(a.state.childrenShown??[]),H=(function(a){let b=[],c=new Map;for(let d of a){let a=c.get(d.conversationId);if(!a){b.push(d.conversationId),c.set(d.conversationId,{child:d,outcomeIds:d.outcomeId?[d.outcomeId]:[]});continue}a.child=d,d.outcomeId&&a.outcomeIds.push(d.outcomeId)}return b.map(a=>c.get(a))})(C).filter(b=>{let c=B(b.child,a.seat,b.child.outcomeId??null,G);return c&&w(b.child,c),null===c}),I=m.filter(b=>{let c=B(b.child,a.seat,null,G);return c&&w(b.child,c),null===c}),J=a.children.filter(q).filter(b=>{let c=B(b,a.seat,null,z);return c&&w(b,c),null===c});for(let a of[...H.map(a=>a.child),...I.map(a=>a.child),...J])v.delete(a.conversationId);let K={stale:A(v,"stale"),unreadable:A(v,"unreadable"),unchanged:A(v,"unchanged")},M=l.filter(b=>a.state.stalledSeen.includes(b.pipeline.id)),N=I.filter(b=>a.state.stalledSeen.includes(s(b.child))),Q=a.children.filter(a=>"unknown"===a.status).length,S=a.tasks.filter(b=>(function(a,b,c){if("assigned"!==a.status||a.owned)return!1;let d=a.updatedAt?Date.parse(a.updatedAt):NaN;return Number.isFinite(d)&&b-d<c})(b,a.now,a.policy.backlogAfterMs)),T=a.tasks.filter(a=>"assigned"===a.status&&!a.owned).length-S.length,U=a.pipelines.some(p)||a.tasks.some(a=>"inbox"===a.status||"assigned"===a.status)||a.pullRequests.length>0||E(a).length>0||a.children.some(b=>q(b)&&D(b,a.seat))||a.children.some(b=>r(b)&&D(b,a.seat)),V=(b=a.state.lastWakeAt,F(b,a.now,a.settings.wakeIntervalMs)),W={...k,stalledSeen:n};if(!a.settings.enabled)return{verdict:{kind:"quiet",detail:a.settings.reason?`ticking is off for this project: ${a.settings.reason}`:"ticking is off for this project"},state:R(W,i),cards:[]};let X=a.events.filter(t),Y=[];if(V){if(o.length>0){let a=o[0],b=o.length>1?` and ${o.length-1} more`:"";Y.push({kind:"own-lane-settled",detail:`a lane you launched is ${a.settled}${b}`})}if(X.length>0){let a=X[0],b=X.length>1?` and ${X.length-1} more`:"";Y.push({kind:"lane-event",detail:`${a.type} since the last delivered wake${b}`})}if(H.length>0){let a=H[0],b=H.length>1?` and ${H.length-1} more`:"";Y.push({kind:"child-terminal",detail:`a spawned child ${a.child.outcome??"finished"} and its outcome is unharvested${b}`})}if(a.pullRequests.length>0){let b=a.pullRequests[0],c=a.pullRequests.length>1?` and ${a.pullRequests.length-1} more`:"";Y.push({kind:"unmerged-pr",detail:`pull request #${b.number}${c} left open by a lane that finished`})}if((M.length>0||N.length>0)&&Y.push({kind:"stalled",detail:(M[0]??N[0]).reason}),S.length>0){let a=T>0?`, and ${T} older than the backlog bound the wake no longer names`:"";Y.push({kind:"unstarted-task",detail:`${S.length} assigned board task(s) nothing has started${a}`})}let b=a.pipelines.some(p)||J.length>0||a.signals.length>0;U&&b&&0===Y.length&&Y.push({kind:"interval",detail:"the wake interval elapsed while work is open"})}let Z=[],$=[],_=0;for(let b of Y){if(c=a.state,d=b.kind,f=a.changeFingerprint,(L(c.lastWakeFingerprint,f)?0:c.wakesWithoutChange[d]??0)>=a.policy.retryGuard){_+=1,Z.push({ref:(0,e.jK)(b.kind),kind:"retry-guard",detail:`Wakes for "${b.kind}" stopped producing any board or pipeline change; the tick has stopped re-sending it until state moves`});continue}$.push(b)}let aa=(g=[],(h=a.pullRequestsUnavailable)&&g.push({source:"pull-requests",gap:h,detail:`the open pull requests of this project's finished lanes could not be read (${h}), so a pull request a finished lane left unmerged cannot be named in this wake`}),a.childrenUnavailable&&g.push({source:"children",gap:a.childrenUnavailable,detail:`the seat's spawned children could not be read (${a.childrenUnavailable}): ${O(a.childrenUnavailable)}, so a running or finished worker cannot be named in this wake`}),g),ab=P(a,"pull-requests");ab&&Z.push(ab.card);let ac=P(a,"children");ac&&Z.push(ac.card);let ad=ab?.gap??null,ae=ac?.gap??null;if($.length>0){let b=function(a){let{input:b}=a,c=[];for(let a of b.pullRequests)c.push({kind:"pull-request",id:`#${a.number}`,label:`${a.title} — open pull request from ${a.pipelineTitle}, unmerged since that lane finished`});let d=new Set(b.pullRequests.map(a=>a.pipelineId));for(let b of a.ownLanes)d.has(b.id)||c.push({kind:"provisioned"===b.settled?"provisioning":"pipeline",id:b.id,label:function(a){if("provisioned"===a.settled)return`${a.title} — lane you launched: provisioned, first stage running`;if("provisioning-failed"===a.settled)return`${a.title} — lane you launched: provisioning failed, it never ran a stage: ${a.detail||"no reason recorded"}`;let b="completed"===a.settled?"completed, and nobody has closed it out":"failed"===a.settled?"a stage failed":"parked on a decision";return`${a.title} — lane you launched: ${b}`}(b)});for(let b of a.laneEvents)c.push({kind:"event",id:b.pipelineId??b.type,label:`${b.type}: ${b.summary}`});for(let b of a.harvest)c.push({kind:"child",id:b.child.conversationId,outcomeId:b.child.outcomeId,outcomeIds:b.outcomeIds,stateTokens:[x(b.child,b.child.outcomeId??null),x(b.child,null)],label:`${b.child.title} — spawned child ${b.child.outcome??"finished"}, outcome unharvested`});let e=new Set(a.ownLanes.map(a=>a.id));for(let b of a.stalled)e.has(b.pipeline.id)||c.push({kind:"pipeline",id:b.pipeline.id,label:`${b.pipeline.title} — ${b.reason}`});for(let b of a.stalledChildren)c.some(a=>"child"===a.kind&&a.id===b.child.conversationId)||c.push({kind:"child",id:b.child.conversationId,stateTokens:[x(b.child,null)],label:`${b.child.title} — ${b.reason}`});for(let b of a.unstarted)c.push({kind:"task",id:b.id,label:`${b.title} — assigned, nothing started it`});for(let a of b.pipelines)p(a)&&(c.some(b=>b.id===a.id)||c.push({kind:"pipeline",id:a.id,label:`${a.title} — open`}));for(let b of a.runningChildren)c.some(a=>a.id===b.conversationId)||c.push({kind:"child",id:b.outcomeId??b.conversationId,label:`${b.title} — spawned child running`});for(let a of b.signals)c.push({kind:"signal",id:a.id,label:a.label});return c}({input:a,ownLanes:o,stalled:M,stalledChildren:N,harvest:H,runningChildren:J,laneEvents:X,unstarted:S});return{verdict:{kind:"wake",reasons:$,items:b.slice(0,a.policy.itemsPerWake),deferred:Math.max(0,b.length-a.policy.itemsPerWake),skippedChildren:K,gaps:aa},state:W,cards:Z,reportedSourceGap:ad,reportedChildrenGap:ae}}if(aa.length>0){let a=aa[0],b="children"===a.source?"the seat's spawned children":"the open pull requests of this project's finished lanes",c="children"===a.source?`: ${O(a.gap)}`:"";return{verdict:{kind:"error",detail:`${b} could not be read (${a.gap})${c}, so nothing owed is not established`},state:W,cards:Z,reportedSourceGap:ad,reportedChildrenGap:ae}}if(_>0)return{verdict:{kind:"quiet",detail:"every wake reason is held by the retry guard"},state:R(W,i),cards:Z};let af=Q>0?`; ${Q} spawned child(ren) in an unknown state`:"";if(!U){let b={...R(W,i),idleSince:a.state.idleSince??i};return V&&F(a.state.lastProposalAt,a.now,a.policy.proposalIntervalMs)?{verdict:{kind:"proactive",detail:`no open lane, no unblocked task, and the proposal slot is due${af}`},state:b,cards:[]}:{verdict:{kind:"quiet",detail:`the board is done and the proposal slot is not due${af}`},state:b,cards:[]}}return{verdict:{kind:"quiet",detail:`nothing owed${af}`},state:{...R(W,i),idleSince:null},cards:[]}}(a);return{...b,cards:[...b.cards,...function(a){let b=a.settings;if(!b.configured)return[];let c={reason:b.reason,until:b.until,setBy:b.setBy,updatedAt:b.updatedAt};return[{ref:e.Gx,kind:"tick-settings",state:b.isDefault?"resolved":"open",settings:c,detail:N(b)}]}(a)]}}function R(a,b){return{...a,quietSince:a.quietSince??b}}function S(a,b){let{fingerprint:c,eventsThrough:d}=b;if("proactive"===a.kind)return{proposal:!0,reasons:[],fingerprint:c,eventsThrough:d,children:[],announcedLanes:[],shownChildren:[]};if("wake"!==a.kind)return null;let e=new Set(b.terminalChildren??[]),f=[...new Set(a.items.flatMap(a=>a.stateTokens??[]))],g=a.items.filter(a=>"child"===a.kind).flatMap(a=>a.outcomeIds?.length?a.outcomeIds:[a.outcomeId??a.id]).filter(a=>e.has(a)),h=a.items.filter(a=>"provisioning"===a.kind).map(a=>a.id);return{proposal:!1,reasons:a.reasons.map(a=>a.kind),fingerprint:c,eventsThrough:d,children:g,announcedLanes:h,shownChildren:f}}function T(a,b,c){var d,e,g,h,i,j;let k,l,m=new Date(c).toISOString(),n=Math.max(a.eventsThrough??0,b.eventsThrough);if(b.proposal)return{...a,lastWakeAt:m,lastProposalAt:m,lastWakeReasons:[],lastWakeFingerprint:b.fingerprint,quietSince:null,eventsThrough:n,outstandingWake:null,releasedWake:null};let o=b.reasons,p=!L(a.lastWakeFingerprint,b.fingerprint),q={};for(let b of f.MQ)o.includes(b)&&(q[b]=p?(a.wakesWithoutChange[b]??0)+1:0);return{...a,lastWakeAt:m,lastWakeReasons:o,lastWakeFingerprint:b.fingerprint,wakesWithoutChange:q,quietSince:null,idleSince:null,eventsThrough:n,outstandingWake:null,releasedWake:null,harvestedChildren:(d=a.harvestedChildren,e=b.children,[...new Set([...d.filter(a=>!e.includes(a)),...e])]),childrenShown:(g=a.childrenShown??[],h=b.shownChildren??[],k=a=>a.slice(0,a.lastIndexOf("@")),l=new Set(h.map(k)),[...g.filter(a=>!l.has(k(a))),...h].slice(-f.kZ)),announcedLanes:(i=a.announcedLanes??[],j=b.announcedLanes??[],[...new Set([...i.filter(a=>!j.includes(a)),...j])].slice(-f.GN))}}},18398:(a,b,c)=>{c.d(b,{Ch:()=>s,Fm:()=>x,Hy:()=>v,Y$:()=>w,to:()=>C,yO:()=>B});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(2033),l=c(85745);function m(){return process.env.LLV_MONITOR_AUDIT_FILE?.trim()||(0,j.BQ)(i().join("conversation-monitor","runs.ndjson"))}let n=["completed","in-flight","stalled","untracked","awaiting-confirmation"],o=["clean","failed","skipped"],p=["already-tracked","card-budget","dry-run"];function q(a,b){return"string"==typeof a?a.slice(0,b):null}function r(a){return"number"==typeof a&&Number.isFinite(a)&&a>=0?Math.floor(a):0}function s(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=q(a.runId,100),c=o.find(b=>b===a.outcome);if(1!==a.schemaVersion||!b||!c)return null;let d=a.window??{},e=a.scope??{},f=a.orchestrator??{},g=a.scanned??{},h=a.found??{},i=h.byState??{},j=Object.fromEntries(n.map(a=>[a,r(i[a])])),k=Array.isArray(a.created)?a.created:[],l=Array.isArray(a.skipped)?a.skipped:[];return{schemaVersion:1,runId:b,startedAt:q(a.startedAt,40)??"",finishedAt:q(a.finishedAt,40)??"",outcome:c,detail:q(a.detail,800),window:{from:q(d.from,40)??"",to:q(d.to,40)??"",hours:r(d.hours)},scope:{project:q(e.project,200)},orchestrator:{resolution:q(f.resolution,40)??"unavailable",conversationId:q(f.conversationId,100),delivered:!0===f.delivered},scanned:{conversations:r(g.conversations),operatorMessages:r(g.operatorMessages)},found:{total:r(h.total),byState:j,fingerprints:(Array.isArray(h.fingerprints)?h.fingerprints:[]).filter(a=>"string"==typeof a&&/^[A-Za-z0-9_-]{4,64}$/.test(a)).slice(0,500)},created:k.flatMap(a=>{let b=a??{},c=q(b.fingerprint,64),d=q(b.taskId,100);return c&&d?[{fingerprint:c,taskId:d,state:q(b.state,40)??"untracked"}]:[]}).slice(0,500),skipped:l.flatMap(a=>{let b=a??{},c=q(b.fingerprint,64),d=p.find(a=>a===b.reason);return c&&d?[{fingerprint:c,reason:d}]:[]}).slice(0,500)}}function t(a,b){g().mkdirSync(i().dirname(b.filePath),{recursive:!0,mode:448}),(0,k.Ol)(b.filePath,b.busyMessage,()=>{g().appendFileSync(b.filePath,`${JSON.stringify(a)}
|
|
2
|
+
`,{encoding:"utf8",mode:384}),function(a,b){let c;try{c=g().readFileSync(a,"utf8").split("\n").filter(a=>a.trim())}catch{return}if(c.length<=b)return;let d=`${a}.${process.pid}.${e().randomUUID()}.tmp`;g().writeFileSync(d,`${c.slice(-b).join("\n")}
|
|
3
|
+
`,{encoding:"utf8",mode:384}),g().renameSync(d,a)}(b.filePath,b.retention)})}function u(a,b){let c;try{c=g().readFileSync(b.filePath,"utf8")}catch{return[]}let d=[];for(let a of c.split("\n"))if(a.trim())try{let c=b.sanitize(JSON.parse(a));c&&d.push(c)}catch{continue}return d.slice(-Math.max(0,a))}function v(a,b=m()){t(a,{filePath:b,retention:200,busyMessage:"the monitor journal is busy"})}function w(a,b=m()){return u(a,{filePath:b,sanitize:s})}let x=500,y=["quiet","wake","proactive","no-seat","skipped","error","refused","revoked","landed","dropped","uncertain","retired"];function z(){return process.env.LLV_SEAT_TICK_AUDIT_FILE?.trim()||(0,j.BQ)(i().join("seat-tick","runs.ndjson"))}function A(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=q(a.project,200)??"",c=y.find(b=>b===a.verdict);if(1!==a.schemaVersion||!c||!b&&"refused"!==c)return null;let d=a.delivery??null,e=d?q(d.clientMessageId,200):null,f=d?q(d.outcome,60):null;return{schemaVersion:1,at:q(a.at,40)??"",project:b,seatEpoch:"number"==typeof a.seatEpoch&&Number.isSafeInteger(a.seatEpoch)?a.seatEpoch:null,verdict:c,reasons:(Array.isArray(a.reasons)?a.reasons:[]).filter(a=>l.MQ.includes(a)),items:r(a.items),deferred:r(a.deferred),eventsThrough:r(a.eventsThrough),delivery:e&&f?{clientMessageId:e,outcome:f}:null,detail:q(a.detail,800)}}function B(a,b=z()){t(a,{filePath:b,retention:x,busyMessage:"the seat tick journal is busy"})}function C(a,b=z()){return u(a,{filePath:b,sanitize:A})}},45811:(a,b,c)=>{c.d(b,{Qw:()=>q,g2:()=>r,yY:()=>u});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(13117),i=c(5343),j=c(85745),k=c(71715);let l="seat-tick-v3",m=new Map,n=a=>{let b=g().statSync(a);return`${b.dev}:${b.ino}`},o=a=>e().createHash("sha256").update(JSON.stringify(a)).digest("hex"),p=(a,b,c="")=>`${a}/${encodeURIComponent(b)}/${encodeURIComponent(c)}`,q=8,r=4;function s(a){if(!a||"object"!=typeof a)return null;let b=a=>"string"==typeof a&&a.length>0,c=a=>Number.isSafeInteger(a)&&Number(a)>=0,d=a=>null===a||"string"==typeof a,e=a=>a&&b(a.conversationId)&&"string"==typeof a.title&&["running","terminal","unknown"].includes(a.status)&&(null===a.outcome||["finished","failed"].includes(a.outcome));if(1!==a.schemaVersion||!b(a.key)||"string"!=typeof a.project||"string"!=typeof a.kind||!a.key.startsWith(p(a.kind,a.project)))return null;switch(a.kind){case"project":{let e=a.state;if(!c(a.revision)||!c(a.sequence)||!["ready","pending","unknown"].includes(a.migration)||!e||"object"!=typeof e||!d(a.gap)||null!==e.seatEpoch&&!c(e.seatEpoch))return null;for(let a of["lastCheckAt","lastWakeAt","quietSince","idleSince","lastProposalAt"]){let b=e[a];if(null!==b&&("string"!=typeof b||!Number.isFinite(Date.parse(b))))return null}if(null!==e.eventsThrough&&!c(e.eventsThrough)||!Array.isArray(e.harvestedChildren)||0!==e.harvestedChildren.length||!Array.isArray(e.lastWakeReasons)||!Array.isArray(e.stalledSeen)||!e.wakesWithoutChange||"object"!=typeof e.wakesWithoutChange||void 0!==e.childrenShown&&(!Array.isArray(e.childrenShown)||!e.childrenShown.every(b))||void 0!==e.announcedLanes&&(!Array.isArray(e.announcedLanes)||!e.announcedLanes.every(b)))return null;let f=a=>!!a&&!!b(a.clientMessageId)&&!!b(a.conversationId)&&!!c(a.seatEpoch)&&!!d(a.operationId)&&!!a.commit&&"boolean"==typeof a.commit.proposal&&!!b(a.commit.fingerprint)&&!!c(a.commit.eventsThrough)&&!!Array.isArray(a.commit.reasons)&&!!Array.isArray(a.commit.children)&&!!a.commit.children.every(b)&&(void 0===a.commit.shownChildren||!!Array.isArray(a.commit.shownChildren)&&!!a.commit.shownChildren.every(b))&&(void 0===a.commit.announcedLanes||!!Array.isArray(a.commit.announcedLanes)&&!!a.commit.announcedLanes.every(b))&&(void 0===a.preparedAt||!!b(a.preparedAt))&&(void 0===a.dispatch||!!a.dispatch&&b(a.dispatch.token)&&["active","refused","returned"].includes(a.dispatch.state)),g=e.outstandingWake;if(null!==g&&!f(g)||void 0!==a.ownerScan&&(!a.ownerScan||!b(a.ownerScan.identity)||"boolean"!=typeof a.ownerScan.gap))return null;let h=e.retiredWakes;if(void 0===h)return{...a,state:{...e,retiredWakes:[]}};if(!Array.isArray(h))return null;let i=[];for(let a of h){if(!a||"object"!=typeof a||!f(a.wake)||!b(a.retiredAt))return null;let d=a.reason??"seat-superseded";if("seat-superseded"!==d&&"unresolved-age"!==d)return null;let e=a.supersededBy??null;if("seat-superseded"===d&&(!e||!b(e.conversationId)||!c(e.seatEpoch))||"unresolved-age"===d&&null!==e)return null;i.push({...a,supersededBy:e,reason:d})}return{...a,state:{...e,retiredWakes:i}}}case"owner":{if(!b(a.conversationId)||!c(a.epoch))return null;if("string"==typeof a.after&&void 0===a.pollKey)return{...a,after:null,pollKey:""};let d=a=>null===a||!!a&&"object"==typeof a&&Number.isSafeInteger(a.order)&&b(a.key);return"string"==typeof a.pollKey&&d(a.after)&&(void 0===a.bootstrap||a.bootstrap&&d(a.bootstrap.after))?a:null}case"child":return b(a.identity)&&b(a.rowKey)&&b(a.owner)&&b(a.launchId)&&e(a.input)&&c(a.generationIndex)&&d(a.runningKey)&&(void 0===a.pollKey||d(a.pollKey))&&(void 0===a.harvestedEpoch||c(a.harvestedEpoch))?{...a,pollKey:a.pollKey??null}:null;case"source":return b(a.identity)&&b(a.child)&&b(a.engine)&&b(a.generation)&&a.cursor&&c(a.cursor.offset)&&c(a.cursor.seq)&&c(a.cursor.settledThrough)&&c(a.cursor.initialSize)&&d(a.cursor.identity)&&d(a.cursor.activeTurn)&&d(a.cursor.gap)&&"boolean"==typeof a.cursor.atEnd?a:null;case"outcome":return Array.isArray(a.tuple)&&[2,3].includes(a.tuple.length)&&a.tuple.every(b)&&a.identity===o(a.tuple)&&a.key===p("outcome",a.project,a.identity)&&e(a.input)&&a.input.outcomeId===a.identity&&"terminal"===a.input.status&&["owed","acknowledged"].includes(a.status)&&b(a.child)&&b(a.readyKey)?a:null;case"poll":case"ready":case"owner-poll":case"running":return b(a.target)?a:null;case"legacy":return b(a.conversationId)&&"boolean"==typeof a.reconciled?a:null;default:return null}}function t(a,b){let c;try{c=g().openSync(a,g().constants.O_RDONLY|g().constants.O_NOFOLLOW);let d=g().fstatSync(c);if(!d.isFile())return{kind:"gap",gap:"not-a-file"};if(d.size>b)return{kind:"gap",gap:"oversized"};let e=Buffer.allocUnsafe(d.size),f=0;for(;f<d.size;){let a=g().readSync(c,e,f,d.size-f,f);if(!a)break;f+=a}try{return{kind:"parsed",value:JSON.parse(e.subarray(0,f).toString("utf8"))}}catch{return{kind:"gap",gap:"malformed"}}}catch(a){return"ENOENT"===a.code?{kind:"absent"}:{kind:"gap",gap:"unreadable"}}finally{void 0!==c&&g().closeSync(c)}}class u{constructor(a,b){this.filename=a,this.project=b;const c=m.get(a);if(c){if(n(a)!==c.identity)throw Error("seat accounting database was replaced");this.collection=c.collection;return}(0,h.t0)(a,[{collection:l,schemaVersion:1,migrationId:"monitor-v3",key:a=>a.key,loadRecords:()=>[]}]),this.collection=new h.UY(a,{collection:l,schemaVersion:1,busyMessage:"seat outcome accounting is busy",key:a=>a.key,decode:s,clone:structuredClone,strictDecode:!0}),m.set(a,{identity:n(a),collection:this.collection})}base(a,b=""){return{key:p(a,this.project,b),project:this.project,schemaVersion:1}}get(a){return this.collection.get(a)}row(){let a=this.get(p("project",this.project));if(a&&"project"!==a.kind)throw Error("invalid project accounting row");return a}page(a,b){let c=p(a,this.project);return this.collection.keyRange(c,`${c}~`,b)}pollPage(a){let b=this.collection.keyRange(`${p("poll",this.project)}0`,`${p("poll",this.project)}~`,8),c=this.page("poll",a),d=new Set(b.map(a=>a.key));return[...b,...c.filter(a=>!d.has(a.key))].slice(0,a)}ticket(a,b,c,d,e="tail"){if(!Number.isSafeInteger(++b.sequence))throw Error("accounting sequence exhausted");let f={...this.base(c,`${"head"===e?"!":""}${String(b.sequence).padStart(16,"0")}`),kind:c,target:d};return a.put(f),f.key}atHead(a,b){return a.startsWith(p(b,this.project,"!"))}trackRunning(a,b,c){"running"===c.input.status?c.runningKey||(c.runningKey=this.ticket(a,b,"running",c.key)):c.runningKey&&(a.delete(c.runningKey),c.runningKey=null)}mutate(a){return this.collection.boundedPatch(4096,b=>{let c=b.get(p("project",this.project));if(!c||"project"!==c.kind)throw Error("accounting migration has not completed");let d=a(b,c);return c.revision++,b.put(c),d})}initialize(a,b){this.collection.boundedPatch(4096,c=>{if(!c.get(p("project",this.project))){for(let b of a.harvestedChildren)c.put({...this.base("legacy",b),kind:"legacy",conversationId:b,reconciled:!1});c.put({...this.base("project"),kind:"project",revision:0,sequence:0,state:{...a,harvestedChildren:[]},migration:b?"unknown":"ready",gap:b})}})}migrateLegacy(a,b){if(this.row()?.migration==="ready")return;this.row()||this.collection.boundedPatch(2,a=>{a.get(p("project",this.project))||a.put({...this.base("project"),kind:"project",revision:0,sequence:0,state:(0,j.v0)(),migration:"pending",gap:null})});let c=this.row(),d=t(a,4194304),e=null,f=(0,j.v0)(),g=[];if("gap"===d.kind)e="malformed"===d.gap?"legacy-json-malformed":"oversized"===d.gap?"legacy-state-oversized":"legacy-state-unreadable";else if("parsed"===d.kind){let a=d.value,c=a&&"object"==typeof a&&!Array.isArray(a)?a.projects:void 0;if(!c||"object"!=typeof c||Array.isArray(c))e="legacy-projects-unreadable";else{let d="number"==typeof a.version?a.version:null,h=c[this.project];if(void 0!==h){let a=h&&"object"==typeof h&&!Array.isArray(h)?h:{};f=b(a,d);let c=a.harvestedChildren;if(void 0!==c)if(Array.isArray(c))for(let a of c){if("string"!=typeof a||!a||a.length>200){e="legacy-acknowledgments-unreadable";break}g.push(a)}else e="legacy-acknowledgments-unreadable";Object.hasOwn(a,"outstandingWake")&&null!==a.outstandingWake&&!f.outstandingWake&&(e="legacy-outstanding-unreadable")}}}let h=e?[]:[...new Set(g)];for(let a=0;a<h.length;a+=1e3){let b=h.slice(a,a+1e3);this.collection.boundedPatch(1002,a=>{let d=a.get(c.key);if(d&&"project"===d.kind&&d.revision===c.revision)for(let c of b)a.put({...this.base("legacy",c),kind:"legacy",conversationId:c,reconciled:!1})})}this.collection.boundedPatch(2,a=>{let b=a.get(c.key);if(!b||"project"!==b.kind||b.revision!==c.revision)return;let d=e?"unknown":"ready";b.migration===d&&b.gap===e&&e||a.put({...b,revision:b.revision+1,state:e?b.state:{...f,harvestedChildren:[]},migration:d,gap:e})})}readState(){let a=this.row();if(!a)throw Error("missing project accounting");return{...a.state,accounting:{filename:this.filename,revision:a.revision,gap:"ready"===a.migration?a.gap:a.gap??"legacy-migration-pending"}}}writeState(a){this.mutate((b,c)=>{if(a.accounting?.revision!==c.revision)throw Error("stale seat tick state");c.state={...a,accounting:void 0,harvestedChildren:[]}})}owner(a,b){let c=p("owner",this.project,String(b)),d=this.get(c);if(d?.kind==="owner"&&d.conversationId===a&&d.pollKey)return d;this.mutate((d,e)=>{let f=d.get(c);if(f){if("owner"!==f.kind||f.conversationId!==a)throw Error("contradictory seat ownership");f.pollKey||d.put({...f,pollKey:this.ticket(d,e,"owner-poll",c)});return}let g={...this.base("owner",String(b)),kind:"owner",conversationId:a,epoch:b,after:null,pollKey:""};g.pollKey=this.ticket(d,e,"owner-poll",c),d.put(g)});let e=this.get(c);if(!e||"owner"!==e.kind)throw Error("missing owner provenance");return e}discoverRevokedOwners(a,b){let c,d=this.row();try{let b=g().statSync(a);c=`${b.dev}:${b.ino}:${b.size}:${b.mtimeMs}`}catch(a){return"ENOENT"!==a.code}if(d.ownerScan?.identity===c)return d.ownerScan.gap;let e=t(a,0x1000000);if("absent"===e.kind)return!1;let f="gap"===e.kind,h=[];if("parsed"===e.kind){let a=e.value,c=a&&"object"==typeof a&&!Array.isArray(a)&&1===a.schemaVersion&&Array.isArray(a.revocations)?a.revocations:null;if(c)for(let a of c){let c=a??{};"string"==typeof c.project&&b(c.project)&&"string"==typeof c.conversationId&&c.conversationId.startsWith("conversation_")&&Number.isSafeInteger(c.seatEpoch)&&Number(c.seatEpoch)>=1&&"string"==typeof c.revokedAt&&Number.isFinite(Date.parse(c.revokedAt))&&h.push({conversationId:c.conversationId,epoch:Number(c.seatEpoch)})}else f=!0}let i=h.slice(0,200),j=h.length>i.length,k=!1;return this.mutate((a,b)=>{if(b.revision!==d.revision){k=!0;return}for(let c of i){let d=p("owner",this.project,String(c.epoch)),e=a.get(d);if(e){if("owner"!==e.kind||e.conversationId!==c.conversationId)throw Error("contradictory predecessor ownership");continue}let f={...this.base("owner",String(c.epoch)),kind:"owner",conversationId:c.conversationId,epoch:c.epoch,after:null,pollKey:""};f.pollKey=this.ticket(a,b,"owner-poll",d),a.put(f)}j||(b.ownerScan={identity:c,gap:f})}),f||j||k}discovery(a,b){this.mutate((c,d)=>{if(c.get(a.pollKey)){for(let{child:a,position:e}of b){let b=c.get(a.key);if(b){if("child"!==b.kind)throw Error("invalid child provenance");b.pollKey||c.put({...b,pollKey:this.ticket(c,d,"poll",a.key,e)});continue}a.pollKey=this.ticket(c,d,"poll",a.key,e),this.trackRunning(c,d,a),c.put(a)}c.delete(a.pollKey),c.put({...a,pollKey:this.ticket(c,d,"owner-poll",a.key)})}})}adoptPoll(a,b){return a.pollKey?a:(this.mutate(c=>{let d=c.get(a.key),e=c.get(b);d?.kind!=="child"||d.pollKey||e?.kind!=="poll"||e.target!==a.key||c.put({...d,pollKey:b})}),this.get(a.key))}child(a,b,c,d){let e=o([b,a,c]);return{...this.base("child",e),kind:"child",identity:e,rowKey:a,owner:b,launchId:c,input:d,generationIndex:0,runningKey:null,pollKey:null}}source(a,b,c){let d=o([b,c]),e=this.get(p("source",this.project,d));if(e){if("source"!==e.kind||e.child!==a.key||e.engine!==b||e.generation!==c)throw Error("source identity collision");return e}return{...this.base("source",d),kind:"source",identity:d,child:a.key,engine:b,generation:c,cursor:(0,k.rD)()}}ingest(a,b,c,d=!1,e="tail"){this.mutate((f,g)=>{a.pollKey&&f.get(a.pollKey)&&(b?.cursor.identity&&b.legacyBoundary?.identity!==b.cursor.identity&&(b.legacyBoundary={identity:b.cursor.identity,bytes:b.cursor.initialSize}),(d?[[a.launchId,"pre-execution-failure"]]:c.map(a=>[b.engine,b.generation,a.turnId])).forEach((e,h)=>{let i=o(e),j=p("outcome",this.project,i),k=d||"completed"!==c[h].status?"failed":"finished",l=f.get(j);if(l){if("outcome"!==l.kind||JSON.stringify(l.tuple)!==JSON.stringify(e))throw Error("outcome identity collision");l.input.outcome!==k&&f.put({...l,gap:"conflicting-terminal"});return}let m=f.get(p("legacy",this.project,a.input.conversationId)),n={...a.input,status:"terminal",outcome:k,outcomeId:i},q=p("ready",this.project,String(g.sequence+1).padStart(16,"0"));this.ticket(f,g,"ready",j),f.put({...this.base("outcome",i),kind:"outcome",identity:i,child:a.key,tuple:e,input:n,status:"owed",landingKey:null,readyKey:q,gap:m&&(d||!b?.legacyBoundary||c[h].endOffset<=b.legacyBoundary.bytes)?"legacy-delivery-ambiguous":null})}),b&&f.put(b),this.trackRunning(f,g,a),f.delete(a.pollKey),a.pollKey=this.ticket(f,g,"poll",a.key,e),f.put(a))})}promote(a){!a.pollKey||this.atHead(a.pollKey,"poll")||this.mutate((b,c)=>{b.get(a.pollKey)&&(b.delete(a.pollKey),a.pollKey=this.ticket(b,c,"poll",a.key,"head"),b.put(a))})}rotateCold(a){a.length&&this.mutate((b,c)=>{for(let d of a){let a=b.get(d.key);a?.kind==="child"&&d.pollKey&&a.pollKey===d.pollKey&&b.get(d.pollKey)&&(b.delete(d.pollKey),b.put({...a,pollKey:this.ticket(b,c,"poll",d.key)}))}})}drop(a){this.mutate(b=>{b.get(a.key)&&b.delete(a.key)})}rotateRunning(a){0!==a.length&&this.mutate((b,c)=>{for(let d of a){if("running"!==d.kind||!b.get(d.key))continue;b.delete(d.key);let a=b.get(d.target);a&&"child"===a.kind&&a.runningKey===d.key&&(a.runningKey="running"===a.input.status?this.ticket(b,c,"running",a.key):null,b.put(a))}})}ready(a){return this.page("ready",a).flatMap(a=>{if("ready"!==a.kind)throw Error("invalid ready ticket");let b=this.get(a.target);if(!b||"outcome"!==b.kind)throw Error("missing outcome");return"owed"===b.status&&b.gap&&this.defer(b),"owed"!==b.status||b.gap?[]:[b]})}defer(a){this.mutate((b,c)=>{let d=b.get(a.key);d&&"outcome"===d.kind&&"owed"===d.status&&d.readyKey===a.readyKey&&(b.delete(d.readyKey),d.readyKey=p("ready",this.project,String(c.sequence+1).padStart(16,"0")),this.ticket(b,c,"ready",d.key),b.put(d))})}prepare(a,b){return this.collection.boundedPatch(4096,c=>{let d=c.get(p("project",this.project));if(!d||"project"!==d.kind)throw Error("accounting migration has not completed");if(d.revision!==a.accounting?.revision||d.state.outstandingWake||"ready"!==d.migration)return!1;for(let a of b.commit.children){let b=c.get(p("outcome",this.project,a));if(!b||"outcome"!==b.kind||"owed"!==b.status||b.gap)return!1}return d.state={...a,accounting:void 0,harvestedChildren:[],outstandingWake:b},d.revision++,c.put(d),!0})}beginDispatch(a){return this.mutate((b,c)=>{let d=c.state.outstandingWake;if(!d||d.clientMessageId!==a.clientMessageId||d.dispatch&&"refused"!==d.dispatch.state||d.dispatch?.token!==a.dispatch?.token)return null;let f=e().randomUUID();return c.state.outstandingWake={...d,dispatch:{token:f,state:"active"}},f})}returnedDispatch(a,b,c){this.mutate((d,e)=>{let f=e.state.outstandingWake;if(f?.clientMessageId===a&&f.dispatch?.token===b&&"active"===f.dispatch.state){e.state.outstandingWake={...f,dispatch:{token:b,state:c?"refused":"returned"}};return}let g=e.state.retiredWakes??[],h=g.findIndex(c=>c.wake.clientMessageId===a&&c.wake.dispatch?.token===b&&"active"===c.wake.dispatch.state);if(h<0)return;let i=[...g];i[h]={...i[h],wake:{...i[h].wake,dispatch:{token:b,state:c?"refused":"returned"}}},e.state={...e.state,retiredWakes:i}})}cancelUndispatched(a){return this.mutate((b,c)=>{let d=c.state.outstandingWake;return!!d&&d.clientMessageId===a.clientMessageId&&!d.dispatch&&(c.state.outstandingWake=null,!0)})}settleAbsent(a){return this.mutate((b,c)=>{let d=c.state.outstandingWake;return!!d&&d.clientMessageId===a.clientMessageId&&!d.operationId&&!!d.text&&d.dispatch?.state==="refused"&&d.dispatch.token===a.dispatch?.token&&(c.state.outstandingWake=null,!0)})}retire(a,b,c,d){return this.mutate((e,f)=>{let g=f.state.outstandingWake;if(!g||g.clientMessageId!==a.clientMessageId)return{retired:!1,evicted:null};let h=f.state.retiredWakes??[],i=null;if(h.length>=j.r8){let a=h.findIndex(a=>{if(a.wake.dispatch?.state==="active")return!1;let b=Date.parse(a.wake.preparedAt??a.retiredAt);return Number.isFinite(b)&&void 0!==d&&b<=d});if(a<0)return{retired:!1,evicted:null};i=h[a].wake.clientMessageId,h=[...h.slice(0,a),...h.slice(a+1)]}return f.state={...f.state,outstandingWake:null,retiredWakes:[...h,{wake:g,retiredAt:b,supersededBy:c.supersededBy,reason:c.reason}],releasedWake:{clientMessageId:g.clientMessageId,releasedAt:b}},{retired:!0,evicted:i}})}settleRetired(a){return this.mutate((b,c)=>{let d=c.state.retiredWakes??[],e=d.filter(b=>b.wake.clientMessageId!==a);return e.length!==d.length&&(c.state={...c.state,retiredWakes:e},!0)})}settle(a,b,c){return this.mutate((d,e)=>{let f=e.state.outstandingWake;if(!f||f.clientMessageId!==a||"unsent"===c&&f.dispatch?.state==="active")return!1;if("landed"===c)for(let b of f.commit.children){let c=d.get(p("outcome",this.project,b));if(!c){if(!b.startsWith("conversation_"))throw Error("missing frozen outcome");d.put({...this.base("legacy",b),kind:"legacy",conversationId:b,reconciled:!0});continue}if("outcome"!==c.kind)throw Error("invalid frozen outcome");d.put({...c,status:"acknowledged",landingKey:a}),d.delete(c.readyKey);let e=d.get(c.child);e?.kind==="child"&&(e.harvestedEpoch??-1)<f.seatEpoch&&d.put({...e,harvestedEpoch:f.seatEpoch})}let g="landed"===c?(0,i.WI)(e.state,f.commit,Date.parse(b.lastWakeAt)):e.state;return e.state={...g,accounting:void 0,harvestedChildren:[],outstandingWake:null,releasedWake:"landed"===c?null:b.releasedWake??null},!0})}}},51529:(a,b,c)=>{c.d(b,{L0:()=>v,S9:()=>r,U2:()=>u,Vw:()=>x,w$:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(45811),i=c(91724),j=c(85745);function k(){return process.env.LLV_SEAT_TICK_STATE_FILE?.trim()||(0,i.BQ)("seat-tick.json")}function l(a){return"string"==typeof a&&Number.isFinite(Date.parse(a))?a:null}function m(a){return(Array.isArray(a)?a:[]).filter(a=>"string"==typeof a&&a.length>0&&a.length<=200)}function n(a){var b;if(!a||"object"!=typeof a||Array.isArray(a))return null;let c="string"==typeof a.clientMessageId?a.clientMessageId:"",d="string"==typeof a.conversationId?a.conversationId:"",e=a.seatEpoch,f=!(b=a.commit)||"object"!=typeof b||Array.isArray(b)?null:"string"==typeof b.fingerprint&&b.fingerprint&&"number"==typeof b.eventsThrough&&Number.isInteger(b.eventsThrough)&&!(b.eventsThrough<0)?{proposal:!0===b.proposal,reasons:(Array.isArray(b.reasons)?b.reasons:[]).filter(a=>j.MQ.includes(a)),fingerprint:b.fingerprint.slice(0,200),eventsThrough:b.eventsThrough,children:m(b.children),shownChildren:m(b.shownChildren),announcedLanes:m(b.announcedLanes)}:null;return c&&d&&f&&"number"==typeof e&&Number.isSafeInteger(e)?{clientMessageId:c,conversationId:d,seatEpoch:e,operationId:"string"==typeof a.operationId&&a.operationId?a.operationId:null,commit:f,..."string"==typeof a.text?{text:a.text}:{},...l(a.preparedAt)?{preparedAt:a.preparedAt}:{}}:null}let o=["timed-out","command-failed","malformed-output","lanes-unreadable"];function p(a,b){var c;let d,e=(0,j.v0)();if(!a||"object"!=typeof a||Array.isArray(a))return e;let f={},g=a.wakesWithoutChange??{};for(let a of j.MQ){let b=g[a];"number"==typeof b&&Number.isInteger(b)&&b>=0&&(f[a]=b)}return{seatEpoch:"number"==typeof a.seatEpoch&&Number.isSafeInteger(a.seatEpoch)?a.seatEpoch:null,lastCheckAt:l(a.lastCheckAt),lastWakeAt:l(a.lastWakeAt),lastWakeReasons:(Array.isArray(a.lastWakeReasons)?a.lastWakeReasons:[]).filter(a=>j.MQ.includes(a)),wakesWithoutChange:f,quietSince:l(a.quietSince),idleSince:l(a.idleSince),lastProposalAt:l(a.lastProposalAt),stalledSeen:(Array.isArray(a.stalledSeen)?a.stalledSeen:[]).filter(a=>"string"==typeof a&&a.length>0&&a.length<=100).slice(0,200),lastWakeFingerprint:"string"==typeof a.lastWakeFingerprint?a.lastWakeFingerprint.slice(0,200):null,eventsThrough:"number"!=typeof(d=a.eventsThrough)||!Number.isInteger(d)||d<0||b&&0===d&&!l(a.lastWakeAt)?null:d,outstandingWake:n(a.outstandingWake),retiredWakes:(Array.isArray(c=a.retiredWakes)?c:[]).flatMap(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return[];let b=n(a.wake),c=l(a.retiredAt);if(!b||!c)return[];let d=void 0===a.reason?"seat-superseded":a.reason;if("seat-superseded"!==d&&"unresolved-age"!==d)return[];if("unresolved-age"===d)return a.supersededBy?[]:[{wake:b,retiredAt:c,supersededBy:null,reason:d}];let e=a.supersededBy;if(!e||"object"!=typeof e)return[];let f="string"==typeof e.conversationId?e.conversationId:"",g=e.seatEpoch;return f&&"number"==typeof g&&Number.isSafeInteger(g)?[{wake:b,retiredAt:c,supersededBy:{conversationId:f,seatEpoch:g},reason:d}]:[]}).slice(0,j.r8),releasedWake:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b="string"==typeof a.clientMessageId&&a.clientMessageId.length>0&&a.clientMessageId.length<=1e3?a.clientMessageId:null,c=l(a.releasedAt);return b&&c?{clientMessageId:b,releasedAt:c}:null}(a.releasedWake),pullRequestGap:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=o.find(b=>b===a.gap),c=l(a.since),d=l(a.lastAttemptAt),e=a.attempts;return b&&c&&d&&"number"==typeof e&&Number.isInteger(e)&&!(e<1)?{gap:b,since:c,lastAttemptAt:d,attempts:e,reported:!0===a.reported}:null}(a.pullRequestGap),childrenGap:null,harvestedChildren:m(a.harvestedChildren),childrenShown:m(a.childrenShown).slice(-j.kZ),announcedLanes:m(a.announcedLanes).slice(-j.GN)}}function q(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));if(!b||"object"!=typeof b||Array.isArray(b))return{version:2,projects:{}};let c=!("number"==typeof b.version&&b.version>=2),d=b.projects??{};return{version:2,projects:Object.fromEntries(Object.entries(d).map(([a,b])=>[a,p(b,c)]))}}catch{return{version:2,projects:{}}}}function r(a,b){return a.seatEpoch===b?a:{...(0,j.v0)(),seatEpoch:b,eventsThrough:a.eventsThrough,lastWakeAt:a.lastWakeAt,lastProposalAt:a.lastProposalAt,outstandingWake:a.outstandingWake,retiredWakes:a.retiredWakes??[],releasedWake:a.releasedWake??null,pullRequestGap:a.pullRequestGap,childrenGap:a.childrenGap,harvestedChildren:a.harvestedChildren,accounting:a.accounting}}function s(a){return a===k()?g().join(g().dirname(a),"state.sqlite"):`${a}.sqlite`}function t(a,b){let c=new h.yY(s(b),a);return c.migrateLegacy(b,(a,b)=>p(a,2!==b)),c}function u(a,b=k()){return t(a,b).readState()}function v(a,b=k()){let c=new h.yY(s(b),a);return c.row()?c.readState():q(b).projects[a]??(0,j.v0)()}function w(a=k()){for(let b of Object.keys(q(a).projects))t(b,a);let b=s(a);return Object.fromEntries(new h.yY(b,"").collection.snapshot().flatMap(a=>"project"===a.kind?[[a.project,{...a.state,accounting:{filename:b,revision:a.revision,gap:a.gap}}]]:[]))}function x(a,b,c=k()){let d=t(a,c);d.writeState(b.accounting?b:{...b,accounting:d.readState().accounting})}},71715:(a,b,c)=>{c.d(b,{Hw:()=>g,IV:()=>k,rD:()=>f});var d=c(73024),e=c.n(d);let f=()=>({offset:0,identity:null,seq:0,activeTurn:null,settledThrough:0,atEnd:!1,initialSize:0,gap:null}),g=256,h=Buffer.from('"turn-'),i=new Set(["completed","interrupted","error"]);function j(a){let b;try{b=JSON.parse(a.toString("utf8"))}catch{return null}if(!b||"object"!=typeof b||Array.isArray(b))return null;let c=b;return"string"!=typeof c.kind||!Number.isSafeInteger(c.seq)||c.seq<=0?null:{kind:c.kind,seq:c.seq,turnId:c.turnId,status:c.status}}function k(a,b,c,d=g){let l;if(!Number.isSafeInteger(c)||c<1||c>0x4000000)throw Error("invalid ledger budget");if(!Number.isSafeInteger(d)||d<1||d>g)throw Error("invalid ledger outcome budget");let m={...b},n=[],o=0,p=0;try{l=e().openSync(a,e().constants.O_RDONLY|e().constants.O_NOFOLLOW);let g=e().fstatSync(l);if(!g.isFile())throw Error("ledger is not a regular file");let k=`${g.dev}:${g.ino}`;(m.identity!==k||g.size<m.offset)&&(m={...f(),identity:k,initialSize:g.size,gap:b.identity?"ledger-replaced":b.gap}),"ledger-unreadable"===m.gap&&(m.gap=null);let q=Buffer.allocUnsafe(Math.min(262144,Math.max(c,1))),r=[],s=0,t=!1,u=m.offset,v=!1;for(;!v&&u<g.size&&(!(o>=c)||!(p>0)&&(0!==s||t));){let a=e().readSync(l,q,0,q.length,u);if(!a)break;o+=a,u+=a;let b=0;for(;b<a;){let c=q.indexOf(10,b);if(c<0){let c=q.subarray(b,a);t||((s+=c.length)>0x1000000?(t=!0,r=[],s=0):r.push(Buffer.from(c)));break}let e=u-a+c+1;if(t)m.gap="malformed-record",m.resync=!0,t=!1;else{let a=q.subarray(b,c),d=r.length?Buffer.concat([...r,a]):a;d.length>0x1000000?m.gap="malformed-record":function(a,b,c,d){let e;if(b.indexOf(h)>=0)e=j(b);else{let a,c,d=(a=b.subarray(Math.max(0,b.length-48)).toString("latin1").trimEnd(),(c=/"seq":(\d{1,15})\}$/.exec(a))?Number(c[1]):null);e=null!==d?{kind:"",seq:d}:j(b)}if(!e){a.gap="malformed-record",a.resync=!0;return}a.resync?delete a.resync:e.seq!==a.seq+1&&(a.gap="sequence-gap"),a.seq=e.seq,"turn-started"===e.kind?"string"==typeof e.turnId&&e.turnId?a.activeTurn=e.turnId:a.gap="invalid-turn-start":"turn-ended"===e.kind&&("string"==typeof e.turnId&&e.turnId.length>0&&i.has(String(e.status))?((null===a.activeTurn||a.activeTurn===e.turnId)&&(a.activeTurn=null,a.settledThrough=e.seq),d.push({turnId:e.turnId,status:e.status,seq:e.seq,endOffset:c})):a.gap="invalid-terminal")}(m,d,e,n)}if(r=[],s=0,m.offset=e,p++,b=c+1,n.length>=d){v=!0;break}}}m.atEnd=m.offset===g.size}catch(b){let a="ENOENT"===b.code;m.gap=a?m.identity?"ledger-missing":m.gap:"ledger-unreadable",m.atEnd=!1}finally{void 0!==l&&e().closeSync(l)}return{cursor:m,outcomes:n,bytes:o,records:p}}},76775:(a,b,c)=>{c.d(b,{GP:()=>g,Gx:()=>k,Lz:()=>o,M$:()=>i,Qw:()=>f,V2:()=>h,Vi:()=>p,X7:()=>l,_I:()=>m,aS:()=>e,jK:()=>j,xz:()=>n});var d=c(26347);let e="monitor-ref:",f="orchestrator-unresolved",g=a=>`monitor-741:${a}`;function h(a){let b=a.match(/^monitor-ref:\s*([A-Za-z0-9_-]{4,64})\s*$/m);return b?b[1]:null}function i(a,b){return(0,d.t)(`Conversation monitor cannot resolve a live orchestrator
|
|
4
|
+
|
|
5
|
+
The monitor resolves the orchestrator through the durable record, never a transcript path. ${a}.
|
|
6
|
+
Until a live orchestrator is adopted, monitor runs report their findings on the board only — nothing is delivered in chat.
|
|
7
|
+
Observed ${b.slice(0,16).replace("T"," ")} UTC.
|
|
8
|
+
|
|
9
|
+
${e} ${f}`,5e3)}let j=a=>`seat-tick-stuck-${a}`,k="seat-tick-settings",l=a=>`seat-tick-source-${a}`,m=a=>`seat-tick-proposal-${a}`;function n(a,b,c,f){return(0,d.t)(`Seat tick stopped re-sending a wake reason
|
|
10
|
+
|
|
11
|
+
${b}.
|
|
12
|
+
Project ${a}. Observed ${f.slice(0,16).replace("T"," ")} UTC.
|
|
13
|
+
The tick resumes this reason on its own once the board or a pipeline moves.
|
|
14
|
+
|
|
15
|
+
${e} ${c}`,5e3)}function o(a,b,c,f){return(0,d.t)(`Seat tick cannot read one of its evidence sources
|
|
16
|
+
|
|
17
|
+
${b}.
|
|
18
|
+
Wakes continue on every reason that does not depend on it, and each one names the missing evidence; an unmerged pull request left by a finished lane is what cannot be seen while this stands.
|
|
19
|
+
The tick keeps asking, at this project's wake interval, and reports nothing further until the source answers — this card is raised once per outage.
|
|
20
|
+
Project ${a}. Observed ${f.slice(0,16).replace("T"," ")} UTC.
|
|
21
|
+
|
|
22
|
+
${e} ${c}`,5e3)}function p(a){let b=a.setBy?.project&&a.setBy.project!==a.project,c=a.setBy?`Set by ${"manager"===a.setBy.kind?"the designated seat":"gateway"===a.setBy.kind?"the operator's own session":"agent"===a.setBy.kind?"an agent session":"a caller nothing identified"}${a.setBy.conversationId?` (${a.setBy.conversationId})`:""}${b?`, whose own project is ${a.setBy.project}`:""}.`:"Set by nobody the record names.";return(0,d.t)(["This project's seat tick is not on its default settings\n",`${a.detail}.`,`Reason given: ${a.reason??"none recorded"}.`,a.until?`It returns to the default at ${a.until.slice(0,16).replace("T"," ")} UTC.`:"It stands until someone changes it back.",c,`Project ${a.project}. Recorded ${a.updatedAt?`${a.updatedAt.slice(0,16).replace("T"," ")} UTC`:"at an unrecorded time"}.`,"Change it with the seat tick settings tool; this card clears itself once the project is back on the defaults.\n",`${e} ${k}`].join("\n"),5e3)}},85745:(a,b,c)=>{c.d(b,{GN:()=>h,M:()=>e,MQ:()=>d,kZ:()=>g,r8:()=>f,v0:()=>i});let d=["lane-event","unmerged-pr","stalled","unstarted-task","interval","child-terminal","own-lane-settled"],e=["registry-unreadable","children-unindexed","migration-blocked","migration-pending","discovery-incomplete","ledger-gap","child-departed","child-unplaced","ledger-pending"],f=20,g=64,h=64;function i(){return{seatEpoch:null,lastCheckAt:null,lastWakeAt:null,lastWakeReasons:[],wakesWithoutChange:{},quietSince:null,idleSince:null,lastProposalAt:null,stalledSeen:[],lastWakeFingerprint:null,eventsThrough:null,outstandingWake:null,retiredWakes:[],releasedWake:null,pullRequestGap:null,childrenGap:null,harvestedChildren:[],childrenShown:[],announcedLanes:[]}}},86631:(a,b,c)=>{c.d(b,{Es:()=>t,Fh:()=>r,X6:()=>s,nj:()=>q,q0:()=>o,qx:()=>p,tx:()=>k});var d=c(73024),e=c.n(d),f=c(91724),g=c(65154),h=c(2033),i=c(26347);function j(){return process.env.LLV_SEAT_TICK_SETTINGS_FILE?.trim()||(0,f.BQ)("seat-tick-settings.json")}function k(a){return{project:a,enabled:!0,wakeIntervalMinutes:null,reason:null,monitorPrompt:null,until:null,updatedAt:null,setBy:null}}function l(a){return a.enabled&&null===a.wakeIntervalMinutes}function m(a){return"string"==typeof a&&Number.isFinite(Date.parse(a))?a:null}function n(a){try{let b=JSON.parse(e().readFileSync(a,"utf8"));if(!b||"object"!=typeof b||Array.isArray(b))return{version:1,projects:{}};let c=b.projects??{};return{version:1,projects:Object.fromEntries(Object.entries(c).map(([a,b])=>{var c,d,e;let f;return[a,(c=a,d=b,f=k(c),!d||"object"!=typeof d||Array.isArray(d)?f:{project:c,enabled:!1!==d.enabled,wakeIntervalMinutes:"number"!=typeof(e=d.wakeIntervalMinutes)||!Number.isFinite(e)||e<=0?null:Math.min(525600,e),reason:"string"==typeof d.reason&&d.reason.trim()?d.reason.slice(0,500):null,monitorPrompt:"string"==typeof d.monitorPrompt&&d.monitorPrompt.trim()?d.monitorPrompt.slice(0,16e3):null,until:m(d.until),updatedAt:m(d.updatedAt),setBy:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.kind;return"manager"!==b&&"agent"!==b&&"gateway"!==b&&"unidentified"!==b?null:{kind:b,conversationId:"string"==typeof a.conversationId&&a.conversationId?a.conversationId.slice(0,200):null,project:"string"==typeof a.project&&a.project?a.project.slice(0,200):null,seatEpoch:"number"==typeof a.seatEpoch&&Number.isSafeInteger(a.seatEpoch)?a.seatEpoch:null}}(d.setBy)})]}))}}catch{return{version:1,projects:{}}}}function o(a,b=j()){return n(b).projects[a]??k(a)}function p(a=j()){return n(a).projects}function q(a,b,c=j()){(0,h.Ol)(c,"seat tick settings are busy",()=>{let d=n(c);(0,g.f)(c,{version:1,projects:{...d.projects,[a]:{...b,project:a}}})})}function r(a,b,c){let d=a.until?Date.parse(a.until):NaN,e=Number.isFinite(d)&&d<=b&&!l(a),f=null!==a.updatedAt;return e||l(a)?{enabled:!0,wakeIntervalMs:c,reason:null,monitorPrompt:a.monitorPrompt,until:null,updatedAt:a.updatedAt,isDefault:!0,configured:f,lapsed:e,setBy:e?a.setBy:null}:{enabled:a.enabled,wakeIntervalMs:null===a.wakeIntervalMinutes?c:Math.round(6e4*a.wakeIntervalMinutes),reason:a.reason,monitorPrompt:a.monitorPrompt,until:a.until,updatedAt:a.updatedAt,isDefault:!1,configured:f,lapsed:!1,setBy:a.setBy}}function s(a,b){let c=k(a);return b.monitorPrompt?{...c,monitorPrompt:b.monitorPrompt,updatedAt:b.updatedAt,setBy:b.setBy}:c}function t(a,b,c){if(0===["enabled","wakeIntervalMinutes","reason","monitorPrompt","until"].filter(a=>Object.hasOwn(b,a)).length)return{ok:!1,error:"a tick settings change needs at least one field"};let d=Object.hasOwn(b,"enabled")?b.enabled:a.enabled;if("boolean"!=typeof d)return{ok:!1,error:"enabled must be a boolean"};let e=a.wakeIntervalMinutes;if(Object.hasOwn(b,"wakeIntervalMinutes")){let a=b.wakeIntervalMinutes;if(null===a)e=null;else{if("number"!=typeof a||!Number.isFinite(a)||a<=0)return{ok:!1,error:"wakeIntervalMinutes must be a positive number of minutes, or null for the default"};if(a>525600)return{ok:!1,error:"wakeIntervalMinutes must be at most 525600; disable the tick instead of setting a longer interval"};e=a}}let f=a.until;if(Object.hasOwn(b,"until")){let a=b.until;if(null===a)f=null;else{if("string"!=typeof a||!Number.isFinite(Date.parse(a)))return{ok:!1,error:"until must be an ISO instant, or null for a setting that stands until it is changed"};f=new Date(Date.parse(a)).toISOString()}}let g=a.reason;if(Object.hasOwn(b,"reason")){let a=b.reason;if(null===a)g=null;else{if("string"!=typeof a)return{ok:!1,error:"reason must be a string"};g=(0,i.t)(a,500)||null}}let h=a.monitorPrompt??null;if(Object.hasOwn(b,"monitorPrompt")){let a=b.monitorPrompt;if(null===a)h=null;else{if("string"!=typeof a)return{ok:!1,error:"monitorPrompt must be a string, or null to clear it"};let b=(0,i.l)(a).trim();if(a.length>16e3||b.length>16e3)return{ok:!1,error:`monitorPrompt is ${a.length} characters; the limit is 16000. Nothing was stored — shorten the note and send it again`};h=b||null}}let j={project:a.project,enabled:d,wakeIntervalMinutes:e,reason:g,monitorPrompt:h,until:f,updatedAt:c.at,setBy:c.actor};return l(j)||j.reason?l(j)?{ok:!0,settings:{...j,wakeIntervalMinutes:null,reason:null,until:null}}:{ok:!0,settings:j}:{ok:!1,error:"a reason is required when the tick is disabled or its wake interval is changed; a quiet tick with no recorded reason is indistinguishable from a broken one"}}}};
|
|
@@ -19,6 +19,6 @@
|
|
|
19
19
|
CREATE UNIQUE INDEX IF NOT EXISTS handoff_one_active_conversation
|
|
20
20
|
ON handoff_rows(conversation_id)
|
|
21
21
|
WHERE conversation_id IS NOT NULL;
|
|
22
|
-
`);try{e().chmodSync(a,384)}catch{}}load(){return this.db.query("SELECT value_json FROM handoff_rows ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadHistory(){return this.db.query("SELECT value_json FROM handoff_history ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadDrainingGenerations(){return this.db.query("SELECT generation FROM handoff_draining_generations ORDER BY row_order ASC").all().map(a=>a.generation)}writeRows(a){let b=this.db.query("INSERT INTO handoff_rows(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_rows"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeHistory(a){let b=this.db.query("INSERT INTO handoff_history(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_history"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeDrainingGenerations(a){let b=this.db.query("INSERT INTO handoff_draining_generations(generation, row_order) VALUES (?, ?)");this.db.exec("DELETE FROM handoff_draining_generations"),[...new Set(a)].forEach((a,c)=>b.run(a,c))}migrateActiveRows(){this.db.exec("BEGIN IMMEDIATE");try{let a=new Map,b=this.loadHistory(),c=new Map(b.map(a=>[a.operationId,a])),d=new Set(this.loadDrainingGenerations()),e=this.load();for(let a of[...b,...e])"draining"===a.status&&d.add(a.hostGeneration);for(let b of e){let d=a.get(b.conversationId);d&&c.set(d.operationId,d),a.set(b.conversationId,b)}this.writeRows([...a.values()]),this.writeHistory([...c.values()]),this.writeDrainingGenerations([...d]),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}save(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeRows(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveHistory(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeHistory(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveDrainingGenerations(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeDrainingGenerations(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}transaction(a){this.db.exec("BEGIN IMMEDIATE");try{let b={rows:this.load(),history:this.loadHistory(),drainingGenerations:this.loadDrainingGenerations()},c=a(b);return this.writeRows(b.rows),this.writeHistory(b.history),this.writeDrainingGenerations(b.drainingGenerations),this.db.exec("COMMIT"),c}catch(a){throw this.db.exec("ROLLBACK"),a}}}let v=null;var w=c(37412),x=c(97810),y=c(9488),z=c(87229);let A=3e5;function B(a,b=A){return Math.max(1,Math.min(8,Math.floor(.5*b/Math.max(1,a+1e4))))}let C=new Set(["completed","failed","conflicted"]),D=new Set(["held","assigned","delivery-uncertain"]),E=new Set(["idle","dead"]),F=["seat-free","turn-settled","attention-settled","host-idle-or-dead","no-active-flags","handoff-queue-drained","no-open-operation","events-flushed","no-realtime-binding","resumable","transcript-idle","process-identity"],G=(0,p.yV)(null),H=a=>(0,p.yV)(a);function I(a){return a.seat.determined&&"revoked"===a.seat.value}function J(a){return null===a.process.startIdentity?(0,p.nZ)(`the registry stored no kernel identity for pid ${a.process.pid}`):(0,p.yV)(a.process.startIdentity)}let K={"seat-free":a=>(0,p.Le)(a.seat,a=>"live"===a?"the host holds a live orchestrator seat":null),"turn-settled":a=>null!==a.activeTurnRef?H(`turn ${a.activeTurnRef} is in flight`):(0,p.Le)(a.turnBusy,a=>a?"the conversation turn has not settled":null),"attention-settled":a=>a.pendingAttention.length>0?H(`${a.pendingAttention.length} question(s) await an operator answer`):G,"host-idle-or-dead":a=>E.has(a.status)?G:H(`the host status is ${a.status}`),"no-active-flags":a=>{let b=(0,w.S0)(a.activeFlags);return b.length>0?H(`the host is flagged ${b.join(", ")}`):G},"handoff-queue-drained":a=>(0,p.Le)(a.undeliveredHandoffEntries,a=>a>0?`${a} undelivered handoff entr(ies) name this key`:null),"no-open-operation":a=>null!==a.pendingAction?H(`a ${a.pendingAction} action is pending`):null!==a.structuredHostOperationId?H("a structured host operation is still in flight"):a.openOperations>0?H(`${a.openOperations} spawn receipt(s) are pending or non-terminal`):G,"events-flushed":a=>(0,p.Le)(a.durableEventTail,b=>a.eventCursor<b?`the flushed cursor ${a.eventCursor} is behind the session's ${b}`:null),"no-realtime-binding":a=>(0,p.Le)(a.realtimeBound,a=>a?"a realtime session is bound to this conversation":null),resumable:a=>""===a.transcriptPath?H("the host names no transcript to resume from"):(0,p.Le)(a.transcriptFile,a=>null===a?"the transcript is not present on disk":null),"transcript-idle":(a,b)=>(0,p.Le)(a.transcriptFile,c=>{if(null===c)return"the transcript is not present on disk";if(I(a))return null;let d=b.now-c.mtimeMs;return d<b.idleMs?`the transcript was written ${Math.max(0,Math.round(d/1e3))}s ago`:null}),"process-identity":a=>{let b=J(a);if(!b.determined)return b;let c="string"==typeof a.process.bootEpoch&&a.process.bootEpoch?(0,p.yV)(a.process.bootEpoch):(0,p.nZ)(`the registry stored no boot epoch for pid ${a.process.pid}`);if(!c.determined)return c;if(!a.observedStartIdentity.determined)return a.observedStartIdentity;if(!a.observedBootEpoch.determined)return a.observedBootEpoch;let d=a.observedStartIdentity.value,e=a.observedBootEpoch.value;return"alive"===(0,n.Ue)(a.process,{pidAlive:()=>!0,processIdentity:()=>d,bootEpoch:()=>e})?G:H(`pid ${a.process.pid} is no longer the recorded host`)}};function L(a,b){let c=[];for(let d of F){let e=K[d](a,b);if(!e.determined)return{retire:!1,clause:d,reason:e.why,undetermined:!0};if(null!==e.value)return{retire:!1,clause:d,reason:e.value};c.push(d)}let d=J(a);return d.determined?{retire:!0,passed:c,startIdentity:d.value}:{retire:!1,clause:"process-identity",reason:d.why,undetermined:!0}}function M(a=process.env){let b=a.LLV_HOST_RETIREMENT_IDLE_HOURS;if(void 0===b||""===b.trim())return 216e5;let c=Number(b);return!Number.isFinite(c)||c<0?(console.warn("[host retirement] LLV_HOST_RETIREMENT_IDLE_HOURS is not a duration; using 6h"),216e5):0===c?null:36e5*c}function N(a=process.env){let b=a.LLV_HOST_RETIREMENT_GRACE_MS;if(void 0===b||""===b.trim())return 5e3;let c=Number(b);return!Number.isFinite(c)||c<0?5e3:Math.min(c,6e4)}function O(a){try{let b=e().statSync(a);return(0,p.yV)(b.isFile()?{mtimeMs:b.mtimeMs}:null)}catch(b){let a=b.code;return"ENOENT"===a||"ENOTDIR"===a?(0,p.yV)(null):(0,p.nZ)(`the transcript could not be read (${a??"unknown"})`)}}function P(a){try{if((0,z.VD)().has(a))return(0,p.yV)(!0);let b=(0,x.Aj)(a);return(0,p.yV)("function"==typeof b?.currentRealtimeSessionId&&null!==b.currentRealtimeSessionId())}catch(a){return(0,p.nZ)(`the realtime binding could not be read: ${T(a)}`)}}function Q(){let a;try{let b=(0,k.
|
|
22
|
+
`);try{e().chmodSync(a,384)}catch{}}load(){return this.db.query("SELECT value_json FROM handoff_rows ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadHistory(){return this.db.query("SELECT value_json FROM handoff_history ORDER BY row_order ASC").all().map(a=>JSON.parse(a.value_json))}loadDrainingGenerations(){return this.db.query("SELECT generation FROM handoff_draining_generations ORDER BY row_order ASC").all().map(a=>a.generation)}writeRows(a){let b=this.db.query("INSERT INTO handoff_rows(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_rows"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeHistory(a){let b=this.db.query("INSERT INTO handoff_history(operation_id, conversation_id, row_order, value_json) VALUES (?, ?, ?, ?)");this.db.exec("DELETE FROM handoff_history"),a.forEach((a,c)=>b.run(a.operationId,a.conversationId,c,JSON.stringify(a)))}writeDrainingGenerations(a){let b=this.db.query("INSERT INTO handoff_draining_generations(generation, row_order) VALUES (?, ?)");this.db.exec("DELETE FROM handoff_draining_generations"),[...new Set(a)].forEach((a,c)=>b.run(a,c))}migrateActiveRows(){this.db.exec("BEGIN IMMEDIATE");try{let a=new Map,b=this.loadHistory(),c=new Map(b.map(a=>[a.operationId,a])),d=new Set(this.loadDrainingGenerations()),e=this.load();for(let a of[...b,...e])"draining"===a.status&&d.add(a.hostGeneration);for(let b of e){let d=a.get(b.conversationId);d&&c.set(d.operationId,d),a.set(b.conversationId,b)}this.writeRows([...a.values()]),this.writeHistory([...c.values()]),this.writeDrainingGenerations([...d]),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}save(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeRows(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveHistory(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeHistory(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}saveDrainingGenerations(a){this.db.exec("BEGIN IMMEDIATE");try{this.writeDrainingGenerations(a),this.db.exec("COMMIT")}catch(a){throw this.db.exec("ROLLBACK"),a}}transaction(a){this.db.exec("BEGIN IMMEDIATE");try{let b={rows:this.load(),history:this.loadHistory(),drainingGenerations:this.loadDrainingGenerations()},c=a(b);return this.writeRows(b.rows),this.writeHistory(b.history),this.writeDrainingGenerations(b.drainingGenerations),this.db.exec("COMMIT"),c}catch(a){throw this.db.exec("ROLLBACK"),a}}}let v=null;var w=c(37412),x=c(97810),y=c(9488),z=c(87229);let A=3e5;function B(a,b=A){return Math.max(1,Math.min(8,Math.floor(.5*b/Math.max(1,a+1e4))))}let C=new Set(["completed","failed","conflicted"]),D=new Set(["held","assigned","delivery-uncertain"]),E=new Set(["idle","dead"]),F=["seat-free","turn-settled","attention-settled","host-idle-or-dead","no-active-flags","handoff-queue-drained","no-open-operation","events-flushed","no-realtime-binding","resumable","transcript-idle","process-identity"],G=(0,p.yV)(null),H=a=>(0,p.yV)(a);function I(a){return a.seat.determined&&"revoked"===a.seat.value}function J(a){return null===a.process.startIdentity?(0,p.nZ)(`the registry stored no kernel identity for pid ${a.process.pid}`):(0,p.yV)(a.process.startIdentity)}let K={"seat-free":a=>(0,p.Le)(a.seat,a=>"live"===a?"the host holds a live orchestrator seat":null),"turn-settled":a=>null!==a.activeTurnRef?H(`turn ${a.activeTurnRef} is in flight`):(0,p.Le)(a.turnBusy,a=>a?"the conversation turn has not settled":null),"attention-settled":a=>a.pendingAttention.length>0?H(`${a.pendingAttention.length} question(s) await an operator answer`):G,"host-idle-or-dead":a=>E.has(a.status)?G:H(`the host status is ${a.status}`),"no-active-flags":a=>{let b=(0,w.S0)(a.activeFlags);return b.length>0?H(`the host is flagged ${b.join(", ")}`):G},"handoff-queue-drained":a=>(0,p.Le)(a.undeliveredHandoffEntries,a=>a>0?`${a} undelivered handoff entr(ies) name this key`:null),"no-open-operation":a=>null!==a.pendingAction?H(`a ${a.pendingAction} action is pending`):null!==a.structuredHostOperationId?H("a structured host operation is still in flight"):a.openOperations>0?H(`${a.openOperations} spawn receipt(s) are pending or non-terminal`):G,"events-flushed":a=>(0,p.Le)(a.durableEventTail,b=>a.eventCursor<b?`the flushed cursor ${a.eventCursor} is behind the session's ${b}`:null),"no-realtime-binding":a=>(0,p.Le)(a.realtimeBound,a=>a?"a realtime session is bound to this conversation":null),resumable:a=>""===a.transcriptPath?H("the host names no transcript to resume from"):(0,p.Le)(a.transcriptFile,a=>null===a?"the transcript is not present on disk":null),"transcript-idle":(a,b)=>(0,p.Le)(a.transcriptFile,c=>{if(null===c)return"the transcript is not present on disk";if(I(a))return null;let d=b.now-c.mtimeMs;return d<b.idleMs?`the transcript was written ${Math.max(0,Math.round(d/1e3))}s ago`:null}),"process-identity":a=>{let b=J(a);if(!b.determined)return b;let c="string"==typeof a.process.bootEpoch&&a.process.bootEpoch?(0,p.yV)(a.process.bootEpoch):(0,p.nZ)(`the registry stored no boot epoch for pid ${a.process.pid}`);if(!c.determined)return c;if(!a.observedStartIdentity.determined)return a.observedStartIdentity;if(!a.observedBootEpoch.determined)return a.observedBootEpoch;let d=a.observedStartIdentity.value,e=a.observedBootEpoch.value;return"alive"===(0,n.Ue)(a.process,{pidAlive:()=>!0,processIdentity:()=>d,bootEpoch:()=>e})?G:H(`pid ${a.process.pid} is no longer the recorded host`)}};function L(a,b){let c=[];for(let d of F){let e=K[d](a,b);if(!e.determined)return{retire:!1,clause:d,reason:e.why,undetermined:!0};if(null!==e.value)return{retire:!1,clause:d,reason:e.value};c.push(d)}let d=J(a);return d.determined?{retire:!0,passed:c,startIdentity:d.value}:{retire:!1,clause:"process-identity",reason:d.why,undetermined:!0}}function M(a=process.env){let b=a.LLV_HOST_RETIREMENT_IDLE_HOURS;if(void 0===b||""===b.trim())return 216e5;let c=Number(b);return!Number.isFinite(c)||c<0?(console.warn("[host retirement] LLV_HOST_RETIREMENT_IDLE_HOURS is not a duration; using 6h"),216e5):0===c?null:36e5*c}function N(a=process.env){let b=a.LLV_HOST_RETIREMENT_GRACE_MS;if(void 0===b||""===b.trim())return 5e3;let c=Number(b);return!Number.isFinite(c)||c<0?5e3:Math.min(c,6e4)}function O(a){try{let b=e().statSync(a);return(0,p.yV)(b.isFile()?{mtimeMs:b.mtimeMs}:null)}catch(b){let a=b.code;return"ENOENT"===a||"ENOTDIR"===a?(0,p.yV)(null):(0,p.nZ)(`the transcript could not be read (${a??"unknown"})`)}}function P(a){try{if((0,z.VD)().has(a))return(0,p.yV)(!0);let b=(0,x.Aj)(a);return(0,p.yV)("function"==typeof b?.currentRealtimeSessionId&&null!==b.currentRealtimeSessionId())}catch(a){return(0,p.nZ)(`the realtime binding could not be read: ${T(a)}`)}}function Q(){let a;try{let b=(0,k.activeOrchestratorSeatsOrUnknown)();if(null===b)return(0,p.nZ)("the orchestrator seat store could not be established");let c=R();a=new Set(b.flatMap(a=>a.conversationId?[c(a.conversationId)]:[]))}catch(a){return(0,p.nZ)(`the orchestrator seat store could not be read: ${T(a)}`)}return(0,p.yV)(a)}function R(){let a=(0,h.agentRegistry)();return b=>a.canonicalConversationId(b)}function S(){let a;try{a=(0,k.revokedOrchestratorSeatConversationsOrUnknown)(R())}catch(a){return(0,p.nZ)(`the orchestrator revocation record could not be read: ${T(a)}`)}return null===a?(0,p.nZ)("the orchestrator revocation record could not be established"):(0,p.yV)(a)}function T(a){return a instanceof Error?a.message:String(a)}function U(a){let{refused:b,...c}=a,d={},e={};for(let a of b)d[a.clause]=(d[a.clause]??0)+1,a.undetermined&&(e[a.clause]=(e[a.clause]??0)+1);return{...c,refusedByClause:d,undeterminedByClause:e}}function V(a){try{var b;let c;b=(0,j.BQ)("host-retirement-report.json"),e().mkdirSync(g().dirname(b),{recursive:!0,mode:448}),c=`${b}.${process.pid}.tmp`,e().writeFileSync(c,`${JSON.stringify(a,null,2)}
|
|
23
23
|
`,{encoding:"utf8",mode:384}),e().renameSync(c,b)}catch(a){console.error("[host retirement] report could not be written",a)}try{let b=(0,j.BQ)("host-retirement-journal.ndjson");e().mkdirSync(g().dirname(b),{recursive:!0,mode:448});try{e().statSync(b).size>4194304&&e().renameSync(b,`${b}.1`)}catch{}e().appendFileSync(b,`${JSON.stringify(U(a))}
|
|
24
24
|
`,{encoding:"utf8",mode:384})}catch(a){console.error("[host retirement] journal could not be appended",a)}for(let b of a.retired){let a=b.seatRevoked?", revoked seat":"";console.warn(`[host retirement] retired ${b.key} (${b.role??"no role"}, idle ${Math.round(b.idleMs/6e4)}m${a}) via ${b.via}: ${b.reclaimed.processes} process(es), ${Math.round(b.reclaimed.rssBytes/1048576)} MiB resident + ${Math.round(b.reclaimed.swapBytes/1048576)} MiB swapped reclaimed`)}for(let b of a.failed)console.warn(`[host retirement] left ${b.key} intact: ${b.error}`);let c=Object.entries(U(a).undeterminedByClause);if(c.length>0){let b=c.map(([a,b])=>`${a} (${b})`).join(", "),d=a.refused.find(a=>a.undetermined)?.reason??"";console.warn(`[host retirement] kept hosts whose clauses could not be determined: ${b} — ${d}`)}}class W{add(a){null!==a&&this.counts.set(a,(this.counts.get(a)??0)+1)}addKey(a){this.add(`key:${a}`)}addConversation(a){this.add(null===a?null:`conv:${a}`)}count(a,b){return(this.counts.get(`key:${a}`)??0)+(null===b?0:this.counts.get(`conv:${b}`)??0)}constructor(){this.counts=new Map}}function X(a){var b;let c=a.snapshot(),d=new Map;for(let a of Object.values(c.conversations))for(let b of a.generations)d.set(b.id,a);return{file:c,conversationsBySession:d,undelivered:(b=a.handoffRows(),(0,p.Le)(b,a=>{let b=new W;for(let c of a){let a=new Set(c.replayedDeliveryIds??[]);(c.pendingDeliveries??[]).some(b=>!a.has(b.deliveryId))&&("claude"===c.engine||"codex"===c.engine?b.addKey(`${c.engine}:${c.engineSessionId}`):b.addConversation(c.conversationId))}for(let a of Object.values(c.heldDeliveries??{}))D.has(a.state)&&b.addConversation(a.conversationId);return b})),openOperations:function(a){let b=new W;for(let c of Object.values(a.receipts??{}))C.has(c.state)||(null!==c.key?b.addKey((0,i.pp)(c.key)):b.addConversation(c.conversationId));return b}(c),seatConversations:a.seatConversations(),revokedConversations:a.revokedConversations()}}function Y(a,b,c){var d,e,f;let g,h=a.structuredHost,j=h.process,k=a.key,l=(0,i.pp)(k),m=b.conversationsBySession.get(k.sessionId)??null,n=m?.id??null,o=m?b.file.memberships[m.id]??[]:[],q=o.find(a=>"pipeline"===a.kind)??null,r=m?.generations.find(a=>a.id===k.sessionId)??null;return{key:k,keyId:l,conversationId:n,title:r?.launchProfile.title??null,role:m?.agentRole??q?.role??r?.launchProfile.role??null,stage:q?.stageId??q?.slot??null,cwd:a.cwd||r?.launchProfile.cwd||"",transcriptPath:a.artifactPath||"",process:j,status:a.status,activeTurnRef:h.activeTurnRef,turnBusy:null===m?(0,p.nZ)("no conversation record establishes this host's turn state"):"unknown"===m.turn.state?(0,p.nZ)("the conversation's turn state is unknown"):(0,p.yV)("busy"===m.turn.state),pendingAttention:h.pendingAttention,activeFlags:h.activeFlags,pendingAction:a.pendingAction,structuredHostOperationId:a.structuredHostOperationId??null,undeliveredHandoffEntries:(0,p.Le)(b.undelivered,a=>a.count(l,n)),openOperations:b.openOperations.count(l,n),eventCursor:h.eventCursor,durableEventTail:c.durableEventTail(k.sessionId),realtimeBound:null===n?(0,p.nZ)("the host names no conversation, so no realtime binding can be looked up"):c.realtimeBound(n),seat:null===m?(0,p.nZ)("no conversation record establishes whether this host holds a seat"):(d=m.id,e=b.seatConversations,f=b.revokedConversations,(g=o.some(a=>"orchestrator"===a.kind)?(0,p.yV)(!0):(0,p.Le)(e,a=>a.has(d))).determined?g.value?(0,p.Le)(f,a=>a.has(d)?"revoked":"live"):(0,p.yV)("none"):g),transcriptFile:a.artifactPath?c.transcriptStat(a.artifactPath):(0,p.yV)(null),observedStartIdentity:c.processIdentity(j.pid),observedBootEpoch:c.bootEpoch()}}async function Z(a={}){let b=a.now??Date.now,c=b(),d=a.idleMs??M()??216e5,e=a.graceMs??N(),f=a.batch??B(e),g={snapshot:a.snapshot??(()=>(0,h.agentRegistry)().readOnlySnapshot()),handoffRows:a.handoffRows??(()=>{try{return(0,p.yV)((v??=new t(new u((0,j.BQ)("handoff-queue.sqlite")))).rows())}catch(a){return(0,p.nZ)(`the handoff queue could not be read: ${T(a)}`)}}),seatConversations:a.orchestratorSeatConversations??Q,revokedConversations:a.revokedSeatConversations??S},i={durableEventTail:a.durableEventTail??(a=>(0,q.t2)(a)),realtimeBound:a.realtimeBound??P,transcriptStat:a.transcriptStat??O,processIdentity:a.processIdentity??(a=>{let b=l.B.processIdentity(a);return null===b?(0,p.nZ)(`no kernel identity can be observed for pid ${a}`):(0,p.yV)(b)}),bootEpoch:a.bootEpoch??(()=>{let a=(0,n.h_)();return null===a?(0,p.nZ)("the kernel boot epoch could not be read"):(0,p.yV)(a)})},k=a.processMemory??(a=>l.B.processMemory(a)),r=a.ppidMap??(()=>l.B.ppidMap()),s=a.owned??x.sy,w=a.terminate??(a=>(0,y.terminateStructuredHostTree)(a,{graceMs:e,deadlineMs:e+1e4})),z=a.record??V,A=a.publicationState??x.du,C={version:1,startedAt:new Date(c).toISOString(),finishedAt:"",idleHours:d/36e5,evaluated:0,deferred:0,standDown:null,retired:[],refused:[],failed:[],reclaimed:{rssBytes:0,swapBytes:0,processes:0}},D=A();if("ready"!==D)return C.standDown=D,C.finishedAt=new Date(b()).toISOString(),z(C),C;let E=X(g),F=Object.values(E.file.entries).filter(a=>!!a.structuredHost?.process&&("claude"===a.key.engine||"codex"===a.key.engine)&&null===a.host).slice(0,o.sb);C.evaluated=F.length;let G=[];for(let a of F){let b=Y(a,E,i),e=L(b,{now:c,idleMs:d});if(!e.retire){C.refused.push({key:b.keyId,conversationId:b.conversationId,clause:e.clause,reason:e.reason,...e.undetermined?{undetermined:!0}:{}});continue}if(G.length>=f){C.deferred+=1;continue}G.push(b)}let H=null;for(let a of G){var J;let e,f=X(g),h=f.file.entries[a.keyId]??null;if(null===h||!h.structuredHost?.process){C.refused.push({key:a.keyId,conversationId:a.conversationId,clause:"process-identity",reason:"the registry no longer records this host",changed:!0});continue}let j=Y(h,f,i),l=L(j,{now:b(),idleMs:d});if(!l.retire){C.refused.push({key:j.keyId,conversationId:j.conversationId,clause:l.clause,reason:l.reason,...l.undetermined?{undetermined:!0}:{},changed:!0});continue}let n=j.process,o=j.transcriptFile.determined?j.transcriptFile.value?.mtimeMs??null:null;H??=r();let p=k((0,m.mO)(n.pid,H)),q={rssBytes:0,swapBytes:0,processes:p.size};for(let a of p.values())q.rssBytes+=a.rssBytes,q.swapBytes+=a.swapBytes;let t={kind:"structured",pid:n.pid,startIdentity:l.startIdentity,bootEpoch:n.bootEpoch??null,engine:j.key.engine,sessionId:j.key.sessionId,conversationId:j.conversationId,seat:j.seat.determined?"live"===j.seat.value:null,turnBusy:(J=j.turnBusy).determined?J.value:null,owned:s(j.key),lastActiveAt:null===o?null:new Date(o).toISOString()};try{e=await w(t)}catch(a){C.failed.push({key:j.keyId,conversationId:j.conversationId,error:String(a),remaining:[]});continue}if(!e.ok){C.failed.push({key:j.keyId,conversationId:j.conversationId,error:e.error,remaining:e.remaining});continue}C.retired.push({key:j.keyId,engine:j.key.engine,sessionId:j.key.sessionId,conversationId:j.conversationId,title:j.title,role:j.role,stage:j.stage,cwd:j.cwd,idleMs:null===o?0:c-o,passed:l.passed,...I(j)?{seatRevoked:!0}:{},via:e.via,pids:e.pids,reclaimed:q}),C.reclaimed.rssBytes+=q.rssBytes,C.reclaimed.swapBytes+=q.swapBytes,C.reclaimed.processes+=q.processes,H=null}return C.finishedAt=new Date(b()).toISOString(),z(C),C}async function $(a={}){let b=M(a.env??process.env);if(null===b)return null;let c=a.sweep??(a=>Z({idleMs:a}));try{return await c(b)}catch(a){return console.error("[host retirement] sweep failed",a),null}}let _=globalThis;function aa(a={}){if(_.__llvStructuredHostRetirementTimer)return;let b=a.scheduleInterval??((a,b)=>setInterval(a,b)),c=a.sweep??(()=>$()),d=b(()=>{c()},a.intervalMs??A);d.unref?.(),_.__llvStructuredHostRetirementTimer=d}function ab(){let a=_.__llvStructuredHostRetirementTimer;a&&clearInterval(a),_.__llvStructuredHostRetirementTimer=void 0}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3086,exports.ids=[3086],exports.modules={4934:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{KZ:()=>h,uh:()=>k,wj:()=>l});var e=c(803),f=c(96458),g=a([e]);e=(g.then?(await g)():g)[0];let m=globalThis;function h(a,b={},c=new AbortController().signal){let d={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(i(c.reason));if(!(0,f.hq)()||null===(0,f.hn)())return(0,e.SW)(void 0,{...d,signal:c}).then(a=>{if(c.aborted)throw i(c.reason);return a});let{onResourceSnapshot:g,...j}=d;return(0,f.PC)(j,g,{signal:c})}let n=(a,b)=>h(a,{},b);function i(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function j(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(i()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(i())}async function k(a={},b=n){var c,d;let e=m.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw i(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,l=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(j(e,l),Promise.reject(i(d.reason))):(l.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),l.subscribers-=1,j(e,l))},g=()=>{f(),b(i(d?.reason))};d?.addEventListener("abort",g,{once:!0}),l.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function l(){return k({persist:!0})}d()}catch(a){d(a)}})},23086:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ll:()=>P,Nm:()=>O,TF:()=>v,vx:()=>Q});var e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(50920),l=c(7058),m=c(94284),n=c(7343),o=c(78598),p=c(4934),q=a([p]);function r(...a){return p.KZ(...a)}p=(q.then?(await q)():q)[0];let R="files-scan-snapshot.json",S=-1/0,T=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root||"openclaw-sessions"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine||"openclaw"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt||"openclaw"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||(b=a.authoritativeTurn,!!s(b)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt)))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(h().readFileSync((0,k.BQ)(R),"utf8"));if(!s(a)||1!==a.version||11!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){let b,c="create state directory",d=(0,k.BQ)(R);try{let e=(0,k.BQ)(R);d=e,h().mkdirSync(j().dirname(e),{recursive:!0,mode:448}),b=j().join(j().dirname(e),`.${j().basename(e)}.${process.pid}.${f().randomUUID()}.tmp`),c="write temporary snapshot",d=b,h().writeFileSync(b,JSON.stringify({version:1,schemaVersion:11,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=e,h().renameSync(b,e)}catch(e){if(void 0!==b)try{h().unlinkSync(b)}catch{}let a=Date.now();if(a-S>=6e4){S=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}function x(a){return s(a)&&"promise"in a?x(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function y(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function z(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function A(a,b){return b?.aborted?Promise.reject(z(b.reason)):(a.subscribers+=1,new Promise((c,d)=>{let e=!0,f=()=>{e&&(e=!1,b?.removeEventListener("abort",g),a.subscribers-=1,0!==a.subscribers||a.settled||a.controller.abort(z()))},g=()=>{f(),d(z(b?.reason))};b?.addEventListener("abort",g,{once:!0}),a.promise.then(a=>{e&&(f(),c(a))},a=>{e&&(f(),d(a))})}))}async function B(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function C(a,b,c,d,e){let f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g="ordinary"===c||"cold"===c;return B(a,b,c,async()=>{let c=await (0,p.uh)({fresh:f,join:g,signal:e},(b,c)=>r(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function D(a,b,c){let d=new AbortController,e=C(a,b,c,void 0,d.signal);return y(a,b,e,e,d)}function E(a,b,c){var d;let e,f,g,h,i,j,k;return d=(d,e)=>C(a,b,c,d,e),g=new AbortController,h=!1,(i=new Promise((a,b)=>{e=a,f=b})).catch(()=>{}),j=a=>{h||(h=!0,e(a))},(k=d(j,g.signal)).then(j,a=>{h||f(a)}),y(a,b,k,i,g)}function F(a,b){let c=!1,d=!1,e=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(c=!0,e.signal.aborted)throw z(e.signal.reason);if(d){if(!a.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return a.snapshot}return C(a,b,"ordinary",void 0,e.signal)}),g=y(a,b,f,f,e);return g.cancelBeforeStart=()=>!c&&(d=!0,!0),g}async function G(a,b,c,d="generation",e){for(;!a.snapshot||a.snapshotGeneration<b||void 0!==c&&(a.pinnedSnapshots?.get(c)?.generation??-1)<b;){let f=a.refresh??(c?function(a,b,c,d){let e=new AbortController,f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g=B(a,b,d,async()=>{let d=await (0,p.uh)({fresh:f,join:!1,exclusive:!0,signal:e.signal},(a,b)=>r(a,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,pin:c},b));if(!d.complete)throw Error("filesystem scan incomplete");let g=d.pinOverlayPaths??[],h=new Set(g),i={files:d.files.filter(a=>!h.has(a.path)),projectCatalog:d.projectCatalog,complete:!0};for(a.pinnedSnapshots??=new Map,a.pinnedSnapshots.delete(c),a.pinnedSnapshots.set(c,{snapshot:{...i,files:d.files},...g.length?{pinOverlayPaths:g}:{},generation:b,refreshedAt:Date.now()});a.pinnedSnapshots.size>8;){let b=a.pinnedSnapshots.keys().next().value;if(void 0===b)break;a.pinnedSnapshots.delete(b),a.pinnedGenerations?.delete(b)}return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(i),a.snapshot=i,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),i});return y(a,b,g,g,e)}(a,b,c,d):D(a,b,d));await A(f,e)}return a.snapshot}function H(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}function I(a,b,c,d){let e=performance.now(),f=b?H(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function J(a){return a.requestedGeneration+=1,a.requestedGeneration}function K(a){a.catch(()=>void 0)}function L(a,b,c){a.pinnedGenerations??=new Map;let d=Math.max(a.pinnedGenerations.get(b)??-1,c);for(a.pinnedGenerations.delete(b),a.pinnedGenerations.set(b,d);a.pinnedGenerations.size>8;){let b=a.pinnedGenerations.keys().next().value;if(void 0===b)break;a.pinnedGenerations.delete(b)}return d}function M(){let a=(T.__llvFilesRouteScans??=new Map,T.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let c of((0,n.X$)(a.files),a.files)){var b;let a;if(!0!==c.derivationComplete)continue;try{a=h().statSync(c.path)}catch{continue}if(a.size!==c.size||a.mtimeMs/1e3!==c.mtime)continue;let d=1e3*c.mtime,e=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(c);if(void 0!==e&&c.path.endsWith(".jsonl")&&(b=c.engine,"claude"===b||"codex"===b||"openclaw"===b)){let a=c.engine;(0,l.Ul)(c.path,c.size,d,a,e,{authoritative:!1,composerReleased:"pane_at_composer"===c.activityReason}),c.authoritativeTurn?(0,l.Ul)(c.path,c.size,d,a,c.authoritativeTurn,{composerReleased:"pane_at_composer"===c.activityReason}):("claude"!==a||"terminal"!==e.state)&&(0,l.Ul)(c.path,c.size,d,a,e,{composerReleased:"pane_at_composer"===c.activityReason})}"claude-projects"===c.root&&c.path.includes(`${j().sep}subagents${j().sep}`)||(0,m.E)("model").set(c.path,[c.size,d,{display:c.model,launch:c.launchModel??null}]),Object.hasOwn(c,"effort")&&("claude"!==c.engine||"running"!==c.proc)&&(0,m.E)("effort").set(c.path,[c.size,d,c.effort??null]),Object.hasOwn(c,"plan")&&(0,m.E)("plan-v2").set(c.path,[c.size,d,c.plan]),Object.hasOwn(c,"goal")&&(0,m.E)("goal-v2").set(c.path,[c.size,d,c.goal]),Object.hasOwn(c,"ctx")&&(0,m.E)("ctx-v2").set(c.path,[c.size,d,c.ctx]),Object.hasOwn(c,"lastTurn")&&(0,m.E)("last-turn-v5").set(c.path,[c.size,d,c.lastTurn]),Object.hasOwn(c,"pendingWakeup")&&(0,m.E)("wakeup-v2").set(c.path,[c.size,d,c.pendingWakeup]),"claude-projects"===c.root&&c.path.endsWith(".jsonl")&&(0,m.E)(o.oS).set(c.path,[c.size,d,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(c)])}}(b);let c={schemaVersion:11,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return h().statSync((0,k.BQ)(R)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&11===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=x(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||y(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:11,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=x(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});y(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}async function N(a,b,c=Date.now(),d,e){let f=M();f.requestCount=(f.requestCount??0)+1;let g=b&&!f.snapshot?.files.some(a=>a.path===b)?b:void 0,h=g?f.pinnedSnapshots?.get(g):void 0,i=void 0===g||void 0!==h,j=h?.refreshedAt??f.refreshedAt;if(void 0!==d&&f.snapshot&&i&&(void 0!==f.refresh&&f.refresh.generation>(h?.generation??f.snapshotGeneration)||f.lastScan?.reason==="revision"&&c-j<3e5)){let a=h?.generation??f.snapshotGeneration;return I(f,g,a,f.refresh?"stale":"hit")}let k=void 0!==e&&e<=f.requestedGeneration?e:void 0;if(void 0!==k)g&&(k=L(f,g,k));else if(void 0!==d){let a;f.forcedRevision===d&&void 0!==f.forcedGeneration?a=f.forcedGeneration:(a=J(f),f.forcedRevision=d,f.forcedGeneration=a),k=a,g&&(k=L(f,g,a));let b=G(f,k,g,"revision"),c=()=>{f.forcedGeneration===a&&(f.forcedRevision=void 0,f.forcedGeneration=void 0)};if(!f.snapshot)try{return await b,I(f,g,k,"miss")}finally{c()}b.then(c,c)}if(void 0!==k){let a=G(f,k,g,"generation"),b=!f.snapshot;return b?await a:K(a),I(f,g,k,b?"miss":void 0)}if(g){let a,b;f.pinnedSnapshots??=new Map;let d=H(f,g);if(d&&c-d.refreshedAt<1e3)return I(f,g,d.generation);a=f.pinnedGenerations?.get(g),b=f.pinnedSnapshots?.get(g)?.generation??-1,k=void 0!==a&&a>b?a:L(f,g,J(f));let e=G(f,k,g,"pinned"),h=!f.snapshot;return h?await e:K(e),I(f,g,k,h?"miss":void 0)}if(!f.snapshot){k=f.refresh?.generation??J(f);let a=f.refresh??D(f,k,"cold");return await A(a),I(f,void 0,k,"miss")}return f.refresh?k=f.refresh.generation:c-Math.max(f.refreshedAt,f.ordinaryRefreshRequestedAt??0)>=3e5?(k=J(f),f.ordinaryRefreshRequestedAt=c,F(f,k)):k=f.snapshotGeneration,I(f,void 0,k)}async function O({revalidate:a=!0,signal:b}={}){let c=M();if(c.requestCount=(c.requestCount??0)+1,c.snapshot){let b=Date.now();if(a&&!c.refresh&&b-Math.max(c.refreshedAt,c.ordinaryRefreshRequestedAt??0)>=3e5){let a=J(c);c.ordinaryRefreshRequestedAt=b,F(c,a)}return I(c,void 0,c.snapshotGeneration)}let d=c.refresh?.generation??J(c),e=c.refresh??D(c,d,"cold");return await A(e,b),I(c,void 0,d,"miss")}async function P({fresh:a=!1,now:b=Date.now()}={}){if(a){let a=M(),b=a.freshObservationGeneration??J(a);return a.freshObservationGeneration=b,await G(a,b,void 0,"fresh"),I(a,void 0,b)}let c=await N(void 0,void 0,b);if(c.generation>=c.targetGeneration)return c;let d=M();return await G(d,c.targetGeneration,void 0,"current"),I(d,void 0,c.targetGeneration)}async function Q(){let a,b=M();b.requestCount=(b.requestCount??0)+1;let c=b.freshObservationGeneration;if(void 0===c){let d=b.refresh;d?.cancelBeforeStart?.()?(c=J(b),b.freshObservationGeneration=c,a=E(b,c,"fresh")):d?c=d.generation:(c=J(b),b.freshObservationGeneration=c)}for(;;){let f=a??b.refresh??E(b,c,"fresh");a=void 0;let g=await f.resourcePromise;if(f.generation>=c){var d,e;return d=f.generation,e=c,{snapshot:g,generation:d,targetGeneration:e,cacheStatus:"miss",requestCount:b.requestCount??0,cloneDurationMs:0,refreshedAt:Date.now(),...b.lastScan?{lastScan:{...b.lastScan}}:{}}}await A(f)}}d()}catch(a){d(a)}})},96458:(a,b,c)=>{c.d(b,{PC:()=>q,hq:()=>p,hn:()=>o});var d=c(31421),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g);let i={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var j=c(31751),k=c(65377),l=c(20707);function m(){return new DOMException("file scan cancelled","AbortError")}function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a=process.cwd()){let b=h().join(a,"src/lib/fileScanner.worker.ts"),c=h().join(a,".next/server/file-scanner-worker.js");return f().existsSync(b)&&f().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:f().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:f().existsSync(b)?{executable:process.execPath,workerPath:b}:null}function p(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}function q(a,b,c={}){if(c.signal?.aborted)return Promise.reject(m());let e=c.launch??o(c.cwd);if(!e)return Promise.reject(Error("this process has no file scanner worker artifact"));let g=(0,l.FX)(!1),h=void 0===c.launch&&f().existsSync("/usr/bin/nice"),p=(0,d.spawn)(h?"/usr/bin/nice":e.executable,[...h?["-n","10",e.executable]:[],e.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,k.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,e)=>{let f,h,k=c.scheduler??i,o=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{o||(o=!0,void 0!==h&&(k.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?e(a):d(b))},x=a=>{if(!o&&!v){v=a;try{p.kill("SIGKILL")}catch{}(null!==p.exitCode||null!==p.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(m()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return n(a)&&("resource"===a.type||"complete"===a.type)&&n(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;f=a,u=b}}};h=k.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),p.once("error",a=>w(a)),p.stdout.setEncoding("utf8"),p.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),p.stderr.setEncoding("utf8"),p.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),p.once("close",(a,b)=>{if(!o){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(f){let a=(0,l.pu)(g);(0,l.OQ)(f,g,u.complete),a&&(c.transcriptIndexScheduler??j.O)({complete:u.complete,sources:f.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}w(void 0,u)}}),p.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),p.stdin.end(JSON.stringify({type:"scan",options:a}))})}}};
|
|
1
|
+
"use strict";exports.id=3086,exports.ids=[3086],exports.modules={4934:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{KZ:()=>h,uh:()=>k,wj:()=>l});var e=c(803),f=c(96458),g=a([e]);e=(g.then?(await g)():g)[0];let m=globalThis;function h(a,b={},c=new AbortController().signal){let d={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(i(c.reason));if(!(0,f.hq)()||null===(0,f.hn)())return(0,e.SW)(void 0,{...d,signal:c}).then(a=>{if(c.aborted)throw i(c.reason);return a});let{onResourceSnapshot:g,...j}=d;return(0,f.PC)(j,g,{signal:c})}let n=(a,b)=>h(a,{},b);function i(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function j(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(i()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(i())}async function k(a={},b=n){var c,d;let e=m.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw i(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,l=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(j(e,l),Promise.reject(i(d.reason))):(l.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),l.subscribers-=1,j(e,l))},g=()=>{f(),b(i(d?.reason))};d?.addEventListener("abort",g,{once:!0}),l.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function l(){return k({persist:!0})}d()}catch(a){d(a)}})},23086:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ll:()=>P,Nm:()=>O,TF:()=>v,vx:()=>Q});var e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(76760),j=c.n(i),k=c(50920),l=c(7058),m=c(94284),n=c(7343),o=c(78598),p=c(4934),q=a([p]);function r(...a){return p.KZ(...a)}p=(q.then?(await q)():q)[0];let R="files-scan-snapshot.json",S=-1/0,T=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root||"openclaw-sessions"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine||"openclaw"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt||"openclaw"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||(b=a.authoritativeTurn,!!s(b)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt)))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(h().readFileSync((0,k.BQ)(R),"utf8"));if(!s(a)||1!==a.version||11!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){let b,c="create state directory",d=(0,k.BQ)(R);try{let e=(0,k.BQ)(R);d=e,h().mkdirSync(j().dirname(e),{recursive:!0,mode:448}),b=j().join(j().dirname(e),`.${j().basename(e)}.${process.pid}.${f().randomUUID()}.tmp`),c="write temporary snapshot",d=b,h().writeFileSync(b,JSON.stringify({version:1,schemaVersion:11,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=e,h().renameSync(b,e)}catch(e){if(void 0!==b)try{h().unlinkSync(b)}catch{}let a=Date.now();if(a-S>=6e4){S=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}function x(a){return s(a)&&"promise"in a?x(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function y(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function z(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function A(a,b){return b?.aborted?Promise.reject(z(b.reason)):(a.subscribers+=1,new Promise((c,d)=>{let e=!0,f=()=>{e&&(e=!1,b?.removeEventListener("abort",g),a.subscribers-=1,0!==a.subscribers||a.settled||a.controller.abort(z()))},g=()=>{f(),d(z(b?.reason))};b?.addEventListener("abort",g,{once:!0}),a.promise.then(a=>{e&&(f(),c(a))},a=>{e&&(f(),d(a))})}))}async function B(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function C(a,b,c,d,e){let f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g="ordinary"===c||"cold"===c;return B(a,b,c,async()=>{let c=await (0,p.uh)({fresh:f,join:g,signal:e},(b,c)=>r(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function D(a,b,c){let d=new AbortController,e=C(a,b,c,void 0,d.signal);return y(a,b,e,e,d)}function E(a,b,c){var d;let e,f,g,h,i,j,k;return d=(d,e)=>C(a,b,c,d,e),g=new AbortController,h=!1,(i=new Promise((a,b)=>{e=a,f=b})).catch(()=>{}),j=a=>{h||(h=!0,e(a))},(k=d(j,g.signal)).then(j,a=>{h||f(a)}),y(a,b,k,i,g)}function F(a,b){let c=!1,d=!1,e=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(c=!0,e.signal.aborted)throw z(e.signal.reason);if(d){if(!a.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return a.snapshot}return C(a,b,"ordinary",void 0,e.signal)}),g=y(a,b,f,f,e);return g.cancelBeforeStart=()=>!c&&(d=!0,!0),g}async function G(a,b,c,d="generation",e){for(;!a.snapshot||a.snapshotGeneration<b||void 0!==c&&(a.pinnedSnapshots?.get(c)?.generation??-1)<b;){let f=a.refresh??(c?function(a,b,c,d){let e=new AbortController,f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g=B(a,b,d,async()=>{let d=await (0,p.uh)({fresh:f,join:!1,exclusive:!0,signal:e.signal},(a,b)=>r(a,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,pin:c},b));if(!d.complete)throw Error("filesystem scan incomplete");let g=d.pinOverlayPaths??[],h=new Set(g),i={files:d.files.filter(a=>!h.has(a.path)),projectCatalog:d.projectCatalog,complete:!0};for(a.pinnedSnapshots??=new Map,a.pinnedSnapshots.delete(c),a.pinnedSnapshots.set(c,{snapshot:{...i,files:d.files},...g.length?{pinOverlayPaths:g}:{},generation:b,refreshedAt:Date.now()});a.pinnedSnapshots.size>8;){let b=a.pinnedSnapshots.keys().next().value;if(void 0===b)break;a.pinnedSnapshots.delete(b),a.pinnedGenerations?.delete(b)}return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(i),a.snapshot=i,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),i});return y(a,b,g,g,e)}(a,b,c,d):D(a,b,d));await A(f,e)}return a.snapshot}function H(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}function I(a,b,c,d){let e=performance.now(),f=b?H(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function J(a){return a.requestedGeneration+=1,a.requestedGeneration}function K(a){a.catch(()=>void 0)}function L(a,b,c){a.pinnedGenerations??=new Map;let d=Math.max(a.pinnedGenerations.get(b)??-1,c);for(a.pinnedGenerations.delete(b),a.pinnedGenerations.set(b,d);a.pinnedGenerations.size>8;){let b=a.pinnedGenerations.keys().next().value;if(void 0===b)break;a.pinnedGenerations.delete(b)}return d}function M(){let a=(T.__llvFilesRouteScans??=new Map,T.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let c of((0,n.X$)(a.files),a.files)){var b;let a;if(!0!==c.derivationComplete)continue;try{a=h().statSync(c.path)}catch{continue}if(a.size!==c.size||a.mtimeMs/1e3!==c.mtime)continue;let d=1e3*c.mtime,e=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(c);if(void 0!==e&&c.path.endsWith(".jsonl")&&(b=c.engine,"claude"===b||"codex"===b||"openclaw"===b)){let a=c.engine;(0,l.Ul)(c.path,c.size,d,a,e,{authoritative:!1,composerReleased:"pane_at_composer"===c.activityReason}),c.authoritativeTurn?(0,l.Ul)(c.path,c.size,d,a,c.authoritativeTurn,{composerReleased:"pane_at_composer"===c.activityReason}):("claude"!==a||"terminal"!==e.state)&&(0,l.Ul)(c.path,c.size,d,a,e,{composerReleased:"pane_at_composer"===c.activityReason})}"claude-projects"===c.root&&c.path.includes(`${j().sep}subagents${j().sep}`)||(0,m.E)("model").set(c.path,[c.size,d,{display:c.model,launch:c.launchModel??null}]),Object.hasOwn(c,"effort")&&("claude"!==c.engine||"running"!==c.proc)&&(0,m.E)("effort").set(c.path,[c.size,d,c.effort??null]),Object.hasOwn(c,"plan")&&(0,m.E)("plan-v2").set(c.path,[c.size,d,c.plan]),Object.hasOwn(c,"goal")&&(0,m.E)("goal-v2").set(c.path,[c.size,d,c.goal]),Object.hasOwn(c,"ctx")&&(0,m.E)("ctx-v2").set(c.path,[c.size,d,c.ctx]),Object.hasOwn(c,"lastTurn")&&(0,m.E)("last-turn-v5").set(c.path,[c.size,d,c.lastTurn]),Object.hasOwn(c,"pendingWakeup")&&(0,m.E)("wakeup-v2").set(c.path,[c.size,d,c.pendingWakeup]),"claude-projects"===c.root&&c.path.endsWith(".jsonl")&&(0,m.E)(o.oS).set(c.path,[c.size,d,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(c)])}}(b);let c={schemaVersion:11,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return h().statSync((0,k.BQ)(R)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&11===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=x(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||y(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:11,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=x(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});y(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}async function N(a,b,c=Date.now(),d,e){let f=M();f.requestCount=(f.requestCount??0)+1;let g=b&&!f.snapshot?.files.some(a=>a.path===b)?b:void 0,h=g?f.pinnedSnapshots?.get(g):void 0,i=void 0===g||void 0!==h,j=h?.refreshedAt??f.refreshedAt;if(void 0!==d&&f.snapshot&&i&&(void 0!==f.refresh&&f.refresh.generation>(h?.generation??f.snapshotGeneration)||f.lastScan?.reason==="revision"&&c-j<3e5)){let a=h?.generation??f.snapshotGeneration;return I(f,g,a,f.refresh?"stale":"hit")}let k=void 0!==e&&e<=f.requestedGeneration?e:void 0;if(void 0!==k)g&&(k=L(f,g,k));else if(void 0!==d){let a;f.forcedRevision===d&&void 0!==f.forcedGeneration?a=f.forcedGeneration:(a=J(f),f.forcedRevision=d,f.forcedGeneration=a),k=a,g&&(k=L(f,g,a));let b=G(f,k,g,"revision"),c=()=>{f.forcedGeneration===a&&(f.forcedRevision=void 0,f.forcedGeneration=void 0)};if(!f.snapshot)try{return await b,I(f,g,k,"miss")}finally{c()}b.then(c,c)}if(void 0!==k){let a=G(f,k,g,"generation"),b=!f.snapshot;return b?await a:K(a),I(f,g,k,b?"miss":void 0)}if(g){let a,b;f.pinnedSnapshots??=new Map;let d=H(f,g);if(d&&c-d.refreshedAt<1e3)return I(f,g,d.generation);a=f.pinnedGenerations?.get(g),b=f.pinnedSnapshots?.get(g)?.generation??-1,k=void 0!==a&&a>b?a:L(f,g,J(f));let e=G(f,k,g,"pinned"),h=!f.snapshot;return h?await e:K(e),I(f,g,k,h?"miss":void 0)}if(!f.snapshot){k=f.refresh?.generation??J(f);let a=f.refresh??D(f,k,"cold");return await A(a),I(f,void 0,k,"miss")}return f.refresh?k=f.refresh.generation:c-Math.max(f.refreshedAt,f.ordinaryRefreshRequestedAt??0)>=3e5?(k=J(f),f.ordinaryRefreshRequestedAt=c,F(f,k)):k=f.snapshotGeneration,I(f,void 0,k)}async function O({revalidate:a=!0,signal:b}={}){let c=M();if(c.requestCount=(c.requestCount??0)+1,c.snapshot){let b=Date.now();if(a&&!c.refresh&&b-Math.max(c.refreshedAt,c.ordinaryRefreshRequestedAt??0)>=3e5){let a=J(c);c.ordinaryRefreshRequestedAt=b,F(c,a)}return I(c,void 0,c.snapshotGeneration)}let d=c.refresh?.generation??J(c),e=c.refresh??D(c,d,"cold");return await A(e,b),I(c,void 0,d,"miss")}async function P({fresh:a=!1,now:b=Date.now()}={}){if(a){let a=M(),b=a.freshObservationGeneration??J(a);return a.freshObservationGeneration=b,await G(a,b,void 0,"fresh"),I(a,void 0,b)}let c=await N(void 0,void 0,b);if(c.generation>=c.targetGeneration)return c;let d=M();return await G(d,c.targetGeneration,void 0,"current"),I(d,void 0,c.targetGeneration)}async function Q(){let a,b=M();b.requestCount=(b.requestCount??0)+1;let c=b.freshObservationGeneration;if(void 0===c){let d=b.refresh;d?.cancelBeforeStart?.()?(c=J(b),b.freshObservationGeneration=c,a=E(b,c,"fresh")):d?c=d.generation:(c=J(b),b.freshObservationGeneration=c)}for(;;){let f=a??b.refresh??E(b,c,"fresh");a=void 0;let g=await f.resourcePromise;if(f.generation>=c){var d,e;return d=f.generation,e=c,{snapshot:g,generation:d,targetGeneration:e,cacheStatus:"miss",requestCount:b.requestCount??0,cloneDurationMs:0,refreshedAt:Date.now(),...b.lastScan?{lastScan:{...b.lastScan}}:{}}}await A(f)}}d()}catch(a){d(a)}})},96458:(a,b,c)=>{c.d(b,{PC:()=>q,hq:()=>p,hn:()=>o});var d=c(31421),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g);let i={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var j=c(31751),k=c(65377),l=c(8638);function m(){return new DOMException("file scan cancelled","AbortError")}function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a=process.cwd()){let b=h().join(a,"src/lib/fileScanner.worker.ts"),c=h().join(a,".next/server/file-scanner-worker.js");return f().existsSync(b)&&f().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:f().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:f().existsSync(b)?{executable:process.execPath,workerPath:b}:null}function p(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}function q(a,b,c={}){if(c.signal?.aborted)return Promise.reject(m());let e=c.launch??o(c.cwd);if(!e)return Promise.reject(Error("this process has no file scanner worker artifact"));let g=(0,l.FX)(!1),h=void 0===c.launch&&f().existsSync("/usr/bin/nice"),p=(0,d.spawn)(h?"/usr/bin/nice":e.executable,[...h?["-n","10",e.executable]:[],e.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,k.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((d,e)=>{let f,h,k=c.scheduler??i,o=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{o||(o=!0,void 0!==h&&(k.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?e(a):d(b))},x=a=>{if(!o&&!v){v=a;try{p.kill("SIGKILL")}catch{}(null!==p.exitCode||null!==p.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(m()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return n(a)&&("resource"===a.type||"complete"===a.type)&&n(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;f=a,u=b}}};h=k.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),p.once("error",a=>w(a)),p.stdout.setEncoding("utf8"),p.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),p.stderr.setEncoding("utf8"),p.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),p.once("close",(a,b)=>{if(!o){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(f){let a=(0,l.pu)(g);(0,l.OQ)(f,g,u.complete),a&&(c.transcriptIndexScheduler??j.O)({complete:u.complete,sources:f.flatMap(a=>"openclaw"===a.engine?[]:[{path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}])})}w(void 0,u)}}),p.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),p.stdin.end(JSON.stringify({type:"scan",options:a}))})}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3131,exports.ids=[3131],exports.modules={23131:(a,b,c)=>{c.d(b,{runIdentityWaveMigrationAtStartup:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(22962),i=c(78966),j=c(91724),k=c(15408),l=c(70107),m=c(30795),n=c(10781),o=c(80508),p=c(10230),q=c(90754);function r(a){let b=a&&"object"==typeof a?a.code:void 0;return"ENOENT"===b||"ENOTDIR"===b}function s(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/).find(a=>a.trim());return(0,m.St)(b,120)}function t(a,b){try{let c=e().statSync(a);if(!c.isFile())return null;let d=(0,l.fy)(a,c.size,b);return s(d.title)??s(d.firstPrompt)}catch(a){if(r(a))return null;throw a}}function u(a,b=g().join((0,i.Hy)(),"projects"),c=(0,i.o1)()){let d=g().relative(b,a);if(!d||".."===d||d.startsWith(`..${g().sep}`)||g().isAbsolute(d))return null;let f=g().join(c,d);if(f===a)return null;try{let d=e().statSync(f);if(!d.isFile())return null;let g=!1;try{g=e().realpathSync.native(b)===e().realpathSync.native(c)}catch(a){if(!r(a))throw a}let h=!1;try{let b=e().statSync(a);h=b.isFile()&&b.dev===d.dev&&b.ino===d.ino}catch(a){if(!r(a))throw a}return{sharedPath:f,identityEquivalent:g||h}}catch(a){if(r(a))return null;throw a}}function v(a={}){let b=a.env??process.env,c="1"===b.LLV_IDENTITY_WAVE_DRY_RUN,d={registry:a.registry??(c?function(a,b=process.env){return{runIdentityWaveMigration:c=>(0,q.Oy)(function(a=(0,j.BQ)("agent-registry.json"),b=process.env){let c,d=(0,o.Ej)(a,b),f="read"===d.mode||"sqlite"===d.mode,g=function(a){try{return e().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}}(a);if(null===g){if(f)throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror is absent; start the registry writer once so it refreshes the mirror`);return(0,n.l5)({version:2,entries:{},receipts:{}})}try{c=JSON.parse(g)}catch(a){throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}if(f){let a=c?._sqliteRevision;if(!Number.isInteger(a)||0>Number(a))throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror carries no SQLite revision stamp; start the registry writer once so it refreshes the mirror`)}return(0,p.$q)((0,n.l5)(c))}(a,b),{...c,dryRun:!0})}}(void 0,b):(0,n.agentRegistry)()),seats:a.seats??k.
|
|
1
|
+
"use strict";exports.id=3131,exports.ids=[3131],exports.modules={23131:(a,b,c)=>{c.d(b,{runIdentityWaveMigrationAtStartup:()=>v});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(22962),i=c(78966),j=c(91724),k=c(15408),l=c(70107),m=c(30795),n=c(10781),o=c(80508),p=c(10230),q=c(90754);function r(a){let b=a&&"object"==typeof a?a.code:void 0;return"ENOENT"===b||"ENOTDIR"===b}function s(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/).find(a=>a.trim());return(0,m.St)(b,120)}function t(a,b){try{let c=e().statSync(a);if(!c.isFile())return null;let d=(0,l.fy)(a,c.size,b);return s(d.title)??s(d.firstPrompt)}catch(a){if(r(a))return null;throw a}}function u(a,b=g().join((0,i.Hy)(),"projects"),c=(0,i.o1)()){let d=g().relative(b,a);if(!d||".."===d||d.startsWith(`..${g().sep}`)||g().isAbsolute(d))return null;let f=g().join(c,d);if(f===a)return null;try{let d=e().statSync(f);if(!d.isFile())return null;let g=!1;try{g=e().realpathSync.native(b)===e().realpathSync.native(c)}catch(a){if(!r(a))throw a}let h=!1;try{let b=e().statSync(a);h=b.isFile()&&b.dev===d.dev&&b.ino===d.ino}catch(a){if(!r(a))throw a}return{sharedPath:f,identityEquivalent:g||h}}catch(a){if(r(a))return null;throw a}}function v(a={}){let b=a.env??process.env,c="1"===b.LLV_IDENTITY_WAVE_DRY_RUN,d={registry:a.registry??(c?function(a,b=process.env){return{runIdentityWaveMigration:c=>(0,q.Oy)(function(a=(0,j.BQ)("agent-registry.json"),b=process.env){let c,d=(0,o.Ej)(a,b),f="read"===d.mode||"sqlite"===d.mode,g=function(a){try{return e().readFileSync(a,"utf8")}catch(a){if("ENOENT"===a.code)return null;throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}}(a);if(null===g){if(f)throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror is absent; start the registry writer once so it refreshes the mirror`);return(0,n.l5)({version:2,entries:{},receipts:{}})}try{c=JSON.parse(g)}catch(a){throw new n.Ou(`agent registry cannot be read: ${a instanceof Error?a.message:String(a)}`)}if(f){let a=c?._sqliteRevision;if(!Number.isInteger(a)||0>Number(a))throw new n.Ou(`agent registry dry-run cannot preview the ${d.mode} backend: the JSON rollback mirror carries no SQLite revision stamp; start the registry writer once so it refreshes the mirror`)}return(0,p.$q)((0,n.l5)(c))}(a,b),{...c,dryRun:!0})}}(void 0,b):(0,n.agentRegistry)()),seats:a.seats??k.activeOrchestratorSeatsForMigration,now:a.now??(()=>new Date().toISOString()),transcriptTitle:a.transcriptTitle??t,sharedPath:a.sharedPath??u,commitExternalPathRekeys:a.commitExternalPathRekeys??k.rekeyOrchestratorSeatPaths,log:a.log??((a,b)=>console.info(a,b)),env:b},f=()=>d.registry.runIdentityWaveMigration({dryRun:c,now:d.now(),transcriptTitle:d.transcriptTitle,sharedPathForLegacy:d.sharedPath,orchestratorSeats:d.seats(),commitExternalPathRekeys:d.commitExternalPathRekeys}),g=c?f():(0,h.oV)(f);return d.log("[identity-wave] registry migration",{dryRun:g.dryRun,alreadyCompleted:g.alreadyCompleted,retitled:g.retitled,rekeyed:g.rekeyed,quarantinedRekeys:g.quarantinedRekeys,edgesStamped:g.edgesStamped}),g}}};
|