@unbrained/pm-cli 2026.9.19 → 2026.9.21
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/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +954 -924
- package/dist/cli/main.d.ts +10 -76
- package/dist/cli/main.js +1 -2
- package/dist/cli/register-operations.js +1 -1
- package/dist/cli/runtime/activation.d.ts +51 -0
- package/dist/cli/runtime/activation.js +2 -0
- package/dist/cli/runtime/invocation-options.d.ts +41 -0
- package/dist/cli/runtime/invocation-options.js +2 -0
- package/dist/cli/runtime/selection.d.ts +29 -0
- package/dist/cli/runtime/selection.js +2 -0
- package/dist/cli/runtime/telemetry-outcome.d.ts +20 -0
- package/dist/cli/runtime/telemetry-outcome.js +2 -0
- package/dist/cli-bundle/bundle-manifest.json +150 -150
- package/dist/cli-bundle/chunks/{chunk-QA4GUEKJ.js → chunk-2QLXN6HZ.js} +46 -46
- package/dist/cli-bundle/chunks/chunk-2UNYUB4A.js +2 -0
- package/dist/cli-bundle/chunks/chunk-4SI67A2F.js +8 -0
- package/dist/cli-bundle/chunks/chunk-7YUYLYJQ.js +6 -0
- package/dist/cli-bundle/chunks/{chunk-7CN53F4S.js → chunk-FBWAECBI.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-GRHSNUQO.js +20 -0
- package/dist/cli-bundle/chunks/chunk-HAFSMFJK.js +3 -0
- package/dist/cli-bundle/chunks/chunk-JBJUOOJI.js +238 -0
- package/dist/cli-bundle/chunks/chunk-K7RWRJLT.js +29 -0
- package/dist/cli-bundle/chunks/chunk-NHRB3L5T.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-CCLWCESZ.js → chunk-QZTS23BV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-K4VAU4HU.js → chunk-SDLBF4PY.js} +1252 -1252
- package/dist/cli-bundle/chunks/{register-list-query-RMZNHSII.js → register-list-query-5V43MYPN.js} +6 -6
- package/dist/cli-bundle/chunks/{register-mutation-HJGSGX3H.js → register-mutation-DXES37MA.js} +4 -4
- package/dist/cli-bundle/chunks/register-operations-LJU5H2CU.js +2 -0
- package/dist/cli-bundle/chunks/register-setup-HJUNGYBB.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-3XPBKIV6.js +12 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7Y7PAC56.js → chunk-5BLRMUMK.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-5SZ4JSPZ.js → chunk-6MNKQKT6.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-IKPR4VVN.js → chunk-DPBTIFW7.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-J3GN4SQT.js → chunk-DRNXMOSV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-P4BA7OX7.js → chunk-FXAZPSU6.js} +7 -7
- package/dist/cli-bundle/focused-chunks/{chunk-ARK4FIO4.js → chunk-HYPK5OPA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-I4WDON3K.js → chunk-IA5CCSBB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-CJ4QA4RW.js → chunk-ISEOBALS.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ZI2YBJFH.js → chunk-K5ZCBC6Y.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-V3YMNAO7.js → chunk-L6L4XCLY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TDHVROGL.js → chunk-N6KI3LWF.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-PC6ZZVNP.js +20 -0
- package/dist/cli-bundle/focused-chunks/chunk-RQL5WLNZ.js +30 -0
- package/dist/cli-bundle/focused-chunks/{chunk-ZDBKYZFE.js → chunk-U2SB2BMM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-YDFEWXXZ.js → chunk-UIS5FVHH.js} +53 -53
- package/dist/cli-bundle/main.js +26 -27
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +39 -39
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +42 -42
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +8 -8
- package/dist/core/diagnostics/remediation.js +1 -1
- package/dist/core/extensions/extension-types.d.ts +2 -2
- package/dist/core/extensions/loader.d.ts +9 -15
- package/dist/core/extensions/loader.js +1 -1
- package/dist/core/extensions/manifest-parser.d.ts +5 -0
- package/dist/core/extensions/manifest-parser.js +2 -0
- package/dist/core/extensions/registration-contracts.d.ts +34 -0
- package/dist/core/extensions/registration-contracts.js +2 -0
- package/dist/core/governance/issue-codes.d.ts +10 -1
- package/dist/core/governance/issue-codes.js +1 -1
- package/dist/core/validate/fix-planning.d.ts +3 -3
- package/dist/core/validate/fix-planning.js +1 -1
- package/dist/sdk/agent/refusal-reachability.d.ts +1 -1
- package/dist/sdk/completion/bash.d.ts +3 -0
- package/dist/sdk/completion/bash.js +2 -0
- package/dist/sdk/completion/fish.d.ts +3 -0
- package/dist/sdk/completion/fish.js +1054 -0
- package/dist/sdk/completion/shared.d.ts +103 -0
- package/dist/sdk/completion/shared.js +2 -0
- package/dist/sdk/completion/zsh.d.ts +3 -0
- package/dist/sdk/completion/zsh.js +1109 -0
- package/dist/sdk/completion.d.ts +5 -30
- package/dist/sdk/completion.js +1 -2160
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/closure-timestamps.d.ts +32 -0
- package/dist/sdk/governance/closure-timestamps.js +2 -0
- package/dist/sdk/governance/validate-normalization.d.ts +2 -0
- package/dist/sdk/governance/validate-normalization.js +1 -1
- package/dist/sdk/governance/validate.js +1 -1
- package/dist/sdk/governance.d.ts +1 -0
- package/dist/sdk/governance.js +1 -1
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/search/corpus.d.ts +27 -0
- package/dist/sdk/query/search/corpus.js +2 -0
- package/dist/sdk/query/search/filters.d.ts +27 -0
- package/dist/sdk/query/search/filters.js +2 -0
- package/dist/sdk/query/search/input.d.ts +28 -0
- package/dist/sdk/query/search/input.js +2 -0
- package/dist/sdk/query/search/lexical.d.ts +34 -0
- package/dist/sdk/query/search/lexical.js +2 -0
- package/dist/sdk/query/search/response.d.ts +34 -0
- package/dist/sdk/query/search/response.js +2 -0
- package/dist/sdk/query/search/semantic.d.ts +229 -0
- package/dist/sdk/query/search/semantic.js +3 -0
- package/dist/sdk/query/search/types.d.ts +123 -0
- package/dist/sdk/query/search/types.js +2 -0
- package/dist/sdk/query/search.d.ts +13 -364
- package/dist/sdk/query/search.js +1 -2
- package/dist/sdk/runtime/actions.d.ts +4 -0
- package/dist/sdk/runtime/actions.js +2 -0
- package/dist/sdk/runtime/context.d.ts +38 -0
- package/dist/sdk/runtime/context.js +2 -0
- package/dist/sdk/runtime/schema.d.ts +4 -0
- package/dist/sdk/runtime/schema.js +2 -0
- package/dist/sdk/runtime.d.ts +90 -95
- package/dist/sdk/runtime.js +1 -1
- package/docs/ARCHITECTURE.md +68 -0
- package/docs/HISTORY_GOVERNANCE_REPAIR.md +66 -0
- package/docs/README.md +2 -0
- package/docs/VALIDATION_PORTABILITY.md +82 -0
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
- package/marketplace.json +2 -2
- package/package.json +6 -6
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +23 -17
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-AACGU5IA.js +0 -3
- package/dist/cli-bundle/chunks/chunk-J7NP7QLW.js +0 -6
- package/dist/cli-bundle/chunks/chunk-KHN4NMKT.js +0 -238
- package/dist/cli-bundle/chunks/chunk-KYG2QKNY.js +0 -29
- package/dist/cli-bundle/chunks/chunk-OQS2Y6VN.js +0 -2
- package/dist/cli-bundle/chunks/chunk-QTHR3LXF.js +0 -20
- package/dist/cli-bundle/chunks/chunk-RVMDPIGD.js +0 -2
- package/dist/cli-bundle/chunks/chunk-WASMH647.js +0 -8
- package/dist/cli-bundle/chunks/register-operations-LBEMFUMM.js +0 -2
- package/dist/cli-bundle/chunks/register-setup-MU557JAA.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-I32L3FWW.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-OOZHQFBF.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-QL4MO5M2.js +0 -30
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import{$d as Yt,$j as U,Ah as nn,Ci as Yo,Df as Jt,Di as Z,Dj as ts,E as hr,Eh as rn,Ei as Xo,Ff as No,Fi as Jo,Fj as ns,Ge,He as Co,Hj as mn,Ie as So,Ij as rs,Je as To,Jf as br,Kb as ne,Ke as Ro,Kf as Qt,Le as xo,Lf as Ie,Md as wo,Mf as ce,N as fo,O as g,Oi as Sr,Pa as Ue,Pb as zt,Pd as ye,Pe as Ke,Pf as $o,Pi as ln,Pn as ds,Q as _,Qf as ze,Qj as is,Rc as D,Rd as yr,S as K,Sh as Er,Tg as Zt,Ua as _r,Uj as os,Va as Gt,Vh as Po,Wa as go,Wh as Ir,Wj as qe,Xh as on,Ye as Do,Yh as Ve,Zd as J,Zi as Qo,_c as Vt,_i as Zo,ab as L,ad as Wt,ak as de,ba as R,bb as Kt,bd as vo,bg as wr,bk as Se,cb as _o,ci as sn,cj as Tr,ck as ss,da as gr,df as ve,di as jo,dk as as,ea as Ht,ec as E,ef as Ao,ei as Uo,ek as le,eo as ue,fa as I,ff as Xt,fk as pn,fo as fe,ga as mo,gc as re,gd as bo,gi as Bo,ha as _e,ib as O,ii as an,jf as Oo,ji as Ho,ke as Q,kf as Lo,ki as Go,le as x,lf as Fo,me as j,mf as vr,n as pr,ne as He,nf as Mo,o as Bt,oa as po,ob as Be,oj as un,p as je,pi as We,pj as fn,q as ae,qa as ho,qe as ko,qi as Ko,qm as be,r as ge,rd as qt,re as Eo,ri as zo,s as q,se as Io,si as Vo,t as uo,ti as Wo,ug as kr,ui as Ce,uj as es,vi as Cr,vm as cs,wh as en,wi as qo,xc as yo,xi as cn,xj as F,yh as tn,yi as xe,zi as dn}from"./chunk-KHN4NMKT.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e252abd5-9585-56f7-9fc2-7b20459a2238")}catch{}})();async function Rr(e){let t=O(process.cwd(),e);await U(t);let n=await F(t),r=L(n,D());return{pmRoot:t,settings:n,typeRegistry:r}}async function hn(e,t,n,r){Be(e,Sr(t));let i=await de(e,t,n.id_prefix,n.item_format,r);if(i)return{id:i.id,historyPath:Be(e,i.id),located:i};let o=ln(t,n.id_prefix),s=Sr(t),a=o===s?[o]:[o,s];for(let c of a){let d=Be(e,c);if(await Bt(d))return{id:c,historyPath:d,located:null}}throw new _(`Item ${t} not found`,g.NOT_FOUND)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function Bb(e,t){let n=Ce(e),r=e.length>0?e[e.length-1].after_hash:Ho(),i=t===void 0||n.item_hash_version===void 0?void 0:an(t,n.item_hash_version,ye(e.at(-1)?.hash_algorithm)),o=t===void 0?void 0:i===void 0?Bo(t):i[Math.max(0,i.indexOf(r))],s=o===void 0?void 0:o===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:o,current_matches_latest:s}}async function Hb(e,t,n={}){let r=O(n.cwd??process.cwd(),n.pmRoot);await U(r);let i=await F(r),o=L(i,D()),s=await hn(r,e,i,o.type_to_folder),a=await Xt(s.historyPath,s.id);if(a.length===0)throw new _(`No history exists for ${s.id}; point-in-time reads are unavailable.`,g.NOT_FOUND);let c=ns(t,a),d=rs(mn(a,c.historyIndex),c),l=zo(d,{schema:i.schema});if(l.metadata.id!==s.id)throw new _(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,g.GENERIC_FAILURE);let u=a[c.historyIndex],f=ts(a,!0);return{document:l,reconstructed:!0,as_of_version:f===null?null:f+c.historyIndex+1,as_of_timestamp:u.ts,target:c,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b3394526-5a20-5881-9a03-411ada32bd49")}catch{}})();function Vd(e,t,n,r,i,o){if(e.seen.has(t))return"skip";if(e.cursorFound&&e.affected.length>=o)return"truncate";e.seen.add(t),e.parents.set(t,n.id);let s=n.depth+1;return e.queue.push({id:t,depth:s}),e.cursorFound?(e.affected.push({id:t,distance:s,path:Zd(r,t,e.parents)}),"continue"):(e.cursorFound=t===i,"skip")}function us(e,t,n,r){let i=Ie("graph impact",{root:e,direction:n,kinds:[...t.kinds??[]].sort(),max_depth:Number.isFinite(r)?r:"unbounded"});return{fingerprint:i,after:t.after===void 0?void 0:$o(t.after,i)}}function Ye(e,t,n){e.get(t).add(n)}function ut(e){return new Map(e.map(t=>[t,new Set]))}function fs(e){for(let t of e)t.sort();return e.sort((t,n)=>n.length-t.length||t[0].localeCompare(n[0]))}function gn(e){if(Array.isArray(e))return e.map(n=>gn(n));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?gn(t.call(e)):Object.fromEntries(Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>[n,gn(r)]))}function ls(e){return JSON.stringify(gn(e))}function Wd(e,t,n,r){let i=[{id:e,expanded:!1}];for(;i.length>0;){let o=i.pop();if(o.expanded){r.push(o.id);continue}if(n.has(o.id))continue;n.add(o.id),i.push({id:o.id,expanded:!0});let s=[...t.get(o.id)].sort().reverse();for(let a of s)n.has(a)||i.push({id:a,expanded:!1})}}function qd(e,t){let n=new Set,r=[];for(let i of e)n.has(i)||Wd(i,t,n,r);return r}function Yd(e,t){let n=new Set,r=[];for(let i of[...e].reverse()){if(n.has(i))continue;let o=[],s=[i];for(n.add(i);s.length>0;){let a=s.pop();o.push(a);for(let c of t.get(a))n.has(c)||(n.add(c),s.push(c))}r.push(o)}return fs(r)}function ms(e,t){let n=ut(e);for(let[r,i]of t)for(let o of i)Ye(n,o,r);return Yd(qd(e,t),n)}function Xd(e,t){let n=ut(e.nodes());for(let r of e.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let o=(i.precedence??"source_before_target")==="source_before_target";Ye(n,o?r.source:r.target,o?r.target:r.source)}return n}function Jd(e,t){let n=new Map(e.map(o=>[o,0]));for(let o of t.values())for(let s of o)n.set(s,n.get(s)+1);let r=e.filter(o=>n.get(o)===0).sort(),i=[];for(;r.length>0;){i.push(r);let o=[];for(let s of r)for(let a of t.get(s)){let c=n.get(a)-1;n.set(a,c),c===0&&o.push(a)}r=o.sort()}return i}function Qd(e,t){let n=new Map(e.map(s=>[s,0])),r=new Map;for(let s of e)for(let a of t.get(s)){if(!n.has(a))continue;let c=n.get(s)+1,d=r.get(a);(c>n.get(a)||c===n.get(a)&&(d===void 0||s.localeCompare(d)<0))&&(n.set(a,c),r.set(a,s))}let i=[...e].sort((s,a)=>n.get(a)-n.get(s)||s.localeCompare(a))[0],o=i===void 0?[]:[i];for(;o[0]!==void 0&&r.has(o[0]);)o.unshift(r.get(o[0]));return{depth:Object.fromEntries(n),path:o}}function Zd(e,t,n){let r=[t],i=t;for(;i!==e;)i=n.get(i),r.push(i);return r.reverse()}function yn(e,t={}){let n=t.registry??ne(),r=[...e.nodes()],i=Xd(e,n),o=Jd(r,i),s=o.flat(),a=s.length===r.length,c=a?[]:ms(r,i).filter(l=>l.length>1||i.get(l[0]).has(l[0])),d=Qd(s,i);return{exact:!0,acyclic:a,order:s,layers:o,frontier:o[0]??[],depth:d.depth,criticalPath:d.path,criticalPathLength:Math.max(0,d.path.length-1),cycles:c,provenance:{algorithm:"kahn-longest-path",edgeFamily:"ordering"}}}function el(e,t,n){let r=ut(e.nodes()),i=n===void 0?void 0:new Set(n.map(s=>e.registry().require(s).kind)),o=e.edges();for(let s of o){let a=e.registry().require(s.kind);i!==void 0&&!i.has(s.kind)&&(a.inverse===void 0||!i.has(a.inverse))||Ye(r,t==="incoming"?s.target:s.source,t==="incoming"?s.source:s.target)}return{adjacency:r,inspectedEdges:o.length}}function tl(e,t,n,r,i,o){let s=_n(e,t,{...n,after:void 0,direction:"incoming",limit:void 0}),a=_n(e,t,{...n,after:void 0,direction:"outgoing",limit:void 0}),c=new Map,d=[...s.affected,...a.affected].sort((m,h)=>m.distance-h.distance||m.id.localeCompare(h.id)||m.path.join("\0").localeCompare(h.path.join("\0")));for(let m of d)c.has(m.id)||c.set(m.id,m);let l=[...c.values()].sort((m,h)=>m.distance-h.distance||m.id.localeCompare(h.id)),u=r===void 0||r===t?-1:l.findIndex(m=>m.id===r);if(r!==void 0&&r!==t&&u<0)throw new TypeError(`Unknown impact cursor item: ${r}`);let f=l.slice(u+1,u+1+i),p=u+1+f.length<l.length;return{root:t,affected:f,exact:!0,truncated:s.truncated||a.truncated||p,...p?{nextCursor:ce(o,f.at(-1)?.id??t)}:{},cost:{visitedNodes:s.cost.visitedNodes+a.cost.visitedNodes,inspectedEdges:s.cost.inspectedEdges+a.cost.inspectedEdges}}}function nl(e,t,n){let r=n.direction,i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=us(t,n,r,i),{adjacency:c,inspectedEdges:d}=el(e,r,n.kinds),l={queue:[{id:t,depth:0}],seen:new Set([t]),parents:new Map,affected:[],cursorFound:a===void 0||a===t},u=0,f=!1,p=!1;e:for(let m=0;m<l.queue.length;m+=1){n.signal?.throwIfAborted();let h=l.queue[m];u+=1;let y=[...c.get(h.id)].sort();if(h.depth>=i){y.some(b=>!l.seen.has(b))&&(f=!0);continue}for(let b of y)if(Vd(l,b,h,t,a,o)==="truncate"){f=!0,p=!0;break e}}if(!l.cursorFound)throw new TypeError(`Unknown impact cursor item: ${a}`);return{root:t,affected:l.affected,exact:!0,truncated:f,...p?{nextCursor:ce(s,l.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:u,inspectedEdges:d}}}function _n(e,t,n={}){let r=n.direction??"outgoing";if(r!=="both")return nl(e,t,{...n,direction:r});let i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=us(t,n,r,i);return tl(e,t,n,a,o,s)}function ps(e){let t=[...e.nodes()],n=ut(t),r=ut(t);for(let c of e.edges())Ye(n,c.source,c.target),Ye(n,c.target,c.source),Ye(r,c.source,c.target);let i=[],o=new Set;for(let c of t){if(o.has(c))continue;let d=[],l=[c];for(o.add(c);l.length>0;){let u=l.pop();d.push(u);for(let f of n.get(u))o.has(f)||(o.add(f),l.push(f))}i.push(d)}let s=t.map(c=>({id:c,degree:n.get(c).size})),a=Math.max(0,...s.map(({degree:c})=>c));return{components:fs(i),stronglyConnected:ms(t,r),orphans:s.filter(({degree:c})=>c===0).map(({id:c})=>c),hubs:s.filter(({degree:c})=>c>0&&c===a),exact:!0,provenance:{algorithm:"component-degree",edgeFamily:"all"}}}function Vb(e,t){let n=new Map(e.edges.map(i=>[ls(i),i])),r=new Map(t.edges.map(i=>[ls(i),i]));return{fromVersion:e.version,toVersion:t.version,added:[...r].filter(([i])=>!n.has(i)).map(([,i])=>i),removed:[...n].filter(([i])=>!r.has(i)).map(([,i])=>i),unchangedCount:[...n.keys()].filter(i=>r.has(i)).length,exact:!0}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdc16f69-f63f-5e17-9139-35d54db7bab5")}catch{}})();function ie(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new _(`${t} must be a non-negative integer`,g.USAGE);return r}function vn(e,t="--priority"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0||r>4)throw new _(`${t} filter must be 0..4`,g.USAGE);return r}function hs(e,t,n="--type"){if(e===void 0)return;let r=Kt(e,t);if(!r)throw new _(`${n} filter must be one of ${t.types.join("|")}`,g.USAGE);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="94a81e04-bb02-5c2e-9362-4cf7212d66e6")}catch{}})();var bn={version:1,aliases:{}};function wn(e=[]){let t=new Set(Ke),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function gs(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function xr(e,t){if(e.agent_harness?.trim())return{agent_harness:e.agent_harness,harness_source:"recorded"};let n=t.aliases[e.author];return n?{agent_harness:n,harness_source:"vocabulary"}:{harness_source:"unresolved"}}function Dr(e,t=Ke){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new _(`Provenance predicate must use dimension=value; received "${o.trim()}".`,g.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),c=o.slice(s+1).trim();if(!n.has(a))throw new _(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,g.USAGE,{code:"unknown_provenance_dimension"});if(c.length===0)throw new _(`Provenance predicate must use dimension=value; received "${o.trim()}".`,g.USAGE,{code:"invalid_provenance_predicate"});let d=r.get(a)??new Set;d.add(c),r.set(a,d)}return r}function kn(e,t=bn,n={}){let r=xr(e,t);return{...n.itemId===void 0?{}:{item_id:n.itemId},...n.version===void 0?{}:{version:n.version},ts:e.ts,op:e.op,author:e.author,...e.author_source===void 0?{}:{author_source:e.author_source},...r,vocabulary_version:t.version,...e.agent_instance===void 0?{}:{agent_instance:e.agent_instance},agent_provenance:e.agent_provenance??{},...e.message===void 0?{}:{message:e.message}}}function nw(e,t,n=bn,r=Ke){return Ar(t,n,r)(e)}function Ar(e,t=bn,n=Ke){let r=gs(e.harness),i=gs(e.agentInstance),o=Dr(e,n);return s=>{let c=xr(s,t).agent_harness;if(r&&(!c||!r.has(c))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,l]of o){let u=s.agent_provenance?.[d];if(!u||!l.has(u.value))return!1}return!0}}function En(e,t=bn,n=Ke){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let c of Object.keys(s.agent_provenance??{}))r.add(c);xr(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,c=0;for(let d of e){let l=d.agent_provenance?.[s];l===null?c+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:c,legacy_missing:e.length-a-c}})}}import rl from"node:fs/promises";import vs from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03488490-bc4a-5988-9ceb-46800c6d7833")}catch{}})();var il=20,ol=5,sl=15,al="-24h";function mw(e){let t={...e};return t.full===!0?(t.raw=!0,t.compact=!1):t.raw===!0&&t.compact===void 0&&(t.compact=!0),delete t.full,t}var cl={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Or(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new _(`${t} must not be empty`,g.USAGE);return n}function _s(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new _("Activity time bounds must not be empty",g.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return _e(i,new Date(t),n)}function dl(e,t,n){return!(e.ts.length===0&&(t||n)||t&&I(e.ts,t)<0||n&&I(e.ts,n)>=0)}function ys(e,t){return t===void 0?e:e.slice(0,t)}function ft(e,t=""){return typeof e=="string"?e:t}function ll(e,t){return{...t,id:e,ts:ft(t.ts),author:ft(t.author,"unknown"),op:ft(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:ft(t.before_hash),after_hash:ft(t.after_hash)}}function ul(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function fl(e){try{return(await rl.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(ae(t))return[];throw t}}function ml(e){return e.raw!==!0&&e.compact!==!0&&e.provenance!==!0?"digest":e.provenance===!0?"provenance":e.compact===!0||e.raw===!0&&e.compact!==!1?"compact":"full"}function pl(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?sl:n==="compact"?il:ol}function hl(e,t){let n=R(),r=t==="digest",i=_s(e.to??(r?n:void 0),n,"--to"),o=_s(e.from??(r?al:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&I(o,i)>=0)throw new _("Activity --from must be before --to",g.USAGE);let s=Tr(e.limit);if(e.unbounded===!0&&s!==void 0)throw new _("Activity --unbounded cannot be combined with --limit",g.USAGE);return{id:Or(e.id,"Activity --id"),op:Or(e.op,"Activity --op"),author:Or(e.author,"Activity --author"),from:o,to:i,limit:pl(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function gl(e){let t=O(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await F(t)}}async function _l(e){let t=L(e.settings,D()),n=await le(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Yo({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=vs.join(e.pmRoot,"history");return await Wt({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function yl(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:dl(t,n.from,n.to)}async function vl(e,t){let n=[];for(let r of await fl(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await Xt(vs.join(e,r),i);for(let s of o){let a=ll(i,s);yl(s,a,t)&&n.push(a)}}return n}function bl(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function wl(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function kl(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,I(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),I(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:wl(i.operations)}}).sort((r,i)=>I(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function El(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function Il(e,t,n,r,i){if(e==="digest"){let s=kl(t,r),a=ys(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=ys(t,n);return e==="compact"?{rows:{compact_activity:bl(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function bs(e,t){let n=await gl(t),r=ml(e),i=hl(e,r),o=await _l(n),s=wn(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,c=Ar({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),d=ul(await vl(o.historyDir,i)).filter(c),l=Il(r,d,i.limit,o.itemsById,f=>kn(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:cl[r]},omission_receipt:No("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:d.length,item_count:l.totalRows,author_count:new Set(d.map(f=>f.author)).size,operation_counts:El(d)}}:{},...e.provenanceSummary===!0?{provenance_summary:En(d,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdd874ad-e51d-5df2-9486-a0465ad65979")}catch{}})();var Cl="global",yw="external",Sl=["open","closed","unknown"],mt=new Map,Tl=240,Rl=2048;function ws(e,t,n){return(e?.trim()||t).slice(0,n)}function xl(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return typeof t.status=="string"&&(t.title==null||typeof t.title=="string")&&(t.source==null||typeof t.source=="string")&&(t.checkedAt==null||typeof t.checkedAt=="string")}function vw(e){let t=e.name.trim();if(t.length===0)throw new Error("External dependency resolver name must not be empty");if(mt.has(t))throw new Error(`External dependency resolver already registered: ${t}`);let n={name:t,supports:r=>e.supports(r),resolve:r=>e.resolve(r)};return mt.set(t,n),()=>{mt.get(t)===n&&mt.delete(t)}}async function bw(e,t={}){let n=e.trim();if(!ue(n))return null;let r=[...mt.values()].filter(o=>{try{return o.supports(n)}catch{return!1}}),i=await Promise.allSettled(r.map(o=>Promise.resolve().then(()=>o.resolve(n))));for(let[o,s]of i.entries()){if(s.status!=="fulfilled"||!xl(s.value))continue;let a=r[o],c=s.value,d=Sl.includes(c.status)?c.status:"unknown",l=ws(c.title,"",Tl),u=ws(c.source,n,Rl),f=Date.parse(c.checkedAt?.trim()??""),p=Number.isFinite(f)?new Date(f).toISOString():t.now?.()??new Date().toISOString();return{id:n,status:d,resolved:d==="closed",title:l.length>0?l:null,source:u,checked_at:p,resolver:a.name}}return null}function ww(e){let t=e?.trim();if(t)return fe(t)?Cl:t}function kw(e,t,n){return Dl(e,t,n)}function Dl(e,t,n){let r=e.trim();return fe(n)||ue(r)?r:ln(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function z(){let e=ne();for(let t of D()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function pt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function In(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function Al(e,t){let n=new Set,r=[];for(let i of[...e].sort()){if(n.has(i))continue;n.add(i);let o=[{nodeId:i,children:[...t.get(i)??[]].sort(),nextChild:0}];for(;o.length>0;){let s=o.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),o.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),o.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function Ol(e,t){let n=[...e].sort(),r=Al(n,t),i=new Set,o=Ll(n,t),s=[];for(let a of r.reverse()){if(i.has(a))continue;let c=Fl(a,o,i);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function Ll(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,i]of t)for(let o of i)n.get(o)?.add(r);return n}function Fl(e,t,n){let r=[],i=[e];for(n.add(e);i.length>0;){let o=i.pop();r.push(o);for(let s of[...t.get(o)].sort())n.has(s)||(n.add(s),i.push(s))}return r.sort()}function ks(e){let t=new Map;for(let n of e){let r=pt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Ml(e,t,n){let r=pt(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function Nl(e,t,n,r){let i=pt(t?.id),o=r.resolve(t?.kind);if(!i||!n.has(i)||!o?.hierarchy)return;let s=o.hierarchyDirection==="source_parent";return{parent_id:s?e:i,child_id:s?i:e,source:"dependency",kind:o.kind,holder_id:e,target_id:i,child_cardinality:s?o.incoming:o.outgoing}}function Es(e,t){let n=new Map;for(let[r,i]of e){let o=Ml(r,i,e);o&&n.set(In(o),o);for(let s of i.dependencies??[]){let a=Nl(r,s,e,t);a&&n.set(In(a),a)}}return[...n.values()].sort((r,i)=>In(r).localeCompare(In(i)))}function Is(e,t=z()){return Es(ks(e),t)}function $l(e,t,n){let r=new Set(e.filter(i=>i.child_cardinality==="one").map(i=>i.child_id));return[...t].filter(([i,o])=>o.length>1&&r.has(i)).map(([i,o])=>({child_id:i,parent_ids:[...o],legacy_terminal:n.has(i)&&o.every(s=>n.has(s))})).sort((i,o)=>i.child_id.localeCompare(o.child_id))}function Pl(e,t,n){let r=new Map;for(let o of t){if(o.source!=="dependency")continue;let s=r.get(o.child_id)??new Set;s.add(o.parent_id),r.set(o.child_id,s)}let i=[];for(let[o,s]of e){let a=pt(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(o)??[]].filter(d=>d!==a).sort();c.length!==0&&i.push({child_id:o,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(o)&&n.has(a)&&c.every(d=>n.has(d))})}return i.sort((o,s)=>o.child_id.localeCompare(s.child_id))}function Cn(e,t=r=>r==="closed"||r==="canceled",n=z()){let r=ks(e),i=Es(r,n),o=Fr(i),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=Ol([...r.keys()],new Map([...o.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:i,cycles:a,cardinality_violations:$l(i,o.parents_by_child,s),divergences:Pl(r,i,s)}}function Dw(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Fr(e){let t=new Map,n=new Map;for(let r of e){let i=t.get(r.child_id)??new Set;i.add(r.parent_id),t.set(r.child_id,i);let o=n.get(r.parent_id)??new Set;o.add(r.child_id),n.set(r.parent_id,o)}return{parents_by_child:new Map([...t].map(([r,i])=>[r,[...i].sort()])),children_by_parent:new Map([...n].map(([r,i])=>[r,[...i].sort()]))}}function Lr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Aw(e,t,n,r,i){let o=pt(n);if(!o)return;let s=Cn(e,r,i),a=Cn(t,r,i),c=a.divergences.find(u=>!s.divergences.some(f=>f.child_id===u.child_id&&f.scalar_parent_id===u.scalar_parent_id&&Lr(u.dependency_parent_ids,f.dependency_parent_ids)));if(c){let u=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new _(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${u.join(", ")}.`,g.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:o,target_id:c.child_id,verification_errors:u})}let d=a.cardinality_violations.find(u=>(u.child_id===o||u.parent_ids.includes(o))&&!s.cardinality_violations.some(f=>f.child_id===u.child_id&&Lr(u.parent_ids,f.parent_ids)));if(d)throw new _(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,g.CONFLICT,{code:"hierarchy_cardinality_created",source_id:o,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(u=>u.item_ids.includes(o)&&!s.cycles.some(f=>Lr(u.item_ids,f.item_ids)));if(l)throw new _(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,g.CONFLICT,{code:"hierarchy_cycle_created",source_id:o,verification_errors:l.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function Je(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function ht(e){let t=Je(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function gt(e,t,n=!0){let r=Je(e);return n&&(fe(t)||r!==void 0&&ue(r))}function Mr(e,t){return gt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Cs(e,t,n,r){return gt(e,t)?r.get(e):n.get(e.toLowerCase())}function Xe(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function jl(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,i=Je(r.id);if(!i)continue;let o=typeof r.kind=="string"?r.kind:"related",s=`${o}\0${Mr(i,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:i,kind:o,count:1})}return t}function Ul(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let i of jl(r).values())i.count<2||n.push({holder_id:r.id.trim(),target_id:i.target_id,kind:i.kind,occurrences:i.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,i)=>{let o=Xe(r.holder_id,i.holder_id);if(o!==0)return o;let s=Xe(r.target_id,i.target_id);return s!==0?s:Xe(r.kind,i.kind)})}function Bl(e,t,n,r,i){if(typeof n!="object"||n===null)return;let o=Je(n.id);if(!o||Mr(o,n.source_kind)!==Mr(t))return;let s=i.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:o,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Hl(e,t=r=>r==="closed"||r==="canceled",n=z()){let r=new Map;for(let i of e){if(typeof i?.id!="string"||i.id.trim().length===0)continue;let o=Je(i.blocked_by);if(o)for(let s of i.dependencies??[]){let a=Bl(i,o,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((i,o)=>{let s=Xe(i.holder_id,o.holder_id);if(s!==0)return s;let a=Xe(i.target_id,o.target_id);return a!==0?a:Xe(i.dependency_kind,o.dependency_kind)})}function Nr(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),i=new Map,o=(c,d,l,u,f)=>{let p=Je(d);if(!p||r.has(p.toLowerCase())||gt(p,void 0,f))return;let m={holder_id:c.id.trim(),target_id:p,kind:l,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};i.set(`${m.holder_id}::${m.target_id}::${m.kind}::${m.source}`,m)};for(let c of n){o(c,c.parent,"parent","parent",!1),o(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let l=d;fe(l.source_kind)||o(c,l.id,typeof l.kind=="string"?l.kind:"related","dependency",!0)}}let s=[...i.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Gl(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),i=r.toLowerCase();t.has(i)||t.set(i,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Kl(e){let t=new Map;for(let n of e){let r=ht(n.blocked_by);r&>(r)&&!t.has(r)&&t.set(r,r);for(let i of n.dependencies??[]){if(typeof i!="object"||i===null||!gt(i.id,i.source_kind))continue;let o=ht(i.id);o&&!t.has(o)&&t.set(o,o)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Ss=new WeakMap;function Sn(e){return e.hierarchyIntegrity??Ss.get(e)}function zl(e,t=z()){let n={};for(let r of e)for(let i of r.dependencies??[]){if(typeof i!="object"||i===null)continue;let o=i.kind;if(typeof o!="string")continue;let s=o.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(o);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[i])=>r.localeCompare(i)))}function Qe(e,t,n){let r=n??z(),i=e.filter(m=>typeof m?.id=="string"&&m.id.trim().length>0),o=new Map(i.map(m=>[m.id.trim().toLowerCase(),m.id.trim()])),s=Nr(i,t),a=Gl(s);for(let m of a)o.set(m.toLowerCase(),m);let c=Kl(i),d=new Set(o.keys()),l=new Map;for(let m of c){let h=m;for(;d.has(h.toLowerCase());)h=`external:${h}`;l.set(m,h),d.add(h.toLowerCase())}let u=i.map(m=>{let h=ht(m.parent),y=ht(m.blocked_by),b=(m.dependencies??[]).flatMap(v=>{if(typeof v!="object"||v===null)return[];let w=v,C=ht(w.id);return C?[{id:Cs(C,w.source_kind,o,l),kind:typeof w.kind=="string"?w.kind:"related"}]:[]});return{id:m.id.trim(),...h?{parent:o.get(h.toLowerCase())}:{},...y?{blocked_by:Cs(y,void 0,o,l)}:{},dependencies:b}}),f=Cn(i,t,r),p={graph:zt.fromItems([...u,...a.map(m=>({id:m})),...c.map(m=>({id:l.get(m)}))],r),details:[...i.map(m=>({id:m.id.trim(),title:m.title,status:m.status,...typeof m.type=="string"&&m.type.trim().length>0?{type:m.type.trim()}:{}})),...a.map(m=>({id:m,title:`[missing] ${m}`,status:"missing"})),...c.map(m=>({id:l.get(m),title:`[external] ${m}`,status:"external"}))],missingIdSet:new Set(a.map(m=>m.toLowerCase())),dangling:s,duplicateRows:Ul(i,t),orderingContradictions:Hl(i,t,r),legacyAliasCounts:zl(i,r),hierarchyIntegrity:f};return Ss.set(p,f),p}import{createHash as Vl}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="10f534cf-ee82-54a2-9807-390eca5fb0b8")}catch{}})();var Wl=64,ql=8;function Yl(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let i=r;return`${typeof i.kind=="string"?i.kind:"related"}:${typeof i.id=="string"?i.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function Tn(e,t=r=>r==="closed"||r==="canceled",n=ne()){let r=e.filter(o=>typeof o?.id=="string"&&o.id.trim().length>0).map(o=>Yl(o,t)).sort(),i=n.list().map(o=>E(o)).sort();return Vl("sha256").update(r.join("")).update("").update(i.join("")).digest("hex")}function Ts(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var $r=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Ts("maxResultsPerWorkspace",t.maxResultsPerWorkspace,Wl),this.#n=Ts("maxWorkspaces",t.maxWorkspaces,ql)}lookup(t,n,r){let i=this.#e.get(t),o=!0;(i===void 0||i.fingerprint!==n)&&(i={fingerprint:n,assembly:r(),results:new Map},o=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,i);let s=i,a=this.#t;return{assembly:s.assembly,assemblyReused:o,fingerprint:n,memoize(c,d){let l=s.results.get(c);if(l!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,l),{value:structuredClone(l),reused:!0};let u=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(u)),{value:u,reused:!1}}}}clear(){this.#e.clear()}},Rs=new $r;function Rn(){return Rs}function Hw(){Rs.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47b3091f-a1a8-503c-83e9-46b85adf4207")}catch{}})();var Xl=["prerequisite","dependent","ancestor","descendant","provenance","related"],Jl=new TextEncoder;function Pr(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function xn(e){return Math.max(1,Math.ceil(Jl.encode(JSON.stringify(e)).byteLength/4))}function jr(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let o=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===o?"prerequisite":"dependent"}if(r?.hierarchy){let o=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===o?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Ql(e,t,n,r){let i=e.filter(o=>o.source===t&&o.target===n||o.target===t&&o.source===n).map(o=>jr(o,n,r));return[...new Set(i)].sort()}function Zl(e){return Xl.find(t=>e.includes(t))}function eu(e,t,n,r){let i=r.direction??"both",o=r.maxDepth??3;if(!Number.isInteger(o)||o<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,l=!1;for(let u=0;u<a.length;u+=1){r.signal?.throwIfAborted();let f=a[u];if(f.distance>=o&&l)continue;let p=e.neighborEdges(f.id,{direction:i,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,f.distance>=o){p.value.some(m=>!s.has(m.id))&&(l=!0);continue}for(let{id:m,edge:h}of p.value){if(s.has(m))continue;s.add(m);let y={id:m,distance:f.distance+1,via:f.id,role:jr(h,m,n)};c.push(y),a.push(y)}}return c.sort((u,f)=>u.distance-f.distance||u.id.localeCompare(f.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function tu(e,t,n,r){let i={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},o=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of o)i[jr(a,s,n)]+=1;return{directEdges:i,directTotal:o.length,rootEdges:o.map(({edge:s})=>s)}}function nu(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let i=r.distance===1?Ql(e.rootEdges,e.rootId,r.id,e.registry):[],o={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:i.length>0?Zl(i):r.role,via:r.via,reasons:i.length>0?i:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=xn(o);if(n+s>e.tokenBudget)break;t.push(o),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function ru(e){let t=e.options.kinds?new Set(e.options.kinds.map(o=>e.registry.require(o).kind)):void 0,n=e.graph.edges().filter(o=>{if(!e.included.has(o.source)||!e.included.has(o.target))return!1;if(t===void 0||t.has(o.kind))return!0;let s=e.registry.resolve(o.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],i=e.initialTokens;for(let o of n){if(r.length>=e.edgeLimit)break;let s=xn(o);if(i+s>e.tokenBudget)break;r.push(o),i+=s}return{edges:r,usedTokens:i,candidateCount:n.length}}function xs(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let i=Pr(r.nodeLimit,20,"nodeLimit"),o=Pr(r.edgeLimit,40,"edgeLimit"),s=Pr(r.tokenBudget,1200,"tokenBudget"),a=r.registry??ne(),c=new Map(n.map(V=>[V.id,V])),d=c.get(t)??{id:t},{evidence:l=[],...u}=d,f=[...l],p=eu(e,t,a,r),{rootEdges:m,...h}=tu(e,t,a,r),y=Ie("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),b=ze(p.rows,r.cursor,y,({id:V})=>V),v=p.rows.slice(b),w=xn(u)+xn(f);if(w>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let C=nu({candidates:v,details:c,rootEdges:m,rootId:t,registry:a,nodeLimit:i,tokenBudget:s,initialTokens:w}),{nodes:S}=C,N=new Set([t,...S.map(({id:V})=>V)]),$=ru({graph:e,included:N,options:r,registry:a,edgeLimit:o,tokenBudget:s,initialTokens:C.usedTokens}),{edges:M,usedTokens:Ee}=$,P=b+S.length,B=P<p.rows.length,Y=S.at(-1),X=$.candidateCount-M.length,te=p.depthTruncated||B||X>0,se={rootId:t,...u.status===void 0?{}:{rootStatus:u.status},...h,discoveredNodes:p.rows.length,returnedNodes:S.length,returnedEdges:M.length,omittedNodes:p.rows.length-P,omittedEdges:X,evidenceCount:f.length,hasMore:B};return{root:u,summary:se,nodes:S,edges:M,evidence:f,meta:{exact:!0,truncated:te,completeness:te?"truncated":"complete",nodeLimit:i,edgeLimit:o,tokenBudget:s,usedTokens:Ee,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-P,omittedEdges:X,...B&&Y?{nextCursor:ce(y,Y.id,P-1)}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var iu=["tree","graph","context"],ou=["none","repeated"],su=["outgoing","incoming","both"],au=32,cu=200,du=400,lu=16e3;function uu(e){let t=e?.trim().toLowerCase()??"tree";if(iu.includes(t))return t;throw new _(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,g.USAGE)}function me(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new _(`Invalid --${t} value "${e}". Use a positive integer.`,g.USAGE);return n}function Dn(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new _(`Invalid --max-depth value "${e}". Use a non-negative integer.`,g.USAGE);return t}function fu(e){let t=e?.trim().toLowerCase()??"none";if(ou.includes(t))return t;throw new _(`Invalid --collapse value "${e}". Use "none" or "repeated".`,g.USAGE)}function Br(e){let t=e?.trim().toLowerCase()??"both";if(su.includes(t))return t;throw new _(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,g.USAGE)}function Hr(e,t=ne()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(i=>i.split(",")).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)return;let r=new Set;for(let i of n){let o=t.resolve(i);if(!o){let s=t.list().map(a=>a.kind).join(", ");throw new _(`Invalid --kind value "${i}". Registered kinds: ${s}.`,g.USAGE)}r.add(o.kind)}return[...r].sort()}function mu(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:i})=>({id:r.trim(),kind:i.trim().toLowerCase()})).sort((r,i)=>{let o=r.kind.localeCompare(i.kind);return o!==0?o:r.id.localeCompare(i.id)}),n=new Map;for(let r of t){let i=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(i)||n.set(i,{id:r.id,kind:r.kind})}return[...n.values()]}function pu(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:mu(e.dependencies)}}function hu(e){return Zt(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function gu(e,t,n,r,i,o,s,a,c){for(let d of t.dependencies){let l=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+l>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=l,e.dependencies.push(As(d.id,n,r,i,o,s,a,c+1,d.kind))}}function _u(e,t,n,r,i,o,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):i==="repeated"&&o.has(n)?(e.collapsed=!0,!0):!1}function As(e,t,n,r,i,o,s,a=0,c){let d=e.trim().toLowerCase(),l=t.get(d),u={id:l?.id??e,title:l?.title,type:l?.type,status:l?.status,via:c,missing:!l,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=hu(u),_u(u,l,d,r,i,o,s,a))return u;i==="repeated"&&o.add(d);let f=new Set(n);return f.add(d),gu(u,l,t,f,r,i,o,s,a),u}function Ds(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function yu(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Ds(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,Ds(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",l=`${a.id}::${c.id}::${d}`;n.has(l)||n.set(l,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let i=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),o=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let l=a.to.localeCompare(c.to);return l!==0?l:a.kind.localeCompare(c.kind)}),s=i.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:i,edges:o,missing_ids:s}}function Os(e,t,n){let r=new Set,i=new Set,o=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let u=t.get(l);if(!u){o.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let f of u.dependencies)i.add(`${l}::${f.id.trim().toLowerCase()}::${f.kind}`),a.push({id:f.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:i.size,edge_basis:"deduplicated_directed",missing_count:o.size}}function vu(e,t=ne()){let n=Dn(e.maxDepth),r=me(e.nodeLimit,"node-limit"),i=me(e.edgeLimit,"edge-limit"),o=me(e.tokenBudget,"token-budget"),s=Hr(e.kind,t);return{direction:Br(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...i===void 0?{}:{edgeLimit:i},...o===void 0?{}:{tokenBudget:o},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function bu(e,t,n,r){return xs(e.graph,t,e.details.map(i=>i.id===t&&r.length>0?{...i,evidence:r}:i),n)}function Ur(e,t,n,r){for(let i of n.slice(0,r)){let o=i?.trim();o&&e.push(`${t}:${o}`)}}async function wu(e,t,n,r){let i=await de(e,t,n.id_prefix,n.item_format,r);if(!i)return[];let{document:o}=await Se(i,{schema:n.schema}),s=o.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],l=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(l.every(([,f])=>f===0))return[];let u=[`linked:${l.map(([f,p])=>`${f}=${p}`).join(",")}`];return Ur(u,"file",a.map(f=>f.path),3),Ur(u,"test",c.map(f=>f.command??f.path),2),Ur(u,"doc",d.map(f=>f.path),2),u}function ku(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:i,referenceLimit:o,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:i.length,...s?{}:{missing_references:i.slice(0,o),context:n}}}function Eu(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:i,registry:o}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(i===void 0)return!0;let s=o.resolve(t.kind);return s!==void 0&&(i.has(s.kind)||s.inverse!==void 0&&i.has(s.inverse))}function Ls(e,t,n){let r;for(;;){let i=Zt(new TextEncoder().encode(Er(br("deps",e),t)).byteLength);if(i===r)return i;n(i),r=i}}function Iu(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Cu(e){try{return bu(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Iu(t))return e.smallestResult;throw t}}function Su(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:a,missingReferences:c}=e,l=r.edgeLimit??40,u=r.tokenBudget,f,p;for(;;){let m=Cu({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:u,rootEvidence:i,smallestResult:p});if("format"in m)return m;let h=m;f??=h.meta.tokenBudget,u??=f;let y=ku({canonicalId:n,context:h,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:o});if(p=y,o||(h.meta.tokenBudget=f,h.meta.usedTokens=Ls(Ze(y,!1),s,w=>{h.meta.usedTokens=w}),h.meta.usedTokens<=f))return y;if(l>0){l-=1;continue}let b=u,v=b*f/h.meta.usedTokens;u=Math.min(b-1,Math.max(1,Math.floor(v*.9)))}}function Tu(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:i,summaryOnly:o,outputFormat:s}=e,a=vu(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(h=>t.missingIdSet.has(h.toLowerCase())),l=new Set(d.map(h=>h.toLowerCase())),u=t.graph.registry(),f=a.kinds?new Set(a.kinds.map(h=>u.require(h).kind)):void 0,p=new Set([n,...c.value]),m=[...t.dangling.active,...t.dangling.legacy_terminal].filter(h=>Eu({row:h,missingReachableSet:l,packetIds:p,filteredKinds:f,registry:u}));return Su({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:d.length,missingReferences:m})}function Ru(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function xu(e,t,n,r,i,o,s){let a=i??au,c=me(n.nodeLimit,"node-limit")??cu,d=me(n.edgeLimit,"edge-limit")??du,l=me(n.tokenBudget,"token-budget")??lu,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=As(e,r,new Set,a,t==="graph"?"repeated":o,new Set,u),p=Os(e,r,void 0),m;for(;;){let h=yu(f),y=u.reasons.size===0?void 0:{reasons:[...u.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:l},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-h.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-h.edges.length)},b={id:e,format:t,node_count:h.nodes.length,edge_count:h.edges.length,edge_basis:"deduplicated_directed",missing_count:h.missing_ids.length,...y?{truncation:y}:{}};if(m=t==="tree"?{...b,tree:f}:{...b,graph:h},(m.truncation===void 0?Zt(new TextEncoder().encode(Er(br("deps",Ze(m,!1)),s)).byteLength):Ls(Ze(m,!1),s,w=>{m.truncation.estimated_tokens=w}))<=l)return m;if(!Ru(f))return u.reasons.add("token_budget"),m;u.reasons.add("token_budget")}}function Ze(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function l0(e,t,n){let r=O(process.cwd(),n.path);await U(r);let i=uu(t.format),o=Dn(t.maxDepth),s=fu(t.collapse);Jt(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await F(r),d=L(c,D()),l=await le(r,c.item_format,d.type_to_folder,void 0,c.schema),u=J(c.schema),f=new Map(l.map(m=>[m.id.trim().toLowerCase(),pu(m)])),p=Nr(l,m=>j(m,u));for(let m of[...p.active,...p.legacy_terminal]){let h=f.get(m.holder_id.trim().toLowerCase()),y=m.kind.trim().toLowerCase();h&&!h.dependencies.some(b=>b.id.trim().toLowerCase()===m.target_id.trim().toLowerCase()&&b.kind===y)&&h.dependencies.push({id:m.target_id,kind:y})}if(!f.has(e.trim().toLowerCase()))throw new _(`Item ${e} not found`,g.NOT_FOUND);if(i==="context"){let m=f.get(e.trim().toLowerCase()).id,h=a?[]:await wu(r,m,c,d.type_to_folder),y=w=>j(w,u),b=z(),v=Rn().lookup(r,Tn(l,y,b),()=>Qe(l,y,b));return Ze(Tu({assembly:v.assembly,canonicalId:m,options:t,rootEvidence:h,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,v.assembly.legacyAliasCounts)}return a?Ze({id:e,format:i,...Os(e,f,o)},!0,Object.fromEntries(Object.entries(Qe(l,m=>j(m,u)).legacyAliasCounts))):Ze(xu(e,i,t,f,o,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(Qe(l,m=>j(m,u)).legacyAliasCounts)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2ca317ff-f6b3-5f36-acc4-cd740b3d65e3")}catch{}})();var Du=be.paths,Au=be.visited_paths,Ou=be.path_depth;function Gr(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function An(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function _t(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function et(e,t){let n=_t(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function Lu(e,t,n){if(t===void 0)return;let r=e.registry(),i=new Set;for(let o of t){let s=r.require(o),a=s.traversal;if(a==="association")throw new TypeError(`Relationship kind ${s.kind} uses association traversal; use graph impact --direction both`);if(a!==n&&a!=="semantic"){let c=a==="hierarchy"?"graph ancestors or graph descendants":"graph predecessors or graph successors";throw new TypeError(`Relationship kind ${s.kind} uses ${a} traversal; use ${c}`)}i.add(s.kind)}return i}function Fu(e,t,n,r,i){let o=e.registry(),s=e.neighborEdges(t,{direction:"both",...n===void 0?{}:{kinds:[...n]}}),a=[],c=new Set;for(let d of s.value){let l=o.require(d.edge.kind);n===void 0&&!l[r]||i(d,l,t)&&(c.has(d.id)||(c.add(d.id),a.push(d.id)))}return{neighbors:a,inspectedEdges:s.meta.inspectedEdges}}function Mu(e,t,n,r,i,o){if(t>=n)return e.neighbors.some(s=>!o.seen.has(s))&&(o.truncated=!0),!1;for(let s of e.neighbors)if(!o.seen.has(s)){if(o.seen.add(s),o.queue.push({id:s,depth:t+1}),!o.resumed){s===i&&(o.resumed=!0);continue}if(o.value.length>=r)return o.truncated=!0,!0;o.value.push(s)}return!1}function On(e,t,n,r,i){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Lu(e,n.kinds,r),s=n.limit??Number.POSITIVE_INFINITY,a=n.maxDepth??Number.POSITIVE_INFINITY,c=n.after,d={seen:new Set([t]),value:[],queue:[{id:t,depth:0}],resumed:c===void 0,truncated:!1},l=0,u=0;for(let f=0;f<d.queue.length;f+=1){n.signal?.throwIfAborted();let p=d.queue[f];l+=1;let m=Fu(e,p.id,o,r,i);if(u+=m.inspectedEdges,Mu(m,p.depth,a,s,c,d))break}if(!d.resumed)throw new TypeError(`Traversal cursor not found in sequence: ${c}`);return{value:d.value,meta:{visitedNodes:l,inspectedEdges:u,truncated:d.truncated,nextCursor:d.value.at(-1)}}}function Fs(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function Ms(e,t,n,r,i){let o=e.neighborEdges(t.nodes.at(-1),{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});return i.inspectedEdges+=o.meta.inspectedEdges,o.value.filter(s=>!t.nodeSet.has(s.id))}function Nu(e,t,n,r,i,o,s){for(let a of Ms(e,t,r,i,s)){let c=[...t.nodes,a.id],d=new Set(t.nodeSet).add(a.id),l=[...t.edges,a.edge];if(a.id===n){if(s.value.push({nodes:c,edges:l,length:l.length}),s.value.length>=o)return!0}else s.queue.push({nodes:c,nodeSet:d,edges:l})}return!1}function Ns(e,t,n={}){return On(e,t,n,"hierarchy",(r,i)=>An(r.edge,i)===r.id)}function $s(e,t,n={}){return On(e,t,n,"hierarchy",(r,i,o)=>An(r.edge,i)===o)}function Ps(e,t,n={}){return On(e,t,n,"ordering",(r,i)=>_t(r.edge,i)===r.id)}function js(e,t,n={}){return On(e,t,n,"ordering",(r,i,o)=>_t(r.edge,i)===o)}function $u(e,t,n,r,i,o,s,a){let c={value:[],queue:[{nodes:[t],nodeSet:new Set([t]),edges:[]}],inspectedEdges:0},d=0,l=!1,u=i+1;for(let f=0;f<c.queue.length;f+=1){if(r.signal?.throwIfAborted(),c.value.length>=u||d>=o){l=!0;break}let p=c.queue[f];if(d+=1,p.edges.length>=s){Ms(e,p,r,a,c).length>0&&(l=!0);continue}if(Nu(e,p,n,r,a,u,c)){l=!0;break}}return{value:c.value.slice(0,i),meta:{visitedNodes:d,inspectedEdges:c.inspectedEdges,truncated:l}}}function Us(e,t,n,r={}){Fs(e,t),Fs(e,n);let i=r.maxPaths??Du,o=r.maxVisitedPaths??Au,s=r.maxDepth??Ou;Gr("maxPaths",i),Gr("maxVisitedPaths",o),Gr("maxDepth",s);let a=r.direction??"outgoing";r.signal?.throwIfAborted();for(let c of r.kinds??[])e.registry().require(c);return t===n?i===0?{value:[],meta:{visitedNodes:1,inspectedEdges:0,truncated:!0}}:{value:[{nodes:[t],edges:[],length:0}],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}}:$u(e,t,n,r,i,o,s,a)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2ea07760-bca8-579d-9b3a-78051461485a")}catch{}})();var Pu=16,ju=2,Uu=8;function Ln(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function Fn(e,t,n){let r=e.registry(),i=t===void 0?void 0:new Set(t.map(o=>r.require(o).kind));for(let o of e.edges()){if(o.source===o.target)continue;let s=r.require(o.kind);i!==void 0&&!(i.has(s.kind)||s.inverse!==void 0&&i.has(s.inverse))||n(o,s)}}function Bu(e,t){let n=new Map;Fn(e,t,r=>{Bs(n,r.source,r.target),Bs(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Bs(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function Hu(e,t){let n=new Map;for(let o of e){let s=t.get(o);n.set(s,(n.get(s)??0)+1)}let r,i=0;for(let[o,s]of n)(s>i||s===i&&o<r)&&(r=o,i=s);return r}function Gu(e,t){let n=new Map;for(let[i,o]of e){let s=n.get(o);s===void 0?n.set(o,[i]):s.push(i)}let r=[];for(let i of n.values())i.length<t||(i.sort(),r.push({representative:i[0],size:i.length,members:i}));return r.sort((i,o)=>o.size-i.size||i.representative.localeCompare(o.representative))}function Hs(e,t={}){let n=t.maxIterations??Pu,r=t.minSize??ju;Ln("maxIterations",n),Ln("minSize",r);let i=Bu(e,t.kinds),o=e.nodes(),s=new Map(o.map(u=>[u,u])),a=0,c=!1,d=0,l=0;for(;a<n&&!c;){t.signal?.throwIfAborted(),a+=1,c=!0;for(let u of o){d+=1;let f=i.get(u);if(f===void 0)continue;l+=f.length;let p=Hu(f,s);p!==s.get(u)&&(s.set(u,p),c=!1)}}return{value:{communities:Gu(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:l,truncated:!c}}}function Mn(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function Nn(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function Kr(e,t){return(t.hierarchy?An(e,t):e.source===_t(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function Ku(e,t){if(t===void 0)return;let n=e.registry(),r=new Set;for(let i of t){let o=n.require(i);if(!Mn(o))throw new TypeError(`Relationship kind ${o.kind} is not a directed ordering or hierarchy kind`);r.add(Nn(o))}return r}function zu(e,t){let n=e.registry(),r=new Map;for(let i of e.edges()){let o=n.require(i.kind);if(!Mn(o))continue;let s=Nn(o);if(t!==void 0&&!t.has(s))continue;let a=Kr(i,o);if(a.from===a.to)continue;let c=r.get(s);c===void 0&&(c={adjacency:new Map,records:[]},r.set(s,c));let d=c.adjacency.get(a.from);d===void 0?c.adjacency.set(a.from,new Set([a.to])):d.add(a.to),c.records.push({...a,edge:i})}return r}function Vu(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function Wu(e,t,n,r){let i=[r];for(let o=n;o!==t;o=e.get(o))i.push(o);return i.push(t),i.reverse()}function qu(e,t,n,r,i,o){for(let s of e.get(n.id)??[])if(o.inspectedEdges+=1,!(n.depth===0&&s===t.to)&&!r.has(s)){if(r.set(s,n.id),s===t.to)return Wu(r,t.from,n.id,s);i.push({id:s,depth:n.depth+1})}}function Yu(e,t,n,r){let i=new Map([[t.from,t.from]]),o=[{id:t.from,depth:0}];for(let s=0;s<o.length;s+=1){let a=o[s];if(r.visitedNodes+=1,a.depth>=n)continue;let c=qu(e,t,a,i,o,r);if(c!==void 0)return c}}function tt(e,t={}){let n=t.maxDepth??Uu;Ln("maxDepth",n),t.limit!==void 0&&Ln("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,i=Ku(e,t.kinds),o=zu(e,i),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...o.keys()].sort()){let l=o.get(d),u=Vu(l);for(let f of l.records){t.signal?.throwIfAborted();let p=Yu(u,f,n,a);if(p!==void 0){if(s.length>=r){c=!0;break e}s.push({edge:f.edge,witness:p})}}}return{value:s,meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:c}}}function Xu(e,t,n,r,i){let o=new Set,s=[];for(let a of n){if(a.id===e||o.has(a.id))continue;if(!i.seen.has(a.id)){if(t>=r){i.truncated=!0;continue}i.seen.add(a.id),i.queue.push({id:a.id,depth:t+1})}o.add(a.id),s.push(a.id);let c=i.predecessors.get(a.id);c===void 0&&(c=new Set,i.predecessors.set(a.id,c)),c.add(e)}return s}function Ju(e,t,n){let r=n.direction??"outgoing",i=n.maxDepth??Number.POSITIVE_INFINITY,o=[],s=new Map,a={seen:new Set([t]),queue:[{id:t,depth:0}],predecessors:new Map,truncated:!1},c=0;for(let d=0;d<a.queue.length;d+=1){n.signal?.throwIfAborted();let{id:l,depth:u}=a.queue[d];o.push(l);let f=e.neighborEdges(l,{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});c+=f.meta.inspectedEdges,s.set(l,Xu(l,u,f.value,i,a))}return{order:o,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function Qu(e,t){let n=[],r=new Set([t]),i=[{id:t,index:0}];for(;i.length>0;){let o=i.at(-1),s=e.successors.get(o.id);if(o.index<s.length){let a=s[o.index];o.index+=1,r.has(a)||(r.add(a),i.push({id:a,index:0}))}else n.push(o.id),i.pop()}return n.reverse()}function Zu(e,t,n,r){let i=e,o=t;for(;i!==o;){for(;r.get(i)>r.get(o);)i=n.get(i);for(;r.get(o)>r.get(i);)o=n.get(o)}return i}function ef(e,t,n){let r;for(let i of[...e].sort())t.has(i)&&(r=r===void 0?i:Zu(r,i,t,n));return r}function tf(e,t,n,r,i){let o=new Map([[t,t]]),s=!0;for(;s;){s=!1;for(let a of n){if(i?.throwIfAborted(),a===t)continue;let c=ef(e.predecessors.get(a),o,r);c!==void 0&&o.get(a)!==c&&(o.set(a,c),s=!0)}}return o}function Gs(e,t,n={}){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);if(n.maxDepth!==void 0&&(!Number.isInteger(n.maxDepth)||n.maxDepth<0))throw new TypeError(`Invalid maxDepth bound: ${String(n.maxDepth)}`);let r=Ju(e,t,n),i=Qu(r,t),o=new Map(i.map((d,l)=>[d,l])),s=tf(r,t,i,o,n.signal),a=new Map(i.map(d=>[d,1]));for(let d=i.length-1;d>=0;d-=1){let l=i[d];if(l===t)continue;let u=s.get(l);a.set(u,a.get(u)+a.get(l))}let c=i.filter(d=>d!==t).map(d=>({id:d,idom:s.get(d),dominatedCount:a.get(d)-1})).sort((d,l)=>l.dominatedCount-d.dominatedCount||d.id.localeCompare(l.id));return{value:{root:t,reachableCount:r.order.length,rows:c},meta:{visitedNodes:r.order.length,inspectedEdges:r.inspectedEdges,truncated:r.truncated}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aa8e4dc3-250e-50eb-b770-a11cbab6ebc3")}catch{}})();function Ks(e){return Math.round(e*1e6)/1e6}function zs(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function Vs(e,t){let n=new Map(e.nodes().map(i=>[i,new Set]));Fn(e,t,i=>{n.get(i.source).add(i.target),n.get(i.target).add(i.source)});let r=new Map;for(let[i,o]of n)r.set(i,[...o].sort());return r}function nf(e,t){let n=new Map,r=new Map;return Fn(e,t,(i,o)=>{if(!o.ordering)return;let{predecessor:s,successor:a}=et(i,o);zs(r,s,a),zs(n,a,s)}),{incoming:n,outgoing:r}}function rf(e,t,n){let r=new Map([[e,0]]),i=new Map([[e,1]]),o=new Map,s=[],a=[e],c=0,d=0;for(let l=0;l<a.length;l+=1){let u=a[l];n.visitedNodes+=1,s.push(u);let f=r.get(u);u!==e&&(c+=1,d+=f);for(let p of t.get(u))if(n.inspectedEdges+=1,r.has(p)||(r.set(p,f+1),a.push(p)),r.get(p)===f+1){i.set(p,(i.get(p)??0)+i.get(u));let m=o.get(p);m===void 0?o.set(p,[u]):m.push(u)}}return{stack:s,sigma:i,predecessors:o,reachableCount:c,distanceSum:d}}function of(e,t,n){let r=new Map;for(let i=e.stack.length-1;i>=0;i-=1){let o=e.stack[i],s=(1+(r.get(o)??0))/e.sigma.get(o);for(let a of e.predecessors.get(o)??[])r.set(a,(r.get(a)??0)+e.sigma.get(a)*s);o!==t&&n.set(o,(n.get(o)??0)+(r.get(o)??0))}}function sf(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function af(e,t,n,r,i){return{id:e,degree:t.get(e).length,inDegree:n.incoming.get(e)?.size??0,outDegree:n.outgoing.get(e)?.size??0,betweenness:Ks((r.get(e)??0)/2),closeness:Ks(i.get(e))}}function Ws(e,t={}){let n=Vs(e,t.kinds),r=nf(e,t.kinds),i=e.nodes(),o=new Map,s=new Map,a={visitedNodes:0,inspectedEdges:0};for(let l of i){t.signal?.throwIfAborted();let u=rf(l,n,a);s.set(l,sf(u,i.length)),of(u,l,o)}let c=0;for(let l of n.values())c+=l.length;let d=i.map(l=>af(l,n,r,o,s)).sort((l,u)=>u.betweenness-l.betweenness||u.degree-l.degree||l.id.localeCompare(u.id));return{value:{nodeCount:i.length,edgeCount:c/2,rows:d},meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:!1}}}function cf(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function df(e,t,n){let i=t.get(e.node)[e.neighborIndex];if(e.neighborIndex+=1,n.inspectedEdges+=1,i!==e.parent){if(n.discovery.has(i)){n.low.set(e.node,Math.min(n.low.get(e.node),n.discovery.get(i)));return}return e.children+=1,n.discovery.set(i,n.timer),n.low.set(i,n.timer),n.timer+=1,{node:i,parent:e.node,neighborIndex:0,children:0}}}function lf(e,t,n){if(e.parent===null){e.children>1&&n.articulation.add(e.node);return}let r=e.parent,i=n.low.get(e.node);n.low.set(r,Math.min(n.low.get(r),i)),r!==t&&i>=n.discovery.get(r)&&n.articulation.add(r),i>n.discovery.get(r)&&n.bridges.push(cf(r,e.node))}function uf(e,t,n,r){n.discovery.set(e,n.timer),n.low.set(e,n.timer),n.timer+=1;let i=[{node:e,parent:null,neighborIndex:0,children:0}];for(;i.length>0;){r?.throwIfAborted();let o=i.at(-1);if(o.neighborIndex<t.get(o.node).length){let s=df(o,t,n);s!==void 0&&i.push(s)}else lf(o,e,n),i.pop()}}function $n(e,t={}){let n=Vs(e,t.kinds),r={discovery:new Map,low:new Map,timer:0,articulation:new Set,bridges:[],inspectedEdges:0};for(let i of e.nodes())r.discovery.has(i)||uf(i,n,r,t.signal);return{value:{articulationPoints:[...r.articulation].sort(),bridges:r.bridges.sort((i,o)=>i.source.localeCompare(o.source)||i.target.localeCompare(o.target))},meta:{visitedNodes:r.discovery.size,inspectedEdges:r.inspectedEdges,truncated:!1}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c9d9d0c-e989-568c-a49a-202f77e94806")}catch{}})();function ff(e){let t=e.registry(),n=new Map,r=new Set;for(let i of e.edges()){let o=t.require(i.kind);if(!o.ordering)continue;let{predecessor:s,successor:a}=et(i,o);if(r.add(s),r.add(a),s===a)continue;let c=n.get(s);c===void 0?n.set(s,new Set([a])):c.add(a)}return{forward:n,participants:r}}function mf(e,t,n,r){if(e===void 0)return r;let i=r;for(let o of e)t.has(o)&&(i=Math.min(i,n.get(o)));return i}function pf(e,t,n){let r=n-t;return{id:e,earliestStart:t,earliestFinish:t+1,latestStart:n,latestFinish:n+1,slack:r,critical:r===0}}function hf(e,t,n,r,i){let o=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=mf(t.forward.get(a),r,o,i);o.set(a,c-1)}return e.map(s=>pf(s,n[s],o.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function qs(e,t={}){t.signal?.throwIfAborted();let n=yn(e,{registry:e.registry()}),r=ff(e),i=new Set(n.order),o=n.order.filter(d=>r.participants.has(d)),s=o.reduce((d,l)=>Math.max(d,n.depth[l]+1),0),a=hf(o,r,n.depth,i,s),c=a.length>0;return{exact:!0,acyclic:n.acyclic,makespan:s,scheduledCount:a.length,criticalPath:c?n.criticalPath:[],criticalPathLength:c?n.criticalPathLength:0,cycles:n.cycles,rows:a,provenance:{algorithm:"critical-path-method",edgeFamily:"ordering",weighting:"unit"}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6b2a7206-d480-51c1-9d46-4271bde24fa3")}catch{}})();function gf(e,t,n){for(let r=e.length-1;r>=0;r-=1){n?.throwIfAborted();let i=t.get(e[r]);for(let o of i.successors){n?.throwIfAborted();let s=t.get(o);if(s.latest===void 0||s.duration===void 0)continue;let a=s.latest-s.duration;(i.latest===void 0||a<i.latest)&&(i.latest=a,i.anchor=s.anchor)}}}function _f(e,t,n,r){let i=[],o=e;for(;o!==void 0&&i.length<n;)r?.throwIfAborted(),i.push(o),o=t.get(o).predecessor;return i.reverse(),{path:i,path_truncated:o!==void 0}}function yf(e,t,n,r,i){let o=new Map(t.map(a=>[a.id,a])),s=new Map;for(let a of e){i?.throwIfAborted();let c=o.get(a),d=c?.estimated_minutes,l=typeof d=="number"&&Number.isFinite(d)&&d>=0?d:void 0,u={item:c,duration:l,pending:0,successors:new Set,earliest:0};if(c?.deadline!==void 0){let f=Date.parse(c.deadline);Number.isFinite(f)?(u.deadline=(f-n)/6e4,u.latest=u.deadline,u.anchor=a):r(a,"invalid_deadline")}s.set(a,u)}return s}function vf(e,t,n){for(let r of e.edges()){n?.throwIfAborted();let i=e.registry().require(r.kind);if(!i.ordering)continue;let{predecessor:o,successor:s}=et(r,i),a=t.get(o);a.successors.has(s)||(a.successors.add(s),t.get(s).pending+=1)}}function bf(e,t,n){let r=e.filter(i=>t.get(i).pending===0);for(let i=0;i<r.length;i+=1){n?.throwIfAborted();let o=r[i],s=t.get(o),a=s.earliest===null||s.duration===void 0?null:s.earliest+s.duration;for(let c of s.successors){n?.throwIfAborted();let d=t.get(c);a===null?d.earliest=null:d.earliest!==null&&(a>d.earliest||a===d.earliest&&(d.predecessor===void 0||o<d.predecessor))&&(d.earliest=a,d.predecessor=o),d.pending-=1,d.pending===0&&r.push(c)}}return r}function wf(e,t,n,r,i,o,s,a){let c=t.duration;if(t.latest!==void 0){r.scheduled_count+=1;let d=t.latest-c;r.rows.length<o?r.rows.push({id:e,deadline_id:t.anchor,latest_start:new Date(i+d*6e4).toISOString(),slack_minutes:t.earliest===null?null:d-t.earliest}):r.truncated=!0}if(t.deadline!==void 0&&t.earliest!==null&&t.earliest+c>t.deadline)if(r.overcommitted_count+=1,r.overcommitted.length<o){let d=_f(e,n,Math.min(o,s.remaining),a);s.remaining-=d.path.length,d.path_truncated&&(r.truncated=!0),r.overcommitted.push({deadline_id:e,deadline:t.item.deadline,shortfall_minutes:t.earliest+c-t.deadline,...d})}else r.truncated=!0}function kf(e,t,n,r,i,o,s,a){let c={remaining:o};for(let d of e){a?.throwIfAborted();let l=t.get(d);if(l.pending>0){s(d,"cycle_or_gated_by_cycle");continue}if(l.duration===void 0){s(d,"unknown_estimate");continue}if(l.latest!==void 0&&!Number.isFinite(new Date(r+(l.latest-l.duration)*6e4).getTime())){s(d,"date_range_exceeded");continue}l.earliest===null&&s(d,"unknown_predecessor_estimate"),wf(d,l,t,n,r,i,c,a)}}function Ys(e,t,n={}){n.signal?.throwIfAborted();let r=Date.parse(n.now??new Date().toISOString());if(!Number.isFinite(r))throw new TypeError("Invalid scheduling clock");let i=n.maxWork??1e5,o=n.limit??10;for(let[f,p]of[["maxWork",i],["limit",o]])if(!Number.isSafeInteger(p)||p<1)throw new TypeError(`Invalid scheduling ${f}`);let s={as_of:new Date(r).toISOString(),basis:"derived_elapsed_minutes",complete:!0,truncated:!1,work_limit_exceeded:!1,scheduled_count:0,residual_count:0,overcommitted_count:0,rows:[],residuals:[],overcommitted:[]},a=e.nodes(),c=e.edges();if(a.length+c.length+t.length>i)return{...s,complete:!1,work_limit_exceeded:!0};let d=(f,p)=>{s.complete=!1,s.residual_count+=1,s.residuals.length<o?s.residuals.push({id:f,reason:p}):s.truncated=!0},l=yf(a,t,r,d,n.signal);vf(e,l,n.signal);let u=bf(a,l,n.signal);return gf(u,l,n.signal),kf(a,l,s,r,o,i,d,n.signal),s}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2bfc4e78-a376-5099-be50-38e339eac660")}catch{}})();function nt(){return{nodes:0,isolated:0,degree_leq_one:0,semantic_nodes:0,without_semantic_edges:0,degree_histogram:{}}}function Qs(e,t,n,r){let i={all:nt(),active:nt(),terminal:nt()},o=new Map;for(let s of e.details){if(r?.throwIfAborted(),e.missingIdSet.has(s.id.toLowerCase())||s.status==="external")continue;let a=o.get(s.status)??nt();o.set(s.status,a);let c=e.graph.incidentEdges(s.id),d=c.some(l=>n(l.kind));for(let l of[i.all,i[t(s.status)?"terminal":"active"],a]){l.nodes+=1,l.isolated+=+(c.length===0),c.length<=1&&(l.degree_leq_one+=1),d?l.semantic_nodes+=1:l.without_semantic_edges+=1;let u=String(c.length);l.degree_histogram[u]=(l.degree_histogram[u]??0)+1}}return{coverage_by_lifecycle:i,coverage_by_status:Object.fromEntries([...o].sort(([s],[a])=>s.localeCompare(a)))}}function Xs(e){if(!Pn(e))return!1;let t=e;if(!["nodes","isolated","degree_leq_one","semantic_nodes","without_semantic_edges"].every(i=>Number.isSafeInteger(t[i])&&Number(t[i])>=0)||!Pn(t.degree_histogram))return!1;let r=Object.entries(t.degree_histogram);return r.every(([i,o])=>/^(0|[1-9]\d*)$/.test(i)&&Number.isSafeInteger(o)&&Number(o)>=0)&&r.reduce((i,[,o])=>i+Number(o),0)===t.nodes&&Number(t.isolated)<=Number(t.degree_leq_one)&&Number(t.degree_leq_one)<=Number(t.nodes)&&Number(t.semantic_nodes)+Number(t.without_semantic_edges)===t.nodes}function Pn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zs(e){for(let r of["ordering_acyclic","active_ordering_acyclic"])if(e[r]!==void 0&&typeof e[r]!="boolean")return!1;let t=e.coverage_by_lifecycle,n=e.coverage_by_status;return t===void 0&&n===void 0?!0:!Pn(t)||!Pn(n)?!1:["all","active","terminal"].every(r=>Xs(t[r]))&&Object.values(n).every(Xs)}function Js(e,t){return Object.fromEntries([...new Set([...Object.keys(e),...Object.keys(t)])].sort().map(n=>{let r=Object.hasOwn(e,n)?e[n]:nt(),i=Object.hasOwn(t,n)?t[n]:nt(),o=Object.fromEntries([...new Set([...Object.keys(r.degree_histogram),...Object.keys(i.degree_histogram)])].sort().map(s=>[s,(i.degree_histogram[s]??0)-(r.degree_histogram[s]??0)]));return[n,{nodes:i.nodes-r.nodes,isolated:i.isolated-r.isolated,degree_leq_one:i.degree_leq_one-r.degree_leq_one,semantic_nodes:i.semantic_nodes-r.semantic_nodes,without_semantic_edges:i.without_semantic_edges-r.without_semantic_edges,degree_histogram:o}]}))}function ea(e,t){return!e.coverage_by_lifecycle||!t.coverage_by_lifecycle||!e.coverage_by_status||!t.coverage_by_status?{lifecycle_comparable:!1}:{lifecycle_comparable:!0,coverage_by_lifecycle:Js(e.coverage_by_lifecycle,t.coverage_by_lifecycle),coverage_by_status:Js(e.coverage_by_status,t.coverage_by_status)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="896e1553-b127-532f-ac39-e0d47f29eebc")}catch{}})();var rt=["missing_reference_active","missing_reference_terminal","legacy_no_blocker_sentinel","ordering_cycle","legacy_ordering_cycle","ordering_storage_contradiction","legacy_ordering_storage_contradiction","hierarchy_cycle","legacy_hierarchy_cycle","hierarchy_cardinality_violation","legacy_hierarchy_cardinality_violation","hierarchy_direction_violation","legacy_hierarchy_direction_violation","duplicate_edge","legacy_duplicate_edge","duplicate_dependency_row","legacy_duplicate_dependency_row","stale_lifecycle_block","isolated_active_node","sparse_active_node"];(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1335acb2-0730-5934-89a4-14fe4a160288")}catch{}})();var Ef=25,If="milestone",Cf="outcome milestone:",Sf=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function jn(e){return Sf.has(e)}var ta={error:0,warning:1,info:2};function na(e){return new Set((e??[]).filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()))}function it(e,t,n,r,i,o,s,a){let c=[...i].sort((d,l)=>d.localeCompare(l));return{code:e,severity:t,policy:n,message:r(c.length),count:c.length,sample:c.slice(0,o),sample_truncated:c.length>o,remediation:s,...a===void 0?{}:{evidence:[...a].sort((d,l)=>d.localeCompare(l)).slice(0,o)}}}function Tf(e,t){return e.cycles.map(n=>it(n.legacy_terminal?"legacy_hierarchy_cycle":"hierarchy_cycle",n.legacy_terminal?"info":"error","Structural hierarchy must be acyclic across scalar and registered dependency relationships.",r=>`${r} items participate in one hierarchy cycle.`,n.item_ids,t,n.legacy_terminal?"Preserve historical rows unless an explicit legacy repair is approved.":"Remove or retype one exact hierarchy relation before continuing mutation."))}function ra(e,t,n){let r=e.cardinality_violations.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[it(n?"legacy_hierarchy_cardinality_violation":"hierarchy_cardinality_violation",n?"info":"error","Every structural child must resolve to at most one logical parent across all hierarchy spellings.",i=>`${i} child item${i===1?"":"s"} resolve to multiple hierarchy parents.`,r.map(i=>i.child_id),t,n?"Preserve historical rows unless an explicit legacy repair is approved.":"Remove the exact surplus hierarchy rows so each child has one parent.",r.map(i=>`${i.child_id} <- ${i.parent_ids.join(", ")}`))]}function ia(e,t,n){let r=e.divergences.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[it(n?"legacy_hierarchy_direction_violation":"hierarchy_direction_violation",n?"info":"error","Scalar parent metadata and dependency-backed hierarchy rows must resolve to the same logical parent.",i=>`${i} child item${i===1?"":"s"} have divergent hierarchy storage surfaces.`,r.map(i=>i.child_id),t,n?"Preserve historical rows unless an explicit legacy repair is approved.":"Align the scalar parent and exact dependency rows to one canonical parent.",r.map(i=>`${i.child_id}: scalar=${i.scalar_parent_id} dependencies=${i.dependency_parent_ids.join(",")}`))]}function Rf(e,t){let n=Sn(e);return n?[...Tf(n,t),...ra(n,t,!1),...ra(n,t,!0),...ia(n,t,!1),...ia(n,t,!0)]:[]}function xf(e){let t=e.graph.registry(),n=new Map;for(let r of e.graph.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let[o,s]=(i.precedence??"source_before_target")==="target_before_source"?[r.target,r.source]:[r.source,r.target],a=n.get(o);a?a.push(s):n.set(o,[s])}for(let r of n.values())r.sort((i,o)=>i.localeCompare(o));return n}function sa(e,t){t.indexes.set(e,t.nextIndex),t.lowLinks.set(e,t.nextIndex),t.nextIndex+=1,t.stack.push(e),t.onStack.add(e)}function Df(e,t,n,r){let i=n.get(e.node)??[];if(e.neighborIndex>=i.length)return!1;let o=i[e.neighborIndex];return e.neighborIndex+=1,r.indexes.has(o)?r.onStack.has(o)&&r.lowLinks.set(e.node,Math.min(r.lowLinks.get(e.node),r.indexes.get(o))):(sa(o,r),t.push({node:o,neighborIndex:0})),!0}function Af(e,t,n,r){t.pop();let i=t.at(-1);if(i&&r.lowLinks.set(i.node,Math.min(r.lowLinks.get(i.node),r.lowLinks.get(e.node))),r.lowLinks.get(e.node)!==r.indexes.get(e.node))return;let o=[];for(;;){let s=r.stack.pop();if(r.onStack.delete(s),o.push(s),s===e.node)break}(o.length>1||o.length===1&&n.get(o[0])?.includes(o[0]))&&r.components.push(o.sort((s,a)=>s.localeCompare(a)))}function Of(e){let t={indexes:new Map,lowLinks:new Map,onStack:new Set,stack:[],components:[],nextIndex:0},n=[...e.keys()].sort((r,i)=>r.localeCompare(i));for(let r of n){if(t.indexes.has(r))continue;let i=[{node:r,neighborIndex:0}];for(sa(r,t);i.length>0;){let o=i.at(-1);Df(o,i,e,t)||Af(o,i,e,t)}}return t.components.sort((r,i)=>r[0].localeCompare(i[0]))}function zr(e){return`${e.holder_id} -> ${e.target_id} (${e.kind})`}function ee(e,t,n,r,i,o,s,a){t.length!==0&&e.push(it(r,i,o,s,t,n,a))}function Lf(e,t,n){let r=[],i=[...e.dangling.active,...e.dangling.legacy_terminal].filter(o=>!o.no_active_blocker_sentinel);return ee(r,i.filter(o=>!t(o.holder_status)).map(zr),n,"missing_reference_active","error","Active items must not reference absent targets; missing prerequisites distort scheduling.",o=>`${o} active dangling reference(s) to absent items`,"Restore or re-create the referenced item, or remove/retype the reference on the holder."),ee(r,i.filter(o=>t(o.holder_status)).map(zr),n,"missing_reference_terminal","info","Terminal items may retain historical references, but absent targets remain unexplainable context.",o=>`${o} terminal dangling reference(s) to absent items`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),ee(r,e.dangling.no_active_blocker_sentinels.map(zr),n,"legacy_no_blocker_sentinel","info","The pre-structured-dependency no-active-blocker sentinel is retired; real edges carry blocker state.",o=>`${o} legacy no-active-blocker sentinel reference(s)`,"Delete the sentinel reference; blocker state is derived from blocked_by edges."),r}function Wr(e,t){let n=t.get(e);return n?!n.terminal:!0}function aa(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function Ff(e,t){let n=[],r=[];for(let o of e.orderingContradictions??[])(o.legacy_terminal?r:n).push(aa(o));let i=[];return ee(i,n,t,"ordering_storage_contradiction","error","A scalar blocker and same-target structured ordering row must not assert opposite precedence.",o=>`${o} active scalar-versus-structured ordering contradiction(s)`,"Remove the structured dependency row that points the holder before its scalar blocker, or replace both representations with one unambiguous ordering edge."),ee(i,r,t,"legacy_ordering_storage_contradiction","info","Terminal scalar-versus-structured ordering contradictions are exact historical storage defects with no live scheduling effect.",o=>`${o} terminal scalar-versus-structured ordering contradiction(s)`,"Remove the contradictory blocks dependency row in a dedicated changelog-safe closed-item batch; preserve the scalar blocker as the historical precedence record."),i}function Mf(e,t,n,r){let i=[],o=xf(e);for(let c of Of(o)){let d=c.some(f=>Wr(f,t)),l=new Set(c.map(f=>f.toLowerCase())),u=(e.orderingContradictions??[]).filter(f=>l.has(f.holder_id.toLowerCase())&&l.has(f.target_id.toLowerCase())).map(aa);i.push(d?it("ordering_cycle","error","Order-bearing relationship kinds must stay acyclic; a cycle makes every member unschedulable.",f=>`execution-order cycle across ${f} item(s)`,c,r,"Remove or retype one ordering edge inside the cycle, or split the work so precedence is linear.",u.length===0?void 0:u):it("legacy_ordering_cycle","info","Ordering cycles between exclusively terminal items are historical contradictions with no scheduling effect.",f=>`terminal-only execution-order cycle across ${f} item(s)`,c,r,"Leave as history debt, or clean up in a dedicated changelog-safe closed-item batch; never repair closed items ad hoc.",u.length===0?void 0:u))}let s=new Map;for(let[c,d]of o)for(let l of d){let u=s.get(l);u?u.push(c):s.set(l,[c])}let a=[...t.values()].filter(c=>!c.missing&&!c.terminal&&n(c.status)&&!(s.get(c.id)??[]).some(d=>{let l=t.get(d);return l===void 0||!l.terminal})).map(c=>c.id);return ee(i,a,r,"stale_lifecycle_block","warning","A blocked lifecycle status must be backed by at least one open ordering predecessor.",c=>`${c} status-blocked item(s) with no open blocker edge`,'Add a local blocker edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status.'),i}function Un(e){let t=e.edges.map(n=>n.kind).sort((n,r)=>n.localeCompare(r));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function qr(e){let t=e.graph.registry(),n=new Map;for(let i of e.graph.edges()){let o=t.require(i.kind);if(!Mn(o))continue;let s=Kr(i,o);if(s.from===s.to)continue;let a=`${Nn(o)}::${s.from}::${s.to}`,c=n.get(a);c?c.edges.push(i):n.set(a,{...s,edges:[i]})}let r=[...n.values()].filter(i=>i.edges.length>=2);for(let i of r)i.edges.sort((o,s)=>o.kind.localeCompare(s.kind));return r.sort((i,o)=>i.from.localeCompare(o.from)||i.to.localeCompare(o.to))}function Nf(e,t,n){let r=[],i=[];for(let s of qr(e))(Wr(s.from,t)||Wr(s.to,t)?r:i).push(Un(s));let o=[];return ee(o,r,n,"duplicate_edge","info","One semantic relationship should be stored once; parallel same-family spellings (reciprocal inverse pairs included) add no information and skew degree metrics.",s=>`${s} duplicated relationship(s) between active endpoints`,"Remove all but one stored spelling of the relationship; keep the canonical direction the holder declared first."),ee(o,i,n,"legacy_duplicate_edge","info","Duplicated spellings between exclusively terminal items are historical noise with no scheduling effect.",s=>`${s} duplicated relationship(s) between terminal endpoints`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),o}function $f(e,t){let n=[],r=[];for(let o of e.duplicateRows??[])(o.legacy_terminal?r:n).push(`${o.holder_id} -> ${o.target_id} (${o.kind} x${o.occurrences})`);let i=[];return ee(i,n,t,"duplicate_dependency_row","warning","One dependency row must be stored once per holder; identical repeated rows are a storage-layer defect invisible to the assembled graph.",o=>`${o} exactly duplicated stored dependency row(s) on active holder(s)`,"Remove the repeated rows so the dependency is stored exactly once; graph semantics are unchanged."),ee(i,r,t,"legacy_duplicate_dependency_row","info","Identical repeated dependency rows on terminal holders are historical storage noise with no scheduling effect.",o=>`${o} exactly duplicated stored dependency row(s) on terminal holder(s)`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),i}function Pf(e,t){let n=new Map,r={source_to_target:[],target_to_source:[],both:[]};for(let s of e.graph.registry().list())s.outcomeTraversal!==void 0&&r[s.outcomeTraversal].push(s.kind);let i={source_to_target:r.source_to_target.join(","),target_to_source:r.target_to_source.join(","),both:r.both.join(",")},o=(s,a)=>{let c=n.get(a)??new Set;c.add(s),n.set(a,c)};for(let s of e.graph.edges()){t?.throwIfAborted();let a=e.graph.registry().require(s.kind);(a.outcomeTraversal==="source_to_target"||a.outcomeTraversal==="both")&&o(s.source,s.target),(a.outcomeTraversal==="target_to_source"||a.outcomeTraversal==="both")&&o(s.target,s.source)}return{basis:i,reverse:n}}function jf(e,t,n){let r=new Set(e),i=[...e].sort();for(let o=0;o<i.length;o+=1){n?.throwIfAborted();for(let s of[...t.get(i[o])??[]].sort())r.has(s)||(r.add(s),i.push(s))}return r}function Uf(e,t,n,r){let i=0,o=0,s=0,a=0;for(let p of e.values())if(r?.throwIfAborted(),!t.has(p.id)&&!(p.missing||p.status==="external")){if(p.terminal){s+=1,n.has(p.id)&&(a+=1);continue}n.has(p.id)?i+=1:o+=1}let c=i+o,d=s-a,l=i+a,u=o+d,f=l+u;return{active_outcome_reachable_nodes:i,active_outcome_unreachable_nodes:o,active_outcome_reachability_basis_points:c===0?0:Math.floor(i*1e4/c),terminal_nodes:s,terminal_outcome_reachable_nodes:a,terminal_outcome_unreachable_nodes:d,terminal_outcome_reachability_basis_points:s===0?0:Math.floor(a*1e4/s),outcome_reachable_nodes:l,outcome_unreachable_nodes:u,outcome_reachability_basis_points:f===0?0:Math.floor(l*1e4/f)}}function Bf(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===If&&a.title.trim().toLowerCase().startsWith(Cf)).map(a=>a.id)),{basis:i,reverse:o}=Pf(e,n),s=jf(r,o,n);return{outcome_nodes:r.size,outcome_reachability_basis:i,...Uf(t,r,s,n)}}function Hf(e,t,n,r,i){e.active+=1;let o=t.type??"(untyped)",s=e.byType.get(o);s||(s={active:0,isolated:0,degree_leq_one:0},e.byType.set(o,s)),s.active+=1,!(n>1)&&(e.degreeLeqOne+=1,s.degree_leq_one+=1,n===0&&(e.isolated+=1,s.isolated+=1),!(r.has(t.id.toLowerCase())||i.has(o.toLowerCase()))&&(n===0?e.isolates.push(t.id):e.sparse.push(t.id)))}function Gf(e,t,n,r,i,o,s){let a={active:0,missing:0,isolated:0,degreeLeqOne:0,isolates:[],sparse:[],byType:new Map};for(let v of e.graph.nodes()){s?.throwIfAborted();let w=t.get(v);if(w){if(w.missing){a.missing+=1;continue}w.terminal||Hf(a,w,e.graph.incidentEdges(v).length,n,r)}}let{isolates:c,sparse:d}=a,l=[];ee(l,c,i,"isolated_active_node","warning","Active work should be reachable from the graph unless explicitly declared a valid isolate.",v=>`${v} active item(s) with no relationships`,"Link the item to its parent, prerequisite, or origin \u2014 or register it as an exempt isolate."),ee(l,d,i,"sparse_active_node","info","Active items with a single edge often miss an honest semantic partner; sparse is not automatically defective.",v=>`${v} active item(s) with exactly one relationship`,"Investigate for an honest second edge (story->task, defect family, cross-epic complement); do not fabricate one.");let u=e.graph.edges().length,f=tt(e.graph,{signal:s}).value,p=new Set(f.map(({edge:v})=>`${v.source.toLowerCase()}\0${v.target.toLowerCase()}\0${v.kind}`));for(let v of e.orderingContradictions??[])p.add(`${v.holder_id.toLowerCase()}\0${v.target_id.toLowerCase()}\0${v.dependency_kind}`);let m=Object.fromEntries(Object.entries(o).sort(([v],[w])=>v.localeCompare(w))),h=Object.entries(m).reduce((v,[w,C])=>v+(jn(w)?C:0),0),y=$n(e.graph,{signal:s}).value,b=Bf(e,t,s);return{findings:l,profile:{nodes:e.graph.nodes().length,recorded_nodes:e.details.filter(v=>v.status!=="missing"&&v.status!=="external").length,edges:u,informative_edges:u-p.size,redundant_edges:f.length,ordering_contradiction_edges:e.orderingContradictions?.length??0,edge_basis:"deduplicated_directed",edges_by_kind:m,edge_share_by_kind:Object.fromEntries(Object.entries(m).map(([v,w])=>[v,w/u])),semantic_edges:h,semantic_edge_share:u===0?0:h/u,active_nodes:a.active,missing_nodes:a.missing,isolated_active_nodes:a.isolated,degree_leq_one_active_nodes:a.degreeLeqOne,coverage_by_type:Object.fromEntries([...a.byType.entries()].sort(([v],[w])=>v<w?-1:1)),articulation_points:y.articulationPoints.length,bridge_edges:y.bridges.length,...b,finding_subjects_by_code:Object.fromEntries(rt.map(v=>[v,0]))}}}function Bn(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),i=t.maxSampleSize??Ef;if(!Number.isInteger(i)||i<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let o=na(t.exemptIsolates),s=na(t.isolateExemptTypes),a=new Map(e.details.map(f=>[f.id,{id:f.id,status:f.status,missing:e.missingIdSet.has(f.id.toLowerCase()),terminal:n(f.status),...f.type===void 0?{}:{type:f.type}}]));t.signal?.throwIfAborted();let c={};for(let f of e.graph.edges())c[f.kind]=(c[f.kind]??0)+1;let d=Lf(e,n,i);d.push(...Rf(e,i)),t.signal?.throwIfAborted(),d.push(...Ff(e,i)),t.signal?.throwIfAborted(),d.push(...Mf(e,a,r,i)),t.signal?.throwIfAborted(),d.push(...Nf(e,a,i),...$f(e,i)),t.signal?.throwIfAborted();let l=Gf(e,a,o,s,i,c,t.signal);d.push(...l.findings),d.sort((f,p)=>ta[f.severity]-ta[p.severity]||f.code.localeCompare(p.code)||f.sample[0].localeCompare(p.sample[0]));let u=l.profile.finding_subjects_by_code;for(let f of d)u[f.code]+=f.count;return{findings:d,profile:{...l.profile,...Qs(e,n,jn,t.signal),ordering_acyclic:!d.some(f=>f.code==="ordering_cycle"||f.code==="legacy_ordering_cycle"),active_ordering_acyclic:!d.some(f=>f.code==="ordering_cycle"),finding_subjects_by_code:u}}}function Vr(e,t){let n=[...new Set([...Object.keys(e),...Object.keys(t)])].sort(),r={};for(let i of n){let o=(t[i]??0)-(e[i]??0);o!==0&&(r[i]=o)}return r}function oa(e){return e.profile.coverage_by_type??{}}function Kf(e,t){let n={},r=oa(e),i=oa(t),o=[...new Set([...Object.keys(r),...Object.keys(i)])].sort();for(let s of o){let a=Object.assign({active:0,isolated:0,degree_leq_one:0},r[s]),c=Object.assign({active:0,isolated:0,degree_leq_one:0},i[s]),d={active:c.active-a.active,isolated:c.isolated-a.isolated,degree_leq_one:c.degree_leq_one-a.degree_leq_one};Object.values(d).some(l=>l!==0)&&(n[s]=d)}return n}function ca(e,t){let n=Kf(e,t),{edge_share_by_kind:r={},semantic_edges:i=0,semantic_edge_share:o=0}=e.profile,{edge_share_by_kind:s={},semantic_edges:a=0,semantic_edge_share:c=0}=t.profile,d=e.profile.recorded_nodes??e.profile.nodes,l=t.profile.recorded_nodes??t.profile.nodes,u=e.profile.informative_edges??e.profile.edges,f=t.profile.informative_edges??t.profile.edges,p=e.profile.redundant_edges??0,m=t.profile.redundant_edges??0,h=e.profile.ordering_contradiction_edges??0,y=t.profile.ordering_contradiction_edges??0;return{baseline_saved_at:e.saved_at,same_snapshot:e.fingerprint===t.fingerprint,affected_subjects_by_code:Vr(e.affected_subjects_by_code,t.affected_subjects_by_code),profile:{nodes:t.profile.nodes-e.profile.nodes,recorded_nodes:l-d,edges:t.profile.edges-e.profile.edges,informative_edges:f-u,redundant_edges:m-p,ordering_contradiction_edges:y-h,active_nodes:t.profile.active_nodes-e.profile.active_nodes,missing_nodes:t.profile.missing_nodes-e.profile.missing_nodes,isolated_active_nodes:t.profile.isolated_active_nodes-e.profile.isolated_active_nodes,degree_leq_one_active_nodes:t.profile.degree_leq_one_active_nodes-e.profile.degree_leq_one_active_nodes,edges_by_kind:Vr(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:Vr(r,s),semantic_edges:a-i,semantic_edge_share:c-o,coverage_by_type:n,...ea(e.profile,t.profile)}}}import da from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="19264e42-25fa-5c93-9b0d-3b18a1ab9783")}catch{}})();var la=2,Yr=500,zf=64,Vf="graph-durable-cache";function ua(e){return Ge(e,Vf,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function vt(e){return da.join(e,"runtime","graph-cache.json")}function fa(e){return da.join(e,"runtime","graph-audit-baseline.json")}function Xr(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==la||typeof t.fingerprint!="string"||typeof t.saved_at!="string"||typeof t.results!="object"||t.results===null||Array.isArray(t.results)?void 0:t}catch{return}}async function Jr(e,t){let n=await ge(vt(e)),r=Xr(n),i=r?.fingerprint===t;return{exists:n!==null,fresh:i,results:i?r.results:{}}}async function Qr(e,t,n,r,i){let o=await ua(e);try{let s=Xr(await ge(vt(e))),a=s?.fingerprint===t?s.results:{};delete a[r],a[r]=i;let c=Object.keys(a);for(let d of c.slice(0,Math.max(0,c.length-zf)))delete a[d];await q(vt(e),JSON.stringify({version:la,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await o()}}async function Zr(e){let t=await ua(e);try{await uo(vt(e))}finally{await t()}}async function ma(e,t){let n=vt(e),r=await ge(n),i=Xr(r);return i===void 0?{exists:r!==null,fresh:!1,entry_count:0}:{exists:!0,fresh:i.fingerprint===t,entry_count:Object.keys(i.results).length,fingerprint:i.fingerprint.slice(0,12),saved_at:i.saved_at,bytes:Buffer.byteLength(r,"utf8")}}function ei(e,t){return t||e>=Yr}function Hn(e){return ot(e)&&Object.values(e).every(De)}function ot(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function De(e){return Number.isInteger(e)&&Number(e)>=0}function pa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function yt(e,t){return e===void 0||t(e)}function Wf(e){return ot(e)&&Object.values(e).every(pa)}function qf(e){return ot(e)?Object.values(e).every(t=>ot(t)&&[t.active,t.isolated,t.degree_leq_one].every(De)):!1}function Yf(e,t,n){let r=["recorded_nodes","informative_edges","redundant_edges","ordering_contradiction_edges"],i=r.filter(s=>e[s]!==void 0).length;if(i!==0&&i!==r.length||!r.every(s=>yt(e[s],De)))return;let o={recorded_nodes:e.recorded_nodes??t,informative_edges:e.informative_edges??n,redundant_edges:e.redundant_edges??0,ordering_contradiction_edges:e.ordering_contradiction_edges??0};return o.recorded_nodes<=t&&o.informative_edges<=n&&o.redundant_edges<=n&&o.ordering_contradiction_edges<=n?o:void 0}function Xf(e,t,n){let r=[...t,...n,"finding_subjects_by_code"],i=r.filter(o=>e[o]!==void 0).length;return i!==0&&i!==r.length?!1:t.every(o=>yt(e[o],De))&&n.every(o=>yt(e[o],De)&&(e[o]===void 0||Number(e[o])<=1e4))&&yt(e.finding_subjects_by_code,Hn)}function Jf(e,t,n,r){let i=Yf(e,n,r);if(i===void 0)return;let o=["articulation_points","bridge_edges","outcome_nodes","active_outcome_reachable_nodes","active_outcome_unreachable_nodes","terminal_nodes","terminal_outcome_reachable_nodes","terminal_outcome_unreachable_nodes","outcome_reachable_nodes","outcome_unreachable_nodes"],s=["active_outcome_reachability_basis_points","terminal_outcome_reachability_basis_points","outcome_reachability_basis_points"];if(!Xf(e,o,s)||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed")return;let a=Hn(e.finding_subjects_by_code)?e.finding_subjects_by_code:{};return{edge_basis:"deduplicated_directed",...i,...Object.fromEntries(o.map(c=>[c,e[c]??0])),...Object.fromEntries(s.map(c=>[c,e[c]??0])),finding_subjects_by_code:Object.fromEntries(rt.map(c=>[c,a[c]??t[c]??0]))}}function Qf(e,t,n,r,i){let o=[n,r,i],s=o.filter(d=>d!==void 0).length;if(s===0)return{edge_share_by_kind:{},semantic_edges:0,semantic_edge_share:0};if(s!==o.length||!Wf(n)||!De(r)||!pa(i))return;let a=Object.entries(t);if(a.reduce((d,[,l])=>d+l,0)!==e||Object.keys(n).length!==a.length||a.some(([d,l])=>n[d]!==(e===0?0:l/e)))return;let c=a.reduce((d,[l,u])=>d+(jn(l)?u:0),0);if(!(r!==c||i!==(e===0?0:c/e)))return{edge_share_by_kind:n,semantic_edges:r,semantic_edge_share:i}}function Zf(e){if(e!==null)try{let t=JSON.parse(e);if(!ot(t))return;let n=t,r=n.profile;if(typeof n.saved_at!="string"||typeof n.fingerprint!="string")return;let i=n.affected_subjects_by_code;if(!Hn(i)||!ot(r)||!Zs(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(De)||!Hn(r.edges_by_kind)||!yt(r.coverage_by_type,qf))return;let o=Qf(r.edges,r.edges_by_kind,r.edge_share_by_kind,r.semantic_edges,r.semantic_edge_share);if(o===void 0)return;let s=Jf(r,i,r.nodes,r.edges);if(s===void 0)return;let{coverage_by_type:a={}}=r;return{...n,profile:{...r,...o,...s,coverage_by_type:a}}}catch{return}}async function ha(e){return Zf(await ge(fa(e)))}async function ga(e,t){await q(fa(e),JSON.stringify(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="236ccc7d-6efd-57b1-8cce-6758d537f779")}catch{}})();var em={missing_reference_active:{op:"investigate",confidence:"medium",rationale:"Restore or re-create the referenced item, or remove/retype the reference on the active holder; the correct fix depends on why the target is absent."},missing_reference_terminal:{op:"waive",confidence:"high",rationale:"Terminal-holder reference to an absent item is historical debt; waive it or clean it up only in a dedicated changelog-safe closed-item batch."},legacy_no_blocker_sentinel:{op:"remove",confidence:"high",rationale:"The pre-structured-dependency no-active-blocker sentinel is retired and carries no information; blocker state derives from blocked_by edges."},ordering_cycle:{op:"investigate",confidence:"low",rationale:"Every cycle member is unschedulable until one ordering edge is removed or retyped; the planner never chooses which edge to cut."},legacy_ordering_cycle:{op:"waive",confidence:"high",rationale:"Terminal-only ordering cycles have no scheduling effect; repairing them would mutate closed history (changelog drag)."},ordering_storage_contradiction:{op:"remove",confidence:"high",rationale:"The structured ordering row asserts the opposite precedence from the same-target scalar blocker; remove that exact dependency row or replace both representations with one unambiguous edge."},legacy_ordering_storage_contradiction:{op:"remove",confidence:"high",rationale:"The terminal holder contains a proven contradictory structured ordering row; remove it in a dedicated changelog-safe batch while preserving the scalar blocker as history."},hierarchy_cycle:{op:"investigate",confidence:"low",rationale:"Cut or retype one exact structural relation in the cycle; the planner preserves every evidence row because intent determines the correct parent."},legacy_hierarchy_cycle:{op:"waive",confidence:"high",rationale:"Terminal-only hierarchy cycles are historical debt; waive them unless an explicit closed-history repair is approved."},hierarchy_cardinality_violation:{op:"investigate",confidence:"medium",rationale:"Choose the canonical parent and remove or retype the exact surplus hierarchy rows; the planner cannot infer ownership intent."},legacy_hierarchy_cardinality_violation:{op:"waive",confidence:"high",rationale:"Multiple parents confined to terminal items are historical debt; waive them unless a dedicated history repair is approved."},hierarchy_direction_violation:{op:"investigate",confidence:"medium",rationale:"Align the scalar parent and dependency-backed hierarchy rows to the intended canonical parent."},legacy_hierarchy_direction_violation:{op:"waive",confidence:"high",rationale:"Divergent hierarchy storage confined to terminal items is historical debt; waive it unless a dedicated history repair is approved."},duplicate_edge:{op:"remove",confidence:"high",rationale:"Parallel same-family spellings state one relationship twice; remove all but one stored spelling, keeping the holder's canonical direction."},legacy_duplicate_edge:{op:"waive",confidence:"high",rationale:"Duplicated spellings between terminal items are historical noise; waive or batch changelog-safe cleanup."},duplicate_dependency_row:{op:"remove",confidence:"high",rationale:"The identical dependency row is stored more than once on the holder; drop the repeats so the row exists exactly once \u2014 graph semantics are unchanged."},legacy_duplicate_dependency_row:{op:"waive",confidence:"high",rationale:"Repeated identical rows on terminal holders are storage noise; waive or clean up only in a changelog-safe closed-item batch."},stale_lifecycle_block:{op:"investigate",confidence:"medium",rationale:`Add a local ordering edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status; only the holder's owner knows which is true.`},isolated_active_node:{op:"investigate",confidence:"medium",rationale:"Link the item to its parent, prerequisite, or origin \u2014 or register it as an explicitly exempt isolate; the audit never fabricates an edge."},sparse_active_node:{op:"investigate",confidence:"low",rationale:"Investigate for an honest second edge (story-to-task, defect family, cross-epic complement); sparse is not automatically defective."}};function _a(e){return`${e.source} -${e.kind}-> ${e.target}`}function tm(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:_a(r),rationale:"This stored spelling restates the kept canonical edge of the same semantic family; removing it leaves the relationship stated exactly once.",evidence:[`keep: ${_a(t)}`,`group: ${Un(e)}`],confidence:"high"}))}function nm(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>tm(t.get(r)));let n=em[e.code];return e.sample.map(r=>({op:n.op,code:e.code,subject:r,rationale:n.rationale,evidence:[e.policy],confidence:n.confidence}))}function ya(e,t={}){let{redundancyLimit:n,...r}=t,i=Bn(e,r),o=new Map(qr(e).map(d=>[Un(d),d])),s=i.findings.flatMap(d=>nm(d,o)),a=i.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let c=tt(e.graph,{limit:n??t.maxSampleSize??25,...t.signal===void 0?{}:{signal:t.signal}});for(let d of c.value)s.push({op:"remove",code:"redundant_edge",subject:`${d.edge.source} -> ${d.edge.target} (${d.edge.kind})`,rationale:"The stored edge is implied by a longer same-family witness path; shortcut edges are sometimes deliberate emphasis, so confirm intent before removing.",evidence:[`witness: ${d.witness.join(" -> ")}`],confidence:"medium"});return a=a||c.meta.truncated,{steps:s,report:i,truncated:a,cost:{visitedNodes:c.meta.visitedNodes,inspectedEdges:c.meta.inspectedEdges}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="123fbdac-0fc7-5f02-85d9-9a7ca55e1df1")}catch{}})();var ka=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]);function va(e,t,n){let r=e;if(t&&e.subcommand==="audit"){let{nodes:i,recorded_nodes:o,edges:s,active_nodes:a,terminal_nodes:c,missing_nodes:d,ordering_acyclic:l,active_ordering_acyclic:u,coverage_by_lifecycle:f}=e.profile,p=Object.fromEntries(Object.entries(f).map(([m,h])=>{let{degree_histogram:y,...b}=h;return[m,b]}));r={...e,profile:{nodes:i,recorded_nodes:o,edges:s,active_nodes:a,terminal_nodes:c,missing_nodes:d,ordering_acyclic:l,active_ordering_acyclic:u,coverage_by_lifecycle:p}}}return{...r,projection:{mode:t?"summary":"full",declared_field_groups:n===void 0?[]:[{name:n,restore_with:"--full"}],included_field_groups:n===void 0||t?[]:[n]}}}function rm(e,t,n,r){return{assembly:t,...n===void 0?{}:{kinds:n},maxDepth:Dn(r.maxDepth),limit:e==="impact"&&Number(r.limit)===0?0:me(r.limit,"limit")??(r.full===!0?Number.MAX_SAFE_INTEGER:be.rows),after:r.after?.trim()||void 0,direction:Br(r.direction),maxPaths:me(r.maxPaths,"max-paths"),sample:me(r.sample,"sample")??be.samples,exemptIsolates:ba(r.exemptIsolate),exemptIsolateTypes:ba(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0}}function ba(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function im(e,t,n){let r=e.trim().toLowerCase();if(!kr.includes(r))throw ho({command_path:"graph",token:r||"<empty>",allowed:kr});let i=r;if(ka.has(i)&&!t?.trim())throw new _(`graph ${i} requires an item id.`,g.USAGE);if(i==="paths"&&!n?.trim())throw new _("graph paths requires a source and a target item id.",g.USAGE);return i}function ti(e){throw e instanceof TypeError?new _(e.message,g.USAGE):e}function ni(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function wa(e,t){let n=t.trim().toLowerCase();for(let r of e.details)if(r.id.trim().toLowerCase()===n&&!e.missingIdSet.has(r.id.toLowerCase()))return r.id;throw new _(`Item ${t} not found`,g.NOT_FOUND)}function om(e,t,n){let r={ancestors:Ns,descendants:$s,predecessors:Ps,successors:js}[e],i;try{i=r(n.assembly.graph,t,{...n.kinds===void 0?{}:{kinds:n.kinds},...n.maxDepth===void 0?{}:{maxDepth:n.maxDepth},limit:n.limit,...n.after===void 0?{}:{after:n.after}})}catch(s){ti(s)}let o=ni(i.meta);return{subcommand:e,root:t,count:i.value.length,...o,...i.meta.nextCursor===void 0?{}:{next_cursor:i.meta.nextCursor},...n.summary?{}:{ids:i.value}}}function sm(e,t,n){let r=Us(n.assembly.graph,e,t,{direction:n.direction,...n.kinds===void 0?{}:{kinds:n.kinds},...n.maxDepth===void 0?{}:{maxDepth:n.maxDepth},...n.maxPaths===void 0?{}:{maxPaths:n.maxPaths}});return{subcommand:"paths",root:e,target:t,direction:n.direction,count:r.value.length,...ni(r.meta),...n.summary?{}:{paths:r.value.map(i=>({nodes:i.nodes,kinds:i.edges.map(o=>o.kind),length:i.length}))}}}function am(e,t){let n;try{n=_n(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth},...t.unbounded?{}:{limit:t.limit},...t.after===void 0?{}:{after:t.after}})}catch(r){ti(r)}return{subcommand:"impact",root:e,direction:t.direction,count:n.affected.length,truncated:n.truncated,...n.nextCursor===void 0?{}:{next_cursor:n.nextCursor},cost:{visited_nodes:n.cost.visitedNodes,inspected_edges:n.cost.inspectedEdges},...t.summary?{}:{affected:n.affected}}}function cm(e,t,n){return{acyclic:e.acyclic,ordered_node_count:e.order.length,layer_count:e.layers.length,frontier_count:e.frontier.length,critical_path_length:e.criticalPathLength,cycle_count:e.cycles.length,...t?{}:{frontier:e.frontier.slice(0,n),critical_path:e.criticalPath.slice(0,n),cycles:e.cycles.slice(0,n)}}}function dm(e,t,n){return{component_count:e.components.length,largest_component_size:e.components[0]?.length??0,orphan_count:e.orphans.length,...t?{}:{orphans:e.orphans.slice(0,n),hubs:e.hubs.slice(0,n)}}}function lm(e,t,n){let r=0,i=0,o=0;for(let s of e.cycles)r+=Number(s.legacy_terminal);for(let s of e.cardinality_violations)i+=Number(s.legacy_terminal);for(let s of e.divergences)o+=Number(s.legacy_terminal);return{acyclic:e.cycles.length===0,relation_count:e.relations.length,cycle_count:e.cycles.length,active_cycle_count:e.cycles.length-r,legacy_cycle_count:r,cardinality_violation_count:e.cardinality_violations.length,active_cardinality_violation_count:e.cardinality_violations.length-i,legacy_cardinality_violation_count:i,parent_divergence_count:e.divergences.length,active_parent_divergence_count:e.divergences.length-o,legacy_parent_divergence_count:o,...t?{}:{cycles:e.cycles.slice(0,n).map(s=>s.item_ids)}}}function um(e){let t=e.assembly.graph,n=e.limit,r=yn(t,{registry:t.registry()}),i=ps(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:cm(r,e.summary,n),knowledge:dm(i,e.summary,n),hierarchy:lm(Sn(e.assembly),e.summary,n)}}function fm(e,t){let n=Bn(e.assembly,{isTerminal:t,maxSampleSize:e.sample,...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),r={},i={},o={},s={};for(let d of n.findings)r[d.severity]=(r[d.severity]??0)+1,i[d.code]=(i[d.code]??0)+1,o[d.severity]=(o[d.severity]??0)+d.count,s[d.code]=(s[d.code]??0)+d.count;let{finding_subjects_by_code:a,...c}=n.profile;return{subcommand:"audit",truncated:n.findings.length>e.limit,finding_count:n.findings.length,findings_by_severity:r,findings_by_code:i,affected_subjects_by_severity:o,affected_subjects_by_code:s,profile:e.summary?c:n.profile,legacy_alias_counts:e.assembly.legacyAliasCounts,...e.summary?{}:{findings:n.findings.slice(0,e.limit)}}}function mm(e){let t=e.limit,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=Hs(e.assembly.graph,n),i=r.value;return{subcommand:"communities",community_count:i.communities.length,largest_community_size:i.communities[0]?.size??0,iterations:i.iterations,converged:i.converged,truncated:!i.converged||i.communities.length>t,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...e.summary?{}:{communities:i.communities.slice(0,t).map(o=>({representative:o.representative,size:o.size,members:o.members.slice(0,t)}))}}}function pm(e){let t;try{t=tt(e.assembly.graph,{...e.kinds===void 0?{}:{kinds:e.kinds},...e.maxDepth===void 0?{}:{maxDepth:e.maxDepth},limit:e.limit})}catch(n){ti(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...ni(t.meta),...e.summary?{}:{redundant:t.value.map(n=>({source:n.edge.source,target:n.edge.target,kind:n.edge.kind,witness:n.witness}))}}}function hm(e,t){let n=t.limit,r=Gs(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth}}),i=r.value.rows.filter(o=>o.dominatedCount>0);return{subcommand:"dominators",root:e,direction:t.direction,reachable_count:r.value.reachableCount,bottleneck_count:i.length,truncated:r.meta.truncated||i.length>n,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...t.summary?{}:{bottlenecks:i.slice(0,n).map(o=>({id:o.id,idom:o.idom,dominated_count:o.dominatedCount}))}}}function gm(e){let t=e.limit,n=qs(e.assembly.graph),r=n.rows.filter(i=>i.critical).length;return{subcommand:"slack",acyclic:n.acyclic,makespan:n.makespan,scheduled_count:n.scheduledCount,critical_count:r,critical_path_length:n.criticalPathLength,cycle_count:n.cycles.length,truncated:n.rows.length>t,...e.summary?{}:{critical_path:n.criticalPath.slice(0,t),rows:n.rows.slice(0,t).map(i=>({id:i.id,earliest_start:i.earliestStart,latest_start:i.latestStart,slack:i.slack,critical:i.critical}))}}}function _m(e){let t=e.limit,n=Ws(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),r=n.value;return{subcommand:"centrality",node_count:r.nodeCount,edge_count:r.edgeCount,edge_basis:"simple_undirected",truncated:r.rows.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{rows:r.rows.slice(0,t).map(i=>({id:i.id,degree:i.degree,in_degree:i.inDegree,out_degree:i.outDegree,betweenness:i.betweenness,closeness:i.closeness}))}}}function ym(e){let t=e.limit,n=$n(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),{articulationPoints:r,bridges:i}=n.value;return{subcommand:"articulation",articulation_count:r.length,bridge_count:i.length,truncated:r.length>t||i.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{articulation_points:r.slice(0,t),bridges:i.slice(0,t)}}}function vm(e,t){let n=e.limit,r=ya(e.assembly,{isTerminal:t,redundancyLimit:n,maxSampleSize:e.sample,...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),i={},o={};for(let s of r.steps)i[s.op]=(i[s.op]??0)+1,o[s.code]=(o[s.code]??0)+1;return{subcommand:"plan",step_count:r.steps.length,steps_by_op:i,steps_by_code:o,finding_count:r.report.findings.length,truncated:r.truncated||r.steps.length>n,cost:{visited_nodes:r.cost.visitedNodes,inspected_edges:r.cost.inspectedEdges},...e.summary?{}:{steps:r.steps.slice(0,n)}}}function Ea(e,t,n,r){return JSON.stringify({projection_version:2,subcommand:e,root:t??null,target:n??null,kinds:r.kinds??null,maxDepth:r.maxDepth??null,limit:r.limit,after:r.after??null,direction:r.direction,maxPaths:r.maxPaths??null,sample:r.sample,exemptIsolates:[...new Set(r.exemptIsolates.map(i=>i.toLowerCase()))].sort(),exemptIsolateTypes:[...new Set(r.exemptIsolateTypes.map(i=>i.toLowerCase()))].sort(),summary:r.summary,unbounded:r.unbounded})}function Ia(e,t,n,r,i){return e==="analyze"?um(r):e==="audit"?fm(r,i):e==="plan"?vm(r,i):e==="communities"?mm(r):e==="redundancy"?pm(r):e==="dominators"?hm(t,r):e==="slack"?gm(r):e==="centrality"?_m(r):e==="articulation"?ym(r):e==="paths"?sm(t,n,r):e==="impact"?am(t,r):om(e,t,r)}function bm(e,t){if(e!=="index"&&(t.rebuild===!0||t.clear===!0))throw new _("--rebuild and --clear apply only to graph index.",g.USAGE);if(e!=="audit"&&t.saveBaseline===!0)throw new _("--save-baseline applies only to graph audit.",g.USAGE);if(e==="slack"&&t.kind!==void 0)throw new _("graph slack analyzes every ordering kind; --kind is not supported.",g.USAGE);if(t.rebuild===!0&&t.clear===!0)throw new _("graph index accepts either --rebuild or --clear, not both.",g.USAGE);if(t.full===!0&&t.limit!==void 0)throw new _(`graph ${e} accepts either --full or --limit, not both.`,g.USAGE)}async function wm(e,t,n,r,i,o){let s="status";if(o.clear===!0&&(await Zr(e),s="cleared"),o.rebuild===!0){await Zr(e);let c=await Jr(e,t),d={assembly:n.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,limit:be.rows,sample:be.samples,unbounded:!1};for(let l of["analyze","audit"])await Qr(e,t,c,Ea(l,void 0,void 0,d),Ia(l,void 0,void 0,d,i));s="rebuilt"}let a=await ma(e,t);return{subcommand:"index",action:s,state:a.exists?a.fresh?"fresh":"stale":"absent",entry_count:a.entry_count,item_count:r,min_items_threshold:Yr,persist_enabled:ei(r,a.exists),current_fingerprint:t.slice(0,12),...a.saved_at===void 0?{}:{saved_at:a.saved_at},...a.bytes===void 0?{}:{bytes:a.bytes}}}async function km(e,t,n,r){let i={saved_at:new Date().toISOString(),fingerprint:t,affected_subjects_by_code:n.affected_subjects_by_code,profile:{...n.profile,finding_subjects_by_code:Object.fromEntries(rt.map(s=>[s,n.affected_subjects_by_code[s]??0]))}},o=await ha(e);return r&&await ga(e,i),o===void 0?n:{...n,baseline:ca(o,i)}}async function Em(e,t,n,r,i){try{await Qr(e,t,n,r,i)}catch{}}function Im(e,t,n,r){if(e.subcommand!=="slack")return;let i=new Set(t.assembly.details.filter(f=>r(f.status)).map(f=>f.id)),o=t.assembly.graph,s=new zt(o.nodes().filter(f=>!i.has(f)),o.edges().filter(f=>!i.has(f.source)&&!i.has(f.target)),o.registry()),a=Ys(s,n.filter(f=>!i.has(f.id)),{now:R(),limit:t.limit}),{rows:c,residuals:d,overcommitted:l,...u}=a;e.deadline_schedule={population:"active",...u,...t.summary?{}:{rows:c,residuals:d,overcommitted:l}}}async function _k(e,t,n,r,i){let o=im(e,t,n);Jt(r.summary===!0,r.full===!0,"--summary");let s=O(process.cwd(),i.path);await U(s);let a=await F(s),c=L(a,D()),d=await le(s,a.item_format,c.type_to_folder,void 0,a.schema),l=J(a.schema),u=M=>j(M,l);bm(o,r);let f=z(),p=Hr(r.kind,f),m=Rn().lookup(s,Tn(d,u,f),()=>Qe(d,u,f)),h=rm(o,m.assembly,p,r);if(o==="index")return va(await wm(s,m.fingerprint,h,d.length,u,r),!1);let y=ka.has(o)?wa(h.assembly,t):void 0,b=o==="paths"?wa(h.assembly,n):void 0,v=Ea(o,y,b,h),w=await Jr(s,m.fingerprint),C=w.results[v],S=m.memoize(v,()=>C!==void 0?structuredClone(C):Ia(o,y,b,h,u)),N=ei(d.length,w.exists);!S.reused&&C===void 0&&N&&await Em(s,m.fingerprint,w,v,S.value);let $=S.value.subcommand==="audit"?await km(s,m.fingerprint,S.value,h.saveBaseline):S.value;return $.cache={fingerprint:m.fingerprint.slice(0,12),assembly:m.assemblyReused?"hit":"miss",result:S.reused?"hit":"miss",durable:C!==void 0?"hit":N?"miss":"off"},Im($,h,d,u),va($,h.summary,"result_rows")}import ri from"node:fs/promises";import ii from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="86c82880-d6c1-5d03-b786-222421f1146d")}catch{}})();var Ca=8388608,Cm=new Set(["resolved","failed"]),Sm=[{kind:"boolean",matches:e=>typeof e=="boolean"||typeof e=="string"&&/^(?:true|false)$/iu.test(e.trim())},{kind:"single_digit",matches:e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=9||typeof e=="string"&&/^\d$/u.test(e.trim())}];function pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function oi(e){return Sm.find(t=>t.matches(e))?.kind}function Sa(e){let t=new Map,n=0,r=0;return{entries:e.map(o=>{let s=pe(o.agent_provenance)?o.agent_provenance:void 0;if(s===void 0||!jo(o).ok)return o;let a={},c=!1;for(let[l,u]of Object.entries(s)){let f=pe(u)?oi(u.value):void 0;if(f===void 0){a[l]=u;continue}c=!0,r+=1;let p=o.agent_harness??"unknown",m=`${p}\0${l}\0${f}`,h=t.get(m)??{harness:p,dimension:l,kind:f,count:0};h.count+=1,t.set(m,h)}if(!c)return o;n+=1;let d={...o};return Object.keys(a).length===0?delete d.agent_provenance:d.agent_provenance=a,Uo(o,d,{retainPriorRecord:!0,retainPriorRecordHash:!1})}),receipt:{changed:n>0,events_changed:n,observations_removed:r,invalid_values:[...t.values()].sort((o,s)=>o.harness.localeCompare(s.harness)||o.dimension.localeCompare(s.dimension)||o.kind.localeCompare(s.kind))}}}async function Ta(e){let t=[];for(let n of await Ra(e)??[])try{let r=await ri.readFile(ii.join(e,"history",n),"utf8");for(let i of r.split(`
|
|
2
|
-
`)){if(i.trim().length===0)continue;let o=xa(i);if(o===null||!pe(o.agent_provenance))continue;if(Object.values(o.agent_provenance).some(a=>pe(a)&&oi(a.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function Ra(e){try{return(await ri.readdir(ii.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function Tm(e,t,n){let r;try{r=await ri.open(ii.join(e,"history",t),"r");let i=(await r.stat()).size,o=Math.min(i,Math.max(0,n)),s=Buffer.alloc(o),{bytesRead:a}=await r.read(s,0,o,0),c=s.subarray(0,a).toString("utf8"),d=a>=i,l=c.lastIndexOf(`
|
|
3
|
-
`),u=c;return d||(u=l===-1?"":c.slice(0,l+1)),{content:u,bytesRead:a,complete:d}}catch{return null}finally{await r?.close()}}function xa(e){try{let t=JSON.parse(e);return pe(t)?t:null}catch{return null}}function Rm(e,t,n){let r=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(r===void 0)return;let i=pe(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(i).forEach(([s,a])=>{if(!pe(a))return;let c=oi(a.value);if(!c)return;let d=`${r}\0${s}\0${c}`,l=n.get(d)??{harness:r,dimension:s,kind:c,count:0};l.count+=1,n.set(d,l)}),!pe(e.context))return;let o=e.context.agent_provenance_outcomes;pe(o)&&Object.entries(o).forEach(([s,a])=>{if(!pe(a)||typeof a.resolver!="string"||!Cm.has(String(a.status)))return;let c=`${r}\0${s}\0${a.resolver}`,d=t.get(c)??{harness:r,dimension:s,resolver:a.resolver,attempts:0,successes:0};d.attempts+=1,a.status==="resolved"&&(d.successes+=1),t.set(c,d)})}function xm(e,t,n,r,i,o){let s=i;for(let a of e.split(`
|
|
4
|
-
`)){if(a.trim().length===0)continue;if(s>=r)return{eventsRead:s,truncated:!0};s+=1;let c=xa(a);if(c===null){o.malformed_events+=1;continue}if(typeof c.ts=="string"&&Ht(c.ts)){let d=new Date(c.ts).toISOString();(o.earliest_event_at===null||d<o.earliest_event_at)&&(o.earliest_event_at=d),(o.latest_event_at===null||d>o.latest_event_at)&&(o.latest_event_at=d)}Rm(c,t,n)}return{eventsRead:s,truncated:!1}}function Dm(e,t,n){return n?[...e.filter(r=>r.attempts>0&&r.successes===0).map(r=>`provenance_resolver_zero_success:${r.harness}:${r.dimension}:${r.resolver}:${String(r.attempts)}`),...t.map(r=>`provenance_value_domain_invalid:${r.harness}:${r.dimension}:${r.kind}:${String(r.count)}`)]:[]}async function Ek(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let n={scope:"history_prefix",event_limit:t,byte_limit:Ca,bytes_read:0,events_read:0,truncated:!1,unreadable_sources:0,malformed_events:0,earliest_event_at:null,latest_event_at:null,complete:!1},r=new Map,i=new Map,o=0,s=0,a=!1,c=await Ra(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await Tm(e,u,Math.max(0,Ca-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let p=xm(f.content,r,i,t,o,n);if(o=p.eventsRead,p.truncated){a=!0;break}if(!f.complete){a=!0;break}}let d=[...r.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.resolver.localeCompare(f.resolver)),l=[...i.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.kind.localeCompare(f.kind));return n.bytes_read=s,n.events_read=o,n.truncated=a,n.complete=!a&&n.unreadable_sources===0&&n.malformed_events===0,{outcomes:d,sample:n,invalid_values:l,warnings:Dm(d,l,n.complete),events_read:o,truncated:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a917834c-52c2-54c6-af84-a57d4c4b3855")}catch{}})();var Am=Object.freeze({pm_item_scalar_missing:!0});function st(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===1&&e.pm_item_scalar_missing===!0}function T(e){return e===void 0?Am:e}function Te(e){return re(E(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function si(e,t){let n=He(e);if(n)throw new _(`History merge input (${t}) contains unresolved conflict markers at line ${n.line}. Merge drivers must receive clean per-side versions.`,g.GENERIC_FAILURE);let r=[];for(let[i,o]of e.split(/\r?\n/).entries()){let s=o.trim();if(s)try{let a=JSON.parse(s);if(typeof a!="object"||a===null||Array.isArray(a))throw new TypeError("history entry must be an object");r.push(a)}catch{throw new _(`History merge input (${t}) contains invalid JSON at line ${i+1}.`,g.GENERIC_FAILURE)}}return r}function we(e){return E({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function Om(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&we(e[r])===we(t[r]);)r+=1;return r}function Lk(e,t,n){let r=si(e,"base"),i=si(t,"ours"),o=si(n,"theirs"),s=[r,i,o].map(p=>p.filter(m=>m.op==="create"));if(s[0].length===0&&s.slice(1).every(p=>p.length>0)||s.some(p=>p.length>1)||new Set(s.flat().map(we)).size>1)throw new _("Duplicate item identity: history contains independent or unproven create events. Preserve both branches and assign distinct item ids before merging.",g.CONFLICT,{code:"item_identity_conflict"});let a=Om(i,o);if(a===i.length&&a===o.length)return{merged:xe(i),strategy:"identical",common_entries:a,entries_from_ours:0,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(a===o.length)return{merged:xe(i),strategy:"fast_forward_ours",common_entries:a,entries_from_ours:i.length-a,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(a===i.length)return{merged:xe(o),strategy:"fast_forward_theirs",common_entries:a,entries_from_ours:0,entries_from_theirs:o.length-a,entries_total:o.length,reanchored:!1};let c=i.slice(a),d=new Set(c.map(we)),l=o.slice(a).filter(p=>!d.has(we(p))),u=[...c,...l].sort((p,m)=>{let h=I(p.ts,m.ts);if(h!==0)return h;let y=d.has(we(p)),b=d.has(we(m));return y!==b?Number(b)-Number(y):we(p).localeCompare(we(m))}),f=cn([...i.slice(0,a),...u],void 0,{continuousHashSurface:!0});if(f.skippedOps>0)throw new _(`History union cannot preserve ${f.skippedOps} patch operation(s) after deterministic suffix ordering; leave the file unresolved for manual recovery.`,g.GENERIC_FAILURE);return{merged:xe(f.entries),strategy:"union_reanchor",common_entries:a,entries_from_ours:c.length,entries_from_theirs:l.length,entries_total:f.entries.length,reanchored:!0}}function ai(e,t){let n=He(e);if(n)throw new _(`Relationship merge input (${t}) contains unresolved conflict markers at line ${n.line}. Merge drivers must receive clean per-side versions.`,g.GENERIC_FAILURE);let r=[];for(let[i,o]of e.split(/\r?\n/).entries()){let s=o.trim();if(!s)continue;let a;try{a=JSON.parse(s)}catch{throw new _(`Relationship merge input (${t}) contains invalid JSON at line ${i+1}.`,g.GENERIC_FAILURE)}if(typeof a!="object"||a===null||Array.isArray(a)||typeof a.eventId!="string"||typeof a.sequence!="number")throw new _(`Relationship merge input (${t}) line ${i+1} is not a relationship event (eventId + sequence required).`,g.GENERIC_FAILURE);r.push(a)}return r}function Gn(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
5
|
-
`)}
|
|
6
|
-
`}function Lm(e){return e.map((t,n)=>({...t,sequence:n+1}))}function Fk(e,t,n){ai(e,"base");let r=ai(t,"ours"),i=ai(n,"theirs"),o=Math.min(r.length,i.length),s=0;for(;s<o&&r[s].eventId===i[s].eventId;)s+=1;if(s===r.length&&s===i.length)return{merged:Gn(r),strategy:"identical",common_entries:s,entries_from_ours:0,entries_from_theirs:0,entries_total:r.length,reanchored:!1};if(s===i.length)return{merged:Gn(r),strategy:"fast_forward_ours",common_entries:s,entries_from_ours:r.length-s,entries_from_theirs:0,entries_total:r.length,reanchored:!1};if(s===r.length)return{merged:Gn(i),strategy:"fast_forward_theirs",common_entries:s,entries_from_ours:0,entries_from_theirs:i.length-s,entries_total:i.length,reanchored:!1};let a=r.slice(s),c=new Set(a.map(f=>f.eventId)),d=i.slice(s).filter(f=>!c.has(f.eventId)),l=[...a,...d].sort((f,p)=>{if(f.timestamp!==void 0&&p.timestamp!==void 0){let y=I(f.timestamp,p.timestamp);if(y!==0)return y}else{if(f.timestamp===void 0&&p.timestamp!==void 0)return 1;if(f.timestamp!==void 0)return-1}let m=c.has(f.eventId),h=c.has(p.eventId);return m!==h?Number(h)-Number(m):0}),u=Lm([...r.slice(0,s),...l]);return{merged:Gn(u),strategy:"union_reanchor",common_entries:s,entries_from_ours:a.length,entries_from_theirs:d.length,entries_total:u.length,reanchored:!0}}var Fm=["tags","dependencies","comments","notes","learnings","files","tests","test_runs","docs","reminders","events"],Mm=["acceptance_criteria"],Nm=["updated_at"];function Ae(e,t){return e===void 0||t===void 0?e===void 0&&t===void 0:E(e)===E(t)}function Da(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(l=>E(l))),o=r(t),s=new Set(o.map(l=>E(l))),a=r(n),c=new Set(a.map(l=>E(l))),d=o.filter(l=>{let u=E(l);return!i.has(u)||c.has(u)});for(let l of a){let u=E(l);!s.has(u)&&!i.has(u)&&d.push(l)}return d}function bt(e){if(typeof e!="object"||e===null||Array.isArray(e))return E(e);let{provenance:t,...n}=e;return E(n)}function $m(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;let t=e;return t.provenance?{...t,provenance:{...t.provenance,source_kind:"merge_union"}}:{...t,provenance:{source_kind:"merge_union"}}}function Pm(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(bt)),o=r(t),s=new Set(o.map(bt)),a=r(n),c=new Set(a.map(bt)),d=o.filter(l=>{let u=bt(l);return!i.has(u)||c.has(u)});for(let l of a){let u=bt(l);!s.has(u)&&!i.has(u)&&d.push($m(l))}return d}function jm(e,t){return I(String(e),String(t))>=0?e:t}function Aa(e,t,n,r){return Ae(t,n)?{value:t,from_theirs:!1,conflict:!1}:Ae(e,t)?{value:n,from_theirs:!0,conflict:!1}:Ae(e,n)?{value:t,from_theirs:!1,conflict:!1}:{value:r==="theirs"?n:t,from_theirs:r==="theirs",conflict:!0}}function Oa(e,t,n,r,i,o,s){let a=Aa(e,t,n,r);if(!a.conflict)return{...a,conflict:!1};if(i==="preferred_side")return{...a,resolution_basis:"requested_preference",retained_side:a.from_theirs?"theirs":"ours"};let c=I(o,s);if(i==="latest_document_update"&&c!==0){let l=c<0;return{value:l?n:t,from_theirs:l,conflict:!0,resolution_basis:"document_updated_at",retained_side:l?"theirs":"ours"}}let d=E(T(n)).localeCompare(E(T(t)))<0;return{value:d?n:t,from_theirs:d,conflict:!0,resolution_basis:"stable_value_tiebreak",retained_side:d?"theirs":"ours"}}function ci(e){return{...e.metadata}}function di(e,t,n){try{let r=Io(ko(e,n),n),i=Object.entries(r.metadata).find(([,o])=>st(o))?.[0];if(i!==void 0)throw new TypeError(`metadata field ${i} uses the reserved missing-scalar evidence marker`);return r}catch(r){throw new _(`Item merge input (${t}) is not a readable item document: ${String(r)}`,g.GENERIC_FAILURE)}}function Um(e){if(!e.unionFieldSet.has(e.field))return!1;let t=e.field==="tests"?Pm(e.baseValue,e.oursValue,e.theirsValue):e.field==="acceptance_criteria"?Da(qt(e.baseValue),qt(e.oursValue),qt(e.theirsValue)).join("; "):Da(e.baseValue,e.oursValue,e.theirsValue);return e.accumulator.merged[e.field]=t,Ae(t,e.oursValue)||e.accumulator.unionFields.push(e.field),!0}function Bm(e){let t=Oa(e.baseValue,e.oursValue,e.theirsValue,e.preferred,e.conflictResolution,e.oursUpdatedAt,e.theirsUpdatedAt);t.value!==void 0&&(e.accumulator.merged[e.field]=t.value),t.conflict?(e.accumulator.conflictFields.push(e.field),e.accumulator.conflictDecisions.push({field:e.field,base:T(e.baseValue),ours:T(e.oursValue),theirs:T(e.theirsValue),retained:T(t.value),discarded:T(t.from_theirs?e.oursValue:e.theirsValue),retained_side:t.retained_side,resolution_basis:t.resolution_basis})):t.from_theirs&&e.accumulator.fieldsFromTheirs.push(e.field)}function Hm(e,t,n,r,i,o,s){let a=new Set([...Fm,...Mm]),c=new Set(Nm),d=[...new Set([...Object.keys(t),...Object.keys(n)])].sort((u,f)=>u.localeCompare(f)),l={merged:{},conflictFields:[],fieldsFromTheirs:[],unionFields:[],conflictDecisions:[]};for(let u of d){let f=e[u],p=t[u],m=n[u];if(!Um({field:u,baseValue:f,oursValue:p,theirsValue:m,unionFieldSet:a,accumulator:l})){if(c.has(u)){l.merged[u]=jm(p,m);continue}Bm({field:u,baseValue:f,oursValue:p,theirsValue:m,preferred:r,conflictResolution:i,oursUpdatedAt:o,theirsUpdatedAt:s,accumulator:l})}}return l}function Mk(e,t,n,r={}){let i=r.preferred??"ours",o=r.conflictResolution??"preferred_side",s=di(t,"ours",r),a=di(n,"theirs",r);if(e.trim().length===0)throw new _("Duplicate item identity: add/add item documents have no common ancestor. Preserve both branches and assign distinct item ids before merging.",g.CONFLICT,{code:"item_identity_conflict",item_id:s.metadata.id});let c=di(e,"base",r);if(c.metadata.id!==s.metadata.id||c.metadata.id!==a.metadata.id)throw new _("Duplicate or mismatched item identity: all merge sides must address the common ancestor's item id.",g.CONFLICT,{code:"item_identity_conflict",item_id:c.metadata.id});let d=ci(c),l=ci(s),u=ci(a),{merged:f,conflictFields:p,fieldsFromTheirs:m,unionFields:h,conflictDecisions:y}=Hm(d,l,u,i,o,s.metadata.updated_at,a.metadata.updated_at),b=Oa(c.body,s.body,a.body,i,o,s.metadata.updated_at,a.metadata.updated_at);return b.conflict?(p.push("body"),y.push({field:"body",base:T(c.body),ours:T(s.body),theirs:T(a.body),retained:T(b.value),discarded:T(b.from_theirs?s.body:a.body),retained_side:b.retained_side,resolution_basis:b.resolution_basis})):b.from_theirs&&m.push("body"),{merged:Eo({metadata:f,body:b.value},r),conflict_fields:p,fields_from_theirs:m,union_fields:h,conflict_decisions:y,requested_preference:i,requested_preference_applied:o==="preferred_side",conflict_resolution:o}}function li(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ui(e,t){let n=He(e);if(n)throw new _(`JSON merge input (${t}) contains unresolved conflict markers at line ${n.line}.`,g.GENERIC_FAILURE);if(e.trim().length!==0)try{return JSON.parse(e)}catch{throw new _(`JSON merge input (${t}) is not valid JSON.`,g.GENERIC_FAILURE)}}function Gm(e,t,n){if(!Array.isArray(e)||!Array.isArray(t)||!Array.isArray(n))return null;let r=d=>{let l=new Map;for(let u of d){let f=E(u);l.set(f,(l.get(f)??0)+1)}return l},i=r(e),o=r(t),s=r(n);for(let[d,l]of i)if((o.get(d)??0)<l||(s.get(d)??0)<l)return null;let a=new Map(o),c=[];for(let d of n){let l=E(d),u=a.get(l)??0;u>0?a.set(l,u-1):c.push(d)}return{merged:[...t,...c],acceptedTheirs:c.length>0}}function Km(e,t,n,r,i,o,s){if(!li(t)||!li(n))return null;let a=li(e)?e:{},c={},d=[...new Set([...Object.keys(t),...Object.keys(n)])].sort((l,u)=>l.localeCompare(u));for(let l of d){let u=i.length>0?`${i}.${l}`:l,f=zm(a,t,n,l,r,u,o,s);f!==void 0&&(c[l]=f)}return c}function La(e,t,n,r,i,o,s){if(Ae(t,n))return t;let a=Gm(e,t,n);if(a!==null)return a.acceptedTheirs&&s.push(i),a.merged;let c=Km(e,t,n,r,i,o,s);if(c!==null)return c;let d=Aa(e,t,n,r);return d.conflict?o.push(i):d.from_theirs&&s.push(i),d.value}function zm(e,t,n,r,i,o,s,a){let c=Object.prototype.hasOwnProperty.call(t,r),d=Object.prototype.hasOwnProperty.call(n,r),l=Object.prototype.hasOwnProperty.call(e,r);if(c&&d)return La(e[r],t[r],n[r],i,o,s,a);if(c){if(l&&Ae(e[r],t[r])){a.push(o);return}return l?(s.push(o),i==="theirs"?void 0:t[r]):t[r]}if(!(l&&Ae(e[r],n[r])))return l?(s.push(o),i==="theirs"?n[r]:void 0):(a.push(o),n[r])}function Nk(e,t,n,r={}){let i=r.preferred??"ours",o=ui(e,"base"),s=ui(t,"ours"),a=ui(n,"theirs"),c=[],d=[],l=La(o,s,a,i,"",c,d);return{merged:`${JSON.stringify(l??null,null,2)}
|
|
7
|
-
`,conflict_paths:c,paths_from_theirs:d,preferred:i}}import{execFile as yp}from"node:child_process";import{randomUUID as vp}from"node:crypto";import{readdir as bp,stat as wp}from"node:fs/promises";import G from"node:path";import{promisify as kp}from"node:util";import{constants as Fa}from"node:fs";import{lstat as Vm,open as Wm}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b8cf81eb-6afd-5d5a-8a4d-b5b5fbd51ace")}catch{}})();var qm={lstat:Vm,open:Wm};function Ym(e){return e.O_NOFOLLOW??0}async function wt(e,t,n=qm){let r=await n.lstat(e);if(r.isSymbolicLink()||!r.isFile()||r.size>t)return null;let i=await n.open(e,Fa.O_RDONLY|Ym(Fa));try{let o=await i.stat();if(!o.isFile()||o.size>t)return null;let s=Buffer.alloc(o.size),a=0;for(;a<s.length;){let{bytesRead:d}=await i.read(s,a,s.length-a,a);if(d===0)break;a+=d}return(await i.stat()).size===o.size&&a===o.size?s.toString("utf8",0,a):null}finally{await i.close()}}import Kn from"node:path";import{execFile as Xm}from"node:child_process";import{createHash as Jm}from"node:crypto";import{readdir as Qm}from"node:fs/promises";import Zm from"node:path";import{promisify as ep}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b5dfe3ea-a457-5fb4-84b4-c03110f6b53a")}catch{}})();var Oe=ep(Xm),fi=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function Wk(e,t){let n=t.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n;for(let i of["rebase-merge","rebase-apply"])try{let{stdout:o}=await Oe("git",["rev-parse","--path-format=absolute","--git-path",`${i}/orig-head`],{cwd:e,timeout:1e4}),s=(await wt(o.trim(),128))?.trim();if(s===void 0||!fi.test(s))continue;let{stdout:a}=await Oe("git",["rev-parse","--verify",`${s}:${r}`],{cwd:e,timeout:1e4}),c=a.trim();return{kind:"rebase",original_head:s,original_blob:c}}catch{}}function Ma(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return Object.keys(t).length===3&&t.kind==="rebase"&&typeof t.original_head=="string"&&fi.test(t.original_head)&&typeof t.original_blob=="string"&&fi.test(t.original_blob)}async function Na(e,t,n,r){if(r!==void 0&&Jm(n.original_blob.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(r)}\0`).update(r).digest("hex")!==n.original_blob)return!1;try{let{stdout:i}=await Oe("git",["rev-parse","--absolute-git-dir"],{cwd:e,timeout:1e4}),o=new Set(["rebase-merge","rebase-apply","MERGE_HEAD","CHERRY_PICK_HEAD","REVERT_HEAD"]);if((await Qm(i.trim())).some(d=>o.has(d)))return!1;let{stdout:s}=await Oe("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(s.trim()!==n.original_head)return!1;let{stdout:a}=await Oe("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(a.trim()!==n.original_blob)return!1;let{stdout:c}=await Oe("git",["hash-object","--",Zm.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==n.original_blob?!1:(await Oe("git",["diff","--cached","--quiet","HEAD","--",t],{cwd:e,timeout:1e4}),!0)}catch{return!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0d215db3-1a51-5509-aa08-a3d0708aa3ef")}catch{}})();var tp=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,np=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,Vn=2048,rp=64,ip=1e5,op=new Set(["version","id","item_path","item_id","requested_preference","requested_preference_applied","preferred","conflict_resolution","fields_from_theirs","union_fields","merged_field_hashes","decisions","state","created_at","reconciled_at","value_availability","value_policy","evidence_source","operation","settlement"]);function Wn(e){return tp.test(e)}var sp=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),qn="bounded_non_sensitive_scalars_v1",ap=new Set(["open","in_progress","blocked","closed","canceled"]),cp=new Set(["risk","confidence","severity"]),dp=new Set(["low","medium","high","critical"]),Pa=new Map([["priority",new Set([0,1,2,3,4].map(E))],["status",new Set([...ap].map(E))],...[...cp].map(e=>[e,new Set([...dp].map(E))])]);function he(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ja(e,t){return Object.keys(e).every(n=>t.has(n))}function zn(e){return Array.isArray(e)&&e.length<=Vn&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function kt(e){let t=[{value:e,depth:0}],n=0;for(;t.length>0;){let r=t.pop();if(n+=1,n>ip||r.depth>rp)return!1;if(Array.isArray(r.value))for(let i of r.value)t.push({value:i,depth:r.depth+1});else if(he(r.value))for(let i of Object.values(r.value))t.push({value:i,depth:r.depth+1})}return!0}function Ua(e){if(!he(e))return!1;let t=[void 0,"ours","theirs"],n=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[ja(e,sp),typeof e.field=="string",typeof e.field=="string"&&e.field.length>0,typeof e.field=="string"&&e.field.length<=256,Object.hasOwn(e,"base"),Object.hasOwn(e,"ours"),Object.hasOwn(e,"theirs"),Object.hasOwn(e,"retained"),Object.hasOwn(e,"discarded"),kt(e.base),kt(e.ours),kt(e.theirs),kt(e.retained),kt(e.discarded),t.includes(e.retained_side),n.includes(e.resolution_basis)].every(Boolean)}function lp(e){if(!he(e))return!1;let t=Object.entries(e);return t.length<=Vn&&t.every(([n,r])=>n.length>0&&n.length<=256&&typeof r=="string"&&/^[a-f0-9]{64}$/u.test(r))}function up(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||Kn.posix.isAbsolute(e))return!1;let n=Kn.posix.normalize(e);return n!==".."&&!n.startsWith("../")&&Kn.posix.basename(n,Kn.posix.extname(n))===t}function fp(e){return!zn(e.fields_from_theirs)||!zn(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>Vn||!e.decisions.every(Ua)?!1:e.merged_field_hashes===void 0||lp(e.merged_field_hashes)}function mp(e){let t=[void 0,"ours","theirs"],n=[void 0,"preferred_side","stable_value_order","latest_document_update"],r=[void 0,"clone_local","hash_only","bounded_inline","mixed"],i=[void 0,"clone_local","durable"];return t.includes(e.requested_preference)&&t.includes(e.preferred)&&(e.requested_preference_applied===void 0||typeof e.requested_preference_applied=="boolean")&&n.includes(e.conflict_resolution)&&(e.state==="pending"||e.state==="reconciled")&&r.includes(e.value_availability)&&(e.value_policy===void 0||e.value_policy===qn)&&i.includes(e.evidence_source)}function pp(e){return typeof e.created_at=="string"&&gr(e.created_at)&&(e.reconciled_at===void 0||typeof e.reconciled_at=="string"&&gr(e.reconciled_at))}function $a(e,t){if(!he(t)||Yn(t)===void 0)return!1;let n=Object.keys(t);if(!n.every(o=>o==="pm_value_hash"||o==="pm_value"))return!1;if(!Object.hasOwn(t,"pm_value"))return n.length===1;let r=t.pm_value;return(r===null||Pa.get(e)?.has(E(r))===!0)&&Te(r)===t.pm_value_hash}function hp(e){if(!e.decisions.every(r=>r.base===null&&r.ours===null&&r.theirs===null&&$a(r.field,r.retained)&&$a(r.field,r.discarded)))return!1;let t=e.decisions.reduce((r,i)=>r+(he(i.retained)&&Object.hasOwn(i.retained,"pm_value")?1:0)+(he(i.discarded)&&Object.hasOwn(i.discarded,"pm_value")?1:0),0),n=t===0?"hash_only":t===e.decisions.length*2?"bounded_inline":"mixed";return e.value_availability===n&&(t===0||e.value_policy===qn)}function gp(e){return e.operation!==void 0&&!Ma(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function _p(e){for(let t of["version","id","item_path","item_id","fields_from_theirs","union_fields","decisions","state","created_at"])if(!Object.hasOwn(e,t))return"required_fields";return e.version!==1||!ja(e,op)?"required_fields":typeof e.id!="string"||!Wn(e.id)?"receipt_id":typeof e.item_id!="string"||!np.test(e.item_id)?"item_id":up(e.item_path,e.item_id)?null:"item_path"}function mi(e,t){if(!he(e))return"required_fields";let n=_p(e);return n!==null?n:gp(e)?fp(e)?mp(e)?pp(e)?t==="durable"&&!hp(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function pi(e){if(!he(e)||e.version!==1||e.value_policy!==void 0||!Array.isArray(e.decisions))return e;let t=(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0,n=(e.requested_preference==="ours"||e.requested_preference==="theirs")&&e.value_availability==="clone_local";return!t&&!n?e:{...e,decisions:e.decisions.map(r=>!he(r)||!Object.hasOwn(r,"retained")||!Object.hasOwn(r,"discarded")?r:{base:T(void 0),ours:T(void 0),theirs:T(void 0),...r})}}function Ba(e){if(!he(e))return;if(!zn(e.fields_from_theirs))return"fields_from_theirs";if(!zn(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>Vn)return"decisions";let t=e.decisions.findIndex(n=>!Ua(n));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function hi(e,t){return mi(e,t)===null}function Yn(e){if(typeof e!="object"||e===null||Array.isArray(e)||!("pm_value_hash"in e))return;let t=e.pm_value_hash;return typeof t=="string"&&/^[a-f0-9]{64}$/u.test(t)?t:void 0}function gi(e,t){let n=st(t),r=Te(n?void 0:t);return!n&&(t===null||Pa.get(e)?.has(E(t))===!0)?{pm_value_hash:r,pm_value:t}:{pm_value_hash:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7793ca52-14e7-544f-a5cf-ebea38bb1401")}catch{}})();var Ep=kp(yp),Ka=16*1024*1024,Xn=100;async function _i(e){try{let{stdout:t}=await Ep("git",["rev-parse","--path-format=absolute","--git-path","pm-merge-receipts"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4});return t.trim()}catch{return null}}async function za(e,t){let n=G.dirname(G.resolve(e,t));for(let r=0;r<12;r+=1){if(await Bt(G.join(n,"settings.json")))return n;let i=G.dirname(n);if(i===n)break;n=i}return null}function yi(e){return G.join(e,"merge-receipts")}function at(e){return`${e}.json`}async function Ha(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await wt(e.receiptPath,Ka)}catch(o){if(je(o))return null;throw o}if(t===null)throw new Error(`Receipt ${e.receiptId} settlement source is not a bounded regular file.`);let n;try{n=pi(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!hi(n,e.evidenceSource)||n.id!==e.receiptId||e.settlement!==void 0&&n.operation===void 0||G.basename(e.receiptPath)!==at(n.id))throw new Error(`Receipt ${e.receiptId} settlement source failed schema or identity validation.`);let{evidence_source:r,...i}=n;return{path:e.receiptPath,fingerprints:vi(n),modern:n.value_policy!==void 0,content:`${JSON.stringify({...i,state:"reconciled",reconciled_at:e.reconciledAt,...e.settlement?{settlement:e.settlement}:{}},null,2)}
|
|
8
|
-
`}}function Et(e,t=!1){return re(E({id:e.id,item_id:e.item_id,item_path:e.item_path,created_at:e.created_at,requested_preference:e.requested_preference??e.preferred??"ours",conflict_resolution:e.conflict_resolution??"preferred_side",fields_from_theirs:e.fields_from_theirs,union_fields:e.union_fields,merged_field_hashes:e.merged_field_hashes??null,operation:e.operation??null,decisions:t?e.decisions.map(n=>({field:n.field,retained_hash:re(E(T(n.retained))),discarded_hash:re(E(T(n.discarded)))})):bi(e).decisions}))}function vi(e){let t=[Et(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(Et(e,!0)),t}function Ip(e,t){if(e.state==="reconciled"&&t.state==="reconciled"&&e.settlement===t.settlement)return e;let{reconciled_at:n,settlement:r,...i}=e;return{...i,state:"pending"}}function bi(e){return{receipt_id:e.id,item_id:e.item_id,item_path:e.item_path,conflict_fields:e.decisions.map(t=>t.field),fields_from_theirs:e.fields_from_theirs,union_fields:e.union_fields,requested_preference:e.requested_preference??e.preferred??"ours",requested_preference_applied:e.requested_preference_applied??(e.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflict_resolution,decisions:e.decisions.map(t=>({field:t.field,retained_hash:Yn(t.retained)??Te(st(t.retained)?void 0:t.retained),discarded_hash:Yn(t.discarded)??Te(st(t.discarded)?void 0:t.discarded)}))}}async function mE(e){let t=await _i(e.cwd);if(t===null)return null;let n=e.itemPath.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n,i=G.basename(r,G.extname(r)),o={version:1,id:vp(),item_path:r.replaceAll("\\","/"),item_id:i,requested_preference:e.preferred,requested_preference_applied:(e.conflictResolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflictResolution??"preferred_side",fields_from_theirs:[...e.fieldsFromTheirs],union_fields:[...e.unionFields],...e.mergedFieldHashes?{merged_field_hashes:{...e.mergedFieldHashes}}:{},decisions:structuredClone(e.decisions).map(a=>({...a,base:T(a.base),ours:T(a.ours),theirs:T(a.theirs),retained:T(a.retained),discarded:T(a.discarded)})),...e.operation?{operation:e.operation}:{},state:"pending",created_at:R(),value_availability:"clone_local"};await pr(t),await q(G.join(t,at(o.id)),`${JSON.stringify(o,null,2)}
|
|
9
|
-
`);let s=await za(e.cwd,o.item_path);if(s!==null){let a=yi(s),c=o.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:gi(u.field,u.retained),discarded:gi(u.field,u.discarded),retained_side:u.retained_side,resolution_basis:u.resolution_basis})),d=c.reduce((u,f)=>u+(Object.hasOwn(f.retained,"pm_value")?1:0)+(Object.hasOwn(f.discarded,"pm_value")?1:0),0),l={...o,decisions:c,value_availability:d===0?"hash_only":d===c.length*2?"bounded_inline":"mixed",value_policy:qn};await pr(a),await q(G.join(a,at(o.id)),`${JSON.stringify(l,null,2)}
|
|
10
|
-
`)}return o}async function Ga(e,t){let n;try{n=await bp(e)}catch(a){let c=await Cp(e,a);return{receipts:[],invalid_evidence_count:c?0:1,invalid_evidence:c?[]:[{evidence_source:t,reason:"directory_unreadable"}],invalid_evidence_truncated:!1}}let r=[],i=0,o=[],s=(a,c)=>{if(i+=1,o.length>=Xn)return;let d=a.slice(0,-5);o.push({evidence_source:t,reason:c.reason,...c.validation_path?{validation_path:c.validation_path}:{},...c.validation_error===void 0?{}:{validation_error:c.validation_error},...Wn(d)?{receipt_id:d}:{candidate_name_hash:re(a)}})};for(let a of n.sort((c,d)=>c.localeCompare(d))){if(!a.endsWith(".json"))continue;let c=await Sp(e,a,t);c.receipt!==void 0?r.push(c.receipt):s(a,c)}return{receipts:r,invalid_evidence_count:i,invalid_evidence:o,invalid_evidence_truncated:i>o.length}}async function Cp(e,t,n=wp){if(!ae(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(i){if(!ae(i))return!1;let o=G.dirname(r);if(o===r)return!0;r=o}}async function Sp(e,t,n){let r;try{r=await wt(G.join(e,t),Ka)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=pi(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let o=mi(i,n);if(o!==null)return{reason:new Set(["receipt_id","item_id","item_path"]).has(o)?"identity_invalid":"schema_invalid",validation_error:o,...o==="collections"?{validation_path:Ba(i)}:{}};let s=i;if(t!==at(s.id))return{reason:"identity_invalid",validation_error:"filename"};let{preferred:a,evidence_source:c,...d}=s;return{receipt:{...d,requested_preference:s.requested_preference??a??"ours",requested_preference_applied:s.requested_preference_applied??(s.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:s.conflict_resolution??"preferred_side",evidence_source:n}}}async function Jn(e,t={}){let n=await _i(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Ga(n,"clone_local"),i=t.pmRoot??G.join(e,".agents","pm"),o=await Ga(yi(i),"durable"),s=new Map(o.receipts.map(d=>[d.id,d])),a=0,c=[];for(let d of r.receipts){let l=s.get(d.id);if(l!==void 0&&!(l.value_policy===void 0?vi(d):[Et(d)]).includes(Et(l))){s.delete(d.id),a+=1,r.invalid_evidence.length+o.invalid_evidence.length+c.length<Xn&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:d.id});continue}s.set(d.id,l===void 0?d:Ip(d,l))}return{receipts:[...s.values()].filter(d=>(t.includeReconciled||d.state==="pending")&&(t.includeLossless!==!1||d.decisions.length>0)).sort((d,l)=>d.created_at.localeCompare(l.created_at)),invalid_evidence_count:r.invalid_evidence_count+o.invalid_evidence_count+a,invalid_evidence:[...r.invalid_evidence,...o.invalid_evidence,...c].slice(0,Xn),invalid_evidence_truncated:r.invalid_evidence_truncated||o.invalid_evidence_truncated||r.invalid_evidence_count+o.invalid_evidence_count+a>Xn,clone_local_evidence_resolved:n!==null}}async function Tp(e,t={}){return(await Jn(e,t)).receipts}function pE(e){let t=[],n=[];for(let r of e)(Array.isArray(r.decisions)&&r.decisions.length>0?t:n).push(r);return{pendingDecisions:t,lossless:n}}async function hE(e,t,n={}){let r=await _i(e);if(r===null){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let i=t.evidence_source??"clone_local";if(!hi(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=R(),s=G.join(r,at(t.id)),a=await za(e,t.item_path),c=a===null?null:G.join(yi(a),at(t.id)),l=(await Promise.all([Ha({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:n.settlement}),...c===null?[]:[Ha({receiptPath:c,receiptId:t.id,evidenceSource:"durable",reconciledAt:o,settlement:n.settlement})]])).filter(f=>f!==null);if(l.length===0){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}if(!(l.some(f=>f.modern)?[Et(t)]:vi(t)).some(f=>l.every(p=>p.fingerprints.includes(f))))throw new Error(`Receipt ${t.id} settlement copies disagree on immutable merge provenance.`);for(let f of l)await q(f.path,f.content)}async function gE(e){let t=await Tp(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:R()}}async function _E(e){let t=await Jn(e.cwd??process.cwd(),{...e,includeLossless:!0}),n=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:n,complete:n,count:t.receipts.length,invalid_evidence_count:t.invalid_evidence_count,invalid_evidence:t.invalid_evidence,invalid_evidence_truncated:t.invalid_evidence_truncated,clone_local_evidence_resolved:t.clone_local_evidence_resolved,receipts:t.receipts,generated_at:R()}}import Rp from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cd8981b8-f6f7-5911-9951-799e68cecb9b")}catch{}})();function wi(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=es(e.settings);if(n.ownership_enforcement==="strict")throw new _(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,g.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function xp(e){let t=await ge(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new _(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,g.CONFLICT);let n=await de(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?e.readItem?await e.readItem(n):await Se(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new _(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,g.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function Qn(e){let t=e.writeHistoryRaw??q;try{await t(e.historyPath,e.nextHistoryRaw),await Ir(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await Rp.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Ir(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Va(e){let t=[...wi({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await Ge(e.pmRoot,e.subject.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let r=await xp({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation});return await e.applyRewrite(r),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(r)),t}finally{await n()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7bab0f96-b67f-5523-9d1f-7426e1d58fbd")}catch{}})();async function Wa(e){let{subject:t,settings:n,operation:r,options:i}=e,o=await Ao(t.historyPath,t.id);if(o.raw===null)throw new _(`No history stream exists for ${t.id}.`,g.NOT_FOUND);if(o.entries.length===0)throw new _(`No history entries exist for ${t.id}; nothing to ${r.slice(8)}.`,g.USAGE);let s=t.located?await Se(t.located,{schema:n.schema}):null,a=ve(i.author,n.author_default),c=await e.transform({raw:o.raw,entries:o.entries,verification:Cr(o.entries),loadedItem:s,author:a}),d=Cr(c.rewrittenEntries);if(!d.ok)throw new _(`${r} produced an invalid rewritten chain (${d.errors.join(", ")}).`,g.GENERIC_FAILURE);let l=c.changed&&!i.dryRun?await Va({pmRoot:e.pmRoot,subject:t,settings:n,typeRegistry:e.typeRegistry,historyRawBeforeLock:o.raw,currentItemRawBeforeLock:s?.raw??null,operation:r,author:a,force:i.force,itemDocument:s?.document??null,applyRewrite:async u=>{await c.beforeWrite?.(),c.applyRewrite?await c.applyRewrite(u):await Qn({historyPath:t.historyPath,nextHistoryRaw:xe(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>Vt({path:t.historyPath,scope:"project",op:`${r.replace("-","_")}:history`}))}):[];return c.report({verification:d,warnings:l})}import{isUtf8 as Dp}from"node:buffer";import{readFile as Ap}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c1778165-2763-5eab-80f3-d52e08547fc2")}catch{}})();function Op(e){let t;try{t=JSON.parse(e)}catch{if(e.trimStart().startsWith("{")&&e.includes("}"))throw new _("History salvage cannot discard a potentially complete record with trailing corruption.",g.CONFLICT,{code:"history_salvage_refused"});return null}if(typeof t!="object"||t===null||Array.isArray(t))throw new _("History salvage would conceal interior corruption or a malformed record.",g.CONFLICT,{code:"history_salvage_refused"});let n=t;if(!Array.isArray(n.patch)||![n.ts,n.author,n.op,n.before_hash,n.after_hash].every(r=>typeof r=="string"))throw new _("History salvage requires complete history records before the invalid tail.",g.CONFLICT,{code:"history_salvage_refused"});return n}function Lp(e){if(He(e))throw new _("Resolve history merge conflicts before salvage.",g.CONFLICT,{code:"history_salvage_refused"});let t=[],n=0,r,i=0;for(let[s,a]of e.split(`
|
|
11
|
-
`).entries()){if(!a.trim()){n+=a.length+1;continue}let c=Op(a);if(c===null){r===void 0&&(r=n,i=s+1),n+=a.length+1;continue}if(r!==void 0)throw new _("History salvage would discard a record or conceal interior corruption.",g.CONFLICT,{code:"history_salvage_refused",required:"Recover the damaged record from version control or a backup; no bytes were changed."});t.push(c),n+=a.length+1}let o=Ce(t);if(!o.ok||o.item_hash_version===void 0)throw new _("History salvage requires a nonempty verified prefix.",g.CONFLICT,{code:"history_salvage_refused",verification_errors:o.errors,required:"Recover an intact history prefix from version control or a backup."});return{entries:t,itemHashVersion:o.item_hash_version,prefix:r===void 0?e:e.slice(0,r),receipt:r===void 0?null:{first_invalid_line:i,discarded_bytes:Buffer.byteLength(e.slice(r)),discarded_sha256:re(e.slice(r)),retained_entries:t.length}}}async function Fp(e,t,n){if(!e.located)return{itemRaw:null,document:n};let r=await ss(e.located,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n}}async function qa(e){let t;try{t=await Ap(e)}catch(n){if(ae(n))return null;throw n}if(!Dp(t))throw new _("History salvage requires UTF-8 input; recover binary corruption from a byte-preserving backup.",g.CONFLICT,{code:"history_salvage_refused"});return t.toString("utf8")}async function Ya(e){let{subject:t,settings:n,options:r,author:i}=e;if([r.normalizeProvenance,r.auditOperation,r.auditContext,r.auditContextById,r.forceAuditEntry,r.mergeReceiptProof,r.mergeReceiptProofById].some(Boolean))throw new _("Tail salvage cannot be combined with other repair modes.",g.USAGE);let o=await qa(t.historyPath);if(o===null)throw new _(`No history stream exists for ${t.id}.`,g.NOT_FOUND);await Wt({path:t.historyPath,scope:"project"});let s=Lp(o),a=mn(s.entries,s.entries.length-1),c=Ko(a);if(typeof a.metadata.id=="string"&&a.metadata.id!==t.id)throw new _("History belongs to another item; salvage refused.",g.CONFLICT,{code:"history_salvage_refused"});let d=await Fp(t,n,c),l=wi({itemDocument:d.document,subjectId:t.id,author:i,force:r.force,settings:n}),u=s.itemHashVersion,f=r.dryRun===!0,p=s.receipt!==null;if(p&&!f){let m=await Ge(e.pmRoot,t.id,n.locks.ttl_seconds,i,!!r.force,n.governance.force_required_for_stale_lock,n.locks.wait_ms);try{let h=await qa(t.historyPath),y=await de(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),b=y?await ge(y.itemPath):null;if(h!==o||b!==d.itemRaw)throw new _("History or item changed while waiting for salvage lock; retry.",g.CONFLICT);let v=sn({...Go({hashAlgorithm:ye(s.entries.at(-1).hash_algorithm),nowIso:R(),author:i,op:"history_salvage",before:c,after:c,message:r.message,context:{history_salvage:s.receipt}}),before_hash:s.entries.at(-1).after_hash,after_hash:s.entries.at(-1).after_hash,item_hash_version:u});await Qn({historyPath:t.historyPath,historyRawUnderLock:o,nextHistoryRaw:`${s.prefix}${JSON.stringify(v)}
|
|
12
|
-
`}),l.push(...await Vt({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await m()}}return{id:t.id,dry_run:f,changed:p,history:{path:t.historyPath,entries_scanned:s.entries.length,chain_drift_before:!1,entries_rehashed:0,entries_patch_repaired:0,converted_replace_to_add:0,skipped_ops:0,reconciled_with_item:!1,audit_entry_added:p&&!f,verify_ok:!0,verify_errors:[],item_hash_version_before:u,item_hash_version_after:u,version_disposition:"preserved"},item:{exists:t.located!==null,path:t.located?.itemPath??null,matched_chain_before:null},provenance_normalization:{requested:!1,changed:!1,events_changed:0,observations_removed:0,invalid_values:[]},...s.receipt?{salvage:s.receipt}:{},warnings:l,generated_at:R()}}import{realpath as oc}from"node:fs/promises";import Ei from"node:path";import sc from"fast-json-patch";import It from"node:fs/promises";import{createHash as Mp}from"node:crypto";import Ja from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d876d1ab-2de0-5c32-b999-721038adafcd")}catch{}})();var ki=new Set([void 0,...wo]),Qa=11,Np="history-drift-cache.json";function Za(e){return Ja.join(e,"runtime",Np)}async function $p(e){try{let t=await It.readFile(Za(e),"utf8"),n=JSON.parse(t);return n.version!==Qa||n.history_item_hash_version!==on||typeof n.entries!="object"||n.entries===null||Object.values(n.entries).some(r=>typeof r.chain_ok!="boolean"||typeof r.latest_hash_comparable!="boolean"||!ki.has(r.hash_algorithm)||!Ve.includes(r.item_hash_version)&&r.version_skew!==!0||r.chain_ok&&r.version_skew!==!0&&Ve.includes(r.item_hash_version)&&!r.latest_hash_comparable)?null:n}catch{return null}}async function Pp(e,t,n,r,i){let o=Xo(e),s;try{s=await It.stat(o)}catch(d){return ae(d)||i.unreadableStreams.push(Z),!1}let a=i.missingStreams.length,c=await ec({itemId:Z,historyPath:o,stat:s,cached:t[Z],verifyCacheHitByContent:r,accumulator:i});return c.verification?(c.verification.versionSkew&&i.versionSkews.push(Z),c.verification.chainOk||i.chainMismatches.push(Z),n[Z]={mtime_ms:s.mtimeMs,ctime_ms:s.ctimeMs,size:s.size,content_hash:c.verification.contentHash,latest_after_hash:c.verification.latestAfterHash,chain_ok:c.verification.chainOk,version_skew:c.verification.versionSkew,latest_hash_comparable:c.verification.latestHashComparable,item_hash_version:c.verification.itemHashVersion,hash_algorithm:c.verification.hashAlgorithm},c.cacheDirty):(i.missingStreams.splice(a),c.cacheDirty)}function jp(e){return Mp("sha256").update(e).digest("hex")}function Up(e){return!ki.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!Ve.includes(e.item_hash_version)}async function Bp(e){let t=await It.readFile(e,"utf8"),n=jp(t);if(t.trim().length===0)return null;let r=[],i=null;for(let f of t.split(/\r?\n/)){let p=f.trim();if(p.length===0)continue;let m=JSON.parse(p);if(typeof m.after_hash!="string"||m.after_hash.trim().length===0)throw new Error("missing after_hash");r.push(m),i=m.after_hash}if(!i)return null;let o=Ce(r),s=r.some(Up),a=r[r.length-1],c=ki.has(a.hash_algorithm),d=a.item_hash_version,l=d!==void 0&&Ve.includes(d),u=l?d:o.item_hash_version;return{latestAfterHash:i,hashAlgorithm:c?ye(a.hash_algorithm):void 0,identityDiscontinuities:yr(r),chainOk:o.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||l||d===void 0),contentHash:n,itemHashVersion:u??on}}function Hp(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function Xa(e,t,n){try{let r=await Bp(t);return r||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function Gp(e,t){return e!==null&&e.contentHash===t.content_hash&&e.latestAfterHash===t.latest_after_hash&&e.chainOk===t.chain_ok&&e.versionSkew===(t.version_skew===!0)&&e.latestHashComparable===t.latest_hash_comparable&&e.itemHashVersion===t.item_hash_version&&e.hashAlgorithm===t.hash_algorithm}async function ec(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(Hp(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await Xa(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let r=await Xa(e.itemId,e.historyPath,e.accumulator);return{verification:r,cacheDirty:!Gp(r,e.cached)}}return{verification:{identityDiscontinuities:[],latestAfterHash:e.cached.latest_after_hash,chainOk:e.cached.chain_ok,versionSkew:e.cached.version_skew===!0,latestHashComparable:e.cached.latest_hash_comparable&&Ve.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function Kp(e,t,n,r){let i,o;try{i=Be(e,t.id),o=await It.stat(i)}catch(l){return(ae(l)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await ec({itemId:t.id,historyPath:i,stat:o,cached:n.previousEntries[t.id],verifyCacheHitByContent:n.verifyCacheHitByContent,accumulator:r});if(!s.verification)return s.cacheDirty;s.verification.identityDiscontinuities.length>0&&(r.identityDiscontinuities??=[]).push(...s.verification.identityDiscontinuities.map(l=>({...l,item_id:t.id}))),s.verification.versionSkew&&r.versionSkews.push(t.id),s.verification.chainOk||r.chainMismatches.push(t.id),n.nextEntries[t.id]={mtime_ms:o.mtimeMs,ctime_ms:o.ctimeMs,size:o.size,content_hash:s.verification.contentHash,latest_after_hash:s.verification.latestAfterHash,chain_ok:s.verification.chainOk,version_skew:s.verification.versionSkew,latest_hash_comparable:s.verification.latestHashComparable,item_hash_version:s.verification.itemHashVersion,hash_algorithm:s.verification.hashAlgorithm};let{body:a,...c}=t;return s.verification.latestHashComparable&&(an({metadata:c,body:a},s.verification.itemHashVersion,s.verification.hashAlgorithm).includes(s.verification.latestAfterHash)||r.hashMismatches.push(t.id)),s.cacheDirty}async function zp(e,t){if(!(t.unreadableStreams.includes(Z)||t.chainMismatches.includes(Z)||t.versionSkews.includes(Z)))try{let n=await Jo(e);t.workspaceStateMismatches.push(...n.mismatched_documents),t.workspaceStateMissing.push(...n.missing_documents),t.workspaceStateUnreadable.push(...n.unreadable_documents)}catch{t.unreadableStreams.push(Z)}}async function tc(e,t,n={}){let r={missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]},o=(await $p(e))?.entries??{},s={},a=!1,c=n.cacheHitVerification!=="metadata",d={previousEntries:o,nextEntries:s,verifyCacheHitByContent:c};for(let f of t)await Kp(e,f,d,r)&&(a=!0);let l=await Pp(e,o,s,c,r);if(a||=l,await zp(e,r),a||Object.keys(o).length!==Object.keys(s).length){let f=Za(e);try{await It.mkdir(Ja.dirname(f),{recursive:!0}),await q(f,JSON.stringify({version:Qa,history_item_hash_version:on,entries:s}))}catch{}}let u=[...new Set([...r.missingStreams,...r.unreadableStreams,...r.hashMismatches,...r.chainMismatches,...r.versionSkews,...r.workspaceStateMismatches.length>0||r.workspaceStateMissing.length>0||r.workspaceStateUnreadable.length>0?[Z]:[]])].sort((f,p)=>f.localeCompare(p));return{...r,driftedItems:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="55e22181-7bbf-5fed-965c-219fe465ed72")}catch{}})();function nc(e,t){return t==="body"?e.body:e.metadata[t]}function Ii(e,t){if(e===void 0||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=new Set;return e.every(i=>{let o=t.findIndex((s,a)=>!r.has(a)&&Ii(i,s));return o<0?!1:(r.add(o),!0)})}if(e===null||t===null||typeof e!="object"||typeof t!="object"||Array.isArray(t))return!1;let n=t;return Object.entries(e).every(([r,i])=>Object.hasOwn(n,r)&&Ii(i,n[r]))}function rc(e,t){let n=new Set(t),r=[];for(let i=e.length-1;i>=0&&n.size>0;i-=1){let o=e[i],s=new Set;for(let c of Wo(o.patch))s.add(dn(c.path)),c.from&&s.add(dn(c.from));let a=[...n].filter(c=>s.has(c));if(a.length!==0){for(let c of a)n.delete(c);r.push({index:i+1,ts:o.ts,author:o.author,op:o.op,fields:a.sort((c,d)=>c.localeCompare(d))})}}return r.reverse()}function Vp(e,t,n){let r=sc.compare(t,n);if(r.length===0)return;let i=new Set;for(let m of r)i.add(dn(m.path));let o=new Set([...i].filter(m=>Ii(nc(t,m),nc(n,m)))),s=new Set([...i].filter(m=>!o.has(m))),a=rc(e,s),c=rc(e,o),d=[...i].sort((m,h)=>m.localeCompare(h)),l=[...s].sort((m,h)=>m.localeCompare(h)),u=[...o].sort((m,h)=>m.localeCompare(h)),f=[...new Set(a.map(m=>m.author))].sort((m,h)=>m.localeCompare(h)),p=[...new Set(c.map(m=>m.author))].sort((m,h)=>m.localeCompare(h));return{reconciled_field_count:i.size,reconciled_fields:d,reverted_field_count:s.size,reverted_fields:l,discarded_events:a,discarded_authors:f,preserved_field_count:o.size,preserved_fields:u,preserved_events:c,preserved_authors:p,recovery_hint:a.length>0?"Reconciliation keeps the on-disk item and overwrites these replayed mutations. To recover one, inspect it with pm history <id> --diff --field <field>, then re-apply the lost value with pm update.":null}}async function Wp(e){try{return await oc(e)}catch{return null}}async function qp(e){if(await Wp(Ei.resolve(e.gitWorkspaceRoot,e.receipt.item_path))!==e.currentPath)return null;let n=[...new Set([...e.receipt.fields_from_theirs,...e.receipt.union_fields,...e.receipt.decisions.map(a=>a.field)])].sort(),r=e.receipt.merged_field_hashes;if(!r||n.length===0)return null;let i=Object.keys(r).sort();if(n.length!==i.length||n.some((a,c)=>a!==i[c]))return null;let o=e.currentItemReplay.metadata;return n.every(a=>{let c=a==="body"?e.currentItemReplay.body:o[a];return[Te(c),re(E(T(c)))].includes(r[a])})?{receipt:e.receipt,declaredFields:n}:null}async function Yp(e){if(e.proof.gitWorkspaceRoot===null)return{trusted:!1,reason:"git_workspace_unavailable",receipt_ids:[]};if(e.itemPath===null||e.currentItemReplay===null)return{trusted:!1,reason:"item_path_unavailable",receipt_ids:[]};let t=e.proof.receipts.filter(s=>s.item_id===e.id);if(t.length===0)return{trusted:!1,reason:"no_item_receipts",receipt_ids:[]};let n=await oc(e.itemPath),r=[];for(let s of t){let a=await qp({receipt:s,gitWorkspaceRoot:e.proof.gitWorkspaceRoot,currentPath:n,currentItemReplay:e.currentItemReplay});a&&r.push(a)}let i=new Set(r.flatMap(({declaredFields:s})=>s)),o=e.reconciliation?.reconciled_fields;return r.length>0&&(o===void 0||o.length>0&&o.every(s=>i.has(s)))?{trusted:!0,reason:"trusted_merge_driver_hash_evidence",receipt_ids:r.map(({receipt:s})=>s.id)}:{trusted:!1,reason:"no_receipt_set_proves_snapshot",receipt_ids:[]}}async function ic(e,t,n,r){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,s=t.currentItemPath===null?null:Ei.relative(o,t.currentItemPath).split(Ei.sep).join("/");if(!n||r.entriesRehashed!==0||r.entriesPatchRepaired!==0||t.matchedChainBefore!==!0||t.currentItemRawBeforeLock===null||s!==i.item_path||i.operation===void 0||!await Na(o,i.item_path,i.operation,t.currentItemRawBeforeLock))throw new _("Restored-origin receipt evidence no longer proves the exact clean item snapshot.",g.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",recovery:{suggested_retry:"pm merge reconcile --dry-run"}})}async function Xp(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(s=>s.item_id===e.subjectId).map(s=>s.id)??[]),r=(e.options.mergeReceiptProof?await Jn(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0)?.receipts.filter(s=>s.item_id===e.subjectId&&t.has(s.id))??[],i=e.options.mergeReceiptProof?await Yp({proof:{...e.options.mergeReceiptProof,receipts:r},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(i&&!i.trusted&&e.options.force!==!0)throw new _(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${i.reason}).`,g.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",required:"Use authoritative clone-local or durable receipt evidence whose canonical path, declared fields, and merged-value hashes match the current item, or review the mismatch and rerun with --force.",recovery:{suggested_retry:"pm merge reconcile --dry-run"}});let o=i?.trusted?r.filter(s=>i.receipt_ids.includes(s.id)):[];return{mergeReceiptProof:i,effectiveAuditContext:o.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:o.map(bi)}}:e.options.auditContext}}function Jp(e,t,n){let r=e.located?.itemPath??null,i=t.loadedItem,o=t.entries;if(!i)return{currentItemReplay:null,currentItemPath:r,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let s=Vo(i.document),a=o[o.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:We(s,n,ye(o.at(-1)?.hash_algorithm)).includes(a),currentItemRawBeforeLock:i.raw,loadedItem:i}}function Qp(e){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-repair re-anchored ${e.entriesRehashed} entr${e.entriesRehashed===1?"y":"ies"}${e.entriesPatchRepaired>0?`, repaired ${e.entriesPatchRepaired} patch(es)`:""}${e.reconcileNeeded?", reconciled chain with on-disk item":""}.`}function Zp(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=ye(e.reanchorEntries.at(-1)?.hash_algorithm),i=We(e.finalReplay,e.itemHashVersion,r),o=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,s=i.indexOf(o),a=We(n,e.itemHashVersion,r),c={hash_algorithm:r,ts:R(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?sc.compare(e.finalReplay,e.currentItemReplay):[],before_hash:i[s],after_hash:a[s],message:e.message,...e.explicitItemHashVersion?{item_hash_version:e.itemHashVersion}:{},...e.auditContext===void 0?{}:{context:e.auditContext}};return t.push(sn({...c,event_class:Oo(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function eh(e,t,n){let r=[];return e||r.push("history_repair_no_changes"),t>0&&r.push(`history_repair_skipped_unresolvable_ops:${t}`),n&&n.discarded_events.length>0&&r.push(`history_repair_reconcile_discards_events:${n.discarded_events.length}`,`history_repair_discarded_authors:${n.discarded_authors.join(",")}`),r}async function th(e,t,n){let{pmRoot:r,settings:i,typeRegistry:o}=await Rr(n.path),s=await hn(r,e,i,o.type_to_folder);return t.salvageTail===!0?Ya({pmRoot:r,subject:s,settings:i,typeRegistry:o,options:t,author:ve(t.author,i.author_default)}):Wa({pmRoot:r,subject:s,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:a=>rh({pmRoot:r,subject:s,options:t},a)})}function nh(e,t){let n=e.mergeAbandonmentProof!==void 0&&e.auditContext!==void 0&&t.some(r=>r.op==="merge_reconcile"&&E(r.context)===E(e.auditContext));return e.forceAuditEntry===!0&&!n}async function rh(e,t){let{pmRoot:n,subject:r,options:i}=e,o=t.entries,s=t.verification,a=Ce(o),c=i.normalizeProvenance?Sa(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},d=qo(c.entries),l=new Set(c.entries.map(P=>P.item_hash_version).filter(P=>P!==void 0)),u=cn(c.entries,d),f=Jp(r,t,d);await ic(i.mergeAbandonmentProof,f,s.ok,u);let p=u.finalDocument,m=We(p,d),h=!1;if(f.currentItemReplay!==null){let P=We(f.currentItemReplay,d);h=!m.some((B,Y)=>B===P[Y])}let y=h&&f.currentItemReplay?Vp(u.entries,p,f.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await Xp({options:i,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:y}),w=[u.entriesRehashed>0,u.entriesPatchRepaired>0,h,nh(i,o),c.receipt.changed].some(Boolean),C=t.author,S=!!i.dryRun,N=Qp({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:h}),{rewrittenEntries:$,auditEntryAdded:M}=Zp({reanchorEntries:u.entries,changed:w,reconcileNeeded:h,currentItemReplay:f.currentItemReplay,finalReplay:p,author:C,message:N,auditOperation:i.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:d,explicitItemHashVersion:u.explicitItemHashVersion}),Ee=eh(w,u.skippedOps,y);return{changed:w,rewrittenEntries:$,beforeWrite:async()=>ic(i.mergeAbandonmentProof,f,s.ok,u),report:({verification:P,warnings:B})=>({id:r.id,dry_run:S,changed:w,history:{path:r.historyPath,entries_scanned:o.length,chain_drift_before:!s.ok,entries_rehashed:u.entriesRehashed,entries_patch_repaired:u.entriesPatchRepaired,converted_replace_to_add:u.convertedReplaceToAdd,skipped_ops:u.skippedOps,reconciled_with_item:h,audit_entry_added:M,verify_ok:P.ok,verify_errors:P.errors,item_hash_version_before:a.item_hash_version??null,item_hash_version_after:d,version_disposition:l.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:f.currentItemPath!==null,path:f.currentItemPath,matched_chain_before:f.matchedChainBefore},provenance_normalization:{requested:i.normalizeProvenance===!0,...c.receipt},...y?{reconciliation:y}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...Ee,...B])].sort((Y,X)=>Y.localeCompare(X)),generated_at:R()})}}function FI(e,t){if(t&&e!==void 0)throw new _("history-repair: <id> and --all are mutually exclusive; pass an item id to repair one stream or --all to repair every drifted stream.",g.USAGE);if(!t&&e===void 0)throw new _("history-repair: provide an item <id> or pass --all to repair every drifted stream.",g.USAGE)}async function MI(e,t){if(e.salvageTail===!0)throw new _("Tail salvage requires one explicit item ID; --all is not supported.",g.USAGE);let{pmRoot:n,settings:r,typeRegistry:i}=await Rr(t.path),o=[],s=await pn(n,r.item_format,i.type_to_folder,o,r.schema,{forceSourceScan:!0}),a=await tc(n,s),c=e.normalizeProvenance?await Ta(n):[],d=[...new Set([...a.driftedItems,...c])].sort((p,m)=>p.localeCompare(m)),l=[],u=[],f={repaired:0,skipped_clean:0,failed:0};for(let p of d)try{let m=await th(p,{...e,auditContext:e.auditContextById?.[p],auditContextById:void 0,mergeReceiptProof:e.mergeReceiptProofById?.[p]??e.mergeReceiptProof,mergeReceiptProofById:void 0},t),h=m.changed?"repaired":"skipped_clean";f[h]+=1,u.push(...m.warnings.map(y=>`${p}:${y}`)),l.push({id:p,outcome:h,entries_rehashed:m.history.entries_rehashed,entries_patch_repaired:m.history.entries_patch_repaired,reconciled_with_item:m.history.reconciled_with_item,...m.reconciliation?{reconciliation:m.reconciliation}:{},...m.merge_receipt_proof?{merge_receipt_proof:m.merge_receipt_proof}:{},warnings:m.warnings})}catch(m){f.failed+=1,l.push({id:p,outcome:"failed",error:m instanceof Error?m.message:String(m)})}return e.dryRun||await Po(n),{all:!0,dry_run:!!e.dryRun,scanned_streams:s.length,drifted_streams:a.driftedItems.length,provenance_invalid_streams:c.length,streams:l,totals:f,warnings:[...new Set([...o,...u])].sort((p,m)=>p.localeCompare(m)),generated_at:R()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59b12366-2f29-5acb-8196-91e9ab183666")}catch{}})();function Re(e,t){return(t===void 0?void 0:_o(e,t))?.execution_role??go[e.trim().toLowerCase()]??"agent"}var Si="blocked_by",ac="blocks",ih=Object.freeze([Si,ac]),Ci="no-active-blocker";function A(e){return e.trim().toLowerCase()}function Zn(e,t){return t?`external:${e}`:`local:${A(e)}`}function Le(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&A(n)!==Ci){let r=ue(n);t.set(Zn(n,r),r?n:A(n))}for(let r of e.dependencies??[]){let i=typeof r.id=="string"?r.id.trim():"";if(r.kind===Si&&i.length>0&&A(i)!==Ci){let o=ue(i)||fe(r.source_kind);t.set(Zn(i,o),o?i:A(i))}}return[...t.values()].sort((r,i)=>r.localeCompare(i))}function er(e){let t=new Map;for(let n of e){let r=A(n.id);r.length!==0&&t.set(r,new Set(Le(n)))}for(let n of e){let r=A(n.id);if(r.length!==0)for(let i of n.dependencies??[]){let o=i.kind===ac&&typeof i.id=="string"?A(i.id):"";if(o.length===0||o===Ci)continue;let s=t.get(o)??new Set;s.add(r),t.set(o,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((i,o)=>i.localeCompare(o))]))}function cc(e,t){let n=A(e.id);return n.length>0?er(t).get(n)??Le(e):Le(e)}function Ti(e,t,n,r){let i=e,o=typeof i.id=="string"?r?.get(A(i.id))??cc(i,[...t.values()]):Le(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Si&&fe(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>Zn(a.id.trim(),!0)));return o.map(a=>{if(ue(a)||s.has(Zn(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(A(a));return c?{id:a,title:c.title,status:c.status,resolved:j(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function tr(e,t,n){return Ti(e,t,n)}function Ct(e,t){let n=new Map(e.map(s=>[A(s.id),s])),r=er(e),i=new Set([...dc(t),...t.blocked_statuses]),o=new Set;for(let s of e){let a=x(s.status,t);if(!i.has(a))continue;(t.blocked_statuses.has(a)||Ti(s,n,t,r).some(d=>!d.resolved))&&o.add(A(s.id))}return o}function Ri(e,t,n={},r){let i=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&i.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(x(s.item.status,t))));let o={ready:[],decisions:[],gates:[]};for(let s of i){let a=Re(s.item.type,r);a==="human"&&n.includeDecisions!==!0?o.decisions.push(s):a==="gate"&&n.includeGates!==!0?o.gates.push(s):o.ready.push(s)}return o}function dc(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function oh(e,t,n){let r=[A(e)],i=new Set;for(;r.length>0;){let o=r.pop();if(!i.has(o)){i.add(o);for(let s of t.get(o)??[]){if(!j(s.status,n))return!0;r.push(A(s.id))}}}return!1}function sh(e){let t=new Map,n=new Map,r=new Map,i=er(e);for(let o of e){t.set(A(o.id),o);let s=typeof o.parent=="string"?o.parent.trim():"";if(s.length>0){let a=A(s),c=n.get(a)??[];c.push(o),n.set(a,c)}for(let a of i.get(A(o.id))){let c=A(a),d=r.get(c)??[];d.push(o.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:i}}function St(e,t,n,r){let{itemsById:i,childrenByParent:o,blockedByReverse:s,blockerIdsByItem:a}=sh(t),c=new Set([...dc(n),...n.blocked_statuses]),d=new Set(t.filter(y=>!j(y.status,n)).map(y=>A(y.id))),l=[],u=[],f=[],p=[],m=[],h=0;for(let y of e){if(!c.has(x(y.status,n)))continue;h+=1;let b=Ti(y,i,n,a).filter(S=>!S.resolved),v=(s.get(A(y.id))??[]).filter(S=>d.has(A(S))).sort((S,N)=>S.localeCompare(N)),w={item:y,open_blockers:b,unblocks:v};if(oh(y.id,o,n)){f.push(w);continue}let C=n.blocked_statuses.has(x(y.status,n));if(b.length===0&&!C){let S=Re(y.type,r);S==="human"?p.push(w):S==="gate"?m.push(w):l.push(w)}else u.push(w)}return{ready:l,blocked:u,containers:f,decisions:p,gates:m,active_count:h,container_count:f.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b03f0596-8c1f-59ec-a20e-8919cf8bbb98")}catch{}})();function xi(e,t){if(e===void 0)return;let n=[],r="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let c=e[s+1];if(c===","||c==="\\"){r+=c,s+=1;continue}r+=a;continue}if(a===","){n.push(r),r="";continue}r+=a}n.push(r);let i=n.map(s=>s.trim());if(i.some(s=>s.length===0))throw new _(`${t.label} requires at least one non-empty value`,g.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function Tt(e,t){let n=xi(e,t);return n===void 0?void 0:new Set(n)}function lc(e,t,n="--type"){let r=xi(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=Kt(o,t);if(!s)throw new _(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,g.USAGE);return s});return new Set(i)}function uc(e,t="--priority"){let n=xi(e,{label:t});if(n!==void 0)return new Set(n.map(r=>vn(r,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="261c726f-338d-5618-8f6b-051b41a38c99")}catch{}})();var Di=["id","title","status","type","priority","parent","updated_at"],Ai=["id","status","type","title"],ah={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"brief","list-canceled":"full"},ch=["tree_depth","tree_parent","tree_children","tree_title"];function Oi(e=[]){return[...new Set([...hr,"body",...ch,...e])].flatMap(t=>[t,`item.${t}`]).sort()}var YI=["brief","standard","deep"],dh=["body","linked","claim_state","children","schedule"],lh=["linked.files","linked.tests","linked.docs"],uh=["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"],fh=["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"];function XI(e=[]){return[...[...new Set([...hr,...e,"notes_count","tests_count","collection_counts"])].flatMap(n=>[n,`item.${n}`]),...dh,...lh,...uh,...fh].sort()}var JI=["id","title","status","type","priority","updated_at","score","matched_fields"],mh=["score","matched_fields","highlights"],fc=["id","title","description","type","status","priority","tags","created_at","updated_at","deadline","assignee","author","estimated_minutes","acceptance_criteria","dependencies","comments","notes","learnings","reminders","events","files","tests","docs","close_reason","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result","affected_version","fixed_version","component","regression","customer_impact","definition_of_ready","order","rank","goal","objective","value","impact","outcome","why_now","plan"];function QI(e=[]){let t=[...new Set(e)];return[...mh,...fc,...fc.map(n=>`item.${n}`),...t,...t.map(n=>`item.${n}`)].sort()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="81a10252-4fa3-5c14-878d-7d78717419a4")}catch{}})();function mc(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function _c(e){return{isTerminal(t){return e.terminal_statuses.has(mc(t,e))},classify(t){let n=mc(t,e);return e.terminal_canceled_statuses.has(n)?"canceled":e.terminal_statuses.has(n)?"closed":e.blocked_statuses.has(n)?"blocked":e.draft_statuses.has(n)?"draft":n===e.open_status?"open":e.active_statuses.has(n)?"in_progress":"other"}}}function Li(e){return K(e.acceptance_criteria)===void 0}function Fi(e){return!Number.isFinite(e.estimated_minutes)}function yc(e,t){return t.isTerminal(e.status)?K(e.resolution)===void 0:!1}function ph(e){return K(e.reviewer)===void 0}function hh(e){return K(e.risk)===void 0}function gh(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):K(e.confidence)===void 0}function _h(e){return K(e.sprint)===void 0}function yh(e){return K(e.release)===void 0}function Mi(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function vh(e,t,n){return[[t.acMissing,Li(e)],[t.estimatesMissing,Fi(e)],[t.resolutionMissing,yc(e,n)],[t.reviewerMissing,ph(e)],[t.riskMissing,hh(e)],[t.confidenceMissing,gh(e)],[t.sprintMissing,_h(e)],[t.releaseMissing,yh(e)]].every(([i,o])=>i!==!0||o)}function bh(e,t){return Li(e)||Fi(e)||yc(e,t)}function vc(e,t,n){return Mi(t)?!(!vh(e,t,n)||t.metadataMissing&&!bh(e,n)):!0}var Ni=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function wh(e,t){switch(t){case"acceptance_criteria":return!Li(e);case"estimated_minutes":return!Fi(e);case"resolution":return K(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return K(e.parent)!==void 0}}function kh(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Eh(e,t){return t===0?100:Math.round(e/t*1e3)/10}function pc(){let e={};for(let t of Ni)e[t]={present:0,applicable:0,percent:100};return e}function hc(e,t,n){for(let r of Ni){if(!kh(t,r,n))continue;let i=e[r];i.applicable+=1,wh(t,r)&&(i.present+=1)}}function gc(e){for(let t of Ni){let n=e[t];n.percent=Eh(n.present,n.applicable)}}function tC(e,t){let n=pc(),r={};for(let i of e){hc(n,i,t);let o=r[i.type]??(r[i.type]=pc());hc(o,i,t)}gc(n);for(let i of Object.values(r))gc(i);return{overall:n,by_type:r}}var Ih={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Ch(e){return Ih[e]}function Sh(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Th(e,t,n){switch(t){case"assignee":return[K(e.assignee)??null];case"parent":return[K(e.parent)??null];case"type":return[K(e.type)??null];case"status":return[K(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let r=n.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!r||s.startsWith(r)));return o.length>0?o:[null]}}}function nC(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let c=n.classify(a.status);for(let d of Th(a,t,r)){let l=d??"\0empty",u=i.get(l);u||(u={label:d??Ch(t),key:d,buckets:Sh(),total:0},i.set(l,u)),u.buckets[c]+=1,u.total+=1}}let s=[...i.values()].sort((a,c)=>c.total!==a.total?c.total-a.total:a.key===null?1:c.key===null?-1:a.label.localeCompare(c.label));return{dimension:t,rows:s,total_items:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e200f74-0e6c-58ac-ab8c-da49071465ff")}catch{}})();var ct=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function Fe(e){return Array.isArray(e)&&e.length>0}function Rh(e){return typeof e=="string"&&e.trim().length>0}function xh(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let n=t.command;return typeof n=="string"&&n.trim().length>0}):!1}function wc(e,t){switch(t){case"notes":return Fe(e.notes);case"learnings":return Fe(e.learnings);case"files":return Fe(e.files);case"docs":return Fe(e.docs);case"tests":return Fe(e.tests);case"comments":return Fe(e.comments);case"deps":return Fe(e.dependencies);case"body":return Rh(e.body);case"linked_command":return xh(e.tests)}}function kc(e){return ct.some(t=>e[t]!==void 0)}function Ec(e,t){for(let n of ct){let r=t[n];if(r===void 0)continue;let i=wc(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Ic(e){return ct.some(t=>t!=="body"&&e[t]!==void 0)}function Cc(e){return e.body!==void 0}function bc(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Dh(){let e={};for(let t of ct)e[t]={present:0,total:0,percent:100};return e}function iC(e){let t=Dh(),n=e.length;for(let s of e)for(let a of ct)wc(s,a)&&(t[a].present+=1);for(let s of ct)t[s].total=n,t[s].percent=bc(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:bc(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9957767d-cc97-58ad-a46e-3f88a18a3c8c")}catch{}})();var Ah=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),Sc=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],Oc=e=>{let t=Sc.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new _(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,g.USAGE);return Object.fromEntries(Sc.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Tc=["priority","deadline","updated_at","created_at","title","parent"],Rc=["asc","desc"],Lc=new Set(os);function Oh(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,i=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,o={status:t?"unchecked":r+i>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:i};if(n&&o.status==="partial")throw new _(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,g.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return o}function Lh(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Fh=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],Mh=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function Fc(e,t){for(let n of Fh)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Mc(e,t){for(let n of Mh)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Nh(e,t,n){for(let r of n){let i=t[r.optionKey];i!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(i):i)}}function $h(e){let t={};return Fc(t,e),t}function Ph(e){let t={};return Mc(t,e),t}var jh=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],Uh=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Bh=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Hh="-7d";function Gh(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),Nh(c,n,jh),$c(c,n),n.filterAcMissing===!0&&(c.filter_ac_missing=!0),n.filterEstimatesMissing===!0&&(c.filter_estimates_missing=!0),n.filterResolutionMissing===!0&&(c.filter_resolution_missing=!0),n.filterMetadataMissing===!0&&(c.filter_metadata_missing=!0),Mc(c,n),Fc(c,n),n.limit!==void 0&&(c.limit=n.limit),n.offset!==void 0&&(c.offset=n.offset),n.includeBody===!0&&(c.include_body=!0),n.fields!==void 0&&(c.fields=n.fields),r&&(c.tree=!0,i!==void 0&&(c.tree_depth=i)),o!==void 0&&(c.sort=o,c.order=s),Lh(a)&&(c.runtime_filters=a),c}function Nc(e,t,n){let r=j(e.status,n),i=j(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=I(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Kh(e,t){return[...e].sort((n,r)=>Nc(n,r,t))}function xc(e,t){if(e!==void 0)return _e(e,new Date,t)}function Rt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return _e(n,new Date,t)}function zh(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new _("Choose only one updated_at window: --today, --recent, or --updated-after.",g.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?Rt(Hh,"recent"):Rt(e.updatedAfter,"updated-after")}function $c(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Vh(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new _("--ids requires at least one non-empty item ID",g.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new _("--ids requires at least one non-empty item ID",g.USAGE);return new Set(n)}function Pc(e){if(e===void 0)return;let t=String(e).trim(),n=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(n)||n<0)throw new _("Offset filter must be a non-negative integer",g.USAGE);return n}function Wh(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new _("List --fields requires a comma-separated list of field names",g.USAGE);return[...new Set(t)]}function qh(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=Wh(e.fields);if(Number(n)+Number(r)+Number(i)+ +(o!==void 0)>1)throw new _("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",g.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return i?{mode:"full",fields:[]}:r?{mode:"brief",fields:[...Ai]}:n?{mode:"compact",fields:[...Di]}:o?{mode:"fields",fields:[...new Set(o.map(a=>Me(a)))]}:{mode:"full",fields:[]}}function Me(e){return e.startsWith("item.")?e.slice(5):e}function Yh(e,t,n){if(e.mode!=="fields")return;let r=Oi(t),i=new Set(r.map(s=>Me(s))),o=e.fields.filter(s=>!i.has(Me(s)));if(o.length>0)throw new _(`Unknown list --fields value(s): ${o.join(", ")}`,g.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:`pm ${n} --fields id,title,status --limit 10`,suggested_retry_args:[n,"--fields","id,title,status","--limit","10"]}})}var Xh=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function Jh(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Xh.get(t);if(n)return n;if(!Tc.includes(t))throw new _(`Sort field must be one of ${Tc.join("|")} (aliases: updated->updated_at, created->created_at)`,g.USAGE);return t}function Qh(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Rc.includes(t))throw new _(`Sort order must be one of ${Rc.join("|")}`,g.USAGE);return t}function Zh(e){return ie(e,"--tree-depth")}function eg(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new _("Assignee filter must be one of assigned|unassigned",g.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new _(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,g.USAGE);return t}function Dc(e,t){return Zo(e,t,{strict:!0})}function jc(e){return Tt(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function tg(e,t,n){let r=jc(t);if(r===void 0)return;let i=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),o=[...r].filter(s=>!i.has(s));o.length>0&&n.push(`unknown_tags:${o.join(",")}`)}function ng(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new _('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',g.USAGE);if(e!==void 0&&t==="unassigned")throw new _("Cannot combine --assignee with --assignee-filter unassigned",g.USAGE)}function rg(e,t,n,r){let i=Tt(t.assignee,{label:"--assignee"}),o=eg(t.assigneeFilter);ng(i,o);let s=Ah(t),a=Oc(t);return{idsFilter:Vh(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:lc(t.type,n),tagFilters:jc(t.tag),priorityFilter:uc(t.priority),deadlineBefore:xc(t.deadlineBefore,"deadline-before"),deadlineAfter:xc(t.deadlineAfter,"deadline-after"),updatedAfter:zh(t),updatedBefore:Rt(t.updatedBefore,"updated-before"),createdAfter:Rt(t.createdAfter,"created-after"),createdBefore:Rt(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:Tt(t.sprint,{label:"--sprint"}),releaseFilter:Tt(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Mi(s),lifecycleClassifier:_c(r),contentFieldFilters:a,contentFiltersActive:kc(a)}}function ig(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&j(e.status,n)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(r=>(e.tags??[]).some(i=>i.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function og(e,t){return mo(e,t)}function sg(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function ag(e,t,n){let r=e.parent?.trim().toLowerCase(),i=[...new Set([...n?.get(e.id.trim().toLowerCase())??[],...r?[r]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!i.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function cg(e,t,n,r,i){return!(!ig(e,t,n)||!og(e,t)||!sg(e,t)||!ag(e,t,i)||t.missingMetadataActive&&!vc(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Ec(e,t.contentFieldFilters)||!fn(e,r))}function dg(e,t,n,r,i,o,s){let a=rg(t,n,r,i);return e.filter(c=>cg(c,a,i,o,s))}function xt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Ac(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??xt(typeof i.parent=="string"?i.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:n,tree_title:`${" ".repeat(t)}${o}`}}function lg(e,t){let n=new Map,r=new Map;for(let i of e){let o=i.id.trim().toLowerCase();n.set(o,i);let s=t?t.parents_by_child.get(o)??[]:[xt(i.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let c=r.get(a)??[];c.push(i),r.set(a,c)}}return{byId:n,childrenByParent:r}}function ug(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[xt(o.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!n.has(a)))}function fg(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=lg(e,r),a=ug(e,t,o,s,r),c=[],d=new Set,l=new Map(i.map(f=>[f.id.trim().toLowerCase(),f.id.trim()])),u=[...a].reverse().map(f=>({node:f,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:f,depth:p,parentId:m}=u.pop(),h=f.id.trim().toLowerCase();if(d.has(h))continue;d.add(h);let y=s.get(h)??[];if(c.push(Ac(f,p,y.length,m)),!(n!==void 0&&p>=n))for(let b of[...y].reverse())u.push({node:b,depth:p+1,parentId:l.get(h)})}if(t===void 0&&n===void 0)for(let f of e){let p=f.id.trim().toLowerCase();d.has(p)||(d.add(p),c.push(Ac(f,0,s.get(p)?.length??0)))}return c}function mg(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function pg(e,t){return e===t?0:e===null?1:t===null?-1:I(e,t)}function hg(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return pg(e.deadline??null,t.deadline??null);case"updated_at":return I(e.updated_at,t.updated_at);case"created_at":return I(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return mg(e.parent??null,t.parent??null);default:return 0}}function gg(e,t,n,r){return t?[...e].sort((i,o)=>{let s=hg(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=Nc(i,o,r);return n==="desc"?-a:a}):Kh(e,r)}function _g(e,t,n=!1){let r=Me(t.trim());if(r.length===0)return null;let i=e;return n&&r==="title"&&typeof i.tree_title=="string"?i.tree_title:Object.prototype.hasOwnProperty.call(i,r)?i[r]??null:null}function Uc(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=_g(r,o,n);return i})}function yg(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function vg(e,t){if(e.noTruncate!==!0)return ie(e.limit)??(t>=1e4?20:void 0)}function bg(e,t,n){return t.after===void 0?Pc(t.offset)??0:ze(e,t.after,n,r=>r.id)}function Bc(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function wg(e,t){let n=O(process.cwd(),t.path);await U(n);let r=await F(n),i=J(r.schema),o=Yt(r.schema),s=e.projectionCommand??"list",a=qh(e,s);return Yh(a,yg(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:un(e,o,"list"),typeRegistry:L(r,D()),projection:a}}async function kg(e,t,n){let r=t.projection.fields.some(c=>Me(c)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(c=>Lc.has(Me(c))),o=Oc(e),s=Ic(o),a=Cc(o);return e.includeBody||r||a?await pn(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await as(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await le(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function Eg(e){let t=Jh(e.sort),n=Qh(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new _("List --tree-depth requires --tree",g.USAGE);if(!t&&e.order!==void 0)throw new _("List --order requires --sort",g.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Zh(e.treeDepth):void 0,parentRoot:r?xt(e.parent):void 0}}function Ig(e,t,n){let r=Dc(t.status,n),i;t.lifecycleBucket==="in_progress"?i=[n.in_progress_status]:t.lifecycleBucket==="open"&&(i=[...n.active_statuses].filter(d=>d!==n.in_progress_status).sort((d,l)=>d.localeCompare(l)));let o=r??i??Dc(e,n),s=Qo(t.status),a=r||s?{...t,excludeTerminal:!1}:t,c="all";return s?c="all":r!==void 0?c=r.length===1?r[0]:r:t.lifecycleBucket!==void 0?c=t.lifecycleBucket:o!==void 0?c=o.length===1?o[0]:o:a.excludeTerminal===!0&&(c=null),{resolvedStatus:o,explicitAllStatuses:s,effectiveOptions:a,filtersStatus:c}}function Cg(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new _("List --after cannot be combined with --offset.",g.USAGE);let o=vg(t,e.length),s=bg(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),c=Uc(a,n,r),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?ce(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Bc(o,l,u)}}function Hc(e,t,n){return Ie("list",{status:e,options:Qt(t,cs),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function Sg(e){let{options:t,runtime:n,statusSelection:r,ordering:i}=e,o=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[n.projection.mode==="full",n.projection.fields.some(m=>{let h=Me(m);return h==="body"||Lc.has(h)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,vo(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([m,h])=>h!==void 0&&!o.has(m))].includes(!0))return null;let c=await qe(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!c)return null;let d=ie(t.limit),l=Pc(t.offset)??0,u=await is({pmRoot:n.pmRoot,expectedSourceCursor:c.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:d,offset:l}});if(!u)return null;let f=u.items.length>0&&l+u.items.length<u.total,p=f?ce(Hc(r.filtersStatus,t,i),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:Uc(u.items,n.projection,!1),totalMatched:u.total,pageExtras:Bc(d,f,p)}}function Tg(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let l=n;for(let u of Uh){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of Bh)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Ph(n),$h(n)),$c(d,n),r&&(d.no_truncate=!0),n.strictRead===!0&&(d.strict_read=!0),i&&(d.tree=!0,o!==void 0&&(d.tree_depth=o)),s!==void 0&&(d.sort=s,d.order=a),d.runtime_filters=c,d}async function Dt(e,t,n){let r=await wg(t,n),i=[],o=Eg(t),s=Ig(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await Sg({options:t,runtime:r,statusSelection:s,ordering:o}),d=c;if(!d){let h=await kg(t,r,i),b=o.treeEnabled||xt(t.parent)!==void 0?Fr(Is(h,z())):void 0;tg(h,t.tag,i);let v=dg(h,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,b?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let N=Ct(h,r.statusRegistry);return v.filter($=>N.has($.id.trim().toLowerCase()))})():v,C=gg(w,o.sortField,o.sortOrder,r.statusRegistry),S=o.treeEnabled?fg(C,o.parentRoot,o.treeDepth,b,h):C;d=Cg(S,t,r.projection,o.treeEnabled,Hc(s.filtersStatus,t,o))}let l=R(),u=[...new Set(i)].sort((h,y)=>h.localeCompare(y)),f=Oh(u,c!==null,t.strictRead===!0),p=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let h=Gh({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:h,projection:{mode:"compact",fields:p},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:Tg({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:p},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}import{encode as Rg}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77dd912c-158f-5280-8112-dd971be4df3b")}catch{}})();var $i=["agenda","day","week","month"],Pi=["markdown","toon","json"],xg=["sun","mon","tue","wed","thu","fri","sat"],Dg=365,Ag=365,zc=28,Og=1e3;function ji(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new _(`${t} must be a non-negative integer`,g.USAGE);return n}function Lg(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new _("Calendar include filter must not be empty",g.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new _("Calendar include filter must be deadlines|reminders|events|scheduled|all",g.USAGE)}return r}function Vc(e,t){let n;for(let r of t){let i=po(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Fg(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!$i.includes(t)){let n=Vc(t,$i);throw new _(`Calendar view must be one of ${$i.join("|")}${n?`. Did you mean "${n}"?`:"."}`,g.USAGE)}return t}function Mg(e){if(!e)return;let t=e.trim().toLowerCase();if(!Pi.includes(t)){let n=Vc(t,Pi);throw new _(`Calendar format must be one of ${Pi.join("|")}${n?`. Did you mean "${n}"?`:"."}`,g.USAGE)}return t}function UC(e,t){let n=Mg(e.format);if(t.json&&n&&n!=="json")throw new _("Cannot combine --json with --format markdown|toon",g.USAGE);return t.json?"json":n??"markdown"}function Ng(e,t){if(e===void 0)return;let n=Q(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new _(`Calendar status filter must be one of ${r.join("|")}`,g.USAGE)}return n}function $g(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new _("Calendar assignee filter must be one of assigned|unassigned",g.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new _(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,g.USAGE);return t}function nr(e){return new Date(e).toISOString().slice(0,10)}function Wc(e,t){if(!t||t==="UTC")return nr(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return nr(e)}function Gi(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function ke(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function qc(e){let t=new Date(Gi(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return ke(t.toISOString(),r)}function Pg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function jg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Ug(e,t){return I(e,t)>=0?e:t}function Gc(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Kc(e,t){e.set(t,(e.get(t)??0)+1)}function Bg(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>Ue(r)-Ue(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Yc(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function Xc(e){return xg[new Date(e).getUTCDay()]}function Hg(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Gg(e){let t=new Set;for(let n of e??[]){let r=Hg(n);r&&t.add(r)}return t}function Kg(e,t,n,r,i){let o=e??ke(n,-(r??Ag)),s=t??ke(e??n,i??Dg);return{start:o,end:I(s,o)>0?s:ke(o,1)}}function zg(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Xc(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Og,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Gg(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>Ue(s)-Ue(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function rr(e,t){return I(t,e.startAt)<0?"continue":e.until&&I(t,e.until)>0||I(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,I(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function ir(e,t){let n=Xc(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Vg(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(ir(e,t)&&rr(e,t)==="stop");n+=1)t=ke(t,e.interval);return e.occurrences}function Wg(e,t,n){let r=Ue(n),i=ke(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function qg(e){let t=qc(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=ke(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Wg(e,r,i);if(ir(e,o)&&rr(e,o)==="stop")return e.occurrences}}return e.occurrences}function Yg(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=Yc(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!ir(e,s))&&rr(e,s)==="stop")return e.occurrences}}return e.occurrences}function Xg(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=Yc(i,n,o,e.startDate);if(!(!s||!ir(e,s))&&rr(e,s)==="stop")return e.occurrences}}return e.occurrences}function Jg(e,t,n,r){let i=zg(e,t,n,r);return t.freq==="daily"?Vg(i):t.freq==="weekly"?qg(i):t.freq==="monthly"?Yg(i):Xg(i)}function Jc(e){return[...e].sort((t,n)=>{let r=I(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function Ki(e){return{item_id:e.id,item_title:e.title,item_type:e.type,item_status:e.status,item_priority:e.priority,item_assignee:e.assignee??null,item_deadline:e.deadline??null,item_tags:e.tags}}function Qg(e){return e.deadline?{at:e.deadline,date:nr(e.deadline),kind:"deadline",reminder_text:null,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Ki(e),item_deadline:e.deadline}:null}function Zg(e){return(e.reminders??[]).map(t=>({at:t.at,date:nr(t.at),kind:"reminder",reminder_text:t.text,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Ki(e)}))}function e_(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function t_(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function n_(e,t,n,r){let i=Bg(t.recurrence),o=e_(t.start_at,t.end_at);return(t.recurrence?Jg(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Wc(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:t_(a,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Ki(e)}))}function r_(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Qg(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Zg(o));for(let a of n.has("events")?o.events??[]:[])i.push(...n_(o,a,t,r))}return Jc(i)}function i_(e,t,n,r,i){let o=hs(t.type,n),s=t.tag?.trim().toLowerCase(),a=vn(t.priority),c=Ng(t.status,r),d=t.assignee?.trim(),l=$g(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new _('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',g.USAGE);if(d!==void 0&&l==="unassigned")throw new _("Cannot combine --assignee with --assignee-filter unassigned",g.USAGE);return e.filter(p=>o_(p,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function o_(e,t){return s_(e,t)&&a_(e,t)&&fn(e,t.runtimeFieldFilters)}function s_(e,t){return!(t.typeFilter&&e.type!==t.typeFilter||t.tagFilter&&!e.tags.some(n=>n.trim().toLowerCase()===t.tagFilter)||t.priorityFilter!==void 0&&e.priority!==t.priorityFilter||t.statusFilter&&e.status!==t.statusFilter)}function a_(e,t){return!(t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee||t.assigneeFilter!==void 0&&e.assignee!==t.assigneeFilter||t.sprintFilter!==void 0&&e.sprint!==t.sprintFilter||t.releaseFilter!==void 0&&e.release!==t.releaseFilter)}function c_(e,t,n){return!(t&&I(e.at,t)<0||n&&I(e.at,n)>=0)}function Ui(e,t,n){return e.trim().toLowerCase()==="today"?Gi(t):_e(e,new Date(t),n)}function d_(e,t,n){let r=t.date?Ui(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Ui(t.from,n,"--from"):void 0,a=t.to?Ui(t.to,n,"--to"):void 0;if(s&&a&&I(s,a)>=0)throw new _("Calendar --from must be before --to",g.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new _("--from and --to are only supported for --view agenda",g.USAGE);if(e==="agenda")return l_(r,t,n,i,o,s,a);if(e==="day"){let d=Gi(r);return Bi(r,n,i,o,d,ke(d,1))}if(e==="week"){let d=qc(r);return Bi(r,n,i,o,d,ke(d,7))}let c=Pg(r);return Bi(r,n,i,o,c,jg(r))}function l_(e,t,n,r,i,o,s){if(i)throw new _("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",g.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function Bi(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Ug(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function u_(e){let t=new Map;for(let n of e){let r=t.get(n.date)??[];r.push(n),t.set(n.date,r)}return[...t.entries()].sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>({date:n,count:r.length,events:Jc(r)}))}function f_(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let c of e)t.add(c.item_id),Kc(n,c.item_type),Kc(r,c.item_status),c.kind==="deadline"?i+=1:c.kind==="reminder"?o+=1:(s+=1,c.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:Gc(n),by_status:Gc(r),recurring_events:a}}function m_(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Qc(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Hi(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function p_(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Wc(e.event_end,e.event_timezone)?Qc(e.event_end,e.event_timezone):e.event_end:null}function h_(e){let t=`${Qc(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let o=p_(e);return o&&n.push(`end=${o}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function BC(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${m_(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- by-kind: ${Hi(e.summary.by_kind)}`),t.push(`- by-type: ${Hi(e.summary.by_type)}`),t.push(`- by-status: ${Hi(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
|
|
13
|
-
`);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${h_(r)}`);t.push("")}if(e.warnings&&e.warnings.length>0){t.push("### warnings");for(let n of e.warnings)t.push(`- ${n}`);t.push("")}return g_(t.join(`
|
|
14
|
-
`))}function HC(e){return Rg(e)}function g_(e){let t=e.length;for(;t>0&&e[t-1]===`
|
|
15
|
-
`;)t-=1;return e.slice(0,t)}function __(e){let t=R(),n=Fg(e.view),r=d_(n,e,t),i=ie(e.limit),o=Lg(e.include),s=ji(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=ji(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=ji(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new _("Calendar occurrence limit must be >= 1",g.USAGE);let d=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||c!==void 0,u=d&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:c,recurrenceLookaheadDays:u?zc:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function y_(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${zc}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function v_(e,t){return{type:e.type??null,tag:e.tag??null,priority:e.priority??null,status:e.status??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,runtime_filters:t,limit:e.limit??null,include:e.include??null,full_period:e.fullPeriod===!0?"true":null,recurrence_lookahead_days:e.recurrenceLookaheadDays??null,recurrence_lookback_days:e.recurrenceLookbackDays??null,occurrence_limit:e.occurrenceLimit??null}}function b_(e,t){return{start:t.start??null,end:t.end??null,period_start:t.periodStart??null,period_end:t.periodEnd??null,full_period:t.fullPeriod,past:e.past===!0,from:e.from??null,to:e.to??null}}async function Zc(e,t){let n=O(process.cwd(),t.path);await U(n);let r=__(e),i=await F(n),o=J(i.schema),s=Yt(i.schema),a=un(e,s,"calendar"),c=L(i,D()),d=[];y_(d,r.eventsOnlyCapApplied);let l=await le(n,i.item_format,c.type_to_folder,d,i.schema),u=i_(l,e,c,o,a),f=Kg(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),m=r_(u,f,r.includeSources,r.occurrenceLimit).filter(v=>c_(v,r.rangeBounds.start,r.rangeBounds.end)),h=r.limit===void 0?m:m.slice(0,r.limit),y=u_(h),b=[...new Set(d)].sort((v,w)=>v.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:b_(e,r.rangeBounds),filters:v_(e,a),summary:f_(h),events:h,days:y,...b.length>0?{warnings:b}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a4301eb-d8a5-52c0-8bf0-f65b3b9a96a3")}catch{}})();var ed="1970-01-01T00:00:00.000Z";function At(e){if(typeof e!="string")return null;let t=e.trim();if(!Ht(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return _e(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="33841a67-2bd5-5cbd-a9d4-14833ddcf9d2")}catch{}})();var zi=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],w_=Symbol("no-context-author"),k_=Symbol("no-item-assignee");function td(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function E_(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=new Date(Date.UTC(n,r-1,i));return o.getUTCFullYear()===n&&o.getUTCMonth()===r-1&&o.getUTCDate()===i?o.toISOString():void 0}function I_(e){let t=E_(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:At(e.created_at)??ed}}function C_(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=At(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function S_(e,t){let n=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)?1-Math.min(Math.max(n,0),t)/t:0}function T_(e,t){let n=typeof e=="string"?Date.parse(e):e instanceof Date?e.getTime():typeof e=="number"?e:Number.NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return 0;let r=(n-t)/864e5;return r<=0?1:1/(1+r/30)}function R_(e){let t=typeof e=="string"?e.trim().toLowerCase():void 0;return t==="critical"||t==="high"?1:t==="medium"?.5:t==="low"?.1:0}function or(e,t,n){return e?.[t]??n}function sr(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?I_(d):C_(l)]})),r=[...e].sort((d,l)=>{let u=n.get(d.id).coordinate,f=n.get(l.id).coordinate;return I(f,u)||d.id.localeCompare(l.id)}),i=new Map(r.map((d,l)=>[d.id,l])),o=Math.max(e.length-1,1),s=td(t.author,w_),a=Q("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=td(d.assignee,k_)===s,u=(d.comments?.length??0)+(d.notes?.length??0)+(d.learnings?.length??0);return{id:d.id,item:d,signal_provenance:{recency:n.get(d.id)},signals:{recency:e.length===1?1:1-i.get(d.id)/o,activity_density:t.activityDensity?.[d.id],graph_proximity:or(t.graphProximity,d.id,d.parent?.3:0),claim_focus:or(t.claimFocus,d.id,x(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:S_(d.priority,4),risk_pressure:R_(d.risk),deadline_pressure:T_(d.deadline,c),knowledge_density:or(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:or(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var x_="context_relevance",D_={structural:.4,recency:.35,activity_density:.25,graph_proximity:.15,claim_focus:.6,priority_pressure:.35,risk_pressure:.2,deadline_pressure:.45,knowledge_density:.25,author_affinity:.2,usage_affinity:.3,semantic_similarity:.5},A_=new TextEncoder;function O_(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!zi.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function L_(e){let t={...D_};for(let[n,r]of Object.entries(e??{}))r!==void 0&&zi.includes(n)&&(t[n]=r);for(let[n,r]of Object.entries(t))if(!Number.isFinite(r)||r<0)throw new TypeError(`Context relevance weight ${n} must be a finite non-negative number`);return t}function rd(e,t={}){O_(e);let n=L_(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[c,d]of Object.entries(a.signals??{}))d!==void 0&&i.add(c);let o=zi.filter(a=>i.has(a)),s=e.map((a,c)=>{let d={structural:e.length===1?1:1-c/r,...a.signals},l={},u=0,f=0;for(let p of o){let m=d[p];if(m===void 0)continue;let h=m*n[p];l[p]=h,u+=h,f+=n[p]}return{...a,baseline_rank:c+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,c)=>c.score-a.score||a.baseline_rank-c.baseline_rank),s.forEach((a,c)=>{a.rank=c+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function F_(e,t={}){let n=rd(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function ar(e,t,n={}){let r=rd(t,n),i=await bo(x_,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await F_(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var M_=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function nd(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function N_(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(d=>Math.max(0,t[d]??0)),r=Object.values(t).map(d=>Math.max(0,d)).sort((d,l)=>l-d).slice(0,n.length||1),i=d=>d.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),o=i(r),s=n.findIndex(d=>d>0),a=new Set(e.ranked_ids),c=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:nd(e.required_ids??[],a),continuity_coverage:nd(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function $_(e){return Math.ceil(A_.encode(JSON.stringify(e)).byteLength/4)}function P_(e){return Math.round(e*1e4)/1e4}function j_(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function U_(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}),{rankedIds:r,attribution:i}=j_(n,e.surface),o={...n,ranking:void 0},s=$_(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:N_({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function B_(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=M_;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,P_(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function XC(e,t,n){let r=[];for(let i of e)r.push(await U_(i,t));return B_(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a533ce49-ef4f-50a0-9785-acd716999b29")}catch{}})();var H_={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},G_=["identity","summary","full"];function K_(e){if(!e.id.trim()||!Number.isInteger(e.rank)||e.rank<1)throw new TypeError("Context packing candidates require a non-empty id and positive integer rank");if(!Number.isFinite(e.score)||e.score<0)throw new TypeError("Context packing candidate scores must be finite and non-negative");let t=G_.map(n=>e.token_costs[n]);if(t.some(n=>!Number.isInteger(n)||n<1)||t[0]>t[1]||t[1]>t[2])throw new TypeError("Context projection costs must be positive monotone integers");if(e.uncertainty!==void 0&&(!Number.isFinite(e.uncertainty)||e.uncertainty<0))throw new TypeError("Context packing uncertainty must be finite and non-negative")}function z_(e){if(!Number.isInteger(e.tokenBudget)||e.tokenBudget<1)throw new TypeError("Context packing tokenBudget must be a positive integer");let t=e.profile??"balanced",n=H_[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function V_(e){let t=new Set;for(let n of e){if(K_(n),t.has(n.id))throw new TypeError("Context packing candidates require unique ids");t.add(n.id)}return[...e].sort((n,r)=>n.rank-r.rank||n.id.localeCompare(r.id))}function W_(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let c=e[a];if(c.token_costs.identity>t)continue;s+=1;let d=o<0?void 0:e[o],l=n(c)/c.token_costs.identity,u=d===void 0?Number.NEGATIVE_INFINITY:n(d)/d.token_costs.identity;(l>u||l===u&&d!==void 0&&(c.rank<d.rank||c.rank===d.rank&&c.id.localeCompare(d.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function q_(e){let t=new Set,n=[],r=e.tokenBudget,i=d=>{let l=d.lineage??d.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(d.score-e.uncertaintyPenalty*(d.uncertainty??0))*u)},o=d=>{let l=d.token_costs.identity;n.push({...d,projection:"identity",tokens:l,marginal_value:i(d)}),r-=l;let u=d.lineage??d.cluster;u&&t.add(u)};for(let d of e.ordered.filter(l=>l.required))d.token_costs.identity<=r&&o(d);let s=e.ordered.filter(d=>!d.required),a=!0,c=0;for(;s.length>0;){let d=W_(s,r,i,e.deadline,e.readClock);if(c+=d.evaluated,d.timedOut&&(a=!1),d.index<0||d.timedOut)break;o(s.splice(d.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:c}}function Y_(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let c=s.token_costs[r]-s.token_costs[i],d=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(d,1)-s.marginal_value/Math.max(c,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function id(e,t){let n=z_(t),r=V_(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=q_({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=Y_(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let d=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!d.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-c,remaining_tokens:c,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import Ot from"node:fs/promises";import Lt from"node:path";import{createHash as od,randomUUID as X_}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190679b7-4723-5c76-be57-2ec88b92b109")}catch{}})();var Vi=3,Wi=2,sd=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],J_=new Set(["substantive_history","release_cohort","created_at"]),Q_={context_signal_store_invalid:{code:"context_signal_store_invalid",meaning:"The persisted context-signal snapshot was unreadable or invalid and was rebuilt from authoritative items.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot can be loaded without the warning."},context_signal_store_stale:{code:"context_signal_store_stale",meaning:"The persisted context-signal snapshot did not match the authoritative cursor or item corpus and was rebuilt.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot is now fresh."},context_signal_store_write_failed:{code:"context_signal_store_write_failed",meaning:"Context signals were rebuilt in memory, but the derived snapshot could not be persisted.",recovery_command:"pm context",recovery_effect:"Retry the derived snapshot write and confirm the warning clears after storage access is restored."}};function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ad(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Z_(e){let t={};for(let n of sd){let r=e[n];if(r!==void 0){if(!ad(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function ey(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function ty(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function cd(e,t){return{...t,activityDensity:t.activityDensity??ey(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??ty(e)}}function Xi(e){let t=od("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((i,o)=>i.id.localeCompare(o.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function ny(e){if(!dt(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",dt(e.signals),dt(t)].every(Boolean))return null;let n=t.recency;if(!dt(n))return null;let r=At(n.coordinate);if(r===null)return null;let i=new Set(sd),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&ad(a))||![typeof n.source=="string"&&J_.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(o),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function ry(e,t){let n=Array.from(e,ny);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==Xi(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function iy(e){if(!dt(e)||e.format_version!==Vi||e.signal_set_version!==Wi||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=ry(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:Vi,signal_set_version:Wi,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function dd(e){if(typeof e.sourceCursor!="string"||e.sourceCursor.trim().length===0)throw new TypeError("Context signal source cursor must be non-empty");if(!Number.isFinite(Date.parse(e.now)))throw new TypeError("Context signal snapshot clock must be a valid timestamp");if(e.source!=="derived_index"&&e.source!=="scan_fallback")throw new TypeError("Context signal snapshot source must be derived_index or scan_fallback")}function ld(e,t,n=Xi(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:Z_(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:Vi,signal_set_version:Wi,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(i.map(o=>Object.freeze(o)))})}function aS(e,t){return dd(t),ld(sr(e,cd(e,t)),t)}var qi=class{filePath;constructor(t){if(typeof t!="string"||t.trim().length===0)throw new TypeError("Context signal store path must be non-empty");this.filePath=Lt.resolve(t)}async read(){try{return JSON.parse(await Ot.readFile(this.filePath,"utf8"))}catch(t){if(dt(t)&&je(t))return null;throw t}}async write(t){let n=Lt.dirname(this.filePath);await Ot.mkdir(n,{recursive:!0});let r=Lt.join(n,`.${Lt.basename(this.filePath)}.${X_()}.tmp`);try{await Ot.writeFile(r,`${JSON.stringify(t)}
|
|
16
|
-
`,{encoding:"utf8",flag:"wx"}),await Ot.rename(r,this.filePath)}finally{try{await Ot.rm(r,{force:!0})}catch{}}}},Yi=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){dd(n);let r=[],i=null;try{let f=await this.adapter.read();i=iy(f),f!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(f=>f.id).sort((f,p)=>f.localeCompare(p)),s=i?.items.map(f=>f.id)??[],a=sr(t,cd(t,n)),c=Xi(a),d=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===c&&i.source===n.source&&s.length===o.length&&s.every((f,p)=>f===o[p]),l;if(d&&i!==null)l=i;else{i!==null&&r.push("context_signal_store_stale"),l=ld(a,n,c);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:d?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>Q_[f])}}};function oy(e){let t=od("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function cr(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let i=n?null:await qe(t.pmRoot),o=t.sourceCursor??i?.source_cursor??oy(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Yi(new qi(Lt.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),c=t.recencyEvidence??Object.fromEntries(Object.entries(await Mo(t.pmRoot,e.map(d=>d.id))).map(([d,l])=>[d,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:c,sourceCursor:o,source:s})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ee5f5c8d-37f9-577d-87a7-bb43be7c1186")}catch{}})();function sy(e){for(let t of e.patch){if(t.path==="/metadata/status"||t.path==="/front_matter/status"){if(typeof t.value=="string")return t.value.trim().toLowerCase();continue}if(t.path!==""||typeof t.value!="object")continue;let n=t.value,r=n.metadata??n.front_matter;if(typeof r?.status=="string")return r.status.trim().toLowerCase()}}function ay(e,t,n){let r,i;for(let o of t){let s=sy(o);if(s===void 0)continue;let a=n.has(s)&&(r!==void 0&&!n.has(r)||r===void 0&&o.op==="create");r=s,a&&Number.isFinite(Date.parse(o.ts))&&(i={id:e,completed_at:o.ts,history_op:o.op})}return i}function ud(e){return e.completed_at!==void 0?{resolved:!0,timestamp:e.completed_at,source:"completed_at",fallback:!1}:e.closed_at!==void 0?{resolved:!0,timestamp:e.closed_at,source:"closed_at",fallback:!0}:e.updated_at!==void 0?{resolved:!0,timestamp:e.updated_at,source:"updated_at",fallback:!0}:{resolved:!1}}function dS(e,t,n){let r=[];for(let i of e){if(i.completed_at!==void 0||!n.has(i.status.trim().toLowerCase()))continue;let o=ay(i.id,t.get(i.id)??[],n);o!==void 0&&r.push(o)}return r.sort((i,o)=>i.id.localeCompare(o.id))}import cy from"node:path";import{createHash as dy}from"node:crypto";import ly from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="51bac04a-5a6e-53b3-806f-fa0bf6f8e7b4")}catch{}})();var fd=1,uy=1e4,md=12;function fy(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function my(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function py(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function hy(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(o=>t.statusRegistry.terminal_done_statuses.has(x(o.status,t.statusRegistry))).map(o=>{let s=ud(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,c=fy(a.timestamp),d=`epoch:${c}`,l=i.get(d)??{kind:"epoch",key:c,label:c,items:[]};l.items.push(o),i.set(d,l);let u=my(s,r);if(u){let f=`epic:${u.id}`,p=i.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};p.items.push(o),i.set(f,p)}}return{format_version:fd,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(py).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function gy(e){return typeof e=="object"&&e!==null&&"id"in e&&typeof e.id=="string"&&e.id.length>0&&"title"in e&&typeof e.title=="string"}function _y(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(gy)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function yy(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==fd||typeof t.source_cursor!="string"||!t.source_cursor.trim()||!Number.isSafeInteger(t.source_item_count)||t.source_item_count<0||typeof t.generated_at!="string"||!Number.isFinite(Date.parse(t.generated_at))||!Array.isArray(t.rollups)?null:t.rollups.every(_y)?t:null}function vy(e){return`scan:${dy("sha256").update(E(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function by(e,t,n){return n!==void 0?n:(await qe(t))?.source_cursor??vy(e)}async function wy(e){try{let t=yy(JSON.parse(await ly.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&je(t))}}}async function pd(e,t){let n=Math.max(1,Math.floor(t.minimumItems??uy));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await by(e,t.pmRoot,t.sourceCursor),i=cy.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await wy(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let c=hy(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await q(i,`${JSON.stringify(c)}
|
|
17
|
-
`)}catch{o.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:o}}function ky(e,t,n=md){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function hd(e,t,n=md){if(e.snapshot===null)return;let r=ky(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",source_cursor:e.snapshot.source_cursor,...e.snapshot.completion_time_sources?{completion_time_sources:{...e.snapshot.completion_time_sources}}:{},rollups:r}}function Ey(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function vS(e,t,n=5){let r=Ey(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",matches:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="05df81b3-2fbd-5d83-88e3-be300091dd09")}catch{}})();var gd=16;async function _d(e,t,n){let r=L(t,D()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<gd;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await de(e,s,t.id_prefix,t.item_format,r);if(!c)break;let d=await Se(c,{schema:t.schema});i.push(d.document.metadata.id),s=d.document.metadata.parent}return i}async function CS(e){await To({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await _d(e.pmRoot,e.settings,e.itemId)})}async function SS(e){await Ro(e)}async function TS(e){await xo({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await _d(e.pmRoot,e.settings,e.itemId)}:{}})}var RS={lineage_depth:gd,active_items:64,evidence_rows:32};function yd(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ec0faae4-1fdb-5c7c-bcf1-eb338d73958a")}catch{}})();var Iy=["markdown","toon","json","ndjson"],dr=new Set(["Epic","Feature"]),Ed=10,Id=1e4,Cd=["hierarchy","activity","progress","recently_created","unparented","workload"],Cy=[...Cd,"blockers","files","staleness","tests"],Sy=/^(\d{4})-(\d{2})-(\d{2})/,Ty=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Ry=/^(\d{4})(\d{2})(\d{2})$/,xy=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Dy(e){if(!e)return;let t=e.trim().toLowerCase();if(!Iy.includes(t))throw new _("Context format must be one of markdown|toon|json|ndjson",g.USAGE);return t}var vd=new Set(["id","title","type","status","priority","order","deadline","assignee","tags","tags_inherited","updated_at","parent","children_total","children_closed","completion_pct","blocked","blocker_ids","created_at"]);function Ay(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!vd.has(r))throw new _(`Context --fields value not projectable: ${r} (valid: ${[...vd].join(", ")})`,g.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new _("Context --fields requires at least one field name",g.USAGE);return t}function Ft(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function YS(e,t){let n=Dy(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new _("Cannot combine --json with --format markdown|toon",g.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Oy(e,t){return ie(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ed)}function Zi(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new _("--token-budget must be a positive integer",g.USAGE);return n}function Ly(e,t){return t>=Id&&e===Number.MAX_SAFE_INTEGER?Ed:e}function Fy(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!_r.includes(n))throw new _(`Context --depth must be one of ${_r.join("|")}`,g.USAGE);return n}function My(e,t,n){if(e&&e.length>0){let i=[];for(let o of e){let s=o.trim().toLowerCase();if(!Gt.includes(s))throw new _(`Context --section must be one of ${Gt.join("|")}`,g.USAGE);i.includes(s)||i.push(s)}return i}return t==="brief"?[]:t==="full"?[...Gt]:(t==="deep"?Cy:Cd).filter(i=>n.sections[i])}function Ny(e,t){return e?ie(e,"--activity-limit")??t.activity_limit:t.activity_limit}function $y(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new _("--stale-threshold must be a number of days (e.g. 7 or 7d)",g.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new _("--stale-threshold must be positive",g.USAGE);return i}function bd(e,t){let n=x(e,t),r=Q("blocked",t),i=Q("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:i&&n===i?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Mt(e,t){let n=Q("closed",t);return x(e,t)===n}function eo(e,t){return x(e,t)===t.in_progress_status}function Sd(e,t){let n=x(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Py(e,t){return t.blocked_statuses.has(x(e,t))}var jy=["compact","brief","fields","includeBody","include_body","parent"];function Uy(e){let t={...e};for(let n of jy)delete t[n];return t}function to(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=lt(e),o=Nt(r.id,i);return{ids:new Set([r.id,...o.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function By(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new _("Context --parent requires an item id",g.USAGE);return t}function Hy(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Gy(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:I(n,r)}function Ky(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function zy(e){let t=Sy.exec(e)??Ty.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=Ky(n,r-1)}function Vy(e){let t=Ry.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=xy.exec(e);if(n){let[,r,i,o,s,a,c,d]=n,l=c?`:${c}`:"",u=d&&d.length===5&&d!=="Z"?`${d.slice(0,3)}:${d.slice(3)}`:d??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function Td(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!zy(t))return Number.NaN;let n=Date.parse(Vy(t));return Number.isFinite(n)?n:Number.NaN}function Qi(e){let t=Td(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Wy(e){let t=Td(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function no(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Ne(e,t,n){let r=bd(e.status,n)-bd(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=Hy(e.order,t.order);if(o!==0)return o;let s=Gy(e.deadline,t.deadline);if(s!==0)return s;let a=I(Qi(t.updated_at),Qi(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function Ji(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function ro(e,t,n=new Set,r="context"){return id(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:Ji({id:i.id,title:i.item.title}),summary:Ji({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Ji(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function io(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function oo(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Rd(e,t){return t>0?Math.round(e/t*100):0}function lt(e){let t=new Map;for(let n of e){let r=no(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function $t(e,t,n){let r={id:e.id,title:e.title,type:e.type,status:e.status,priority:e.priority,order:e.order??null,deadline:e.deadline??null,assignee:e.assignee??null,tags:Array.isArray(e.tags)?[...e.tags]:[],updated_at:e.updated_at,parent:no(e.parent)};if(t&&n){let i=Nt(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Mt(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Rd(s,o)}}return r}function qy(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function lr(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Yy(e,t){return e.filter(n=>!t.terminal_statuses.has(x(n.item_status,t)))}function Xy(e,t,n,r){let i=new Map;for(let c of e)i.set(c.id,c);let o=lt(e),s=new Set(t.filter(c=>dr.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=i.get(c);if(!d)continue;let l=Nt(c,o),u=o.get(c)??[],f=0,p=0,m=0,h=0;for(let b of l)Mt(b.status,n)?f++:eo(b.status,n)?m++:Py(b.status,n)?h++:Sd(b.status,n)&&p++;let y=u.sort((b,v)=>Ne(b,v,n)).slice(0,r).map(b=>{let v=Nt(b.id,o),w=v.filter(C=>Mt(C.status,n)).length;return{id:b.id,title:b.title,type:b.type,status:b.status,children_total:v.length,children_closed:w}});a.push({id:d.id,title:d.title,type:d.type,status:d.status,children_total:l.length,children_closed:f,children_open:p,children_in_progress:m,children_blocked:h,children:y})}return a.sort((c,d)=>{let l=i.get(c.id),u=i.get(d.id);return Ne(l,u,n)}).slice(0,r)}function Nt(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Jy(e,t){return(await bs({compact:!0,limit:String(e)},t)).compact_activity??[]}function Qy(e,t,n,r,i){let o=new Map;for(let c of e){if(!c.parent)continue;let d=o.get(c.parent)??[];d.push(c),o.set(c.parent,d)}let s=t.filter(c=>dr.has(c.type)),a=[];for(let c of s){let d=Nt(c.id,o),l=d.length;if(l===0)continue;let u=0,f=0,p=0,m=0;for(let h of d)Mt(h.status,r)?u++:n.has(h.id.trim().toLowerCase())?m++:eo(h.status,r)?p++:Sd(h.status,r)&&f++;a.push({id:c.id,title:c.title,type:c.type,total:l,closed:u,open:f,in_progress:p,blocked:m,completion_pct:Rd(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function Zy(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=tr(o,i,n),a=s.find(d=>!d.resolved)?.id??s[0]?.id??null,c=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:c?.title??null,blocked_by_status:c?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function ev(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function tv(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>eo(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function nv(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function rv(e,t,n,r){return e.map(i=>({item:i,sortKey:Qi(i.created_at)})).sort((i,o)=>{let s=I(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...$t(i,t,n),created_at:i.created_at}))}function iv(e,t,n,r){return e.filter(i=>!no(i.parent)&&!dr.has(i.type)).sort((i,o)=>Ne(i,o,t)).slice(0,r).map(i=>$t(i,t,n))}function ov(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let c=a.test_runs??[];if(c.length>0){n++;let d=!1;for(let l of c)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(d=!0);d&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function wd(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function xd(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function sv(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function av(e){if("reference_only"in e){let n=e.kind==="reminder"?` \u2014 ${e.reminder_text??"reminder"}`:e.kind==="event"?` \u2014 ${e.event_title??"event"}${e.event_recurring?" (recurring)":""}`:"";return`${wd(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${wd(e.at)} [${e.kind}] ${e.item_id} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder")return`${t} \u2014 ${e.reminder_text}`;if(e.kind==="event"){let n=e.event_recurring?" (recurring)":"",r=e.event_title??e.item_title;return`${t} \u2014 ${r}${n}`}return t}function kd(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function cv(e,t,n){if(t.blocked_fallback.length!==0){e.push("## Blocked fallback");for(let r of t.blocked_fallback)e.push(`- ${n(r)}`);e.push("")}}function dv(e,t){if(e.push("## Agenda"),e.push(`- events: ${t.agenda.summary.events} (deadlines: ${t.agenda.summary.deadlines}, reminders: ${t.agenda.summary.reminders}, scheduled: ${t.agenda.summary.scheduled})`),t.agenda.events.length===0)e.push("No agenda events matched the selected filters.");else for(let n of t.agenda.events)e.push(`- ${av(n)}`);e.push("")}function lv(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=i.children_total>0?Math.round(i.children_closed/i.children_total*100):0;e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function uv(e,t){if(!(!t.progress||t.progress.length===0)){e.push("## Progress");for(let n of t.progress)e.push(`- ${n.id} "${n.title}" ${n.completion_pct}% (${n.closed}/${n.total} closed, ${n.in_progress} wip, ${n.open} open, ${n.blocked} blocked)`);e.push("")}}function fv(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${Wy(i.created_at)} ${xd(i)}`);e.push("")}}function mv(e,t,n){if(!(!t.unparented||t.unparented.length===0)){e.push("## Unparented");for(let r of t.unparented)e.push(`- ${n(r)}`);e.push("")}}function pv(e,t){if(!(!t.activity||t.activity.length===0)){e.push("## Recent activity");for(let n of t.activity){let r=n.msg?` ${n.msg}`:"";e.push(`- ${n.ts.slice(0,16)}Z ${n.id} ${n.op} by:${n.author}${r}`)}e.push("")}}function hv(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function gv(e,t){if(!(!t.files||t.files.length===0)){e.push("## Hot files");for(let n of t.files)e.push(`- ${n.path} refs:${n.references} items:[${n.items.join(",")}]`);e.push("")}}function _v(e,t){if(!(!t.workload||t.workload.length===0)){e.push("## Workload");for(let n of t.workload){let r=n.assignee??"(unassigned)";e.push(`- ${r} active:${n.active} wip:${n.in_progress} items:[${n.items.join(",")}]`)}e.push("")}}function yv(e,t){if(!(!t.staleness||t.staleness.length===0)){e.push("## Stale items");for(let n of t.staleness)e.push(`- ${n.id} ${n.status} stale:${n.stale_days}d last:${n.updated_at.slice(0,10)} "${n.title}"`);e.push("")}}function vv(e,t){t.tests&&(e.push("## Test health"),e.push(`- items_with_tests: ${t.tests.items_with_tests}`),e.push(`- items_with_recent_runs: ${t.tests.items_with_recent_runs}`),e.push(`- passed: ${t.tests.recent_runs.passed}, failed: ${t.tests.recent_runs.failed}, skipped: ${t.tests.recent_runs.skipped}`),t.tests.items_failing.length>0&&e.push(`- items_failing: [${t.tests.items_failing.join(",")}]`),e.push(""))}function bv(e,t){t.summary.active_items===0&&t.summary.blocked===0&&t.agenda.summary.events===0&&(e.push("## Suggestions"),e.push("No active work items or upcoming events. Consider:"),e.push('- `pm create --type Task --title "..."` to add a new work item'),e.push("- `pm list --status closed --limit 5` to review recent completions"),e.push("- `pm search <keywords>` to find related past work"),e.push("- `pm aggregate` for a full project status overview"))}function XS(e){let t=[],n=e.focus_fields,r=o=>n?sv(o,n):xd(o);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let o=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),kd(t,"High-level focus",e.high_level,"No high-level active items.",r),kd(t,"Low-level focus",e.low_level,"No low-level active items.",r),cv(t,e,r),dv(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return lv(t,e),uv(t,e),fv(t,e,n,r),mv(t,e,r),pv(t,e),hv(t,e),gv(t,e),_v(t,e),yv(t,e),vv(t,e),bv(t,e),t.join(`
|
|
18
|
-
`)}async function wv(e,t){let n=O(process.cwd(),t.path),r=await F(n),i=r.context??fo.context,o=J(r.schema),s=Fy(e.depth,i),a=Oy(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:My(e.section,s,i),activityLimit:Ny(e.activityLimit,i),staleThresholdDays:$y(e.staleThreshold,i),parentScope:By(e.parent),focusFields:Ay(e.fields),baseListOptions:Uy(e)}}function kv(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Ev(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Iv(e,t){let n=await Dt(void 0,Ev(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!j(a.status,t.statusRegistry)),o=r,s=Cv(t.parentScope,r);return s&&(i=i.filter(a=>s.has(a.id.trim().toLowerCase())),o=o.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:i,allItems:o,fullCorpus:r,subtreeIds:s}}function Cv(e,t){if(e===void 0)return;let n=to(t,e);if(!n.found)throw new _(`Context --parent item not found: ${e}`,g.NOT_FOUND);return n.ids}function Sv(e,t,n,r){let i=new Set(St(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>dr.has(o.type)||i.has(o.id)||Re(o.type,r)!=="agent").map(o=>o.id))}async function Tv(e,t,n,r,i,o,s,a,c,d,l,u,f,p,m,h){let y=[...e].sort((k,Pe)=>Ne(k,Pe,i)),b=await rn({pmRoot:f,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),v=await cr(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:b.affinity,claimFocus:m}),w=await ar("context",v.candidates),C=w.ranked.map(k=>k.item),S=i.active_statuses,N=C.filter(k=>S.has(x(k.status,i))),$=u?ze(N,d,l,k=>k.id):0,M=u?N.slice($,$+s):N,Ee=u&&M.length>0&&$+M.length<N.length,P=Ee&&M.length>0?ce(l,M[M.length-1].id,$+M.length-1):void 0,B=C.filter(k=>r.has(k.id.trim().toLowerCase())),Y=new Set([...M.map(k=>k.id),...B.slice(0,s).map(k=>k.id)]),X=ro({...w,ranked:w.ranked.filter(k=>Y.has(k.id))},p,new Set(Object.entries(m??{}).filter(([,k])=>k>=1).map(([k])=>k))),te=X.included.map(k=>k.item),se=te.filter(k=>S.has(x(k.status,i))),V=te.filter(k=>r.has(k.id.trim().toLowerCase())),$e=lt(t),fr=kv(o)?$e:void 0,W=new Map(n.map(k=>[k.id.trim().toLowerCase(),k])),H=k=>{let Pe=$t(k,i,fr);return r.has(k.id.trim().toLowerCase())&&(Pe.blocked=!0,Pe.blocker_ids=tr(k,W,i).filter(mr=>!mr.resolved).map(mr=>mr.id)),Pe},co=Sv(se,n,i,h),Kd=se.filter(k=>co.has(k.id)).slice(0,u?M.length:s).map(H),zd=se.filter(k=>!co.has(k.id)).slice(0,u?M.length:s).map(H),lo=N.length===0;return{activeItems:se,blockedItems:V,highLevel:Kd,lowLevel:zd,blockedFallback:lo?V.slice(0,s).map(H):[],blockedFallbackUsed:lo,ranking:w,packing:X,featureStore:v,pageExtras:{...u?{applied_limit:s}:{},...Ee?{has_more:!0,truncated:!0}:{},...P?{next_cursor:P}:{}}}}function Rv(e){return Ie("context",Qt(e,ds))}function xv(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Id}async function Dv(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await Zc(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=Yy(s,t.statusRegistry).slice(0,t.limit),c=a.map(d=>r.has(d.item_id)?{at:d.at,date:d.date,kind:d.kind,item_id:d.item_id,reference_only:!0,...d.kind==="reminder"?{reminder_text:d.reminder_text}:{},...d.kind==="event"?{event_title:d.event_title,event_recurring:d.event_recurring}:{}}:d);return{agenda:o,agendaEvents:c,agendaSummary:qy(a)}}function Dd(e,t,n){let r=String(t);return e.filter(i=>x(i.status,n)===r).length}async function Av(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,c=lt(n),d=n.filter(u=>!j(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Xy(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Jy(t.activityLimit,a):void 0,progress:l("progress")?Qy(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Zy(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?rv(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?iv(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?ev(o.activeItems,t.limit):void 0,workload:l("workload")?tv(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?nv(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?ov(o.activeItems):void 0}}function Ov(e,t,n){let r=Q("canceled",t),i=e.filter(s=>t.active_statuses.has(x(s.status,t))),o=Dd(i,t.in_progress_status,t);return{scope:"matching_items",active_items:i.length,open:i.length-o,in_progress:o,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>Mt(s.status,t)).length,canceled:e.filter(s=>x(s.status,t)===r).length}}function Lv(e,t,n){t.hierarchy&&(e.hierarchy=t.hierarchy),t.activity&&(e.activity=t.activity),t.progress&&(e.progress=t.progress),t.blockersSection&&(e.blockers=t.blockersSection),t.recentlyCreated&&(e.recently_created=t.recentlyCreated),t.unparented&&(e.unparented=t.unparented),t.filesSection&&(e.files=t.filesSection),t.workload&&(e.workload=t.workload),t.staleness&&(e.staleness=t.staleness),t.tests&&(e.tests=t.tests),n!==void 0&&n.length>0&&(e.warning_details=n)}function Fv(e,t){t&&(e.focus_fields=t,e.high_level=Ft(e.high_level,t),e.low_level=Ft(e.low_level,t),e.blocked_fallback=Ft(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Ft(e.recently_created,t)),e.unparented&&(e.unparented=Ft(e.unparented,t)))}function Mv(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function Nv(e,t,n){t.length>0||n.length>0||e.agenda.events.length>0||(e.suggestions=['pm create --type Task --title "..." to add a new work item',"pm list --status closed --limit 5 to review recent completions","pm search <keywords> to find related past work","pm aggregate for a full project status overview"])}async function $v(e,t,n,r){try{let i=new Set(t.packing.included.map(c=>c.id)),o=t.ranking.ranked.map(c=>({id:c.id,rank:c.rank,included:i.has(c.id)})),s=new Set(o.map(c=>c.id));for(let c of tn(e,"context"))s.has(c)||(o.push({id:c,rank:o.length+1,included:!1}),s.add(c));let a=await nn({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});en(e,a)}catch{e.warnings=lr(e.warnings,["context_usage_feedback_write_failed"])}}async function Pv(e,t,n){if(e)return{};let i=(await yo({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),o=i.filter(s=>s.status==="degraded").length;return i.length===0?{}:{extension_health:{total:i.length,ok:i.length-o,degraded:o,packages:i.slice(0,20),...i.length>20?{truncated:!0}:{}}}}async function jv(e,t){let n=Do(),r=await Co(e),i=n.instance||So(t);return yd(r.semantic_attribution?.[i])}async function JS(e,t){let n=O(process.cwd(),t.path),r=await wv(e,t),i=await Iv(t,r),o=Ly(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Zi(e.tokenBudget,Math.max(256,o*160))},a=ve(void 0,s.settings.author_default),c=await jv(n,a),d=Pv(e.noExtensionHealth===!0,n,s.settings),l=Ct(i.fullCorpus,s.statusRegistry),u=await Tv(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,R(),a,e.after,Rv(e),xv(e,i.fullCorpus.length),n,s.tokenBudget,c,L(s.settings,D())),f=await Dv(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(C=>C.id))),p=await pd(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),m=lr(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],p.warnings),h=Dd(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-h,b=await Av({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),v=Ov(i.allItems,s.statusRegistry,l),w={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:h,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...v},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return w.workspace_memory=hd(p,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),Lv(w,b,u.featureStore.warning_details),Mv(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=oo(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(C=>C.id))),w.packing=io(u.packing)),Fv(w,s.focusFields),m.length>0&&(w.warnings=m),Nv(w,u.activeItems,u.blockedItems),await $v(w,u,n,a),w}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7b1a6347-904d-5c7d-a86d-23e6232b9467")}catch{}})();function Ad(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(wr(r,"json"),wr(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,c=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let u=0,f=c.length;for(;u<f;){let p=Math.ceil((u+f)/2);r.ready=c.slice(0,p),i()<=t?u=p:f=p-1}r.ready=c.slice(0,u),a=i()}let d=a>t&&r.recommended!==null;d&&(r.recommended=null,a=i()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=o-r.ready.length-+(r.recommended!==null);n&&l===0&&a<=t||(e.truncation={...e.truncation,...l>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:l,recommendation_omitted:d,restore_budget_tokens:s}},d&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0497aebe-9963-5025-9266-124455dd4567")}catch{}})();var Uv=["markdown","toon","json"],Bv=5,Hv=1440*60*1e3;function Gv(e){if(!e)return;let t=e.trim().toLowerCase();if(!Uv.includes(t))throw new _("Next format must be one of markdown|toon|json",g.USAGE);return t}function uT(e,t){let n=Gv(e.format);if(t.json&&n&&n!=="json")throw new _("Cannot combine --json with --format markdown|toon",g.USAGE);return t.json?"json":n??"toon"}function Od(e,t,n){let r=ie(e,t);return r===void 0||r<=0?n:r}function Pt(e,t,n,r){return{...$t(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status,...i.external?{external:!0}:{},...i.blocked_since?{blocked_since:i.blocked_since}:{},...i.external?{resolver:i.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function Kv(e,t,n,r){let i=e.item,o=[],s=Q("in_progress",t);return o.push(x(i.status,t)===s?"resume work":"ready"),r&&o.push("completed container \u2014 governance closeout"),o.push(`p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(zv(i.deadline,n)),o.push(Le(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s)`),o}function Ld(e,t,n){let r=ve(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var fT={partitionCallerOwnedReady:Ld,resolveNextCallerAuthor:(e,t)=>Fd(e,t)};function mT(e,t,n){let r=e.filter(i=>Re(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Re(i.item.type,n)!=="human"),decisions:t?[]:r}}function zv(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/Hv);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function Vv(e,t){let n=Q("in_progress",t);return e.filter(r=>x(r.status,t)===n).length}function so(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Wv(e,t){return{type:e.type,tag:e.tag,priority:typeof e.priority=="number"?String(e.priority):e.priority,assignee:e.assignee,assigneeFilter:e.assigneeFilter,sprint:e.sprint,release:e.release,noTruncate:!0,...t}}function ur(e,t,n){return[...e].sort((r,i)=>{let o=so(r.item,t),s=so(i.item,t);return o!==s?Number(o)-Number(s):Ne(r.item,i.item,n)})}function qv(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Kv(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Yv(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let i=t.find(o=>o.blockers.length>0);return[...r,i?`${t.length} item(s) are blocked; unblock the top one by closing ${i.blockers.map(o=>o.id).join(", ")}`:`${t.length} item(s) are blocked; add blocker context or move the top item back to an active status`,"pm next --ready-only after a blocker closes to re-check ready work",'pm create --type Task --title "..." to add new ready work']}return[...r,'pm create --type Task --title "..." to add a new work item',"pm list --status in_progress to review work already underway","pm context --depth deep for the full project snapshot"]}function Xv(e,t,n,r){let i={};return e>r&&(i.decision_needed_total=e),t>r&&(i.held_by_others_total=t),n>r+1&&(i.ready_total=n),Object.keys(i).length>0?i:void 0}async function Jv(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(o=>o.id)]),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of tn(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await nn({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});en(e.result,i)}catch{e.result.warnings=lr(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Qv(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.result.suggestions=Yv(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Ad(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=oo(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=io(ro(e.readyRanking,e.packingBudget,new Set,"next"))),await Jv({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Zv(e,t,n){if(!n)return e;let r=to(t,n);if(!r.found)throw new _(`Next --parent item not found: ${n}`,g.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function eb(e,t,n,r,i,o,s){let a=e.filter(m=>!so(m.item,t)),c=s||a.length===0?e:a,d=await rn({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await cr(c.map(m=>m.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:d.affinity}),u=await ar("next",l.candidates),f=new Map(c.map(m=>[m.item.id,m]));return{projectedReady:u.ranked.map(m=>f.get(m.id)).filter(m=>m!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Fd(e,t){let n=e.assignee?.trim();return ve(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function pT(e,t){let n=O(process.cwd(),t.path),r=await F(n),i=Fd(e,r.author_default),o=J(r.schema),s=L(r,D()),a=R(),c=Od(e.limit,"--limit",Bv),d=Zi(e.tokenBudget,Math.max(192,c*128)),l=Od(e.blockedLimit,"--blocked-limit",c),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",p=await Dt(void 0,Wv(e,{excludeTerminal:!0}),t),m=await Dt(void 0,{excludeTerminal:!1,noTruncate:!0},t),h=Zv(p.items,m.items,f),y=m.items,b=St(h,y,o,s),v=lt(y),w=Ri(b,o,e,s),C=Ld(w.ready,r.author_default,i),S=ur(C.available,v,o),N=[...b.blocked].sort((W,H)=>Ne(W.item,H.item,o)),{projectedReady:$,ranking:M,completedContainer:Ee,featureStore:P}=await eb(S,v,o,a,i,n,e.includeContainers===!0),B=$.map((W,H)=>Pt(W,o,v,H+1)),Y=N.map((W,H)=>Pt(W,o,v,H+1)),X=ur(w.decisions,v,o).map((W,H)=>Pt(W,o,v,H+1)),te=ur(w.gates,v,o).map((W,H)=>Pt(W,o,v,H+1)),se=ur(b.containers,v,o).map((W,H)=>Pt(W,o,v,H+1)),V=qv({projectedReady:$,readyRows:B,statusRegistry:o,now:a,completedContainer:Ee}),$e=Xv(X.length,C.held.length,B.length,c)??{};te.length>c&&($e.gate_needed_total=te.length),se.length>c&&($e.containers_total=se.length);let fr={output_default:"toon",now:a,recommended:V,ready:B.slice(1,c+1),decision_needed:X.slice(0,c),gate_needed:te.slice(0,c),containers:se.slice(0,c),blocked:u?[]:Y.slice(0,l),held_by_others:C.held.slice(0,c),summary:{recommended:V!==null,ready:B.length,blocked:Y.length,in_progress:Vv(B,o),candidates:b.active_count,containers:b.container_count,decision_needed:X.length,gate_needed:te.length,held_by_others:C.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:f.length>0?f:null,limit:c,blocked_limit:l,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:d},truncation:Object.keys($e).length>0?$e:void 0};return Qv({result:fr,recommended:V,blockedRows:Y,gateCount:te.length,candidatesWarnings:p.warnings,corpusWarnings:m.warnings,readyRanking:M,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:d,featureStore:P,tokenBudget:e.tokenBudget===void 0?void 0:d,hasIntentBudget:typeof e.for=="string"})}function hT(e){let t=["# pm next","",...tb(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...jt(n,r.map(i=>`- ${Ut(i)}`),""));if(t.push(...jt("Recommended",nb(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...jt("Decision needed",(e.decision_needed??[]).map(n=>`- ${Ut(n)}`),"No human-gated decisions.")),t.push(...jt("Ready",e.ready.map(n=>`- ${Ut(n)}`),"No ready items.")),e.filters.ready_only||t.push(...jt("Blocked",e.blocked.map(n=>`- ${rb(n)}`),"No blocked items.")),e.suggestions&&e.suggestions.length>0){t.push("## Suggestions");for(let n of e.suggestions)t.push(`- ${n}`)}return t.join(`
|
|
19
|
-
`).trimEnd()}function tb(e){let t=[`- now: ${e.now}`,`- ready: ${e.summary.ready} (in_progress: ${e.summary.in_progress}), blocked: ${e.summary.blocked}, candidates: ${e.summary.candidates}`];return e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(""),t}function nb(e){return e?[`- ${Ut(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function jt(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function rb(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Ut(e)} blocked_by:${t}`}function Ut(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}import{createHash as ib}from"node:crypto";import{setTimeout as ob}from"node:timers/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="117a463a-c0ab-569f-92e9-e85d14a1cf91")}catch{}})();var Nd=1,$d=/^[A-Za-z0-9_-]+$/,sb=100,Md=1e3,ab=250,TT=Object.freeze({batch_to_row_ratio:.6,fixture_events:200});function oe(e){if(e===void 0)return;let t=typeof e=="string"?[e]:e,n=[...new Set(t.flatMap(r=>r.split(",")).map(r=>r.trim()).filter(Boolean))].sort((r,i)=>r.localeCompare(i));return n.length===0?void 0:n}function Pd(e){return ib("sha256").update(E({type:oe(e.type),author:oe(e.author),item:oe(e.item),harness:oe(e.harness),agent_instance:oe(e.agentInstance),provenance:oe(e.provenanceFilter)})).digest("hex").slice(0,24)}function ao(e,t){let n={version:Nd,fingerprint:t,ts:e.entry.ts,stream_id:e.stream_id,stream_offset:e.stream_offset};return Buffer.from(JSON.stringify(n),"utf8").toString("base64url")}function jd(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===Nd,n.fingerprint===t,typeof n.ts=="string",typeof n.stream_id=="string",typeof n.stream_offset=="number",Number.isSafeInteger(n.stream_offset),Number(n.stream_offset)>=0].every(Boolean)}function Ud(e,t){let n=e.trim();if(n.length===0||n.length>4096||!$d.test(n))throw new _("Invalid mutation event cursor.",g.USAGE,{code:"invalid_event_cursor"});let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw new _("Invalid mutation event cursor.",g.USAGE,{code:"invalid_event_cursor"})}if(!jd(r,t))throw new _("Mutation event cursor does not match this query.",g.USAGE,{code:"event_cursor_query_mismatch"});return r}function Bd(e){let t=e??sb;if(!Number.isSafeInteger(t)||t<0||t>Md)throw new _(`Mutation event limit must be an integer from 0 to ${Md}.`,g.USAGE,{code:"invalid_event_limit"});return t}function Hd(e){return e instanceof Error&&e.name==="AbortError"}function Gd(e,t){let n=e?.trim();if(!n)return{};if($d.test(n))return{cursor:Ud(n,t)};let r=Date.parse(n);if(!Number.isFinite(r))throw new _("Mutation event --since must be an event cursor or ISO timestamp.",g.USAGE,{code:"invalid_event_since"});return{sinceTimestamp:new Date(r).toISOString()}}async function cb(e,t){let n=await vr(e,t);if(n===null){if(!await Lo(e))return{...await Fo(e,t),source:"authoritative_history"};n=await vr(e,t)}if(n===null)throw new _("Mutation event index could not be opened after rebuild.",g.GENERIC_FAILURE,{code:"event_index_unavailable"});return{...n,source:"derived_index"}}function db(e){let t=e??"batch";if(t!=="batch"&&t!=="row")throw new _("Mutation event cursor mode must be batch or row.",g.USAGE,{code:"invalid_event_cursor_mode"});return t}async function lb(e={}){let t=O(e.cwd??process.cwd(),e.pmRoot);await U(t);let n=Bd(e.limit),r=db(e.cursorMode);if(e.full===!0&&e.provenance===!0)throw new _("Mutation event projections are mutually exclusive. Use --provenance or --full.",g.USAGE);let i=await F(t),o=i.agent_identity.identity_vocabulary,s=wn(i.agent_identity.harness_signals),a=Dr({provenance:e.provenanceFilter},s),c=oe(e.harness),d=Pd(e),{cursor:l,sinceTimestamp:u}=Gd(e.since,d),f={...l?{after_ts:l.ts,after_stream_id:l.stream_id,after_stream_offset:l.stream_offset}:u?{since_ts:u}:{},ops:oe(e.type),authors:oe(e.author),harnesses:c,harness_alias_authors:c?Object.entries(o.aliases).filter(([,h])=>c.includes(h)).map(([h])=>h):void 0,agent_instances:oe(e.agentInstance),provenance:[...a].map(([h,y])=>({dimension:h,values:[...y]})),stream_ids:oe(e.item),limit:n},p=await cb(t,f),m=p.events.map(h=>({...r==="row"?{cursor:ao(h,d)}:{},item_id:h.stream_id,version:h.stream_offset+1,ts:h.entry.ts,author:h.entry.author,type:h.entry.op,...h.entry.message===void 0?{}:{message:h.entry.message},patch_count:h.entry.patch.length,...e.full===!0?{entry:h.entry}:{},...e.provenance===!0?{provenance:kn(h.entry,o,{itemId:h.stream_id,version:h.stream_offset+1})}:{}}));return{events:m,count:m.length,has_more:p.has_more,cursor_mode:r,...p.events.length===0?{}:{next_cursor:ao(p.events[p.events.length-1],d)},source:p.source,...e.provenanceSummary===!0?{provenance_summary:En(p.events.map(h=>h.entry),o,s)}:{}}}async function*ub(e={}){let t=e.intervalMs??ab;if(!Number.isSafeInteger(t)||t<10)throw new _("Mutation event follow interval must be an integer of at least 10ms.",g.USAGE,{code:"invalid_event_follow_interval"});let n=e.since;for(;e.signal?.aborted!==!0;){let r=await lb({...e,cursorMode:e.cursorMode??"batch",since:n});if(yield r.next_cursor===void 0&&n!==void 0?{...r,next_cursor:n}:r,r.events.length>0){n=r.next_cursor;continue}try{await ob(t,void 0,{signal:e.signal})}catch(o){if(Hd(o))return;throw o}}}async function*RT(e={}){for await(let t of ub({...e,cursorMode:"row"}))for(let n of t.events)yield n}var xT={decodeMutationEventCursor:Ud,encodeMutationEventCursor:ao,eventQueryFingerprint:Pd,isAbortError:Hd,isMutationEventCursorEnvelope:jd,parseMutationEventLimit:Bd,resolveMutationEventStart:Gd};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e15abc24-c46a-512b-b859-015186c960df")}catch{}})();function AT(e,t){let n=t??{};return e.filter(r=>n[r.id]!==r.updated_at).map(r=>r.id).sort((r,i)=>r.localeCompare(i))}export{Rr as a,hn as b,Bb as c,Hb as d,yn as e,_n as f,ps as g,Vb as h,ie as i,vn as j,hs as k,bn as l,wn as m,Dr as n,kn as o,nw as p,Ar as q,En as r,mw as s,bs as t,Cl as u,yw as v,Sl as w,vw as x,bw as y,ww as z,kw as A,Dl as B,z as C,Is as D,Cn as E,Dw as F,Fr as G,Aw as H,ht as I,Ul as J,Hl as K,Nr as L,Gl as M,Qe as N,Tn as O,$r as P,Rn as Q,Hw as R,xs as S,me as T,l0 as U,Ns as V,$s as W,Ps as X,js as Y,Us as Z,Fn as _,Hs as $,tt as aa,Gs as ba,Ws as ca,$n as da,qs as ea,Ys as fa,Of as ga,aa as ha,Un as ia,qr as ja,Bn as ka,ca as la,la as ma,Yr as na,vt as oa,fa as pa,Jr as qa,Qr as ra,Zr as sa,ma as ta,ei as ua,ha as va,ga as wa,ya as xa,im as ya,_k as za,tc as Aa,AT as Ba,Sa as Ca,Ta as Da,Ek as Ea,Am as Fa,st as Ga,T as Ha,Te as Ia,Lk as Ja,Fk as Ka,Fm as La,Nm as Ma,Mk as Na,Nk as Oa,Wk as Pa,Na as Qa,Wn as Ra,bi as Sa,mE as Ta,Jn as Ua,Tp as Va,pE as Wa,hE as Xa,gE as Ya,_E as Za,xp as _a,Wa as $a,Vp as ab,th as bb,FI as cb,MI as db,Re as eb,ih as fb,Le as gb,er as hb,cc as ib,tr as jb,Ct as kb,Ri as lb,St as mb,xi as nb,Tt as ob,lc as pb,uc as qb,_c as rb,Mi as sb,vc as tb,tC as ub,nC as vb,kc as wb,Ec as xb,iC as yb,Di as zb,Ai as Ab,ah as Bb,Oi as Cb,YI as Db,XI as Eb,JI as Fb,QI as Gb,Ah as Hb,Oc as Ib,Tc as Jb,Rc as Kb,Nh as Lb,$h as Mb,Ph as Nb,Dt as Ob,UC as Pb,BC as Qb,HC as Rb,Zc as Sb,ed as Tb,At as Ub,zi as Vb,sr as Wb,x_ as Xb,rd as Yb,F_ as Zb,ar as _b,M_ as $b,N_ as ac,U_ as bc,B_ as cc,XC as dc,H_ as ec,id as fc,Vi as gc,Wi as hc,Q_ as ic,iy as jc,aS as kc,qi as lc,Yi as mc,cr as nc,ud as oc,dS as pc,uy as qc,hy as rc,pd as sc,ky as tc,hd as uc,Ey as vc,vS as wc,_d as xc,CS as yc,SS as zc,TS as Ac,RS as Bc,yd as Cc,Iy as Dc,Ay as Ec,Ft as Fc,YS as Gc,Zi as Hc,Fy as Ic,My as Jc,to as Kc,Ne as Lc,ro as Mc,io as Nc,oo as Oc,lt as Pc,$t as Qc,lr as Rc,XS as Sc,Mv as Tc,JS as Uc,Uv as Vc,uT as Wc,fT as Xc,mT as Yc,pT as Zc,hT as _c,TT as $c,lb as ad,ub as bd,RT as cd,xT as dd};
|
|
20
|
-
//# sourceMappingURL=chunk-QTHR3LXF.js.map
|