@unbrained/pm-cli 2026.10.31 → 2026.11.2
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/.agents/skills/pm-user/references/ECOSYSTEM_PLANNING.md +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +27 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +1 -1
- package/dist/cli/migration-gates.js +1 -1
- package/dist/cli/register-operations.d.ts +3 -3
- package/dist/cli/register-operations.js +1 -1
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-GMBDZID5.js → chunk-3A4NVHYS.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-VC7TA67O.js → chunk-3ZQQVJT2.js} +19 -19
- package/dist/cli-bundle/chunks/{chunk-XDDPSWIW.js → chunk-4HW253W2.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-4OELCF3O.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-6PSDQ7T7.js → chunk-533L6D2N.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-35Q2B2GJ.js → chunk-ABFFRQRO.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-BFZUJ5QP.js +115 -0
- package/dist/cli-bundle/chunks/{chunk-SBVX5CMV.js → chunk-D52QQ7LP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-P3LNMWL2.js → chunk-DAZFCSDV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-43R7UTWV.js → chunk-EN27ZQSV.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-MRUA2Z43.js → chunk-GK2CHAT3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BS2KXT24.js → chunk-HOGKWJU5.js} +42 -42
- package/dist/cli-bundle/chunks/{chunk-WX25MU4N.js → chunk-J3JM36EH.js} +3 -3
- package/dist/cli-bundle/chunks/{chunk-V6EWBTNH.js → chunk-JRXD7SIL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-U7JXZMU5.js → chunk-K46GDAKX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-PT7TS6E7.js → chunk-KJLGBLR3.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-2AHSPMKJ.js → chunk-NGRPD3ZO.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-OJR2YGXF.js +31 -0
- package/dist/cli-bundle/chunks/chunk-QHHFXNSQ.js +3 -0
- package/dist/cli-bundle/chunks/{chunk-TL3O5GZA.js → chunk-RGHLQGEX.js} +4 -4
- package/dist/cli-bundle/chunks/{chunk-24J6TNYE.js → chunk-VEOFWE32.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-ZNWDYDFF.js +129 -0
- package/dist/cli-bundle/chunks/{indexed-receipt-blobs-KGMJVFH2.js → indexed-receipt-blobs-IEJ2QOW3.js} +2 -2
- package/dist/cli-bundle/chunks/item-transaction-JHPBH6N7.js +2 -0
- package/dist/cli-bundle/chunks/{mutation-admission-I4RHIT3Q.js → mutation-admission-QUNQZCZ5.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-MVDL5EXG.js → register-list-query-NZTK3AXA.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-GAF7LXRB.js → register-mutation-2OFAMOVH.js} +2 -2
- package/dist/cli-bundle/chunks/register-operations-RFMM5KZ6.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-MZN6ONB3.js → register-setup-6B6Q7M5L.js} +2 -2
- package/dist/cli-bundle/chunks/{settlement-hook-YWSWFOZY.js → settlement-hook-UTCEZBFT.js} +2 -2
- package/dist/cli-bundle/chunks/{stage-2ZORTOF6.js → stage-VLI4OBVX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-4QPGJO2G.js → chunk-3UD6F2KQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-EA65HVBO.js → chunk-4NVPDZLX.js} +12 -12
- package/dist/cli-bundle/focused-chunks/{chunk-KKRIFBSL.js → chunk-4UUE3YXZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-NRBUMDLF.js → chunk-5UDDRPYR.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SFQKCA5K.js → chunk-745IDMTD.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-QFMJGQGO.js → chunk-B6OOKKOX.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-5MCGYBOQ.js → chunk-EJJWOFP5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-FUGYXUUL.js +80 -0
- package/dist/cli-bundle/focused-chunks/{chunk-6F6APBCX.js → chunk-HMXVTWIV.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-HSAEEWSI.js → chunk-I4Z2SCV5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-JLN5CFYM.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-K4FMZB4Y.js +23 -0
- package/dist/cli-bundle/focused-chunks/{chunk-DFUTCKUF.js → chunk-MQVBWFJF.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-2J7T2UCH.js → chunk-NJFMG3IK.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-HPWT3RBG.js → chunk-PCCZ72C3.js} +54 -54
- package/dist/cli-bundle/focused-chunks/chunk-PF553UVP.js +44 -0
- package/dist/cli-bundle/focused-chunks/{chunk-MW77Q3AQ.js → chunk-Q23K6WLV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-Y6UYRMVG.js → chunk-QNXXOFLQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JLXGRDTG.js → chunk-QVFE5LIX.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-KH5QJXY7.js → chunk-RUCG6UWN.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JNKRUCVZ.js → chunk-SGWYNU7T.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-TGS5RXBY.js +26 -0
- package/dist/cli-bundle/focused-chunks/{chunk-PC3R5CJV.js → chunk-WD43E7RU.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-PFBQOZPK.js → chunk-YM4AMP7H.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-KHWT44EK.js → indexed-receipt-blobs-FT3KF6VJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{item-transaction-LU75EG7D.js → item-transaction-F4SN7TXJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{mutation-admission-KDJ7SCPA.js → mutation-admission-7R2FXJ5O.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{settlement-hook-SJV52ZTV.js → settlement-hook-KMIBD4F2.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{stage-R4KEBO37.js → stage-6B3O2GZ6.js} +2 -2
- package/dist/cli-bundle/main.js +24 -24
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +4 -4
- package/dist/cli-bundle/sdk-core.js +1 -1
- 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 +57 -57
- 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 +9 -9
- package/dist/core/extensions/extension-types.d.ts +5 -0
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/core/item/parse.js +2 -2
- package/dist/core/lock/lock-confinement.d.ts +55 -0
- package/dist/core/lock/lock-confinement.js +2 -0
- package/dist/core/lock/lock-gc.js +1 -1
- package/dist/core/lock/lock.js +2 -2
- package/dist/core/output/mutation-projection.js +1 -1
- package/dist/core/output/output.js +2 -2
- package/dist/core/shared/errors.d.ts +6 -0
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/store/settings-sections.d.ts +61 -0
- package/dist/core/store/settings-sections.js +3 -0
- package/dist/core/store/settings-validator.d.ts +4 -0
- package/dist/core/store/settings-validator.js +1 -1
- package/dist/core/store/settings.d.ts +29 -2
- package/dist/core/store/settings.js +4 -3
- package/dist/core/telemetry/consent.js +2 -2
- package/dist/core/telemetry/runtime.js +2 -2
- package/dist/core/test/background-runs.js +3 -3
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/config.js +1 -1
- package/dist/sdk/context-intent-contracts.d.ts +17 -0
- package/dist/sdk/context-intent-contracts.js +1 -1
- package/dist/sdk/core.d.ts +1 -1
- package/dist/sdk/core.js +1 -1
- package/dist/sdk/extension-command-context.js +2 -2
- package/dist/sdk/generated/error-code-catalog-rows.d.ts +39 -0
- package/dist/sdk/generated/error-code-catalog-rows.js +2 -0
- package/dist/sdk/generated/generated-error-code-catalog-part-1.d.ts +3 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.d.ts +3 -3
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/generated-error-code-catalog.js +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/init-agent-guidance.js +2 -2
- package/dist/sdk/lifecycle/claim.d.ts +27 -0
- package/dist/sdk/lifecycle/claim.js +1 -1
- package/dist/sdk/lifecycle/mcp-actions.d.ts +1 -1
- package/dist/sdk/lifecycle/mcp-actions.js +1 -1
- package/dist/sdk/lifecycle/task-composition.js +1 -1
- package/dist/sdk/mcp/discovery.js +1 -1
- package/dist/sdk/output/list-envelope.d.ts +8 -0
- package/dist/sdk/output/list-envelope.js +1 -1
- package/dist/sdk/output.d.ts +1 -1
- package/dist/sdk/output.js +2 -2
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/context.js +2 -2
- package/dist/sdk/runtime/actions.js +1 -1
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/runtime-primitives.d.ts +2 -1
- package/dist/sdk/runtime-primitives.js +1 -1
- package/dist/sdk/runtime-public-contracts.d.ts +2 -0
- package/dist/sdk/runtime.d.ts +2 -2
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/start-task-status.d.ts +1 -1
- package/dist/sdk/start-task-status.js +1 -1
- package/docs/AGENT_EVIDENCE_CONSISTENCY.md +10 -0
- package/docs/AGENT_GUIDE.md +3 -3
- package/docs/COMMANDS.md +1 -0
- package/docs/COMMAND_NAMESPACES.md +1 -1
- package/docs/CONFIGURATION.md +9 -0
- package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +9 -6
- package/docs/LIFECYCLE_COMMANDS.md +19 -4
- package/docs/RELEASING.md +22 -2
- package/docs/SDK.md +37 -2
- package/docs/SDK_ACTION_CONFORMANCE.md +21 -0
- package/docs/SDK_CONFIGURATION_SAFETY.md +55 -0
- package/docs/TESTING.md +2 -1
- package/docs/agent-task-token-baseline.json +1 -1
- package/docs/agent-task-transcripts.json +1 -1
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +12 -3
- package/marketplace.json +1 -1
- package/package.json +9 -3
- 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/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-claude/package.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +1 -1
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +1 -1
- package/dist/cli-bundle/chunks/chunk-HSBTITO4.js +0 -3
- package/dist/cli-bundle/chunks/chunk-WNF6FOL7.js +0 -31
- package/dist/cli-bundle/chunks/chunk-WRXQAW7Q.js +0 -114
- package/dist/cli-bundle/chunks/chunk-YT5D5HNG.js +0 -2
- package/dist/cli-bundle/chunks/chunk-ZTJVOBDU.js +0 -128
- package/dist/cli-bundle/chunks/item-transaction-UWV6UNSV.js +0 -2
- package/dist/cli-bundle/chunks/register-operations-JLFRL36Q.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-57HPXGOQ.js +0 -79
- package/dist/cli-bundle/focused-chunks/chunk-AFVN2KCP.js +0 -44
- package/dist/cli-bundle/focused-chunks/chunk-GP2WU43K.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-NOKG4RFN.js +0 -22
- package/dist/cli-bundle/focused-chunks/chunk-WHIE2C6Q.js +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{A as uo,B as mo,G as po,I as ho,a as H,b as Xi,c as Qi,e as De,f as Yi,g as Ji,h as Zi,i as eo,j as to,m as no,n as ro,p as ao,q as co,t as lo,u as fn,v as pn,w as q}from"./chunk-PFBQOZPK.js";import{$ as ft,Ba as qi,M as _i,N as wi,Q as ln,R as Ri,Ta as zi,ba as pe,ca as pt,da as ht,ea as Oi,ga as ji,ha as Ui,ia as yt,ja as Bi,ka as _t,la as wt,ma as bt,na as Gi,ra as Hi,sa as mn}from"./chunk-NOKG4RFN.js";import{Na as Zr,Va as ei}from"./chunk-HSAEEWSI.js";import{F as fo,a as Te,c as Re,f as Ae,g as Ki,h as Vi,i as vt,m as io,n as oo,q as so}from"./chunk-KKRIFBSL.js";import{C as gt,E as Ni,F as ne,G as re,I as Li,J as he,M as Pi,U as Wi,b as Ai,c as Di,f as $i,h as un}from"./chunk-5MCGYBOQ.js";import{$a as A,Ea as Ti,F as vi,G as ki,H as Si,I as Ei,J as Ci,La as mt,Ma as Fi,N as xe,Na as Mi,W as Ii,ba as ee,da as te,eb as U,ja as xi,r as F,s as C,t as J,x as bi}from"./chunk-57HPXGOQ.js";import{b as le}from"./chunk-PC3R5CJV.js";import{j as N,l as Y}from"./chunk-MW77Q3AQ.js";import{b as gi,c as yi}from"./chunk-AK2CI2GI.js";import{$ as Ce,$b as cn,Aa as on,Ca as rt,Cc as ti,Dc as ue,E as nn,Ed as st,Ee as dn,F as et,Fa as it,Fd as fe,Gc as ni,Gd as ci,Hd as di,Ic as ot,Id as li,Jd as ui,Kd as mi,Ld as at,Nc as me,Od as D,Qb as Qr,Rd as fi,Sd as S,Td as pi,Ud as G,Y as rn,Yb as sn,Zb as an,_c as ri,a as Br,aa as nt,ac as Yr,bc as Jr,ee as ct,fa as Kr,ga as Vr,ge as dt,id as ii,ie as lt,jd as oi,ld as si,le as hi,me as ut,qa as R,sc as E,wa as T,ya as Xr,yc as Ie,yd as ai,z as de}from"./chunk-GP2WU43K.js";import{A as p,C as qr,D as tt,E as Wr,I as zr,t as Gr,x as Hr,z as f}from"./chunk-JLXGRDTG.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]="f698608a-2f39-5972-b24b-93287af6b373")}catch{}})();var Fe=class extends RangeError{code;work;minimum_tokens;constructor(t,n,r){super(t),this.name="OutputEnvelopeFitError",this.code=t,this.work=Object.freeze({...n}),this.minimum_tokens=r}};function hn(e,t){if(!Number.isSafeInteger(e)||e<1)throw new RangeError(`${t} must be a positive safe integer`)}function fa(e,t,n,r){return t.map(([i,o])=>{if(r.render_calls>=r.max_render_calls)throw new Fe("output_envelope_work_limit",r);r.render_calls+=1;let s=o(e);if(typeof s!="string")throw new TypeError("Envelope renderers must return strings");let a=n(s);if(!Number.isSafeInteger(a)||a<0)throw new RangeError("Envelope token estimates must be non-negative safe integers");return{name:i,text:s,bytes:Buffer.byteLength(s,"utf8"),estimated_tokens:a}})}function go(e,t,n,r){let i=t,o=Object.entries(n.renderers),s=n.estimateTokens??(a=>ri(Buffer.byteLength(a,"utf8")));for(let a=0;a<(n.maxStabilizationPasses??16);a+=1){let d=Object.freeze({...i}),c={...n.buildEnvelope(e,d),output_fit:d},l=fa(c,o,s,r),u=Math.max(...l.map(h=>h.bytes)),m=Math.max(...l.map(h=>h.estimated_tokens));if(u===i.output_bytes&&m===i.estimated_tokens)return{envelope:c,renderings:l};i={...i,output_bytes:u,estimated_tokens:m}}throw new Fe("output_envelope_unstable",r)}function gf(e,t){hn(t.tokenBudget,"tokenBudget"),hn(t.maxRenderCalls??1e4,"maxRenderCalls"),hn(t.maxStabilizationPasses??16,"maxStabilizationPasses");let n=t.policy??"prefix";if(n!=="prefix"&&n!=="skip")throw new TypeError("Unknown output envelope fit policy");if(Object.entries(t.renderers).length===0||Object.entries(t.renderers).some(([d,c])=>!d.trim()||typeof c!="function"))throw new TypeError("Envelope fitting requires named callable renderers");let r={evaluated_candidates:0,render_calls:0,max_render_calls:t.maxRenderCalls??1e4},i=[],o=[],s=d=>({version:1,policy:n,total_candidates:e.length,included_indices:Object.freeze([...d]),omitted_count:e.length-d.length,token_budget:t.tokenBudget,estimated_tokens:0,output_bytes:0}),a=go(i,s(o),t,r);if(a.envelope.output_fit.estimated_tokens>t.tokenBudget)throw new Fe("output_envelope_infeasible",r,a.envelope.output_fit.estimated_tokens);for(let[d,c]of e.entries()){r.evaluated_candidates+=1;let l=[...i,c],u=[...o,d],m=go(l,s(u),t,r);if(m.envelope.output_fit.estimated_tokens<=t.tokenBudget)i=l,o=u,a=m;else if(n==="prefix")break}return{rows:i,...a,complete:i.length===e.length,work:Object.freeze({...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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var pa=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],gn=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list --all --output-include full --strict-read --no-truncate --output-budget unbounded --output-limit unbounded --json",sdk:"await client.listAllComplete()"}}}};function wf(e={}){return si({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function W(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function x(e,t,n,r){t&&e.push({code:n,message:r})}function ha(e,t){let n=W(e.completeness)?e.completeness:{};x(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),x(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;x(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),x(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=W(e.filters)?e.filters:{},s=W(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return x(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),x(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),x(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ga(e,t,n){x(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),x(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=W(e.projection)?e.projection:{};x(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=W(e.omission_receipt)?e.omission_receipt:void 0;x(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),x(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),x(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function ya(e){return e.contract_version!==1||e.command!=="list"||e.within_budget!==!0||e.strings_compacted!==!1||e.rows_compacted!==!1||e.result_omitted!==!1}function _a(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function wa(e,t){let n=W(e.read_output)?e.read_output:void 0;x(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),x(t,n!==void 0&&ya(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),x(t,n!==void 0&&!_a(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),x(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=W(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;x(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),x(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function ba(e,t){let n=e.map(r=>W(r)&&typeof r.id=="string"?r.id.trim():"");x(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),x(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function va(e){if(!W(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:pa[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=ha(t,n);return ga(t,r,n),wa(t,n),ba(t.items,n),{ok:n.length===0,findings:n}}function ka(e){let t=va(e);if(!t.ok)throw new gn(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function bf(e){ka(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]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function Ef(e,t={}){let n=await po({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(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]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var yo=16;async function _o(e,t,n){let r=R(t,E()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<yo;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await ne(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await re(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function Af(e){await Si({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await _o(e.pmRoot,e.settings,e.itemId)})}async function Df(e){await Ei(e)}async function Ff(e){await Ci({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await _o(e.pmRoot,e.settings,e.itemId)}:{}})}var Mf={lineage_depth:yo,active_items:64,evidence_rows:32};function wo(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]="c12559a3-2703-5665-9ec2-7309589be511")}catch{}})();var Me=["priority_floor","weighted"],Sa="default-weighted-v1";function bo(e,t,n,r){let i=new Map(e.map(a=>[a.id,a.rank]));if(n!=="priority_floor"||r!==Sa)return i;let o=t.in_progress_status,s=a=>C(a.item.status,t)===o?-1:a.item.priority;return e.sort((a,d)=>s(a)-s(d)||a.rank-d.rank),e.forEach((a,d)=>{a.rank=d+1}),i}function vo(e,t,n,r){let i=e[0];if(!i)return;if(r==="priority_floor"){let a=t.get(i.item.id);return a!==void 0&&a!==1?`priority floor (relevance rank ${a})`:void 0}let o=n.in_progress_status,s=e.slice(1).filter(a=>a.item.priority<i.item.priority&&C(a.item.status,n)!==o).map(a=>a.item.priority);return s.length>0?`relevance over p${Math.min(...s)} ready work`:void 0}import{encode as Ca}from"@toon-format/toon";import{createHash as Ea}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]="66022e7d-1594-5b88-a283-c64830ff0dfd")}catch{}})();function yn(e){let t=Ea("sha256").update("[");for(let n of e)t.update(it(n)).update("\0");return t.update("]").digest("hex")}function kt(e,t){if(t===void 0)return D();let n=di(t).snapshot,r=`${e}:`,i=n?.slice(r.length);if(!n?.startsWith(r)||!i||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(i)||!Number.isFinite(Date.parse(i)))throw new p("Query cursor has no supported fixed-window clock.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});return i}function $e(e,t){let n=e.map((a,d)=>({row:a,index:d})),r=fe(t.command,{query:t.query,rows_digest:yn(e)}),i=t.after===void 0?void 0:li(t.after,r);if(i&&(i.after_index===void 0||i.after_id!==String(i.after_index)||i.after_index>=e.length))throw new p("Query cursor position is outside the matching window.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});let o=at(n,{cursor:t.after,fingerprint:r,snapshot:`${t.command}:${t.clock}`,limit:t.limit??e.length,readId:({index:a})=>String(a)}),s=i?.after_index===void 0?0:i.after_index+1;return{...o,rows:o.rows.map(({row:a})=>a),count:o.rows.length,total_count:e.length,page_start:s,omitted_count:e.length-s-o.rows.length,has_more:s+o.rows.length<e.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]="351df2b3-3a1a-528c-96b9-72bb3e2f27fc")}catch{}})();var _n=["agenda","day","week","month"],wn=["markdown","toon","json"],Ia=["sun","mon","tue","wed","thu","fri","sat"],xa=365,Ta=365,xo=28,Ra=1e3;function bn(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,f.USAGE);return n}function Aa(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 p("Calendar include filter must not be empty",f.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 p("Calendar include filter must be deadlines|reminders|events|scheduled|all",f.USAGE)}return r}function To(e,t){let n;for(let r of t){let i=Br(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Da(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!_n.includes(t)){let n=To(t,_n);throw new p(`Calendar view must be one of ${_n.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Fa(e){if(!e)return;let t=e.trim().toLowerCase();if(!wn.includes(t)){let n=To(t,wn);throw new p(`Calendar format must be one of ${wn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Kf(e,t){let n=Fa(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"markdown"}function Ma(e,t){if(e===void 0)return;let n=F(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,f.USAGE)}return n}function $a(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function St(e){return new Date(e).toISOString().slice(0,10)}function Ro(e,t){if(!t||t==="UTC")return St(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 St(e)}function En(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Ao(e){let t=new Date(En(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function Oa(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Na(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function La(e,t){return S(e,t)>=0?e:t}function ko(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function So(e,t){e.set(t,(e.get(t)??0)+1)}function Pa(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)=>de(r)-de(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 Do(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 Fo(e){return Ia[new Date(e).getUTCDay()]}function ja(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Ua(e){let t=new Set;for(let n of e??[]){let r=ja(n);r&&t.add(r)}return t}function Ba(e,t,n,r,i){let o=e??z(n,-(r??Ta)),s=t??z(e??n,i??xa);return{start:o,end:S(s,o)>0?s:z(o,1)}}function Ga(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Fo(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??Ra,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Ua(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)=>de(s)-de(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function Et(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Ct(e,t){let n=Fo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Ha(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Ct(e,t)&&Et(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function qa(e,t,n){let r=de(n),i=z(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 Wa(e){let t=Ao(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=qa(e,r,i);if(Ct(e,o)&&Et(e,o)==="stop")return e.occurrences}}return e.occurrences}function za(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=Do(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Ct(e,s))&&Et(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ka(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=Do(i,n,o,e.startDate);if(!(!s||!Ct(e,s))&&Et(e,s)==="stop")return e.occurrences}}return e.occurrences}function Va(e,t,n,r){let i=Ga(e,t,n,r);return t.freq==="daily"?Ha(i):t.freq==="weekly"?Wa(i):t.freq==="monthly"?za(i):Ka(i)}function Mo(e){return[...e].sort((t,n)=>{let r=S(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 Cn(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 Xa(e){return e.deadline?{at:e.deadline,date:St(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,...Cn(e),item_deadline:e.deadline}:null}function Qa(e){return(e.reminders??[]).map(t=>({at:t.at,date:St(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,...Cn(e)}))}function Ya(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Ja(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Za(e,t,n,r){let i=Pa(t.recurrence),o=Ya(t.start_at,t.end_at);return(t.recurrence?Va(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):Ro(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Ja(s,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,...Cn(e)}))}function ec(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Xa(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Qa(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Za(o,a,t,r))}return Mo(i)}function tc(e,t,n,r,i){let o=Qi(t.type,n),s=t.tag?.trim().toLowerCase(),a=Xi(t.priority),d=Ma(t.status,r),c=t.assignee?.trim(),l=$a(t.assigneeFilter),u=t.sprint?.trim(),m=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',f.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE);return e.filter(h=>nc(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:i}))}function nc(e,t){return rc(e,t)&&ic(e,t)&&ht(e,t.runtimeFieldFilters)}function rc(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 ic(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 oc(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function vn(e,t,n){return e.trim().toLowerCase()==="today"?En(t):G(e,new Date(t),n)}function sc(e,t,n){let r=t.date?vn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?vn(t.from,n,"--from"):void 0,a=t.to?vn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",f.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",f.USAGE);if(e==="agenda")return ac(r,t,n,i,o,s,a);if(e==="day"){let c=En(r);return kn(r,n,i,o,c,z(c,1))}if(e==="week"){let c=Ao(r);return kn(r,n,i,o,c,z(c,7))}let d=Oa(r);return kn(r,n,i,o,d,Na(r))}function ac(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",f.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function kn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:La(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function cc(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:Mo(r)}))}function dc(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),So(n,d.item_type),So(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.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:ko(n),by_status:ko(r),recurring_events:a}}function lc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function $o(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 Sn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function uc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Ro(e.event_end,e.event_timezone)?$o(e.event_end,e.event_timezone):e.event_end:null}function mc(e){let t=`${$o(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 i=uc(e);return i&&n.push(`end=${i}`),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 Eo(e,t){if(t&&t.length>0){e.push("### warnings");for(let n of t)e.push(`- ${n}`);e.push("")}}function Vf(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${lc(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(`- matching-events: ${e.total_count}; returned: ${e.count}; remaining: ${e.omitted_count} (summary: ${e.summary_scope})`),e.next_cursor&&t.push(`- continue: repeat the same query with --after ${e.next_cursor}`),t.push(`- by-kind: ${Sn(e.summary.by_kind)}`),t.push(`- by-type: ${Sn(e.summary.by_type)}`),t.push(`- by-status: ${Sn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push(e.total_count===0?"No calendar events matched the selected filters.":"No calendar events returned on this page. Repeat the same query with --limit 1 or greater to retrieve matching events."),t.push(""),Eo(t,e.warnings),Co(t.join(`
|
|
2
|
-
`));for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${
|
|
3
|
-
`))}function
|
|
4
|
-
`;)t-=1;return e.slice(0,t)}function fc(e){let t=kt("calendar",e.after),n=Da(e.view),r=sc(n,e,t),i=H(e.limit),o=Aa(e.include),s=bn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=bn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=bn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",f.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:u?xo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function pc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${xo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Io(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 hc(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 Oo(e,t){let n=T(process.cwd(),t.path);await U(n);let r=fc(e),i=await A(n),o=N(i.schema),s=Y(i.schema),a=pt(e,s,"calendar"),d=R(i,E()),c=[];pc(c,r.eventsOnlyCapApplied);let l=await he(n,i.item_format,d.type_to_folder,c,i.schema),u=tc(l,e,d,o,a),m=Ba(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),h=ec(u,m,r.includeSources,r.occurrenceLimit).filter(I=>oc(I,r.rangeBounds.start,r.rangeBounds.end)),{rows:g,...y}=$e(h,{command:"calendar",after:e.after,clock:r.nowValue,limit:r.limit,query:{pmRoot:n,view:r.view,range:r.rangeBounds,filters:{...Io(e,a),limit:void 0},recurringWindow:m,occurrenceLimit:r.occurrenceLimit}}),_=cc(g),w=[...new Set(c)].sort((I,b)=>I.localeCompare(b));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:hc(e,r.rangeBounds),filters:Io(e,a),...y,summary_scope:"returned_rows",summary:dc(g),events:g,days:_,...w.length>0?{warnings:w}:{}}}import yc from"node:fs/promises";import Po 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]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var In={version:1,aliases:{}};function It(e=[]){let t=new Set(xe),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 No(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function xn(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 gc(e,t=xe){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 p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,f.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function xt(e,t=In,n={}){let r=xn(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 Tt(e,t=In,n=xe){let r=No(e.harness),i=No(e.agentInstance),o=gc(e,n);return s=>{let a=xn(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,c]of o){let l=s.agent_provenance?.[d];if(!l||!c.has(l.value))return!1}return!0}}function Rt(e,t=In,n=xe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);xn(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,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(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]="aa1ede64-e578-57da-9194-1cd646cee915")}catch{}})();var _c=20,wc=5,bc=15,vc="-24h";function up(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 kc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Tn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,f.USAGE);return n}function Lo(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",f.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return G(i,new Date(t),n)}function Sc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Oe(e,t=""){return typeof e=="string"?e:t}function Ec(e,t){return{...t,id:e,ts:Oe(t.ts),author:Oe(t.author,"unknown"),op:Oe(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Oe(t.before_hash),after_hash:Oe(t.after_hash)}}function Cc(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 Ic(e){try{return(await yc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Wr(t))return[];throw t}}function xc(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 Tc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?bc:n==="compact"?_c:wc}function Rc(e,t,n){let r=t==="digest",i=Lo(e.to??(r||e.unbounded!==!0?n:void 0),n,"--to"),o=Lo(e.from??(r?vc:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",f.USAGE);let s=pe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",f.USAGE);return{id:Tn(e.id,"Activity --id"),op:Tn(e.op,"Activity --op"),author:Tn(e.author,"Activity --author"),from:o,to:i,limit:Tc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Ac(e){let t=T(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await A(t)}}async function Dc(e){let t=R(e.settings,E()),n=await he(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Di({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Po.join(e.pmRoot,"history");return await Ie({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function Fc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Sc(t,n.from,n.to)}async function Mc(e,t){let n=[];for(let r of await Ic(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await te(Po.join(e,r),i);for(let s of o){let a=Ec(i,s);Fc(s,a,t)&&n.push(a)}}return n}function $c(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function Oc(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 Nc(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,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(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:Oc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function Lc(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 Pc(e,t,n,r,i){if(e==="digest"){let{rows:a,...d}=$e(Nc(t,r),n);return{rows:{activity_digest:a},compact:!1,page:d}}let{rows:o,...s}=$e(t,n);return e==="compact"?{rows:{compact_activity:$c(o)},compact:!0,page:s}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,page:s}:{rows:{activity:o},compact:!1,page:s}}async function jo(e,t){let n=await Ac(t),r=xc(e),i=kt("activity",e.after),o=Rc(e,r,i),s=await Dc(n),a=It(n.settings.agent_identity.harness_signals),d=n.settings.agent_identity.identity_vocabulary,c=Tt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},d,a),l=Cc(await Mc(s.historyDir,o)).filter(c),u=Pc(r,l,{command:"activity",after:e.after,clock:i,limit:o.limit,query:{pmRoot:n.pmRoot,projectionMode:r,filters:{...o,limit:void 0,limitSource:void 0},matching_activity_digest:r==="digest"?yn(l):void 0,vocabulary:d,provenanceDimensions:a}},s.itemsById,m=>xt(m,d,{itemId:m.id}));return{...u.rows,compact:u.compact,projection:{mode:r,row_key:kc[r]},omission_receipt:ot("activity",r),...u.page,window:{anchor:i,from:o.from??null,to:o.to??null},limit:o.limit??null,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:l.length,item_count:u.page.total_count,author_count:new Set(l.map(m=>m.author)).size,operation_counts:Lc(l)}}:{},...e.provenanceSummary===!0?{provenance_summary:Rt(l,d,a)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.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]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var Uo="1970-01-01T00:00:00.000Z";function Ne(e){if(typeof e!="string")return null;let t=e.trim();if(!fi(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return G(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]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var Rn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],jc=Symbol("no-context-author"),Uc=Symbol("no-item-assignee");function Bo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Bc(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 Gc(e){let t=Bc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ne(e.created_at)??Uo}}function Hc(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=Ne(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 qc(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 Wc(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 zc(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 At(e,t,n){return e?.[t]??n}function Dt(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?Gc(c):Hc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,m=n.get(l.id).coordinate;return S(m,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=Bo(t.author,jc),a=F("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=Bo(c.assignee,Uc)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signal_provenance:{recency:n.get(c.id)},signals:{recency:e.length===1?1:1-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:At(t.graphProximity,c.id,c.parent?.3:0),claim_focus:At(t.claimFocus,c.id,C(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:qc(c.priority,4),risk_pressure:zc(c.risk),deadline_pressure:Wc(c.deadline,d),knowledge_density:At(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:At(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Kc="context_relevance",Vc={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},Xc=new TextEncoder;function Qc(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"||!Rn.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 Yc(e){let t={...Vc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Rn.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 Ho(e,t={}){Qc(e);let n=Yc(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=Rn.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,m=0;for(let h of o){let g=c[h];if(g===void 0)continue;let y=g*n[h];l[h]=y,u+=y,m+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:m===0?0:u/m,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Jc(e,t={}){let n=Ho(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 Ft(e,t,n={}){let r=Ho(t,n),i=await ti(Kc,{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 Jc(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 Zc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Go(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function ed(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(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,m)=>l+(2**u-1)/Math.log2(m+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:Go(e.required_ids??[],a),continuity_coverage:Go(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function td(e){return Math.ceil(Xc.encode(JSON.stringify(e)).byteLength/4)}function nd(e){return Math.round(e*1e4)/1e4}function rd(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 id(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"});if(ai(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new p(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,f.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=rd(n,e.surface),o={...n,ranking:void 0},s=td(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:ed({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 od(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Zc;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,nd(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 kp(e,t,n){let r=[];for(let i of e)r.push(await id(i,t));return od(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]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var sd={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},ad=["identity","summary","full"];function cd(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=ad.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 dd(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=sd[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 ld(e){let t=new Set;for(let n of e){if(cd(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 ud(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 d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function md(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},o=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:i(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=ud(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function fd(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,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 qo(e,t){let n=dd(t),r=ld(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=md({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=fd(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let c=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!c.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,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 Le from"node:fs/promises";import Pe from"node:path";import{createHash as Wo,randomUUID as pd}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]="179e487f-baf9-59d1-a438-3ae0c12b00eb")}catch{}})();var An=3,Dn=2,zo=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],hd=new Set(["substantive_history","release_cohort","created_at"]),gd={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 ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ko(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function yd(e){let t={};for(let n of zo){let r=e[n];if(r!==void 0){if(!Ko(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function _d(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 wd(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 Vo(e,t){return{...t,activityDensity:t.activityDensity??_d(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??wd(e)}}function $n(e){let t=Wo("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 bd(e){if(!ge(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",ge(e.signals),ge(t)].every(Boolean))return null;let n=t.recency;if(!ge(n))return null;let r=Ne(n.coordinate);if(r===null)return null;let i=new Set(zo),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Ko(a))||![typeof n.source=="string"&&hd.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 vd(e,t){let n=Array.from(e,bd);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!==$n(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function kd(e){if(!ge(e)||e.format_version!==An||e.signal_set_version!==Dn||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=vd(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:An,signal_set_version:Dn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Xo(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 Qo(e,t,n=$n(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:yd(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:An,signal_set_version:Dn,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 Mp(e,t){return Xo(t),Qo(Dt(e,Vo(e,t)),t)}var Fn=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=Pe.resolve(t)}async read(){try{return JSON.parse(await Le.readFile(this.filePath,"utf8"))}catch(t){if(ge(t)&&tt(t))return null;throw t}}async write(t){let n=Pe.dirname(this.filePath);await Le.mkdir(n,{recursive:!0});let r=Pe.join(n,`.${Pe.basename(this.filePath)}.${pd()}.tmp`);try{await Le.writeFile(r,`${JSON.stringify(t)}
|
|
5
|
-
`,{encoding:"utf8",flag:"wx"}),await Le.rename(r,this.filePath)}finally{try{await Le.rm(r,{force:!0})}catch{}}}},Mn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Xo(n);let r=[],i=null;try{let m=await this.adapter.read();i=
|
|
6
|
-
`)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function Pd(e,t,n=Zo){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 es(e,t,n=Zo){if(e.snapshot===null)return;let r=Pd(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 jd(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 ts(e,t,n=5){let r=jd(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]="2355a6b7-2a17-586c-8dd3-182980a708d0")}catch{}})();var Ud=["markdown","toon","json","ndjson"],Lt=new Set(["Epic","Feature"]),Nn=10,ss=1e4,as=["hierarchy","activity","progress","recently_created","unparented","workload"],Bd=[...as,"blockers","files","staleness","tests"],Gd=/^(\d{4})-(\d{2})-(\d{2})/,Hd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,qd=/^(\d{4})(\d{2})(\d{2})$/,Wd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function zd(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ud.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",f.USAGE);return t}var ns=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 Kd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!ns.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...ns].join(", ")})`,f.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",f.USAGE);return t}function je(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function uh(e,t){let n=zd(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Vd(e,t){return H(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Nn)}function Ln(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new p("--token-budget must be a positive integer",f.USAGE);return n}function Xd(e,t){return t>=ss&&e===Number.MAX_SAFE_INTEGER?Nn:e}function Qd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!nn.includes(n))throw new p(`Context --depth must be one of ${nn.join("|")}`,f.USAGE);return n}function Yd(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!et.includes(o))throw new p(`Context --section must be one of ${et.join("|")}`,f.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...et]:(t==="deep"?Bd:as).filter(r=>n.sections[r])}function Jd(e,t){return e?H(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Zd(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new p("--stale-threshold must be a number of days (e.g. 7 or 7d)",f.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new p("--stale-threshold must be positive",f.USAGE);return i}function rs(e,t){let n=C(e,t),r=F("blocked",t),i=F("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 Ue(e,t){let n=F("closed",t);return C(e,t)===n}function Pn(e,t){return C(e,t)===t.in_progress_status}function cs(e,t){let n=C(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function el(e,t){return t.blocked_statuses.has(C(e,t))}var tl=["compact","brief","fields","includeBody","include_body","parent"];function nl(e){let t={...e};for(let n of tl)delete t[n];return t}function jn(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=ye(e),o=Be(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function rl(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",f.USAGE);return t}function il(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function ol(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:S(n,r)}function sl(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function al(e){let t=Gd.exec(e)??Hd.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<=sl(n,r-1)}function cl(e){let t=qd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Wd.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function ds(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!al(t))return Number.NaN;let n=Date.parse(cl(t));return Number.isFinite(n)?n:Number.NaN}function On(e){let t=ds(e);return Number.isFinite(t)?new Date(t).toISOString():""}function dl(e){let t=ds(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Un(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ie(e,t,n){let r=rs(e.status,n)-rs(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=il(e.order,t.order);if(o!==0)return o;let s=ol(e.deadline,t.deadline);if(s!==0)return s;let a=S(On(t.updated_at),On(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function Ot(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Bn(e,t,n=new Set,r="context"){return qo(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:Ot({id:i.id,title:i.item.title}),summary:Ot({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Ot(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Gn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Hn(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 Nt(e,t){return t>0?Math.round(e*100/t):0}function ye(e){let t=new Map;for(let n of e){let r=Un(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Ge(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:Un(e.parent)};if(t&&n){let i=Be(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Ue(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Nt(s,o)}}return r}function ll(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 Pt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function ul(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function ml(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=ye(e),s=new Set(t.filter(d=>Lt.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let l=Be(d,o),u=o.get(d)??[],m=0,h=0,g=0,y=0;for(let w of l)Ue(w.status,n)?m++:Pn(w.status,n)?g++:el(w.status,n)?y++:cs(w.status,n)&&h++;let _=u.sort((w,I)=>ie(w,I,n)).slice(0,r).map(w=>{let I=Be(w.id,o),b=I.filter(k=>Ue(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:I.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:m,children_open:h,children_in_progress:g,children_blocked:y,children:_})}return a.sort((d,c)=>{let l=i.get(d.id),u=i.get(c.id);return ie(l,u,n)}).slice(0,r)}function Be(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 fl(e,t){return(await jo({compact:!0,limit:String(e)},t)).compact_activity??[]}function pl(e,t,n,r,i){let o=new Map;for(let d of e){if(!d.parent)continue;let c=o.get(d.parent)??[];c.push(d),o.set(d.parent,c)}let s=t.filter(d=>Lt.has(d.type)),a=[];for(let d of s){let c=Be(d.id,o),l=c.length;if(l===0)continue;let u=0,m=0,h=0,g=0;for(let y of c)Ue(y.status,r)?u++:n.has(y.id.trim().toLowerCase())?g++:Pn(y.status,r)?h++:cs(y.status,r)&&m++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:m,in_progress:h,blocked:g,completion_pct:Nt(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function hl(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=Ae(o,i,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function gl(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 yl(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=>Pn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function _l(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 wl(e,t,n,r){return e.map(i=>({item:i,sortKey:On(i.created_at)})).sort((i,o)=>{let s=S(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Ge(i,t,n),created_at:i.created_at}))}function bl(e,t,n,r){return e.filter(i=>!Un(i.parent)&&!Lt.has(i.type)).sort((i,o)=>ie(i,o,t)).slice(0,r).map(i=>Ge(i,t,n))}function vl(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{scope:"matching_active_items",total_items:e.length,items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function is(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function ls(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 kl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Sl(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`${is(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${is(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 os(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 El(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 Cl(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(`- ${Sl(n)}`);e.push("")}function Il(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=Nt(n.children_closed,n.children_total);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=Nt(i.children_closed,i.children_total);e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function xl(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 Tl(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)}`:`- ${dl(i.created_at)} ${ls(i)}`);e.push("")}}function Rl(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 Al(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 Dl(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 Fl(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 Ml(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 $l(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 Ol(e,t,n){let r=[],i=0;for(let o of e.items_failing){if(r.length>=t)break;let s=Ot(o);if(i+s>n)break;r.push(o),i+=s}return r}function Nl(e,t){if(!t.tests)return;e.push("## Test health"),e.push(`- ${t.tests.scope}: ${t.tests.total_items}`),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}`);let n=Ol(t.tests,t.applied_limit??Nn,t.filters.token_budget);n.length>0&&e.push(`- items_failing: [${n.join(",")}]`);let r=t.tests.items_failing.length-n.length;r>0&&e.push(`- items_failing_omitted: ${r}`),e.push("")}function Ll(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 mh(e){let t=[],n=e.focus_fields,r=o=>n?kl(o,n):ls(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(""),os(t,"High-level focus",e.high_level,"No high-level active items.",r),os(t,"Low-level focus",e.low_level,"No low-level active items.",r),El(t,e,r),Cl(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 Il(t,e),xl(t,e),Tl(t,e,n,r),Rl(t,e,r),Al(t,e),Dl(t,e),Fl(t,e),Ml(t,e),$l(t,e),Nl(t,e),Ll(t,e),t.join(`
|
|
7
|
-
`)}async function Pl(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=r.context??Hr.context,o=N(r.schema),s=Qd(e.depth,i),a=Vd(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Yd(e.section,s,i),activityLimit:Jd(e.activityLimit,i),staleThresholdDays:Zd(e.staleThreshold,i),parentScope:rl(e.parent),focusFields:Kd(e.fields),baseListOptions:nl(e)}}function jl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Ul(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Bl(e,t){let n=await q(void 0,Ul(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!J(a.status,t.statusRegistry)),o=r,s=Gl(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 Gl(e,t){if(e===void 0)return;let n=jn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,f.NOT_FOUND);return n.ids}function Hl(e,t,n,r){let i=new Set(vt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Lt.has(o.type)||i.has(o.id)||Te(o.type,r)!=="agent").map(o=>o.id))}async function ql(e,t,n,r,i,o,s,a,d,c,l,u,m,h,g,y){let _=[...e].sort((v,Ee)=>ie(v,Ee,i)),w=await ut({pmRoot:m,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),I=await Mt(_,{pmRoot:m,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),b=await Ft("context",I.candidates),k=b.ranked.map(v=>v.item),B=i.active_statuses,M=k.filter(v=>B.has(C(v.status,i))),se=u?mi(M,c,l,v=>v.id):0,L=u?M.slice(se,se+s):M,ae=u&&L.length>0&&se+L.length<M.length,Ye=ae&&L.length>0?ci(l,L[L.length-1].id,se+L.length-1):void 0,Zt=k.filter(v=>r.has(v.id.trim().toLowerCase())),en=new Set([...L.map(v=>v.id),...Zt.filter(v=>!B.has(C(v.status,i))).slice(0,s).map(v=>v.id)]),Je=Bn({...b,ranked:b.ranked.filter(v=>en.has(v.id))},h,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),V=Je.included.map(v=>v.item),X=V.filter(v=>B.has(C(v.status,i))),ce=V.filter(v=>r.has(v.id.trim().toLowerCase())),Z=ye(t),ke=jl(o)?Z:void 0,Se=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),Q=v=>{let Ee=Ge(v,i,ke);return r.has(v.id.trim().toLowerCase())&&(Ee.blocked=!0,Ee.blocker_ids=Ae(v,Se,i).filter(tn=>!tn.resolved).map(tn=>tn.id)),Ee},Ze=Hl(X,n,i,y),$=X.filter(v=>Ze.has(v.id)).slice(0,u?L.length:s).map(Q),O=X.filter(v=>!Ze.has(v.id)).slice(0,u?L.length:s).map(Q),Ur=M.length===0;return{activeItems:X,blockedItems:ce,highLevel:$,lowLevel:O,blockedFallback:Ur?ce.slice(0,s).map(Q):[],blockedFallbackUsed:Ur,ranking:b,packing:Je,featureStore:I,pageExtras:{...u?{applied_limit:s}:{},...ae?{has_more:!0,truncated:!0}:{},...Ye?{next_cursor:Ye}:{}}}}function Wl(e,t){return fe("context",{pmRoot:t,options:st(e,Zr)})}function zl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=ss}async function Kl(e,t,n,r){let i={...t.baseListOptions,after:void 0,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await Oo(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=ul(s,t.statusRegistry).slice(0,t.limit),d=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:o,agendaEvents:d,agendaSummary:ll(a)}}function us(e,t,n){let r=String(t);return e.filter(i=>C(i.status,n)===r).length}async function Vl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=ye(n),c=n.filter(u=>!J(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?ml(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await fl(t.activityLimit,a):void 0,progress:l("progress")?pl(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?hl(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?wl(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?bl(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?gl(o.activeItems,t.limit):void 0,workload:l("workload")?yl(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?_l(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?vl(n.filter(u=>t.statusRegistry.active_statuses.has(C(u.status,t.statusRegistry)))):void 0}}function Xl(e,t,n){let r=F("canceled",t),i=e.filter(s=>t.active_statuses.has(C(s.status,t))),o=us(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=>Ue(s.status,t)).length,canceled:e.filter(s=>C(s.status,t)===r).length}}function Ql(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 Yl(e,t){t&&(e.focus_fields=t,e.high_level=je(e.high_level,t),e.low_level=je(e.low_level,t),e.blocked_fallback=je(e.blocked_fallback,t),e.recently_created&&(e.recently_created=je(e.recently_created,t)),e.unparented&&(e.unparented=je(e.unparented,t)))}function Jl(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 Zl(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 eu(e,t,n,r){try{let i=new Set(t.packing.included.map(d=>d.id)),o=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:i.has(d.id)})),s=new Set(o.map(d=>d.id));for(let d of dt(e,"context"))s.has(d)||(o.push({id:d,rank:o.length+1,included:!1}),s.add(d));let a=await lt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ct(e,a)}catch{e.warnings=Pt(e.warnings,["context_usage_feedback_write_failed"])}}async function tu(e,t,n){if(e)return{};let r=(await Qr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function nu(e,t){let n=Ii(),r=await vi(e),i=n.instance||ki(t);return wo(r.semantic_attribution?.[i])}async function fh(e,t){let n=T(process.cwd(),t.path),r=await Pl(e,t),i=await Bl(t,r),o=Xd(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Ln(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),d=await nu(n,a),c=tu(e.noExtensionHealth===!0,n,s.settings),l=Ki(i.fullCorpus,s.statusRegistry),u=await ql(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,Wl(e,n),zl(e,i.fullCorpus.length),n,s.tokenBudget,d,R(s.settings,E())),m=await Kl(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),h=await $t(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Pt(i.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),y=us(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),_=u.activeItems.length-y,w=await Vl({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:m.agenda.now,global:t}),I=Xl(i.allItems,s.statusRegistry,l),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.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??m.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:y,open:_,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:m.agendaSummary.events,...I},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=es(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),Ql(b,w,u.featureStore.warning_details),Jl(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Hn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=Gn(u.packing)),ii(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:C(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),Yl(b,s.focusFields),oi(b),g.length>0&&(b.warnings=g),Zl(b,u.activeItems,u.blockedItems),await eu(b,u,n,a),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]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function ms(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(dn(r,"json"),dn(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let u=0,m=d.length;for(;u<m;){let h=Math.ceil((u+m)/2);r.ready=d.slice(0,h),i()<=t?u=h:m=h-1}r.ready=d.slice(0,u),a=i()}let c=a>t&&r.recommended!==null;c&&(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:c,restore_budget_tokens:s}},c&&(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]="b01faffe-d88f-5095-8d28-167943ec5067")}catch{}})();var ru=["markdown","toon","json"],iu=5,ou=1440*60*1e3;function su(e,t){let n=e??t;if(typeof n=="string"&&Me.includes(n))return n;throw new p(`Unknown next ranking policy ${JSON.stringify(n)}. Accepted values: ${Me.join(", ")}.`,f.USAGE,{code:"invalid_argument_value",value:String(n),recovery:{allowed_values:[...Me]}})}function au(e){if(!e)return;let t=e.trim().toLowerCase();if(!ru.includes(t))throw new p("Next format must be one of markdown|toon|json",f.USAGE);return t}function Rh(e,t){let n=au(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"toon"}function fs(e,t,n){let r=H(e,t);return r===void 0||r<=0?n:r}function He(e,t,n,r){return{...Ge(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 cu(e,t,n,r){let i=e.item,o=[],s=F("in_progress",t);return o.push(C(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(du(i.deadline,n)),o.push(Re(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 ps(e,t,n){let r=ee(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 Ah={partitionCallerOwnedReady:ps,resolveNextCallerAuthor:(e,t)=>hs(e,t)};function Dh(e,t,n){let r=e.filter(i=>Te(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Te(i.item.type,n)!=="human"),decisions:t?[]:r}}function du(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))/ou);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function lu(e,t){let n=F("in_progress",t);return e.filter(r=>C(r.status,t)===n).length}function qn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function uu(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 jt(e,t,n){return[...e].sort((r,i)=>{let o=qn(r.item,t),s=qn(i.item,t);return o!==s?Number(o)-Number(s):ie(r.item,i.item,n)})}function mu(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:[...cu(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer),...e.policyReason?[e.policyReason]:[]]}}function fu(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 pu(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 hu(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 dt(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await lt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ct(e.result,i)}catch{e.result.warnings=Pt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function gu(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=fu(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==null&&ms(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Hn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=Gn(Bn(e.readyRanking,e.packingBudget,new Set,"next"))),await hu({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function yu(e,t,n){if(!n)return e;let r=jn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,f.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function _u(e,t,n,r,i,o,s,a){let d=e.filter(y=>!qn(y.item,t)),c=s||d.length===0?e:d,l=await ut({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await Mt(c.map(y=>y.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:l.affinity}),m=await Ft("next",u.candidates),h=bo(m.ranked,n,a,m.model),g=new Map(c.map(y=>[y.item.id,y]));return{projectedReady:m.ranked.map(y=>g.get(y.id)).filter(y=>y!==void 0),ranking:m,completedContainer:d.length===0&&!s,featureStore:u,relevanceRank:h}}function hs(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}function wu(e,t){return e.tokenBudget===void 0?null:t}async function Fh(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=hs(e,r.author_default),o=N(r.schema),s=su(e.rankingPolicy,r.context.next_ranking_policy),a=R(r,E()),d=D(),c=fs(e.limit,"--limit",iu),l=Ln(e.tokenBudget,Math.max(192,c*128)),u=wu(e,l),m=fs(e.blockedLimit,"--blocked-limit",c),h=e.readyOnly===!0,g=typeof e.parent=="string"?e.parent.trim():"",y=await q(void 0,uu(e,{excludeTerminal:!0}),t),_=await q(void 0,{excludeTerminal:!1,noTruncate:!0},t),w=yu(y.items,_.items,g),I=_.items,b=vt(w,I,o,a),k=ye(I),B=Vi(b,o,e,a),M=ps(B.ready,r.author_default,i),se=jt(M.available,k,o),L=[...b.blocked].sort(($,O)=>ie($.item,O.item,o)),{projectedReady:ae,ranking:Ye,completedContainer:Zt,featureStore:en,relevanceRank:Je}=await _u(se,k,o,d,i,n,e.includeContainers===!0,s),V=ae.map(($,O)=>He($,o,k,O+1)),X=L.map(($,O)=>He($,o,k,O+1)),ce=jt(B.decisions,k,o).map(($,O)=>He($,o,k,O+1)),Z=jt(B.gates,k,o).map(($,O)=>He($,o,k,O+1)),ke=jt(b.containers,k,o).map(($,O)=>He($,o,k,O+1)),Se=mu({projectedReady:ae,readyRows:V,statusRegistry:o,now:d,completedContainer:Zt,policyReason:vo(ae,Je,o,s)}),Q=pu(ce.length,M.held.length,V.length,c)??{};Z.length>c&&(Q.gate_needed_total=Z.length),ke.length>c&&(Q.containers_total=ke.length);let Ze={output_default:"toon",now:d,recommended:Se,ready:V.slice(1,c+1),decision_needed:ce.slice(0,c),gate_needed:Z.slice(0,c),containers:ke.slice(0,c),blocked:h?[]:X.slice(0,m),held_by_others:M.held.slice(0,c),summary:{recommended:Se!==null,ready:V.length,blocked:X.length,in_progress:lu(V,o),candidates:b.active_count,containers:b.container_count,decision_needed:ce.length,gate_needed:Z.length,held_by_others:M.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:g.length>0?g:null,limit:c,blocked_limit:m,ready_only:h,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:u,ranking_policy:s},truncation:Object.keys(Q).length>0?Q:void 0};return gu({result:Ze,recommended:Se,blockedRows:X,gateCount:Z.length,candidatesWarnings:y.warnings,corpusWarnings:_.warnings,readyRanking:Ye,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:l,featureStore:en,tokenBudget:u,hasIntentBudget:typeof e.for=="string"})}function Mh(e){let t=["# pm next","",...bu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...qe(n,r.map(i=>`- ${We(i)}`),""));if(t.push(...qe("Recommended",vu(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...qe("Decision needed",(e.decision_needed??[]).map(n=>`- ${We(n)}`),"No human-gated decisions.")),t.push(...qe("Ready",e.ready.map(n=>`- ${We(n)}`),"No ready items.")),e.filters.ready_only||t.push(...qe("Blocked",e.blocked.map(n=>`- ${ku(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(`
|
|
8
|
-
`).trimEnd()}function bu(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 vu(e){return e?[`- ${We(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function qe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ku(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${We(e)} blocked_by:${t}`}function We(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}`}(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]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var Su=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Eu=["filterAcMissing","filterEstimatesMissing","filterResolutionMissing","filterMetadataMissing","filterReviewerMissing","filterRiskMissing","filterConfidenceMissing","filterSprintMissing","filterReleaseMissing","hasNotes","hasLearnings","hasFiles","hasDocs","hasTests","hasComments","hasDeps","hasBody","hasLinkedCommand","noNotes","noLearnings","noFiles","noDocs","noTests","noComments","noDeps","emptyBody","noLinkedCommand"];function Cu(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Oh(e,t,n={}){let r=n.includePagination!==!1;return[t,...Su.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(Cu)||Eu.some(i=>e?.[i]===!0)}function gs(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(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]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var ys=["parent","type","priority","status","assignee","tags","sprint","release"];function ws(e,t){let n=ft(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function bs(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",f.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,f.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function vs(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",f.USAGE);let n=zi(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",f.USAGE);for(let r of n)if(!ys.includes(r))throw new p(`Aggregate group fields must be one of ${ys.join("|")}; received "${r}"`,f.USAGE);return n}function ks(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function Ss(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return ks(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Es(e,t){let n=e??null,r=t??null;return n===r?0:n===null?1:r===null?-1:typeof n=="number"&&typeof r=="number"?n-r:String(n).localeCompare(String(r))}function Ut(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var Iu={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function _s(e,t){return t==null||t===""?Iu[e]:String(t)}function xu(e,t){return e.length===1?_s(e[0],t[e[0]]):e.map(n=>`${n}=${_s(n,t[n])}`).join(" | ")}function Cs(e,t,n){for(let r of n){let i=Es(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Is(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let i=Number(r);if(Number.isFinite(i))return i}return null}function xs(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Wn(e,t,n){let r=F(String(t),n)??t;if(r===n.open_status){e.open_count+=1;return}if(r==="in_progress"||n.active_statuses.has(r)&&r!==n.open_status){e.in_progress_count+=1;return}if(n.terminal_done_statuses.has(r)||r===n.close_status){e.closed_count+=1;return}e.other_count+=1}function Tu(e,t){return{row:{group:e,count:1},numeric_count:t===null?0:1,numeric_sum:t??0,null_count:t===null?1:0,open_count:0,in_progress_count:0,closed_count:0,other_count:0}}function Ru(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Au(e){e.accumulator.row.count+=1,e.includeCompletion&&Wn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Ru(e.accumulator,e.numericValue)}function Du(e,t,n,r){for(let i of t){let o=Ut(n,i),s=e.get(o);if(s){Au({...r,accumulator:s});continue}let a=Tu(i,r.numericValue);r.includeCompletion&&Wn(a,r.item.status,r.statusRegistry),e.set(o,a)}}function Fu(e,t){let n={};for(let r of e)n[r]=Ss(r,t);return n}function Mu(e,t,n){let r=[Fu(e,t)];if(n==="tuple")return r;for(let i of e){let o=t[i];if(!Array.isArray(o))continue;let s=[...new Set(o.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[i]:d}))))}return r}function $u(e,t,n,r){let i={...e.row,group_label:xu(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=xs(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function Ou(e){return{group_by:e.groupBy,set_mode:e.setMode,count:!0,completion:e.includeCompletion,include_unparented:e.includeUnparented,status:e.status?.[0]??null,status_values:e.status,type:e.options.type??null,tag:e.options.tag??null,priority:e.options.priority??null,deadline_before:e.options.deadlineBefore??null,deadline_after:e.options.deadlineAfter??null,assignee:e.options.assignee??null,assignee_filter:e.options.assigneeFilter??null,parent:e.options.parent??null,sprint:e.options.sprint??null,release:e.options.release??null,...e.numericAggregation!==null?{sum:e.options.sum??null,avg:e.options.avg??null,numeric_field:e.numericAggregation.field}:{}}}async function Bh(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",f.USAGE);let n=T(process.cwd(),t.path),r=await A(n),i=N(r.schema),o=["estimate","estimated_minutes","priority",...Y(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=vs(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",f.USAGE);let d=ws(e.status,i),c=bs(e,[...new Set(o)].sort((b,k)=>b.localeCompare(k))),l=e.completion===!0,u=e.includeUnparented===!0,m=await q(void 0,{...gs(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,y=0,_=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let B=c===null?null:Is(k,c.field),M=Mu(s,k,a);Du(h,M,s,{item:k,statusRegistry:i,includeCompletion:l,numericAggregation:c,numericValue:B}),_+=M.length,y+=1}let w=[...h.values()].map(b=>$u(b,s,l,c)).sort((b,k)=>Cs(b,k,s)),I=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...Nu(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:y,items_skipped_unparented:g,group_memberships:_},filters:Ou({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:D(),...I?{warnings:I}:{}}}function Nu(e,t,n){let r=fo(n.limit,"limit")??50,i=n.after===void 0?-1:e.findIndex(a=>Ut(t,a.group)===n.after);if(n.after!==void 0&&i<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",f.USAGE);let o=e.slice(i+1,i+1+r),s=i+1+o.length<e.length;return{groups:o,returned_count:o.length,truncated:s,next_after:s?Ut(t,o.at(-1).group):null}}var Gh={buildGroupKey:Ut,compareAggregateRows:Cs,compareNullableGroupValue:Es,completionPct:xs,normalizeTagGroupValue:ks,parseGroupBy:vs,parseNumericAggregation:bs,parseStatus:ws,readNumericAggregateValue:Is,resolveGroupValue:Ss,updateCompletionCounts:Wn};(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]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var Ts=1e6,Rs=20;function As(e,t,n,r=Rs){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",f.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let _ of t){if(a+=1,a>Ts)throw new p(`Child projection exceeded the ${Ts.toLocaleString("en-US")} item safety bound.`,f.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(_)}let d=new Map(s.map(_=>[_.id.trim().toLowerCase(),_])),c=so(oo(s,io())),l=new Set(c.children_by_parent.get(i)??[]);for(let _ of s)_.parent?.trim().toLowerCase()===i&&l.add(_.id.trim().toLowerCase());let u=[...l].map(_=>d.get(_)),m=0;for(let _ of u){let w=_.status.trim().toLowerCase();o[w]=(o[w]??0)+1,J(w,n)||(m+=1)}u.sort((_,w)=>_.id.localeCompare(w.id));let h=u.slice(0,r).map(_=>({id:_.id,title:_.title,type:_.type,status:_.status,priority:_.priority})),g=u.length>h.length,y=r===0?Rs:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(o).sort(([_],[w])=>_.localeCompare(w))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${h.length} --limit ${y}`:null,scanned:a}}import{readdir as Uu}from"node:fs/promises";import Kn 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]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var Lu=new Set(["event","meeting","reminder"]);function Pu(e){return Lu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function zn(e){if(!Pu(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events: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]="bf7cac44-d2fc-5e7c-a9f1-a82c7460b07c")}catch{}})();var Bu=new Set(["epic","feature","milestone","plan"]),Gu=new Set(Object.keys(Gr).map(e=>e.toLowerCase()));function Xn(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Hu(e,t,n,r,i){let o=Xn(e);return[...t.length>0?["body"]:[],...Object.entries(o).flatMap(([s,a])=>a>0?[s]:[]),...o.files+o.tests+o.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...zn(e)?["schedule"]:[],...r&&Re(e).length>0?["blockers"]:[],...!i.full&&e.dependencies?.some(({id:s,kind:a,...d})=>Object.values(d).some(c=>c!==void 0))?["dependency_provenance"]:[]]}function Fs(e){let t=e.trim().toLowerCase();return t.length>0&&(Bu.has(t)||!Gu.has(t))}function Ds(e){return{ts:e.ts,author:e.author,message:e.message??null}}function qu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?Ds(i):null,last_release:o?Ds(o):null}}function Wu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(sn.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",f.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...an]}})}function zu(e,t,n){let r=Xn(e),i={...e};if(!n&&e.dependencies!==void 0&&(i.dependencies=e.dependencies.map(({id:g,kind:y})=>({id:g,kind:y}))),t==="deep")return{...i,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:r.notes,tests_count:r.tests,collection_counts:r};let{comments:o,notes:s,learnings:a,files:d,tests:c,docs:l,reminders:u,events:m,...h}=i;return{...h,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Ku(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",f.USAGE);return t}function Bt(e){return e.startsWith("item.")?e.slice(5):e}function Vu(e,t,n){if(e===null)return;let r=cn(t),i=new Set(r),o=e.filter(s=>{let a=Bt(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields",e.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new p(`Unknown get --fields value(s): ${o.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"],recovery:{allowed_values:r,suggested_retry:me(s),suggested_retry_args:s}})}}var Xu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Qu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Xu.has(n)?[]:void 0}function Yu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:Xn(e)},i={id:e.id};for(let o of t){let s=Bt(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||s==="blockers"||(i[s]=Qu(n,r,s))}return i}function ze(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function _e(e,t){return e.some(n=>{let r=Bt(n);return r===t||r.startsWith(`${t}.`)})}function Ju(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new p("Get projection options are mutually exclusive; remove the extra projection flag and retry.",f.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:me(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new p("Get --tree-depth requires --tree",f.USAGE);if(e.at!==void 0&&e.tree===!0)throw new p("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",f.USAGE);return{depth:e.full?"deep":Wu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?H(e.treeDepth,"--tree-depth"):void 0,fields:Ku(e.fields),fieldProjection:e.fields!==void 0}}async function Zu(e,t,n){let r=T(process.cwd(),t.path);await U(r);let i=await A(r),o=R(i,E());if(n!==void 0){let d=await mo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await ne(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Pi(r,e,i.id_prefix,o.type_to_folder);let a=await re(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function em(e,t,n,r){let i=[...Y(t.schema).definitions.map(o=>o.metadata_key),...le(E())];if(Vu(e,i,r),n&&_e(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",f.USAGE);if(n&&_e(e??[],"blockers"))throw new p("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",f.USAGE)}function Vn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?ze(r,i):_e(r,i):n!=="brief"}async function tm(e,t){if(!t)return;let n=rt(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return qu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function nm(e,t,n,r){let i=r||ze(n,"linked.files"),o=r||ze(n,"linked.tests"),s=r||ze(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function rm(e,t){if(!t)return;let n=N(e.settings.schema),r=await he(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return As(e.locatedId,r,n)}function im(e,t){let n=new Map;for(let r of e){let i=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${i}`:`local:${i.toLowerCase()}`,{...r,id:i})}return[...n.values()]}async function om(e,t){let n=Kn.basename(e),r=(await Uu(Kn.dirname(e)).catch(i=>{throw Wi("Cannot verify the blocker's physical file identity",{exitCode:f.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:i})})).filter(i=>i.toLowerCase()===n.toLowerCase()).sort((i,o)=>+(o===n)-+(i===n)||i.localeCompare(o)).map(i=>Kn.parse(i).name)[0];if(r===void 0)throw new p(`Blocker canonical file disappeared during identity verification: ${t}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return r}async function sm(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?_e(n.fields,"blockers"):n.depth!=="brief"))return;let r=Re(t.metadata);if(r.length===0)return;let i=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),o=new Map;for(let a of r){if(gi(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(l=>l.id.trim()===a&&l.kind==="blocked_by"&&yi(l.source_kind)))continue;let d=await ne(t.pmRoot,i.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(d===null)continue;let c=await re(d,{schema:t.settings.schema});if(d.id=await om(d.itemPath,d.id),c.document.metadata.id!==d.id)throw new p(`Blocker identity differs from its canonical file: ${d.id}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});o.set(a.toLowerCase(),c.document.metadata)}let s=im(Ae({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},o,N(t.settings.schema)),o);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...d})=>d),closed_count:s.filter(a=>a.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function am(e,t,n,r){if(!r)return;let i=zn(t.metadata);if(i){if(n===null||ze(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Bt(s)===`schedule.${o}`)))}}async function cm(e,t,n,r){if(t.tree!==!0)return;let i=await q(void 0,{parent:e.locatedId,tree:!0,treeDepth:n===void 0?void 0:String(n),full:!0},r);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:n??null,count:i.count,items:i.items.map(o=>o)}}async function gg(e,t,n={}){let r=Ju(n,e),i=await Zu(e,t,n.at);em(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=Vn({...r,field:"body"}),s=Vn({...r,field:"linked"}),a=Vn({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?_e(r.fields,"children"):r.depth==="deep"&&(r.full||Fs(i.metadata.type))),c=r.fieldProjection?_e(r.fields,"schedule"):r.depth!=="brief",l=await tm(i,a),u={item:r.fieldProjection?Yu(i.metadata,r.fields):zu(i.metadata,r.depth,r.full)};o&&(u.item.body=i.body),nm(u,i,r.fields,s),l&&(u.claim_state=l),am(u,i,r.fields,c),await sm(u,i,r);let m=await rm(i,d);m!==void 0&&(u.children=m);let h=await cm(i,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),i.historical&&(u.reconstructed=!0,u.as_of_version=i.historical.as_of_version,u.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await hi({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return ni(u,r.fieldProjection?[]:Hu(i.metadata,i.body,m,i.historical===void 0,r)),u}var yg={shouldAutoIncludeGetChildren:Fs};(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]="284b91be-bd4e-5345-969b-0304834b0da8")}catch{}})();function dm(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function lm(e,t){return e.map(({entry:n,version:r})=>{let i=new Set,o=Ti(n.patch);for(let s of o)i.add(ln(s.path)),s.from&&i.add(ln(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}function um(e){if(e[0]?.op!=="history_compact_baseline")return;let t=un(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function mm(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=R(r,E()),o=e.trim()===mt,s=o?mt:$i(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?Fi(n):rt(n,d);if(!a&&!await qr(c))throw new p(`Item ${e} not found`,f.NOT_FOUND);return a&&await Ai({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}function fm(e){let{resolvedId:t,selectedHistory:n,options:r,limit:i,addressing:o,vocabulary:s,total:a}=e,d=r.compact===!0,c=(r.order??(d||r.provenance===!0?"newest_first":"oldest_first"))==="newest_first",l=c?[...n].reverse():n,u=l.map(({entry:_})=>_),m=d?lm(l,o):void 0,h=r.provenance===!0?l.map(({entry:_,durableVersion:w})=>xt(_,s,{itemId:t,version:w})):void 0,g=r.provenance===!0?"provenance":d?"compact":"full",y={compact:{compact_history:m},provenance:{provenance_history:h},full:{history:u}}[g];return{id:t,...y,compact:d,projection:{mode:g,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[g]},omission_receipt:ot("history",g),count:u.length,total:a,order:c?"newest_first":"oldest_first",limit:i??null,version_addressing:o}}async function Tg(e,t,n){if(t.order!==void 0&&t.order!=="oldest_first"&&t.order!=="newest_first")throw new p("--order must be oldest_first or newest_first",f.USAGE);let r=pe(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await mm(e,n),d=await te(i,s),c=um(d),l=a.agent_identity.identity_vocabulary,u=It(a.agent_identity.harness_signals),m=Tt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=pm(d).filter(({entry:_})=>m(_)),g=dm(h,r),y=fm({resolvedId:s,selectedHistory:g,options:t,limit:r,addressing:c,vocabulary:l,total:h.length});if(t.provenanceSummary===!0&&(y.provenance_summary=Rt(h.map(({entry:_})=>_),l,u)),t.diff||t.field!==void 0){let _=new Set(g.map(({version:w})=>w));y.diff=Ri(d,{windowStartIndex:(g[0]?.version??d.length+1)-1,field:t.field}).filter(w=>_.has(w.index)),y.order==="newest_first"&&y.diff.reverse()}if(t.verify){let _=o?(await re(o,{schema:a.schema})).document:void 0;if(y.verification=uo(d,_),s===mt&&y.verification.ok){let w=await Mi(T(process.cwd(),n.path));y.verification={...y.verification,ok:w.ok,errors:w.ok?y.verification.errors:[...y.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:w.ok,workspace_state_mismatches:w.mismatched_documents,workspace_state_missing:w.missing_documents,workspace_state_unreadable:w.unreadable_documents}}}return y}function pm(e){let t=un(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+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]="28cc85af-b7e7-5069-97a9-18844352cc59")}catch{}})();function hm(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new p("Search mode must be one of keyword|semantic|hybrid",f.USAGE);return t}function Gt(e){return e===!0}function Ms(e){return Vr(e,0,1)??void 0}function $s(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new p("Search --match-mode must be one of and|or|exact",f.USAGE);return t}function Os(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new p("Search --min-score must be a finite number >= 0",f.USAGE);return t}function oe(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return G(n,new Date,t)}function P(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Qn(e,t){if(e!==void 0)return G(e,new Date,t)}function gm(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 p("Search --fields requires a comma-separated list of field names",f.USAGE);return[...new Set(t)]}function Ht(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=gm(e.fields);if(Number(n)+Number(r)+ +(i!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:me(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Yr]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Yn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Jr([...t.definitions.flatMap(s=>[s.key,s.metadata_key]),...le(E())]),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status,score"];throw new p(`Unknown search --fields value(s): ${o.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."],recovery:{allowed_values:r,suggested_retry:me(s),suggested_retry_args:s}})}}function qt(e){let t=P(e);if(!t)throw new p("Search query must not be empty",f.USAGE);return t.split(/\s+/u).filter(Boolean)}function Jn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var ym=["auto","keyword","semantic","hybrid"];function _m(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return ym.includes(n)?n:"auto"}function Zn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:hm(e.requested),source:"explicit"};let t=_m(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function er(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function tr(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function nr(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import wm 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]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function rr(e){return fe("search",{pmRoot:e.pmRoot===void 0?void 0:wm.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:st(e.searchOptions,ei)})}function Ns(e){let t=at(e.sorted,{cursor:e.searchOptions.after,fingerprint:rr(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(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]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function Ls(e){if(typeof e!="string")return!1;let t=e.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return t.length===1&&t[0]==="all"}var bm=[{optionKey:"status",summaryKey:"status",normalize:e=>Ls(e)?"all":e},{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:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function we(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return lo(l,r,bm),Object.assign(l,pn(r)),Object.assign(l,fn(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),i&&(l.include_linked=!0),o&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function be(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,m=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Ls(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...pn(r),...fn(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:m(r.limit),runtime_filters: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]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var vm=1.2,km=.75;function ir(e){return ue(e)}function Sm(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function js(e){let t=[],n=new Map,r=0;for(let o of e){let s=ir(o.text),a=Sm(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function Em(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Us(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,Em(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,m=l+n.k1*u;a+=c*(l*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function Ps(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Bs(e){let t=n=>typeof n=="string"?[n]:typeof n=="number"?[String(n)]:Array.isArray(n)?n.flatMap(t):typeof n=="object"&&n!==null?Object.values(n).flatMap(t):[];return t(Object.values(e)).join(" ")}function Gs(e){let t=e?.search?.bm25;return{k1:Ps(t?.k1,vm,0,1e3),b:Ps(t?.b,km,0,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]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var or=4,Cm=20,Im=200,xm=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function sr(e,t){let n=[],r=new Set;for(let i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function Tm(e){let t=e.toLowerCase();return t.length>4&&t.endsWith("ies")?`${t.slice(0,-3)}y`:t.length>4&&(t.endsWith("ches")||t.endsWith("shes")||t.endsWith("xes")||t.endsWith("zes")||t.endsWith("sses"))?t.slice(0,-2):t.length>3&&t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("as")?t.slice(0,-1):t}function Rm(e){let t=e.toLowerCase();return t.length>2&&(!t.endsWith("s")||t.endsWith("ss"))?t.endsWith("y")&&!/[aeiou]y$/u.test(t)?`${t.slice(0,-1)}ies`:t.endsWith("ch")||t.endsWith("sh")||t.endsWith("x")||t.endsWith("z")||t.endsWith("ss")?`${t}es`:`${t}s`:t}function Hs(e,t=or){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=ue(n);if(r.length===0)return[n];let i=r.filter(a=>!xm.has(a.toLowerCase())),o=r.map(a=>Tm(a)),s=i.map(a=>Rm(a));return sr([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function qs(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?sr(t.filter(n=>typeof n=="string"),or):[]}function Ws(e,t,n){return sr([...e,...t],Math.max(1,n))}function zs(e,t){let n=e.search?.query_expansion,r=Ce(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:or}}function Ks(e,t){let n=e.search?.rerank,r=Ce(n?.model),i=Kr(n?.top_k)??Cm;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(Im,i)}}function Vs(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=Ce(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function Am(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Xs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Dm(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Am(e,t),i=Xs(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function Qs(e,t,n,r,i){if(r.length===0)return new Map;let o=Ce(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(m=>m.text)],d=await yt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let l=Xs(c),u=new Map;for(let m=0;m<r.length;m+=1){let h=r[m],g=d[m+1];if(!g)continue;let y=Dm(c,g,l);u.set(h.id,Math.max(0,Math.min(1,(y+1)/2)))}return 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]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function ve(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Ke(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ar(e){let t=e.metadata;return[t.title,t.description,t.status,ve(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),_t(t).join(" "),wt(t).join(" "),Ke(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),bt(t)]}function cr(e,t){return ar(e).some(n=>P(n).includes(t))}function dr(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&P(r.metadata.title)!==t||n.phraseExact&&!cr(r,t)))}function Fm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',f.USAGE)}function Mm(e,t,n){let r=De(e.assignee,{label:"--assignee"});Fm(r);let i=ao(e),o=co(e);return{typeFilter:Yi(e.type,t),tagFilter:De(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Ji(e.priority),deadlineBefore:Qn(e.deadlineBefore,"deadline-before"),deadlineAfter:Qn(e.deadlineAfter,"deadline-after"),updatedAfter:oe(e.updatedAfter,"updated-after"),updatedBefore:oe(e.updatedBefore,"updated-before"),createdAfter:oe(e.createdAfter,"created-after"),createdBefore:oe(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:De(e.sprint,{label:"--sprint"}),releaseFilter:De(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:eo(i),contentFieldFilters:o,contentFiltersActive:no(o)}}function $m(e,t){return Om(e,t)&&pi(e,t)&&Nm(e,t)}function Om(e,t){if(t.statusSet&&!t.statusSet.has(e.status)||t.typeFilter&&!t.typeFilter.has(e.type))return!1;let n=t.tagFilter;return!(n&&!ve(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function Nm(e,t){return!(t.assigneeFilter!==void 0&&(e.assignee===void 0||!t.assigneeFilter.has(e.assignee))||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))||t.releaseFilter!==void 0&&(e.release===void 0||!t.releaseFilter.has(e.release))||t.parentFilter!==void 0&&e.parent!==t.parentFilter)}function Lm(e,t,n,r){let i=e.metadata;return!(!$m(i,t)||!ht(i,n)||t.missingMetadataActive&&!to(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!ro(i,t.contentFieldFilters))}function lr(e,t,n,r,i,o){let s=Mm(t,n,i);return e.filter(a=>Lm(a,s,r,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]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var Pm=2,jm=120,Um=6,Bm=40,Gm=1e3,Hm=900,qm="\xAB",Wm="\xBB",Ys=60;function Wt(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}var Js=[{name:"title",weightKey:"title_weight",value:e=>e.metadata.title},{name:"description",weightKey:"description_weight",value:e=>e.metadata.description},{name:"tags",weightKey:"tags_weight",value:e=>ve(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>_t(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>wt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Ke(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>bt(e.metadata)}],zm=new Map(Js.map(e=>[e.name,e]));function ur(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${qm}${i}${Wm}`)}function mr(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-Ys),s=Math.min(e.length,r+i+Ys),a=ur(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function zt(e,t,n){let r=[];for(let i of t){let o=zm.get(i);if(o===void 0)continue;let s=mr(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function Km(e,t,n){return[...Js.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Vm(e,t,n){let r=P(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=P(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Gm:Hm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Xm(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=Wt(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Qm(e,t,n,r){P(e.title)===t&&(r.score+=jm,r.matched.add("title"));for(let i of n){let o=Wt(P(i.value),t);o>0&&(r.score+=o*i.weight*Um,r.matched.add(i.name))}}function fr(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Vm(a,n,o);if(d)return d;let c=new Map;for(let g of ue(a.title))c.set(g,(c.get(g)??0)+1);let l=Km(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};Xm(t,c,l,i,u);let m=new Set(t),h=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&h&&(u.score+=Bm),t.length>=Pm&&n.includes(" ")&&Qm(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,y)=>g.localeCompare(y)),matched_all_terms:h}}function pr(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=J(n.item.status,t),s=J(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=S(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function hr(e,t,n,r,i,o,s,a=!1){return fr(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Ve(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let i of e.values())t=Math.min(t,i),n=Math.max(n,i);if(n===t)return new Map([...e.keys()].map(i=>[i,1]));let r=new Map;for(let[i,o]of e)r.set(i,(o-t)/(n-t));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]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Vt(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function Xt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Vt(e),r=`${t} ${n}`;return r.includes("timed out")||r.includes("timeout")||r.includes("etimedout")?"timeout":r.includes("econnrefused")||r.includes("connection refused")||r.includes("connect ")||r.includes("enotfound")||r.includes("eai_again")||r.includes("econnreset")||r.includes("fetch failed")?"connection":"error"}function gr(e,t){let n=Xt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Zs(e){return e?.commands?.some(t=>t.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function yr(e,t,n){try{let r=await qi(e);r.warnings.length>0&&n.push(...r.warnings);let i=ho(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=Zs(E());n.push(...ea(i.length,o)),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${o.command}'${o.follow_up_command?`, then '${o.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
|
|
9
|
-
`)}catch{}}function
|
|
10
|
-
`)}async function
|
|
11
|
-
`)}async function Dr(e,t,n,r){let i=le(E()),o=async(c,l,u)=>{let m=async(h,g)=>{await Ie({path:h,scope:"project"});let y=await Jt.readFile(h,"utf8");return bi(y,{format:g,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await m(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",g=on(e,c.type,c.id,h,n);try{return await m(g,h)}catch{return s.push(`item_list_item_read_failed:${xr.relative(e,g)}`),""}}},s=[],a=await Ni(e,t,n,s,r),d=[];if(a.length===0){let c=await Li(e,t,n,s,r);for(let l of c){let u=on(e,l.type,l.id,t,n),m=await o(l,u,t);d.push({metadata:l,body:m})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}async function ia(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await Rr(i,Xr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await Ar(a,o)]));for(let[a,d]of s)r.set(a,d);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]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var oa=["tag","status","type","priority"];function Fr(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=oa.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function Mr(e,t,n){let r={...e};for(let i of oa){let o=t[i];if(o!==void 0){if(nt(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function sa(e,t){let n=[],r=Fr(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",f.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=Mr(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Gt(s.includeLinked),titleExact:Gt(s.titleExact),phraseExact:Gt(s.phraseExact),matchMode:$s(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Os(s.minScore),countOnly:s.count===!0,tokens:qt(o),normalizedQuery:P(o),limit:pe(s.limit),projection:Ht(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function aa(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",f.USAGE)}(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]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function Or(e,t,n,r,i,o,s,a,d,c,l,u,m,h){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let _=we({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...jr(h),items:[],count:0,...g,filters:_,...l.length>0?{warnings:l}:{}}}let y=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:be({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:y},now:D(),...l.length>0?{warnings:l}:{}}}function Nr(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function Lr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=Nr(n,i);return r})}function Pr(e,t){return Or(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}function ca(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return $r({query:e.query.trim(),mode:e.effectiveMode,...jr(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:we({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let n=e.projection.mode==="full"?null:[...e.projection.fields];return $r({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:be({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:e.projection.mode,fields:n},now:D()},e.warnings)}function jr(e){return e==="settings"?{mode_source:e}:{}}function $r(e,t){return t.length===0?e:{...e,warnings:t}}function Qe(e,t){return t?{...e,workspace_memory:t}:e}function da(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:zt(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function la(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return $r({query:e.query.trim(),mode:e.effectiveMode,...jr(e.modeSource),items:t,count:t.length,...s,...o,filters:we({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...o,filters:be({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:i.mode,fields:a},now:D(),...e.warnings.length>0?{warnings:e.warnings}:{}}}(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]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var I_={applyFilters:lr,applyExactQueryFilters:dr,applyInlineQueryFilters:Mr,buildHitHighlights:zt,buildVerboseSearchFilters:be,buildExplicitSemanticFallbackWarning:gr,buildCompactSearchFilterSummary:we,buildHybridLexicalScore:hr,buildRerankCorpus:Cr,buildSemanticHits:vr,classifyImplicitSemanticFallbackReason:Xt,collectErrorCauseCodes:Vt,collectExactPhraseFields:ar,collectLinkedPaths:Tr,combineHybridHits:Yt,computeBuiltInBm25Hits:Sr,computeSemanticOrHybridHits:Ir,resolveBuiltInBm25Mode:kr,countOccurrences:Wt,dependencyEntries:Ke,documentContainsExactPhrase:cr,emptySearchResult:Or,highlightFieldSnippet:mr,loadDocuments:Dr,markTokenRuns:ur,parseInlineQueryFilters:Fr,maybeEmitVectorIndexStaleWarning:yr,loadLinkedCorpus:Ar,mergeVectorHitsById:Er,normalizeExtensionProviderHits:br,normalizeScoreMap:Ve,parseProjectionConfig:Ht,parseTimestampWindow:oe,parseTokens:qt,projectSearchHits:Lr,readSearchFieldValue:Nr,requireSemanticDependencies:Qt,resolveExtensionSearchProvider:_r,resolveExtensionSearchProviderByName:Xe,resolveExtensionVectorAdapter:wr,resolveLinkedCorpusRoots:Rr,scoreDocument:fr,sortHits:pr,stringArray:ve,textEntries:K,validateSearchProjectionFields:Yn};async function of(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=Oi(r).settings,o=N(i.schema),s=Y(i.schema);Yn(e.projection,s,e.query);let a=pt(e.options,s,"search"),d=R(i,E()),c=Ui(i),l=Hi(i,n),u=_r(i),m=wr(i),h=Ms(e.options.semanticWeight),g=zs(i,c.active?.name??null),y=Ks(i,c.active?.model??j(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Jn(i),scoreThreshold:e.minScoreOverride??er(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??tr(i),tuning:nr(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:kr({configuredProvider:j(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:ta(g),rerank:y,rerankExtension:na(i),...sf({requested:e.options.mode,settings:i,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m})}}function sf(e){let t=ji(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Zn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function af(e,t){let n=await Dr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=ft(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=Zi(t.statusRegistry),o=lr(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:dr(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function cf(e,t,n){let r=await ia(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>hr(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}async function df(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Sr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Bi(t.settings),bm25Params:Gs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function lf(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return br(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,f.GENERIC_FAILURE);return null}}function uf(e,t,n,r){return t.vectorMatchCount>0?t.hits:(r.push(`search_${e}_degraded:no_vector_matches:results_are_lexical`),e==="semantic"?n:t.hits)}async function mf(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await yr(e.pmRoot,n,r),e.extensionSearchProvider||Qt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function ff(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await df(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await mf(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await lf(t,n,r,l)??a,a===i){let{provider:u,vectorStore:m}=Qt(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ir({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=uf(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(gr(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function ua(e){e.searchOptions.after!==void 0&&ui(e.searchOptions.after,rr(e))}async function x_(e,t,n){aa(t);let r=sa(e,t),i=await of(r,n),o=await af(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await $t(o.allDocuments.map(k=>k.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:D()});s.push(...a.warnings);let d=ts(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:i.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return ua({query:r.query,mode:i.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Qe(Pr({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await cf(r,i,o.filteredDocuments),u=await ff({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return ua({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Qe(Pr({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=i.scoreThreshold),h=pr(m,i.statusRegistry),g=h.length,y=Ns({pmRoot:i.pmRoot,sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),_={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return Qe(ca(_,g),d);let{hits:w,projection:I}=da(r,o.filteredDocuments,y.limited),b=Lr(w,I);return Qe(la(_,b,g,y.limited.length,I,y.pageExtras),d)}(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]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var ma=["ndcg","mrr","precision","recall"];function pf(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!ma.some(i=>i===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function R_(e,t){let n=pf(t),r=[];for(let i of ma){let o=n[i];if(o===void 0)continue;let s=e[i];!Number.isFinite(s)||s<0||s>1?r.push(`${i}:invalid`):s<o&&r.push(`${i}:${s}<${o}`)}return r}export{Fe as a,gf as b,pa as c,gn as d,wf as e,va as f,ka as g,bf as h,Ef as i,Oh as j,_o as k,Af as l,Df as m,Ff as n,Mf as o,wo as p,Me as q,Kf as r,Vf as s,Xf as t,Oo as u,It as v,gc as w,xt as x,Rt as y,up as z,jo as A,Rn as B,Dt as C,Kc as D,Ho as E,Jc as F,Ft as G,Zc as H,ed as I,id as J,od as K,kp as L,sd as M,qo as N,An as O,Dn as P,gd as Q,kd as R,Mp as S,Fn as T,Mn as U,Mt as V,xd as W,Dd as X,$t as Y,Pd as Z,es as _,jd as $,ts as aa,Ud as ba,Kd as ca,je as da,uh as ea,Ln as fa,Qd as ga,Yd as ha,jn as ia,ie as ja,Bn as ka,Gn as la,Hn as ma,ye as na,Ge as oa,Pt as pa,mh as qa,Jl as ra,fh as sa,ru as ta,Rh as ua,Ah as va,Dh as wa,Fh as xa,Mh as ya,Bh as za,Gh as Aa,Ts as Ba,Rs as Ca,As as Da,gg as Ea,yg as Fa,Tg as Ga,Jn as Ha,Zn as Ia,er as Ja,tr as Ka,nr as La,rr as Ma,Ns as Na,we as Oa,be as Pa,Vt as Qa,Xt as Ra,Zs as Sa,ea as Ta,I_ as Ua,x_ as Va,ma as Wa,pf as Xa,R_ as Ya};
|
|
12
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{A as uo,B as mo,G as po,I as ho,a as q,b as Xi,c as Yi,e as De,f as Qi,g as Ji,h as Zi,i as eo,j as to,m as no,n as ro,p as ao,q as co,t as lo,u as fn,v as pn,w as B}from"./chunk-YM4AMP7H.js";import{$ as ft,Ba as qi,M as _i,N as wi,Q as ln,R as Ri,Ta as zi,ba as pe,ca as pt,da as ht,ea as Oi,ga as ji,ha as Ui,ia as yt,ja as Bi,ka as _t,la as wt,ma as bt,na as Gi,ra as Hi,sa as mn}from"./chunk-K4FMZB4Y.js";import{Na as Zr,Va as ei}from"./chunk-I4Z2SCV5.js";import{F as fo,a as Te,c as Re,f as Ae,g as Ki,h as Vi,i as vt,m as io,n as oo,q as so}from"./chunk-4UUE3YXZ.js";import{C as gt,E as Ni,F as ne,G as re,I as Li,J as he,M as Pi,U as Wi,b as Ai,c as Di,f as $i,h as un}from"./chunk-EJJWOFP5.js";import{Ea as Ti,F as vi,G as ki,H as Si,I as Ei,J as Ci,La as mt,Ma as Fi,N as xe,Na as Mi,W as Ii,ba as ee,bb as A,da as te,gb as U,ja as xi,r as F,s as C,t as J,x as bi}from"./chunk-FUGYXUUL.js";import{b as le}from"./chunk-WD43E7RU.js";import{j as N,l as Q}from"./chunk-Q23K6WLV.js";import{b as gi,c as yi}from"./chunk-AK2CI2GI.js";import{$ as Ce,$b as cn,Aa as on,Ca as rt,Cc as ti,Dc as ue,E as nn,Ed as st,F as et,Fa as it,Fd as fe,Gc as ni,Gd as ci,Ge as dn,Hd as di,Ic as ot,Id as li,Jd as ui,Kd as mi,Ld as at,Nc as me,Od as D,Qb as Yr,Rd as fi,Sd as S,Td as pi,Ud as H,Y as rn,Yb as sn,Zb as an,_c as ri,a as Br,aa as nt,ac as Qr,bc as Jr,fa as Kr,fe as ct,ga as Vr,he as dt,id as ii,jd as oi,je as lt,ld as si,me as hi,ne as ut,qa as R,sc as E,wa as T,ya as Xr,yc as Ie,yd as ai,z as de}from"./chunk-TGS5RXBY.js";import{A as p,C as qr,D as tt,E as Wr,I as zr,t as Gr,x as Hr,z as f}from"./chunk-QVFE5LIX.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]="f698608a-2f39-5972-b24b-93287af6b373")}catch{}})();var Fe=class extends RangeError{code;work;minimum_tokens;constructor(t,n,r){super(t),this.name="OutputEnvelopeFitError",this.code=t,this.work=Object.freeze({...n}),this.minimum_tokens=r}};function hn(e,t){if(!Number.isSafeInteger(e)||e<1)throw new RangeError(`${t} must be a positive safe integer`)}function pa(e,t,n,r){return t.map(([i,o])=>{if(r.render_calls>=r.max_render_calls)throw new Fe("output_envelope_work_limit",r);r.render_calls+=1;let s=o(e);if(typeof s!="string")throw new TypeError("Envelope renderers must return strings");let a=n(s);if(!Number.isSafeInteger(a)||a<0)throw new RangeError("Envelope token estimates must be non-negative safe integers");return{name:i,text:s,bytes:Buffer.byteLength(s,"utf8"),estimated_tokens:a}})}function go(e,t,n,r){let i=t,o=Object.entries(n.renderers),s=n.estimateTokens??(a=>ri(Buffer.byteLength(a,"utf8")));for(let a=0;a<(n.maxStabilizationPasses??16);a+=1){let c=Object.freeze({...i}),d={...n.buildEnvelope(e,c),output_fit:c},l=pa(d,o,s,r),u=Math.max(...l.map(h=>h.bytes)),m=Math.max(...l.map(h=>h.estimated_tokens));if(u===i.output_bytes&&m===i.estimated_tokens)return{envelope:d,renderings:l};i={...i,output_bytes:u,estimated_tokens:m}}throw new Fe("output_envelope_unstable",r)}function wf(e,t){hn(t.tokenBudget,"tokenBudget"),hn(t.maxRenderCalls??1e4,"maxRenderCalls"),hn(t.maxStabilizationPasses??16,"maxStabilizationPasses");let n=t.policy??"prefix";if(n!=="prefix"&&n!=="skip")throw new TypeError("Unknown output envelope fit policy");if(Object.entries(t.renderers).length===0||Object.entries(t.renderers).some(([c,d])=>!c.trim()||typeof d!="function"))throw new TypeError("Envelope fitting requires named callable renderers");let r={evaluated_candidates:0,render_calls:0,max_render_calls:t.maxRenderCalls??1e4},i=[],o=[],s=c=>({version:1,policy:n,total_candidates:e.length,included_indices:Object.freeze([...c]),omitted_count:e.length-c.length,token_budget:t.tokenBudget,estimated_tokens:0,output_bytes:0}),a=go(i,s(o),t,r);if(a.envelope.output_fit.estimated_tokens>t.tokenBudget)throw new Fe("output_envelope_infeasible",r,a.envelope.output_fit.estimated_tokens);for(let[c,d]of e.entries()){r.evaluated_candidates+=1;let l=[...i,d],u=[...o,c],m=go(l,s(u),t,r);if(m.envelope.output_fit.estimated_tokens<=t.tokenBudget)i=l,o=u,a=m;else if(n==="prefix")break}return{rows:i,...a,complete:i.length===e.length,work:Object.freeze({...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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var ha=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],gn=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list --all --output-include full --strict-read --no-truncate --output-budget unbounded --output-limit unbounded --json",sdk:"await client.listAllComplete()"}}}};function kf(e={}){return si({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function W(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function x(e,t,n,r){t&&e.push({code:n,message:r})}function ga(e,t){let n=W(e.completeness)?e.completeness:{};x(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),x(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;x(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),x(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=W(e.filters)?e.filters:{},s=W(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return x(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(c=>!a.has(c)),"filtered_corpus","The list did not explicitly select every lifecycle status."),x(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),x(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ya(e,t,n){x(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),x(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=W(e.projection)?e.projection:{};x(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=W(e.omission_receipt)?e.omission_receipt:void 0;x(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),x(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),x(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function _a(e){return e.contract_version!==1||e.command!=="list"||e.within_budget!==!0||e.strings_compacted!==!1||e.rows_compacted!==!1||e.result_omitted!==!1}function wa(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function ba(e,t){let n=W(e.read_output)?e.read_output:void 0;x(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),x(t,n!==void 0&&_a(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),x(t,n!==void 0&&!wa(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),x(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=W(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;x(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),x(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function va(e,t){let n=e.map(r=>W(r)&&typeof r.id=="string"?r.id.trim():"");x(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),x(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function ka(e){if(!W(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:ha[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=ga(t,n);return ya(t,r,n),ba(t,n),va(t.items,n),{ok:n.length===0,findings:n}}function Sa(e){let t=ka(e);if(!t.ok)throw new gn(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function Sf(e){Sa(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]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function xf(e,t={}){let n=await po({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(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]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var yo=16;async function _o(e,t,n){let r=R(t,E()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<yo;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await ne(e,s,t.id_prefix,t.item_format,r);if(!c)break;let d=await re(c,{schema:t.schema});i.push(d.document.metadata.id),s=d.document.metadata.parent}return i}async function Mf(e){await Si({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await _o(e.pmRoot,e.settings,e.itemId)})}async function $f(e){await Ei(e)}async function Of(e){await Ci({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await _o(e.pmRoot,e.settings,e.itemId)}:{}})}var Nf={lineage_depth:yo,active_items:64,evidence_rows:32};function wo(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]="c12559a3-2703-5665-9ec2-7309589be511")}catch{}})();var Me=["priority_floor","weighted"],Ea="default-weighted-v1";function bo(e,t,n,r){let i=new Map(e.map(a=>[a.id,a.rank]));if(n!=="priority_floor"||r!==Ea)return i;let o=t.in_progress_status,s=a=>C(a.item.status,t)===o?-1:a.item.priority;return e.sort((a,c)=>s(a)-s(c)||a.rank-c.rank),e.forEach((a,c)=>{a.rank=c+1}),i}function vo(e,t,n,r){let i=e[0];if(!i)return;if(r==="priority_floor"){let a=t.get(i.item.id);return a!==void 0&&a!==1?`priority floor (relevance rank ${a})`:void 0}let o=n.in_progress_status,s=e.slice(1).filter(a=>a.item.priority<i.item.priority&&C(a.item.status,n)!==o).map(a=>a.item.priority);return s.length>0?`relevance over p${Math.min(...s)} ready work`:void 0}import{encode as Ia}from"@toon-format/toon";import{createHash as Ca}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]="66022e7d-1594-5b88-a283-c64830ff0dfd")}catch{}})();function yn(e){let t=Ca("sha256").update("[");for(let n of e)t.update(it(n)).update("\0");return t.update("]").digest("hex")}function kt(e,t){if(t===void 0)return D();let n=di(t).snapshot,r=`${e}:`,i=n?.slice(r.length);if(!n?.startsWith(r)||!i||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(i)||!Number.isFinite(Date.parse(i)))throw new p("Query cursor has no supported fixed-window clock.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});return i}function $e(e,t){let n=e.map((a,c)=>({row:a,index:c})),r=fe(t.command,{query:t.query,rows_digest:yn(e)}),i=t.after===void 0?void 0:li(t.after,r);if(i&&(i.after_index===void 0||i.after_id!==String(i.after_index)||i.after_index>=e.length))throw new p("Query cursor position is outside the matching window.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});let o=at(n,{cursor:t.after,fingerprint:r,snapshot:`${t.command}:${t.clock}`,limit:t.limit??e.length,readId:({index:a})=>String(a)}),s=i?.after_index===void 0?0:i.after_index+1;return{...o,rows:o.rows.map(({row:a})=>a),count:o.rows.length,total_count:e.length,page_start:s,omitted_count:e.length-s-o.rows.length,has_more:s+o.rows.length<e.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]="351df2b3-3a1a-528c-96b9-72bb3e2f27fc")}catch{}})();var _n=["agenda","day","week","month"],wn=["markdown","toon","json"],xa=["sun","mon","tue","wed","thu","fri","sat"],Ta=365,Ra=365,xo=28,Aa=1e3;function bn(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,f.USAGE);return n}function Da(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 p("Calendar include filter must not be empty",f.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 p("Calendar include filter must be deadlines|reminders|events|scheduled|all",f.USAGE)}return r}function To(e,t){let n;for(let r of t){let i=Br(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Fa(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!_n.includes(t)){let n=To(t,_n);throw new p(`Calendar view must be one of ${_n.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Ma(e){if(!e)return;let t=e.trim().toLowerCase();if(!wn.includes(t)){let n=To(t,wn);throw new p(`Calendar format must be one of ${wn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Yf(e,t){let n=Ma(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"markdown"}function $a(e,t){if(e===void 0)return;let n=F(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,f.USAGE)}return n}function Oa(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function St(e){return new Date(e).toISOString().slice(0,10)}function Ro(e,t){if(!t||t==="UTC")return St(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 St(e)}function En(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Ao(e){let t=new Date(En(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function Na(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function La(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Pa(e,t){return S(e,t)>=0?e:t}function ko(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function So(e,t){e.set(t,(e.get(t)??0)+1)}function ja(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)=>de(r)-de(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 Do(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 Fo(e){return xa[new Date(e).getUTCDay()]}function Ua(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Ba(e){let t=new Set;for(let n of e??[]){let r=Ua(n);r&&t.add(r)}return t}function Ga(e,t,n,r,i){let o=e??z(n,-(r??Ra)),s=t??z(e??n,i??Ta);return{start:o,end:S(s,o)>0?s:z(o,1)}}function Ha(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Fo(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??Aa,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Ba(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)=>de(s)-de(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function Et(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Ct(e,t){let n=Fo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function qa(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Ct(e,t)&&Et(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function Wa(e,t,n){let r=de(n),i=z(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 za(e){let t=Ao(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Wa(e,r,i);if(Ct(e,o)&&Et(e,o)==="stop")return e.occurrences}}return e.occurrences}function Ka(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=Do(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Ct(e,s))&&Et(e,s)==="stop")return e.occurrences}}return e.occurrences}function Va(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=Do(i,n,o,e.startDate);if(!(!s||!Ct(e,s))&&Et(e,s)==="stop")return e.occurrences}}return e.occurrences}function Xa(e,t,n,r){let i=Ha(e,t,n,r);return t.freq==="daily"?qa(i):t.freq==="weekly"?za(i):t.freq==="monthly"?Ka(i):Va(i)}function Mo(e){return[...e].sort((t,n)=>{let r=S(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 Cn(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 Ya(e){return e.deadline?{at:e.deadline,date:St(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,...Cn(e),item_deadline:e.deadline}:null}function Qa(e){return(e.reminders??[]).map(t=>({at:t.at,date:St(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,...Cn(e)}))}function Ja(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Za(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function ec(e,t,n,r){let i=ja(t.recurrence),o=Ja(t.start_at,t.end_at);return(t.recurrence?Xa(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):Ro(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Za(s,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,...Cn(e)}))}function tc(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Ya(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Qa(o));for(let a of n.has("events")?o.events??[]:[])i.push(...ec(o,a,t,r))}return Mo(i)}function nc(e,t,n,r,i){let o=Yi(t.type,n),s=t.tag?.trim().toLowerCase(),a=Xi(t.priority),c=$a(t.status,r),d=t.assignee?.trim(),l=Oa(t.assigneeFilter),u=t.sprint?.trim(),m=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',f.USAGE);if(d!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE);return e.filter(h=>rc(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:i}))}function rc(e,t){return ic(e,t)&&oc(e,t)&&ht(e,t.runtimeFieldFilters)}function ic(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 oc(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 sc(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function vn(e,t,n){return e.trim().toLowerCase()==="today"?En(t):H(e,new Date(t),n)}function ac(e,t,n){let r=t.date?vn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?vn(t.from,n,"--from"):void 0,a=t.to?vn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",f.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",f.USAGE);if(e==="agenda")return cc(r,t,n,i,o,s,a);if(e==="day"){let d=En(r);return kn(r,n,i,o,d,z(d,1))}if(e==="week"){let d=Ao(r);return kn(r,n,i,o,d,z(d,7))}let c=Na(r);return kn(r,n,i,o,c,La(r))}function cc(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",f.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function kn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Pa(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function dc(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:Mo(r)}))}function lc(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),So(n,c.item_type),So(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:ko(n),by_status:ko(r),recurring_events:a}}function uc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function $o(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 Sn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function mc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Ro(e.event_end,e.event_timezone)?$o(e.event_end,e.event_timezone):e.event_end:null}function fc(e){let t=`${$o(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 i=mc(e);return i&&n.push(`end=${i}`),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 Eo(e,t){if(t&&t.length>0){e.push("### warnings");for(let n of t)e.push(`- ${n}`);e.push("")}}function Qf(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${uc(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(`- matching-events: ${e.total_count}; returned: ${e.count}; remaining: ${e.omitted_count} (summary: ${e.summary_scope})`),e.next_cursor&&t.push(`- continue: repeat the same query with --after ${e.next_cursor}`),t.push(`- by-kind: ${Sn(e.summary.by_kind)}`),t.push(`- by-type: ${Sn(e.summary.by_type)}`),t.push(`- by-status: ${Sn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push(e.total_count===0?"No calendar events matched the selected filters.":"No calendar events returned on this page. Repeat the same query with --limit 1 or greater to retrieve matching events."),t.push(""),Eo(t,e.warnings),Co(t.join(`
|
|
2
|
+
`));for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${fc(r)}`);t.push("")}return Eo(t,e.warnings),Co(t.join(`
|
|
3
|
+
`))}function Jf(e){return Ia(e)}function Co(e){let t=e.length;for(;t>0&&e[t-1]===`
|
|
4
|
+
`;)t-=1;return e.slice(0,t)}function pc(e){let t=kt("calendar",e.after),n=Fa(e.view),r=ac(n,e,t),i=q(e.limit),o=Da(e.include),s=bn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=bn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=bn(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new p("Calendar occurrence limit must be >= 1",f.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?xo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function hc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${xo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Io(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 gc(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 Oo(e,t){let n=T(process.cwd(),t.path);await U(n);let r=pc(e),i=await A(n),o=N(i.schema),s=Q(i.schema),a=pt(e,s,"calendar"),c=R(i,E()),d=[];hc(d,r.eventsOnlyCapApplied);let l=await he(n,i.item_format,c.type_to_folder,d,i.schema),u=nc(l,e,c,o,a),m=Ga(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),h=tc(u,m,r.includeSources,r.occurrenceLimit).filter(I=>sc(I,r.rangeBounds.start,r.rangeBounds.end)),{rows:g,...y}=$e(h,{command:"calendar",after:e.after,clock:r.nowValue,limit:r.limit,query:{pmRoot:n,view:r.view,range:r.rangeBounds,filters:{...Io(e,a),limit:void 0},recurringWindow:m,occurrenceLimit:r.occurrenceLimit}}),_=dc(g),w=[...new Set(d)].sort((I,b)=>I.localeCompare(b));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:gc(e,r.rangeBounds),filters:Io(e,a),...y,summary_scope:"returned_rows",summary:lc(g),events:g,days:_,...w.length>0?{warnings:w}:{}}}import _c from"node:fs/promises";import Po 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]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var In={version:1,aliases:{}};function It(e=[]){let t=new Set(xe),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 No(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function xn(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 yc(e,t=xe){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 p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.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 p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,f.USAGE,{code:"unknown_provenance_dimension"});if(c.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.USAGE,{code:"invalid_provenance_predicate"});let d=r.get(a)??new Set;d.add(c),r.set(a,d)}return r}function xt(e,t=In,n={}){let r=xn(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 Tt(e,t=In,n=xe){let r=No(e.harness),i=No(e.agentInstance),o=yc(e,n);return s=>{let a=xn(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,d]of o){let l=s.agent_provenance?.[c];if(!l||!d.has(l.value))return!1}return!0}}function Rt(e,t=In,n=xe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);xn(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}})}}(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]="aa1ede64-e578-57da-9194-1cd646cee915")}catch{}})();var wc=20,bc=5,vc=15,kc="-24h";function pp(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 Sc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Tn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,f.USAGE);return n}function Lo(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",f.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(i,new Date(t),n)}function Ec(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Oe(e,t=""){return typeof e=="string"?e:t}function Cc(e,t){return{...t,id:e,ts:Oe(t.ts),author:Oe(t.author,"unknown"),op:Oe(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Oe(t.before_hash),after_hash:Oe(t.after_hash)}}function Ic(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 xc(e){try{return(await _c.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Wr(t))return[];throw t}}function Tc(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 Rc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?vc:n==="compact"?wc:bc}function Ac(e,t,n){let r=t==="digest",i=Lo(e.to??(r||e.unbounded!==!0?n:void 0),n,"--to"),o=Lo(e.from??(r?kc:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",f.USAGE);let s=pe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",f.USAGE);return{id:Tn(e.id,"Activity --id"),op:Tn(e.op,"Activity --op"),author:Tn(e.author,"Activity --author"),from:o,to:i,limit:Rc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Dc(e){let t=T(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await A(t)}}async function Fc(e){let t=R(e.settings,E()),n=await he(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Di({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Po.join(e.pmRoot,"history");return await Ie({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function Mc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Ec(t,n.from,n.to)}async function $c(e,t){let n=[];for(let r of await xc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await te(Po.join(e,r),i);for(let s of o){let a=Cc(i,s);Mc(s,a,t)&&n.push(a)}}return n}function Oc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function Nc(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 Lc(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,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(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:Nc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function Pc(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 jc(e,t,n,r,i){if(e==="digest"){let{rows:a,...c}=$e(Lc(t,r),n);return{rows:{activity_digest:a},compact:!1,page:c}}let{rows:o,...s}=$e(t,n);return e==="compact"?{rows:{compact_activity:Oc(o)},compact:!0,page:s}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,page:s}:{rows:{activity:o},compact:!1,page:s}}async function jo(e,t){let n=await Dc(t),r=Tc(e),i=kt("activity",e.after),o=Ac(e,r,i),s=await Fc(n),a=It(n.settings.agent_identity.harness_signals),c=n.settings.agent_identity.identity_vocabulary,d=Tt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},c,a),l=Ic(await $c(s.historyDir,o)).filter(d),u=jc(r,l,{command:"activity",after:e.after,clock:i,limit:o.limit,query:{pmRoot:n.pmRoot,projectionMode:r,filters:{...o,limit:void 0,limitSource:void 0},matching_activity_digest:r==="digest"?yn(l):void 0,vocabulary:c,provenanceDimensions:a}},s.itemsById,m=>xt(m,c,{itemId:m.id}));return{...u.rows,compact:u.compact,projection:{mode:r,row_key:Sc[r]},omission_receipt:ot("activity",r),...u.page,window:{anchor:i,from:o.from??null,to:o.to??null},limit:o.limit??null,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:l.length,item_count:u.page.total_count,author_count:new Set(l.map(m=>m.author)).size,operation_counts:Pc(l)}}:{},...e.provenanceSummary===!0?{provenance_summary:Rt(l,c,a)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.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]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var Uo="1970-01-01T00:00:00.000Z";function Ne(e){if(typeof e!="string")return null;let t=e.trim();if(!fi(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return H(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]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var Rn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Uc=Symbol("no-context-author"),Bc=Symbol("no-item-assignee");function Bo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Gc(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 Hc(e){let t=Gc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ne(e.created_at)??Uo}}function qc(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=Ne(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 Wc(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 zc(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 Kc(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 At(e,t,n){return e?.[t]??n}function Dt(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?Hc(d):qc(l)]})),r=[...e].sort((d,l)=>{let u=n.get(d.id).coordinate,m=n.get(l.id).coordinate;return S(m,u)||d.id.localeCompare(l.id)}),i=new Map(r.map((d,l)=>[d.id,l])),o=Math.max(e.length-1,1),s=Bo(t.author,Uc),a=F("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=Bo(d.assignee,Bc)===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:At(t.graphProximity,d.id,d.parent?.3:0),claim_focus:At(t.claimFocus,d.id,C(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:Wc(d.priority,4),risk_pressure:Kc(d.risk),deadline_pressure:zc(d.deadline,c),knowledge_density:At(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:At(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var Vc="context_relevance",Xc={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},Yc=new TextEncoder;function Qc(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"||!Rn.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 Jc(e){let t={...Xc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Rn.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 Ho(e,t={}){Qc(e);let n=Jc(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=Rn.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,m=0;for(let h of o){let g=d[h];if(g===void 0)continue;let y=g*n[h];l[h]=y,u+=y,m+=n[h]}return{...a,baseline_rank:c+1,rank:0,score:m===0?0:u/m,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 Zc(e,t={}){let n=Ho(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 Ft(e,t,n={}){let r=Ho(t,n),i=await ti(Vc,{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 Zc(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 ed=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Go(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function td(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,m)=>l+(2**u-1)/Math.log2(m+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:Go(e.required_ids??[],a),continuity_coverage:Go(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function nd(e){return Math.ceil(Yc.encode(JSON.stringify(e)).byteLength/4)}function rd(e){return Math.round(e*1e4)/1e4}function id(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 od(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"});if(ai(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new p(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,f.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=id(n,e.surface),o={...n,ranking:void 0},s=nd(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:td({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 sd(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=ed;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,rd(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 Cp(e,t,n){let r=[];for(let i of e)r.push(await od(i,t));return sd(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]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var ad={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},cd=["identity","summary","full"];function dd(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=cd.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 ld(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=ad[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 ud(e){let t=new Set;for(let n of e){if(dd(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 md(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 fd(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=md(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 pd(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 qo(e,t){let n=ld(t),r=ud(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=fd({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=pd(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 Le from"node:fs/promises";import Pe from"node:path";import{createHash as Wo,randomUUID as hd}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]="179e487f-baf9-59d1-a438-3ae0c12b00eb")}catch{}})();var An=3,Dn=2,zo=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],gd=new Set(["substantive_history","release_cohort","created_at"]),yd={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 ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ko(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function _d(e){let t={};for(let n of zo){let r=e[n];if(r!==void 0){if(!Ko(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function wd(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 bd(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 Vo(e,t){return{...t,activityDensity:t.activityDensity??wd(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??bd(e)}}function $n(e){let t=Wo("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 vd(e){if(!ge(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",ge(e.signals),ge(t)].every(Boolean))return null;let n=t.recency;if(!ge(n))return null;let r=Ne(n.coordinate);if(r===null)return null;let i=new Set(zo),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Ko(a))||![typeof n.source=="string"&&gd.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 kd(e,t){let n=Array.from(e,vd);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!==$n(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function Sd(e){if(!ge(e)||e.format_version!==An||e.signal_set_version!==Dn||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=kd(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:An,signal_set_version:Dn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Xo(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 Yo(e,t,n=$n(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:_d(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:An,signal_set_version:Dn,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 Np(e,t){return Xo(t),Yo(Dt(e,Vo(e,t)),t)}var Fn=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=Pe.resolve(t)}async read(){try{return JSON.parse(await Le.readFile(this.filePath,"utf8"))}catch(t){if(ge(t)&&tt(t))return null;throw t}}async write(t){let n=Pe.dirname(this.filePath);await Le.mkdir(n,{recursive:!0});let r=Pe.join(n,`.${Pe.basename(this.filePath)}.${hd()}.tmp`);try{await Le.writeFile(r,`${JSON.stringify(t)}
|
|
5
|
+
`,{encoding:"utf8",flag:"wx"}),await Le.rename(r,this.filePath)}finally{try{await Le.rm(r,{force:!0})}catch{}}}},Mn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Xo(n);let r=[],i=null;try{let m=await this.adapter.read();i=Sd(m),m!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(m=>m.id).sort((m,h)=>m.localeCompare(h)),s=i?.items.map(m=>m.id)??[],a=Dt(t,Vo(t,n)),c=$n(a),d=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===c&&i.source===n.source&&s.length===o.length&&s.every((m,h)=>m===o[h]),l;if(d&&i!==null)l=i;else{l=Yo(a,n,c);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(m=>[m.id,m]));return{snapshot:l,candidates:a.map(m=>({...m,signals:{...m.signals,...u.get(m.id)?.signals},signal_provenance:u.get(m.id).signal_provenance})),cache_status:d?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>yd[m])}}};function Ed(e){let t=Wo("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 Mt(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 gt(t.pmRoot),o=t.sourceCursor??i?.source_cursor??Ed(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Mn(new Fn(Pe.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),c=t.recencyEvidence??Object.fromEntries(Object.entries(await xi(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})}import Cd from"node:path";import{createHash as Id}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]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Qo(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}}import xd 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]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Jo=1,Td=1e4,Zo=12;function Rd(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Ad(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 Dd(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 Fd(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(C(o.status,t.statusRegistry))).map(o=>{let s=Qo(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=Rd(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=Ad(s,r);if(u){let m=`epic:${u.id}`,h=i.get(m)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(o),i.set(m,h)}}return{format_version:Jo,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(Dd).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function Md(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 $d(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(Md)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Od(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Jo||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($d)?t:null}function Nd(e){return`scan:${Id("sha256").update(it(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Ld(e,t,n){return n!==void 0?n:(await gt(t))?.source_cursor??Nd(e)}async function Pd(e){try{let t=Od(JSON.parse(await xd.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&tt(t))}}}async function $t(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Td));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Ld(e,t.pmRoot,t.sourceCursor),i=Cd.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Pd(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=Fd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await zr(i,`${JSON.stringify(c)}
|
|
6
|
+
`)}catch{o.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:o}}function jd(e,t,n=Zo){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 es(e,t,n=Zo){if(e.snapshot===null)return;let r=jd(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 Ud(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 ts(e,t,n=5){let r=Ud(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]="4596ea7d-70be-5d61-bccb-66989e1555c0")}catch{}})();var Bd=["markdown","toon","json","ndjson"],Lt=new Set(["Epic","Feature"]),Nn=10,ss=1e4,as=["hierarchy","activity","progress","recently_created","unparented","workload"],Gd=[...as,"blockers","files","staleness","tests"],Hd=/^(\d{4})-(\d{2})-(\d{2})/,qd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Wd=/^(\d{4})(\d{2})(\d{2})$/,zd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Kd(e){if(!e)return;let t=e.trim().toLowerCase();if(!Bd.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",f.USAGE);return t}var ns=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 Vd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!ns.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...ns].join(", ")})`,f.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",f.USAGE);return t}function je(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function ph(e,t){let n=Kd(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Xd(e,t){return q(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Nn)}function Ln(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new p("--token-budget must be a positive integer",f.USAGE);return n}function Yd(e,t){return t>=ss&&e===Number.MAX_SAFE_INTEGER?Nn:e}function Qd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!nn.includes(n))throw new p(`Context --depth must be one of ${nn.join("|")}`,f.USAGE);return n}function Jd(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!et.includes(o))throw new p(`Context --section must be one of ${et.join("|")}`,f.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...et]:(t==="deep"?Gd:as).filter(r=>n.sections[r])}function Zd(e,t){return e?q(e,"--activity-limit")??t.activity_limit:t.activity_limit}function el(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new p("--stale-threshold must be a number of days (e.g. 7 or 7d)",f.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new p("--stale-threshold must be positive",f.USAGE);return i}function rs(e,t){let n=C(e,t),r=F("blocked",t),i=F("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 Ue(e,t){let n=F("closed",t);return C(e,t)===n}function Pn(e,t){return C(e,t)===t.in_progress_status}function cs(e,t){let n=C(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function tl(e,t){return t.blocked_statuses.has(C(e,t))}var nl=["compact","brief","fields","includeBody","include_body","parent"];function rl(e){let t={...e};for(let n of nl)delete t[n];return t}function jn(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=ye(e),o=Be(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function il(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",f.USAGE);return t}function ol(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function sl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:S(n,r)}function al(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function cl(e){let t=Hd.exec(e)??qd.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<=al(n,r-1)}function dl(e){let t=Wd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=zd.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 ds(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!cl(t))return Number.NaN;let n=Date.parse(dl(t));return Number.isFinite(n)?n:Number.NaN}function On(e){let t=ds(e);return Number.isFinite(t)?new Date(t).toISOString():""}function ll(e){let t=ds(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Un(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ie(e,t,n){let r=rs(e.status,n)-rs(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=ol(e.order,t.order);if(o!==0)return o;let s=sl(e.deadline,t.deadline);if(s!==0)return s;let a=S(On(t.updated_at),On(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function Ot(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Bn(e,t,n=new Set,r="context"){return qo(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:Ot({id:i.id,title:i.item.title}),summary:Ot({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Ot(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Gn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Hn(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 Nt(e,t){return t>0?Math.round(e*100/t):0}function ye(e){let t=new Map;for(let n of e){let r=Un(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Ge(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:Un(e.parent)};if(t&&n){let i=Be(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Ue(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Nt(s,o)}}return r}function ul(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 Pt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function ml(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function fl(e,t,n,r){let i=new Map;for(let c of e)i.set(c.id,c);let o=ye(e),s=new Set(t.filter(c=>Lt.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=i.get(c);if(!d)continue;let l=Be(c,o),u=o.get(c)??[],m=0,h=0,g=0,y=0;for(let w of l)Ue(w.status,n)?m++:Pn(w.status,n)?g++:tl(w.status,n)?y++:cs(w.status,n)&&h++;let _=u.sort((w,I)=>ie(w,I,n)).slice(0,r).map(w=>{let I=Be(w.id,o),b=I.filter(k=>Ue(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:I.length,children_closed:b}});a.push({id:d.id,title:d.title,type:d.type,status:d.status,children_total:l.length,children_closed:m,children_open:h,children_in_progress:g,children_blocked:y,children:_})}return a.sort((c,d)=>{let l=i.get(c.id),u=i.get(d.id);return ie(l,u,n)}).slice(0,r)}function Be(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 pl(e,t){return(await jo({compact:!0,limit:String(e)},t)).compact_activity??[]}function hl(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=>Lt.has(c.type)),a=[];for(let c of s){let d=Be(c.id,o),l=d.length;if(l===0)continue;let u=0,m=0,h=0,g=0;for(let y of d)Ue(y.status,r)?u++:n.has(y.id.trim().toLowerCase())?g++:Pn(y.status,r)?h++:cs(y.status,r)&&m++;a.push({id:c.id,title:c.title,type:c.type,total:l,closed:u,open:m,in_progress:h,blocked:g,completion_pct:Nt(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function gl(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=Ae(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 yl(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 _l(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=>Pn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function wl(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 bl(e,t,n,r){return e.map(i=>({item:i,sortKey:On(i.created_at)})).sort((i,o)=>{let s=S(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Ge(i,t,n),created_at:i.created_at}))}function vl(e,t,n,r){return e.filter(i=>!Un(i.parent)&&!Lt.has(i.type)).sort((i,o)=>ie(i,o,t)).slice(0,r).map(i=>Ge(i,t,n))}function kl(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{scope:"matching_active_items",total_items:e.length,items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function is(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function ls(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 Sl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function El(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`${is(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${is(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 os(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 Cl(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 Il(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(`- ${El(n)}`);e.push("")}function xl(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=Nt(n.children_closed,n.children_total);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=Nt(i.children_closed,i.children_total);e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function Tl(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 Rl(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)}`:`- ${ll(i.created_at)} ${ls(i)}`);e.push("")}}function Al(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 Dl(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 Fl(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 Ml(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 $l(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 Ol(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 Nl(e,t,n){let r=[],i=0;for(let o of e.items_failing){if(r.length>=t)break;let s=Ot(o);if(i+s>n)break;r.push(o),i+=s}return r}function Ll(e,t){if(!t.tests)return;e.push("## Test health"),e.push(`- ${t.tests.scope}: ${t.tests.total_items}`),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}`);let n=Nl(t.tests,t.applied_limit??Nn,t.filters.token_budget);n.length>0&&e.push(`- items_failing: [${n.join(",")}]`);let r=t.tests.items_failing.length-n.length;r>0&&e.push(`- items_failing_omitted: ${r}`),e.push("")}function Pl(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 hh(e){let t=[],n=e.focus_fields,r=o=>n?Sl(o,n):ls(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(""),os(t,"High-level focus",e.high_level,"No high-level active items.",r),os(t,"Low-level focus",e.low_level,"No low-level active items.",r),Cl(t,e,r),Il(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 xl(t,e),Tl(t,e),Rl(t,e,n,r),Al(t,e,r),Dl(t,e),Fl(t,e),Ml(t,e),$l(t,e),Ol(t,e),Ll(t,e),Pl(t,e),t.join(`
|
|
7
|
+
`)}var jl=new Set(["status","no_truncate","limit","sort","order"]);function Ul(e){let{runtime_filters:t,...n}=e;return Object.keys(n).some(r=>!jl.has(r))||Object.keys(Object(t)).length>0}async function Bl(e,t){return Ul(t.filters)?(await B(void 0,us({},{excludeTerminal:!1}),e)).items:t.items}async function Gl(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=r.context??Hr.context,o=N(r.schema),s=Qd(e.depth,i),a=Xd(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Jd(e.section,s,i),activityLimit:Zd(e.activityLimit,i),staleThresholdDays:el(e.staleThreshold,i),parentScope:il(e.parent),focusFields:Vd(e.fields),baseListOptions:rl(e)}}function Hl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function us(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function ql(e,t){let n=await B(void 0,us(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=await Bl(e,n),o=r.filter(c=>!J(c.status,t.statusRegistry)),s=r,a=Wl(t.parentScope,i);return a&&(o=o.filter(c=>a.has(c.id.trim().toLowerCase())),s=s.filter(c=>a.has(c.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:s,fullCorpus:r,edgeCorpus:i,subtreeIds:a}}function Wl(e,t){if(e===void 0)return;let n=jn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,f.NOT_FOUND);return n.ids}function zl(e,t,n,r){let i=new Set(vt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Lt.has(o.type)||i.has(o.id)||Te(o.type,r)!=="agent").map(o=>o.id))}async function Kl(e,t,n,r,i,o,s,a,c,d,l,u,m,h,g,y){let _=[...e].sort((v,Ee)=>ie(v,Ee,i)),w=await ut({pmRoot:m,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),I=await Mt(_,{pmRoot:m,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:w.affinity,claimFocus:g}),b=await Ft("context",I.candidates),k=b.ranked.map(v=>v.item),G=i.active_statuses,M=k.filter(v=>G.has(C(v.status,i))),se=u?mi(M,d,l,v=>v.id):0,L=u?M.slice(se,se+s):M,ae=u&&L.length>0&&se+L.length<M.length,Qe=ae&&L.length>0?ci(l,L[L.length-1].id,se+L.length-1):void 0,Zt=k.filter(v=>r.has(v.id.trim().toLowerCase())),en=new Set([...L.map(v=>v.id),...Zt.filter(v=>!G.has(C(v.status,i))).slice(0,s).map(v=>v.id)]),Je=Bn({...b,ranked:b.ranked.filter(v=>en.has(v.id))},h,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),V=Je.included.map(v=>v.item),X=V.filter(v=>G.has(C(v.status,i))),ce=V.filter(v=>r.has(v.id.trim().toLowerCase())),Z=ye(t),ke=Hl(o)?Z:void 0,Se=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),Y=v=>{let Ee=Ge(v,i,ke);return r.has(v.id.trim().toLowerCase())&&(Ee.blocked=!0,Ee.blocker_ids=Ae(v,Se,i).filter(tn=>!tn.resolved).map(tn=>tn.id)),Ee},Ze=zl(X,n,i,y),$=X.filter(v=>Ze.has(v.id)).slice(0,u?L.length:s).map(Y),O=X.filter(v=>!Ze.has(v.id)).slice(0,u?L.length:s).map(Y),Ur=M.length===0;return{activeItems:X,blockedItems:ce,highLevel:$,lowLevel:O,blockedFallback:Ur?ce.slice(0,s).map(Y):[],blockedFallbackUsed:Ur,ranking:b,packing:Je,featureStore:I,pageExtras:{...u?{applied_limit:s}:{},...ae?{has_more:!0,truncated:!0}:{},...Qe?{next_cursor:Qe}:{}}}}function Vl(e,t){return fe("context",{pmRoot:t,options:st(e,Zr)})}function Xl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=ss}async function Yl(e,t,n,r){let i={...t.baseListOptions,after:void 0,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await Oo(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=ml(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:ul(a)}}function ms(e,t,n){let r=String(t);return e.filter(i=>C(i.status,n)===r).length}async function Ql(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,c=ye(n),d=n.filter(u=>!J(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?fl(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await pl(t.activityLimit,a):void 0,progress:l("progress")?hl(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?gl(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?bl(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?vl(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?yl(o.activeItems,t.limit):void 0,workload:l("workload")?_l(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?wl(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?kl(n.filter(u=>t.statusRegistry.active_statuses.has(C(u.status,t.statusRegistry)))):void 0}}function Jl(e,t,n){let r=F("canceled",t),i=e.filter(s=>t.active_statuses.has(C(s.status,t))),o=ms(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=>Ue(s.status,t)).length,canceled:e.filter(s=>C(s.status,t)===r).length}}function Zl(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 eu(e,t){t&&(e.focus_fields=t,e.high_level=je(e.high_level,t),e.low_level=je(e.low_level,t),e.blocked_fallback=je(e.blocked_fallback,t),e.recently_created&&(e.recently_created=je(e.recently_created,t)),e.unparented&&(e.unparented=je(e.unparented,t)))}function tu(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 nu(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 ru(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 dt(e,"context"))s.has(c)||(o.push({id:c,rank:o.length+1,included:!1}),s.add(c));let a=await lt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ct(e,a)}catch{e.warnings=Pt(e.warnings,["context_usage_feedback_write_failed"])}}async function iu(e,t,n){if(e)return{};let r=(await Yr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function ou(e,t){let n=Ii(),r=await vi(e),i=n.instance||ki(t);return wo(r.semantic_attribution?.[i])}async function gh(e,t){let n=T(process.cwd(),t.path),r=await Gl(e,t),i=await ql(t,r),o=Yd(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Ln(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),c=await ou(n,a),d=iu(e.noExtensionHealth===!0,n,s.settings),l=Ki(i.edgeCorpus,s.statusRegistry),u=await Kl(i.listedItemMetadata,i.allItems,i.edgeCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,Vl(e,n),Xl(e,i.fullCorpus.length),n,s.tokenBudget,c,R(s.settings,E())),m=await Yl(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),h=await $t(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Pt(i.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),y=ms(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),_=u.activeItems.length-y,w=await Ql({runtime:s,allItems:i.allItems,fullCorpus:i.edgeCorpus,blockedIds:l,focusGroups:u,now:m.agenda.now,global:t}),I=Jl(i.allItems,s.statusRegistry,l),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.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??m.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:y,open:_,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:m.agendaSummary.events,...I},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=es(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await d),Zl(b,w,u.featureStore.warning_details),tu(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Hn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=Gn(u.packing)),ii(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:C(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),eu(b,s.focusFields),oi(b),g.length>0&&(b.warnings=g),nu(b,u.activeItems,u.blockedItems),await ru(b,u,n,a),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]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function fs(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(dn(r,"json"),dn(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,m=c.length;for(;u<m;){let h=Math.ceil((u+m)/2);r.ready=c.slice(0,h),i()<=t?u=h:m=h-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]="b01faffe-d88f-5095-8d28-167943ec5067")}catch{}})();var su=["markdown","toon","json"],au=5,cu=1440*60*1e3;function du(e,t){let n=e??t;if(typeof n=="string"&&Me.includes(n))return n;throw new p(`Unknown next ranking policy ${JSON.stringify(n)}. Accepted values: ${Me.join(", ")}.`,f.USAGE,{code:"invalid_argument_value",value:String(n),recovery:{allowed_values:[...Me]}})}function lu(e){if(!e)return;let t=e.trim().toLowerCase();if(!su.includes(t))throw new p("Next format must be one of markdown|toon|json",f.USAGE);return t}function Fh(e,t){let n=lu(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"toon"}function ps(e,t,n){let r=q(e,t);return r===void 0||r<=0?n:r}function He(e,t,n,r){return{...Ge(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 uu(e,t,n,r){let i=e.item,o=[],s=F("in_progress",t);return o.push(C(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(mu(i.deadline,n)),o.push(Re(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 hs(e,t,n){let r=ee(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 Mh={partitionCallerOwnedReady:hs,resolveNextCallerAuthor:(e,t)=>gs(e,t)};function $h(e,t,n){let r=e.filter(i=>Te(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Te(i.item.type,n)!=="human"),decisions:t?[]:r}}function mu(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))/cu);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function fu(e,t){let n=F("in_progress",t);return e.filter(r=>C(r.status,t)===n).length}function qn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function pu(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 jt(e,t,n){return[...e].sort((r,i)=>{let o=qn(r.item,t),s=qn(i.item,t);return o!==s?Number(o)-Number(s):ie(r.item,i.item,n)})}function hu(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:[...uu(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer),...e.policyReason?[e.policyReason]:[]]}}function gu(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 yu(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 _u(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 dt(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await lt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ct(e.result,i)}catch{e.result.warnings=Pt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function wu(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=gu(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==null&&fs(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Hn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=Gn(Bn(e.readyRanking,e.packingBudget,new Set,"next"))),await _u({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function bu(e,t,n){if(!n)return e;let r=jn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,f.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function vu(e,t,n,r,i,o,s,a){let c=e.filter(y=>!qn(y.item,t)),d=s||c.length===0?e:c,l=await ut({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await Mt(d.map(y=>y.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:l.affinity}),m=await Ft("next",u.candidates),h=bo(m.ranked,n,a,m.model),g=new Map(d.map(y=>[y.item.id,y]));return{projectedReady:m.ranked.map(y=>g.get(y.id)).filter(y=>y!==void 0),ranking:m,completedContainer:c.length===0&&!s,featureStore:u,relevanceRank:h}}function gs(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}function ku(e,t){return e.tokenBudget===void 0?null:t}async function Oh(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=gs(e,r.author_default),o=N(r.schema),s=du(e.rankingPolicy,r.context.next_ranking_policy),a=R(r,E()),c=D(),d=ps(e.limit,"--limit",au),l=Ln(e.tokenBudget,Math.max(192,d*128)),u=ku(e,l),m=ps(e.blockedLimit,"--blocked-limit",d),h=e.readyOnly===!0,g=typeof e.parent=="string"?e.parent.trim():"",y=await B(void 0,pu(e,{excludeTerminal:!0}),t),_=await B(void 0,{excludeTerminal:!1,noTruncate:!0},t),w=bu(y.items,_.items,g),I=_.items,b=vt(w,I,o,a),k=ye(I),G=Vi(b,o,e,a),M=hs(G.ready,r.author_default,i),se=jt(M.available,k,o),L=[...b.blocked].sort(($,O)=>ie($.item,O.item,o)),{projectedReady:ae,ranking:Qe,completedContainer:Zt,featureStore:en,relevanceRank:Je}=await vu(se,k,o,c,i,n,e.includeContainers===!0,s),V=ae.map(($,O)=>He($,o,k,O+1)),X=L.map(($,O)=>He($,o,k,O+1)),ce=jt(G.decisions,k,o).map(($,O)=>He($,o,k,O+1)),Z=jt(G.gates,k,o).map(($,O)=>He($,o,k,O+1)),ke=jt(b.containers,k,o).map(($,O)=>He($,o,k,O+1)),Se=hu({projectedReady:ae,readyRows:V,statusRegistry:o,now:c,completedContainer:Zt,policyReason:vo(ae,Je,o,s)}),Y=yu(ce.length,M.held.length,V.length,d)??{};Z.length>d&&(Y.gate_needed_total=Z.length),ke.length>d&&(Y.containers_total=ke.length);let Ze={output_default:"toon",now:c,recommended:Se,ready:V.slice(1,d+1),decision_needed:ce.slice(0,d),gate_needed:Z.slice(0,d),containers:ke.slice(0,d),blocked:h?[]:X.slice(0,m),held_by_others:M.held.slice(0,d),summary:{recommended:Se!==null,ready:V.length,blocked:X.length,in_progress:fu(V,o),candidates:b.active_count,containers:b.container_count,decision_needed:ce.length,gate_needed:Z.length,held_by_others:M.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:g.length>0?g:null,limit:d,blocked_limit:m,ready_only:h,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:u,ranking_policy:s},truncation:Object.keys(Y).length>0?Y:void 0};return wu({result:Ze,recommended:Se,blockedRows:X,gateCount:Z.length,candidatesWarnings:y.warnings,corpusWarnings:_.warnings,readyRanking:Qe,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:l,featureStore:en,tokenBudget:u,hasIntentBudget:typeof e.for=="string"})}function Nh(e){let t=["# pm next","",...Su(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...qe(n,r.map(i=>`- ${We(i)}`),""));if(t.push(...qe("Recommended",Eu(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...qe("Decision needed",(e.decision_needed??[]).map(n=>`- ${We(n)}`),"No human-gated decisions.")),t.push(...qe("Ready",e.ready.map(n=>`- ${We(n)}`),"No ready items.")),e.filters.ready_only||t.push(...qe("Blocked",e.blocked.map(n=>`- ${Cu(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(`
|
|
8
|
+
`).trimEnd()}function Su(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 Eu(e){return e?[`- ${We(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function qe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Cu(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${We(e)} blocked_by:${t}`}function We(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}`}(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]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var Iu=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],xu=["filterAcMissing","filterEstimatesMissing","filterResolutionMissing","filterMetadataMissing","filterReviewerMissing","filterRiskMissing","filterConfidenceMissing","filterSprintMissing","filterReleaseMissing","hasNotes","hasLearnings","hasFiles","hasDocs","hasTests","hasComments","hasDeps","hasBody","hasLinkedCommand","noNotes","noLearnings","noFiles","noDocs","noTests","noComments","noDeps","emptyBody","noLinkedCommand"];function Tu(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Ph(e,t,n={}){let r=n.includePagination!==!1;return[t,...Iu.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(Tu)||xu.some(i=>e?.[i]===!0)}function ys(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(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]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var _s=["parent","type","priority","status","assignee","tags","sprint","release"];function bs(e,t){let n=ft(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function vs(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",f.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,f.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function ks(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",f.USAGE);let n=zi(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",f.USAGE);for(let r of n)if(!_s.includes(r))throw new p(`Aggregate group fields must be one of ${_s.join("|")}; received "${r}"`,f.USAGE);return n}function Ss(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function Es(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return Ss(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Cs(e,t){let n=e??null,r=t??null;return n===r?0:n===null?1:r===null?-1:typeof n=="number"&&typeof r=="number"?n-r:String(n).localeCompare(String(r))}function Ut(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var Ru={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function ws(e,t){return t==null||t===""?Ru[e]:String(t)}function Au(e,t){return e.length===1?ws(e[0],t[e[0]]):e.map(n=>`${n}=${ws(n,t[n])}`).join(" | ")}function Is(e,t,n){for(let r of n){let i=Cs(e.group[r],t.group[r]);if(i!==0)return i}return 0}function xs(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let i=Number(r);if(Number.isFinite(i))return i}return null}function Ts(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Wn(e,t,n){let r=F(String(t),n)??t;if(r===n.open_status){e.open_count+=1;return}if(r==="in_progress"||n.active_statuses.has(r)&&r!==n.open_status){e.in_progress_count+=1;return}if(n.terminal_done_statuses.has(r)||r===n.close_status){e.closed_count+=1;return}e.other_count+=1}function Du(e,t){return{row:{group:e,count:1},numeric_count:t===null?0:1,numeric_sum:t??0,null_count:t===null?1:0,open_count:0,in_progress_count:0,closed_count:0,other_count:0}}function Fu(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Mu(e){e.accumulator.row.count+=1,e.includeCompletion&&Wn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Fu(e.accumulator,e.numericValue)}function $u(e,t,n,r){for(let i of t){let o=Ut(n,i),s=e.get(o);if(s){Mu({...r,accumulator:s});continue}let a=Du(i,r.numericValue);r.includeCompletion&&Wn(a,r.item.status,r.statusRegistry),e.set(o,a)}}function Ou(e,t){let n={};for(let r of e)n[r]=Es(r,t);return n}function Nu(e,t,n){let r=[Ou(e,t)];if(n==="tuple")return r;for(let i of e){let o=t[i];if(!Array.isArray(o))continue;let s=[...new Set(o.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(c=>({...a,[i]:c}))))}return r}function Lu(e,t,n,r){let i={...e.row,group_label:Au(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=Ts(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function Pu(e){return{group_by:e.groupBy,set_mode:e.setMode,count:!0,completion:e.includeCompletion,include_unparented:e.includeUnparented,status:e.status?.[0]??null,status_values:e.status,type:e.options.type??null,tag:e.options.tag??null,priority:e.options.priority??null,deadline_before:e.options.deadlineBefore??null,deadline_after:e.options.deadlineAfter??null,assignee:e.options.assignee??null,assignee_filter:e.options.assigneeFilter??null,parent:e.options.parent??null,sprint:e.options.sprint??null,release:e.options.release??null,...e.numericAggregation!==null?{sum:e.options.sum??null,avg:e.options.avg??null,numeric_field:e.numericAggregation.field}:{}}}async function qh(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",f.USAGE);let n=T(process.cwd(),t.path),r=await A(n),i=N(r.schema),o=["estimate","estimated_minutes","priority",...Q(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=ks(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",f.USAGE);let c=bs(e.status,i),d=vs(e,[...new Set(o)].sort((b,k)=>b.localeCompare(k))),l=e.completion===!0,u=e.includeUnparented===!0,m=await B(void 0,{...ys(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,y=0,_=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let G=d===null?null:xs(k,d.field),M=Nu(s,k,a);$u(h,M,s,{item:k,statusRegistry:i,includeCompletion:l,numericAggregation:d,numericValue:G}),_+=M.length,y+=1}let w=[...h.values()].map(b=>Lu(b,s,l,d)).sort((b,k)=>Is(b,k,s)),I=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...ju(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:y,items_skipped_unparented:g,group_memberships:_},filters:Pu({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:c,options:e,numericAggregation:d}),now:D(),...I?{warnings:I}:{}}}function ju(e,t,n){let r=fo(n.limit,"limit")??50,i=n.after===void 0?-1:e.findIndex(a=>Ut(t,a.group)===n.after);if(n.after!==void 0&&i<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",f.USAGE);let o=e.slice(i+1,i+1+r),s=i+1+o.length<e.length;return{groups:o,returned_count:o.length,truncated:s,next_after:s?Ut(t,o.at(-1).group):null}}var Wh={buildGroupKey:Ut,compareAggregateRows:Is,compareNullableGroupValue:Cs,completionPct:Ts,normalizeTagGroupValue:Ss,parseGroupBy:ks,parseNumericAggregation:vs,parseStatus:bs,readNumericAggregateValue:xs,resolveGroupValue:Es,updateCompletionCounts:Wn};(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]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var Rs=1e6,As=20;function Ds(e,t,n,r=As){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",f.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let _ of t){if(a+=1,a>Rs)throw new p(`Child projection exceeded the ${Rs.toLocaleString("en-US")} item safety bound.`,f.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(_)}let c=new Map(s.map(_=>[_.id.trim().toLowerCase(),_])),d=so(oo(s,io())),l=new Set(d.children_by_parent.get(i)??[]);for(let _ of s)_.parent?.trim().toLowerCase()===i&&l.add(_.id.trim().toLowerCase());let u=[...l].map(_=>c.get(_)),m=0;for(let _ of u){let w=_.status.trim().toLowerCase();o[w]=(o[w]??0)+1,J(w,n)||(m+=1)}u.sort((_,w)=>_.id.localeCompare(w.id));let h=u.slice(0,r).map(_=>({id:_.id,title:_.title,type:_.type,status:_.status,priority:_.priority})),g=u.length>h.length,y=r===0?As:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(o).sort(([_],[w])=>_.localeCompare(w))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${h.length} --limit ${y}`:null,scanned:a}}import{readdir as Hu}from"node:fs/promises";import Kn 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]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var Uu=new Set(["event","meeting","reminder"]);function Bu(e){return Uu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function zn(e){if(!Bu(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events: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]="bf7cac44-d2fc-5e7c-a9f1-a82c7460b07c")}catch{}})();var qu=new Set(["epic","feature","milestone","plan"]),Wu=new Set(Object.keys(Gr).map(e=>e.toLowerCase()));function Xn(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function zu(e,t,n,r,i){let o=Xn(e);return[...t.length>0?["body"]:[],...Object.entries(o).flatMap(([s,a])=>a>0?[s]:[]),...o.files+o.tests+o.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...zn(e)?["schedule"]:[],...r&&Re(e).length>0?["blockers"]:[],...!i.full&&e.dependencies?.some(({id:s,kind:a,...c})=>Object.values(c).some(d=>d!==void 0))?["dependency_provenance"]:[]]}function Ms(e){let t=e.trim().toLowerCase();return t.length>0&&(qu.has(t)||!Wu.has(t))}function Fs(e){return{ts:e.ts,author:e.author,message:e.message??null}}function Ku(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?Fs(i):null,last_release:o?Fs(o):null}}function Vu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(sn.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",f.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...an]}})}function Xu(e,t,n){let r=Xn(e),i={...e};if(!n&&e.dependencies!==void 0&&(i.dependencies=e.dependencies.map(({id:g,kind:y})=>({id:g,kind:y}))),t==="deep")return{...i,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:r.notes,tests_count:r.tests,collection_counts:r};let{comments:o,notes:s,learnings:a,files:c,tests:d,docs:l,reminders:u,events:m,...h}=i;return{...h,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Yu(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",f.USAGE);return t}function Bt(e){return e.startsWith("item.")?e.slice(5):e}function Qu(e,t,n){if(e===null)return;let r=cn(t),i=new Set(r),o=e.filter(s=>{let a=Bt(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields",e.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new p(`Unknown get --fields value(s): ${o.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"],recovery:{allowed_values:r,suggested_retry:me(s),suggested_retry_args:s}})}}var Ju=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Zu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Ju.has(n)?[]:void 0}function em(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:Xn(e)},i={id:e.id};for(let o of t){let s=Bt(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||s==="blockers"||(i[s]=Zu(n,r,s))}return i}function ze(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function _e(e,t){return e.some(n=>{let r=Bt(n);return r===t||r.startsWith(`${t}.`)})}function tm(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new p("Get projection options are mutually exclusive; remove the extra projection flag and retry.",f.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:me(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new p("Get --tree-depth requires --tree",f.USAGE);if(e.at!==void 0&&e.tree===!0)throw new p("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",f.USAGE);return{depth:e.full?"deep":Vu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?q(e.treeDepth,"--tree-depth"):void 0,fields:Yu(e.fields),fieldProjection:e.fields!==void 0}}async function nm(e,t,n){let r=T(process.cwd(),t.path);await U(r);let i=await A(r),o=R(i,E());if(n!==void 0){let c=await mo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:c.document.metadata.id,metadata:c.document.metadata,body:c.document.body,historical:c}}let s=await ne(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Pi(r,e,i.id_prefix,o.type_to_folder);let a=await re(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function rm(e,t,n,r){let i=[...Q(t.schema).definitions.map(o=>o.metadata_key),...le(E())];if(Qu(e,i,r),n&&_e(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",f.USAGE);if(n&&_e(e??[],"blockers"))throw new p("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",f.USAGE)}function Vn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?ze(r,i):_e(r,i):n!=="brief"}async function im(e,t){if(!t)return;let n=rt(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return Ku(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function om(e,t,n,r){let i=r||ze(n,"linked.files"),o=r||ze(n,"linked.tests"),s=r||ze(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function sm(e,t){if(!t)return;let n=N(e.settings.schema),r=await he(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return Ds(e.locatedId,r,n)}function am(e,t){let n=new Map;for(let r of e){let i=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${i}`:`local:${i.toLowerCase()}`,{...r,id:i})}return[...n.values()]}async function cm(e,t){let n=Kn.basename(e),r=(await Hu(Kn.dirname(e)).catch(i=>{throw Wi("Cannot verify the blocker's physical file identity",{exitCode:f.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:i})})).filter(i=>i.toLowerCase()===n.toLowerCase()).sort((i,o)=>+(o===n)-+(i===n)||i.localeCompare(o)).map(i=>Kn.parse(i).name)[0];if(r===void 0)throw new p(`Blocker canonical file disappeared during identity verification: ${t}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return r}async function dm(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?_e(n.fields,"blockers"):n.depth!=="brief"))return;let r=Re(t.metadata);if(r.length===0)return;let i=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),o=new Map;for(let a of r){if(gi(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(l=>l.id.trim()===a&&l.kind==="blocked_by"&&yi(l.source_kind)))continue;let c=await ne(t.pmRoot,i.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(c===null)continue;let d=await re(c,{schema:t.settings.schema});if(c.id=await cm(c.itemPath,c.id),d.document.metadata.id!==c.id)throw new p(`Blocker identity differs from its canonical file: ${c.id}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});o.set(a.toLowerCase(),d.document.metadata)}let s=am(Ae({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},o,N(t.settings.schema)),o);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...c})=>c),closed_count:s.filter(a=>a.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function lm(e,t,n,r){if(!r)return;let i=zn(t.metadata);if(i){if(n===null||ze(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Bt(s)===`schedule.${o}`)))}}async function um(e,t,n,r){if(t.tree!==!0)return;let i=await B(void 0,{parent:e.locatedId,tree:!0,treeDepth:n===void 0?void 0:String(n),full:!0},r);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:n??null,count:i.count,items:i.items.map(o=>o)}}async function wg(e,t,n={}){let r=tm(n,e),i=await nm(e,t,n.at);rm(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=Vn({...r,field:"body"}),s=Vn({...r,field:"linked"}),a=Vn({...r,field:"claim_state"}),c=i.historical===void 0&&(r.fieldProjection?_e(r.fields,"children"):r.depth==="deep"&&(r.full||Ms(i.metadata.type))),d=r.fieldProjection?_e(r.fields,"schedule"):r.depth!=="brief",l=await im(i,a),u={item:r.fieldProjection?em(i.metadata,r.fields):Xu(i.metadata,r.depth,r.full)};o&&(u.item.body=i.body),om(u,i,r.fields,s),l&&(u.claim_state=l),lm(u,i,r.fields,d),await dm(u,i,r);let m=await sm(i,c);m!==void 0&&(u.children=m);let h=await um(i,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),i.historical&&(u.reconstructed=!0,u.as_of_version=i.historical.as_of_version,u.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await hi({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return ni(u,r.fieldProjection?[]:zu(i.metadata,i.body,m,i.historical===void 0,r)),u}var bg={shouldAutoIncludeGetChildren:Ms};(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]="284b91be-bd4e-5345-969b-0304834b0da8")}catch{}})();function mm(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function fm(e,t){return e.map(({entry:n,version:r})=>{let i=new Set,o=Ti(n.patch);for(let s of o)i.add(ln(s.path)),s.from&&i.add(ln(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}function pm(e){if(e[0]?.op!=="history_compact_baseline")return;let t=un(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function hm(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=R(r,E()),o=e.trim()===mt,s=o?mt:$i(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,i.type_to_folder),c=a?.id??s,d=o?Fi(n):rt(n,c);if(!a&&!await qr(d))throw new p(`Item ${e} not found`,f.NOT_FOUND);return a&&await Ai({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:d,located:a,resolvedId:c,settings:r}}function gm(e){let{resolvedId:t,selectedHistory:n,options:r,limit:i,addressing:o,vocabulary:s,total:a}=e,c=r.compact===!0,d=(r.order??(c||r.provenance===!0?"newest_first":"oldest_first"))==="newest_first",l=d?[...n].reverse():n,u=l.map(({entry:_})=>_),m=c?fm(l,o):void 0,h=r.provenance===!0?l.map(({entry:_,durableVersion:w})=>xt(_,s,{itemId:t,version:w})):void 0,g=r.provenance===!0?"provenance":c?"compact":"full",y={compact:{compact_history:m},provenance:{provenance_history:h},full:{history:u}}[g];return{id:t,...y,compact:c,projection:{mode:g,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[g]},omission_receipt:ot("history",g),count:u.length,total:a,order:d?"newest_first":"oldest_first",limit:i??null,version_addressing:o}}async function Dg(e,t,n){if(t.order!==void 0&&t.order!=="oldest_first"&&t.order!=="newest_first")throw new p("--order must be oldest_first or newest_first",f.USAGE);let r=pe(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await hm(e,n),c=await te(i,s),d=pm(c),l=a.agent_identity.identity_vocabulary,u=It(a.agent_identity.harness_signals),m=Tt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=ym(c).filter(({entry:_})=>m(_)),g=mm(h,r),y=gm({resolvedId:s,selectedHistory:g,options:t,limit:r,addressing:d,vocabulary:l,total:h.length});if(t.provenanceSummary===!0&&(y.provenance_summary=Rt(h.map(({entry:_})=>_),l,u)),t.diff||t.field!==void 0){let _=new Set(g.map(({version:w})=>w));y.diff=Ri(c,{windowStartIndex:(g[0]?.version??c.length+1)-1,field:t.field}).filter(w=>_.has(w.index)),y.order==="newest_first"&&y.diff.reverse()}if(t.verify){let _=o?(await re(o,{schema:a.schema})).document:void 0;if(y.verification=uo(c,_),s===mt&&y.verification.ok){let w=await Mi(T(process.cwd(),n.path));y.verification={...y.verification,ok:w.ok,errors:w.ok?y.verification.errors:[...y.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:w.ok,workspace_state_mismatches:w.mismatched_documents,workspace_state_missing:w.missing_documents,workspace_state_unreadable:w.unreadable_documents}}}return y}function ym(e){let t=un(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+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]="28cc85af-b7e7-5069-97a9-18844352cc59")}catch{}})();function _m(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new p("Search mode must be one of keyword|semantic|hybrid",f.USAGE);return t}function Gt(e){return e===!0}function $s(e){return Vr(e,0,1)??void 0}function Os(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new p("Search --match-mode must be one of and|or|exact",f.USAGE);return t}function Ns(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new p("Search --min-score must be a finite number >= 0",f.USAGE);return t}function oe(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function P(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Yn(e,t){if(e!==void 0)return H(e,new Date,t)}function wm(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 p("Search --fields requires a comma-separated list of field names",f.USAGE);return[...new Set(t)]}function Ht(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=wm(e.fields);if(Number(n)+Number(r)+ +(i!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:me(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Qr]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Qn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Jr([...t.definitions.flatMap(s=>[s.key,s.metadata_key]),...le(E())]),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status,score"];throw new p(`Unknown search --fields value(s): ${o.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."],recovery:{allowed_values:r,suggested_retry:me(s),suggested_retry_args:s}})}}function qt(e){let t=P(e);if(!t)throw new p("Search query must not be empty",f.USAGE);return t.split(/\s+/u).filter(Boolean)}function Jn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var bm=["auto","keyword","semantic","hybrid"];function vm(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return bm.includes(n)?n:"auto"}function Zn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:_m(e.requested),source:"explicit"};let t=vm(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function er(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function tr(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function nr(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import km 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]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function rr(e){return fe("search",{pmRoot:e.pmRoot===void 0?void 0:km.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:st(e.searchOptions,ei)})}function Ls(e){let t=at(e.sorted,{cursor:e.searchOptions.after,fingerprint:rr(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(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]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function Ps(e){if(typeof e!="string")return!1;let t=e.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return t.length===1&&t[0]==="all"}var Sm=[{optionKey:"status",summaryKey:"status",normalize:e=>Ps(e)?"all":e},{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:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function we(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:c,runtimeFieldFilters:d}=e,l={};return lo(l,r,Sm),Object.assign(l,pn(r)),Object.assign(l,fn(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),i&&(l.include_linked=!0),o&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=c),r.limit!==void 0&&(l.limit=r.limit),d&&Object.keys(d).length>0&&(l.runtime_filters=d),l}function be(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:c,queryExpansion:d,rerank:l,runtimeFieldFilters:u}=e,m=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Ps(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...pn(r),...fn(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?c:null,query_expansion_enabled:d.enabled,query_expansion_provider:d.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:m(r.limit),runtime_filters: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]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var Em=1.2,Cm=.75;function ir(e){return ue(e)}function Im(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Us(e){let t=[],n=new Map,r=0;for(let o of e){let s=ir(o.text),a=Im(s);r+=s.length;for(let c of a.keys())n.set(c,(n.get(c)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function xm(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Bs(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,xm(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[c,d]of o){let l=s.termFrequencies.get(c);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,m=l+n.k1*u;a+=d*(l*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function js(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Gs(e){let t=n=>typeof n=="string"?[n]:typeof n=="number"?[String(n)]:Array.isArray(n)?n.flatMap(t):typeof n=="object"&&n!==null?Object.values(n).flatMap(t):[];return t(Object.values(e)).join(" ")}function Hs(e){let t=e?.search?.bm25;return{k1:js(t?.k1,Em,0,1e3),b:js(t?.b,Cm,0,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]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var or=4,Tm=20,Rm=200,Am=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function sr(e,t){let n=[],r=new Set;for(let i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function Dm(e){let t=e.toLowerCase();return t.length>4&&t.endsWith("ies")?`${t.slice(0,-3)}y`:t.length>4&&(t.endsWith("ches")||t.endsWith("shes")||t.endsWith("xes")||t.endsWith("zes")||t.endsWith("sses"))?t.slice(0,-2):t.length>3&&t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("as")?t.slice(0,-1):t}function Fm(e){let t=e.toLowerCase();return t.length>2&&(!t.endsWith("s")||t.endsWith("ss"))?t.endsWith("y")&&!/[aeiou]y$/u.test(t)?`${t.slice(0,-1)}ies`:t.endsWith("ch")||t.endsWith("sh")||t.endsWith("x")||t.endsWith("z")||t.endsWith("ss")?`${t}es`:`${t}s`:t}function qs(e,t=or){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=ue(n);if(r.length===0)return[n];let i=r.filter(a=>!Am.has(a.toLowerCase())),o=r.map(a=>Dm(a)),s=i.map(a=>Fm(a));return sr([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function Ws(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?sr(t.filter(n=>typeof n=="string"),or):[]}function zs(e,t,n){return sr([...e,...t],Math.max(1,n))}function Ks(e,t){let n=e.search?.query_expansion,r=Ce(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:or}}function Vs(e,t){let n=e.search?.rerank,r=Ce(n?.model),i=Kr(n?.top_k)??Tm;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(Rm,i)}}function Xs(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=Ce(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function Mm(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Ys(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function $m(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Mm(e,t),i=Ys(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function Qs(e,t,n,r,i){if(r.length===0)return new Map;let o=Ce(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(m=>m.text)],c=await yt(s,a,i?{timeout_ms:i}:{}),d=c[0];if(!d)return new Map;let l=Ys(d),u=new Map;for(let m=0;m<r.length;m+=1){let h=r[m],g=c[m+1];if(!g)continue;let y=$m(d,g,l);u.set(h.id,Math.max(0,Math.min(1,(y+1)/2)))}return 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]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function ve(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Ke(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ar(e){let t=e.metadata;return[t.title,t.description,t.status,ve(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),_t(t).join(" "),wt(t).join(" "),Ke(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),bt(t)]}function cr(e,t){return ar(e).some(n=>P(n).includes(t))}function dr(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&P(r.metadata.title)!==t||n.phraseExact&&!cr(r,t)))}function Om(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',f.USAGE)}function Nm(e,t,n){let r=De(e.assignee,{label:"--assignee"});Om(r);let i=ao(e),o=co(e);return{typeFilter:Qi(e.type,t),tagFilter:De(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Ji(e.priority),deadlineBefore:Yn(e.deadlineBefore,"deadline-before"),deadlineAfter:Yn(e.deadlineAfter,"deadline-after"),updatedAfter:oe(e.updatedAfter,"updated-after"),updatedBefore:oe(e.updatedBefore,"updated-before"),createdAfter:oe(e.createdAfter,"created-after"),createdBefore:oe(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:De(e.sprint,{label:"--sprint"}),releaseFilter:De(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:eo(i),contentFieldFilters:o,contentFiltersActive:no(o)}}function Lm(e,t){return Pm(e,t)&&pi(e,t)&&jm(e,t)}function Pm(e,t){if(t.statusSet&&!t.statusSet.has(e.status)||t.typeFilter&&!t.typeFilter.has(e.type))return!1;let n=t.tagFilter;return!(n&&!ve(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function jm(e,t){return!(t.assigneeFilter!==void 0&&(e.assignee===void 0||!t.assigneeFilter.has(e.assignee))||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))||t.releaseFilter!==void 0&&(e.release===void 0||!t.releaseFilter.has(e.release))||t.parentFilter!==void 0&&e.parent!==t.parentFilter)}function Um(e,t,n,r){let i=e.metadata;return!(!Lm(i,t)||!ht(i,n)||t.missingMetadataActive&&!to(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!ro(i,t.contentFieldFilters))}function lr(e,t,n,r,i,o){let s=Nm(t,n,i);return e.filter(a=>Um(a,s,r,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]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var Bm=2,Gm=120,Hm=6,qm=40,Wm=1e3,zm=900,Km="\xAB",Vm="\xBB",Js=60;function Wt(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}var Zs=[{name:"title",weightKey:"title_weight",value:e=>e.metadata.title},{name:"description",weightKey:"description_weight",value:e=>e.metadata.description},{name:"tags",weightKey:"tags_weight",value:e=>ve(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>_t(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>wt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Ke(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>bt(e.metadata)}],Xm=new Map(Zs.map(e=>[e.name,e]));function ur(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${Km}${i}${Vm}`)}function mr(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-Js),s=Math.min(e.length,r+i+Js),a=ur(e.slice(o,s),t),c=o>0?"\u2026":"",d=s<e.length?"\u2026":"";return`${c}${a}${d}`}function zt(e,t,n){let r=[];for(let i of t){let o=Xm.get(i);if(o===void 0)continue;let s=mr(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function Ym(e,t,n){return[...Zs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Qm(e,t,n){let r=P(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=P(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Wm:zm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Jm(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let c=Wt(a.value.toLowerCase(),o);c>0&&(i.score+=c*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Zm(e,t,n,r){P(e.title)===t&&(r.score+=Gm,r.matched.add("title"));for(let i of n){let o=Wt(P(i.value),t);o>0&&(r.score+=o*i.weight*Hm,r.matched.add(i.name))}}function fr(e,t,n,r,i,o,s=!1){let a=e.metadata,c=Qm(a,n,o);if(c)return c;let d=new Map;for(let g of ue(a.title))d.set(g,(d.get(g)??0)+1);let l=Ym(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};Jm(t,d,l,i,u);let m=new Set(t),h=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&h&&(u.score+=qm),t.length>=Bm&&n.includes(" ")&&Zm(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,y)=>g.localeCompare(y)),matched_all_terms:h}}function pr(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=J(n.item.status,t),s=J(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let c=S(r.item.updated_at,n.item.updated_at);return c!==0?c:n.item.id.localeCompare(r.item.id)})}function hr(e,t,n,r,i,o,s,a=!1){return fr(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Ve(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let i of e.values())t=Math.min(t,i),n=Math.max(n,i);if(n===t)return new Map([...e.keys()].map(i=>[i,1]));let r=new Map;for(let[i,o]of e)r.set(i,(o-t)/(n-t));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]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Vt(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function Xt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Vt(e),r=`${t} ${n}`;return r.includes("timed out")||r.includes("timeout")||r.includes("etimedout")?"timeout":r.includes("econnrefused")||r.includes("connection refused")||r.includes("connect ")||r.includes("enotfound")||r.includes("eai_again")||r.includes("econnreset")||r.includes("fetch failed")?"connection":"error"}function gr(e,t){let n=Xt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function ea(e){return e?.commands?.some(t=>t.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function yr(e,t,n){try{let r=await qi(e);r.warnings.length>0&&n.push(...r.warnings);let i=ho(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=ea(E());n.push(...ta(i.length,o)),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${o.command}'${o.follow_up_command?`, then '${o.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
|
|
9
|
+
`)}catch{}}function ta(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Yt(e,t,n,r){if(!t.active)throw new p(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,f.USAGE);if(!n.active&&!r)throw new p(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,f.USAGE);return{provider:t.active,vectorStore:n.active??null}}var j=nt;function Xe(e){let t=E(),n=_i(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=j(r.name)??j(n.definition.name)??e;if(!a)return null;let c={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!c.query&&!c.queryExpansion&&!c.rerank?null:c}function _r(e){let t=j(e.search?.provider),n=Xe(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function wr(e){let t=E(),n=j(e.vector_store?.adapter),r=wi(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:j(i.name)??j(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function br(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new p(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,f.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=j(s.id),c=s.score;if(!a||typeof c!="number"||!Number.isFinite(c)||i.has(a))continue;let d=n.get(a);if(!d)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(m=>typeof m=="string")?[...new Set(l.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,h)=>m.localeCompare(h)):[`provider:${e}`];i.add(a),o.push({item:d.metadata,score:c,matched_fields:u})}return o}function vr(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Kt(e,t){let n=t.filter(c=>c.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(c=>c.item.id)),i=e.filter(c=>!r.has(c.item.id)),o=i.reduce((c,d)=>Math.max(c,d.score),0),s=n.sort((c,d)=>d.score-c.score),a=o+s.length+1;return[...s.map((c,d)=>({...c,score:a-d,matched_fields:["id"]})),...i]}function Qt(e,t,n,r,i="semantic"){let o=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=Ve(t),c=Ve(o),d=new Set([...t.keys(),...o.keys()]),l=1-r;return[...d].map(u=>{let m=e.get(u),h=a.get(u)??0,g=c.get(u)??0,y=h*r+g*l;if(y<=0)return null;let _=new Set;t.has(u)&&_.add(i);for(let w of s.get(u)??[])_.add(w);return{item:m.metadata,score:y,matched_fields:[..._].sort((w,I)=>w.localeCompare(I))}}).filter(u=>u!==null)}function kr(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Sr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Gs(Gi(s,{fields:e.corpusFields}))})),n=Us(t),r=Bs(n,ir(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,c])=>({item:i.get(a).metadata,score:c,matched_fields:["bm25"]}));return Kt(s,e.keywordHits)}let o=Qt(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Kt(o,e.keywordHits)}function Er(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function Cr(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
|
|
10
|
+
`)}async function ef(e,t){let n=e.queryExpansion.enabled?qs(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return zs(r,Ws(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function tf(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,f.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await mn(e.vectorStore,t,n,r)}if(e.vectorStore)return await mn(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",f.USAGE)}function nf(e,t,n){return[...e].sort((r,i)=>r.score!==i.score?i.score-r.score:r.item.id.localeCompare(i.item.id)).slice(0,n).map(r=>{let i=t.get(r.item.id);return i?{hit:r,text:Cr(i)}:null}).filter(r=>r!==null)}async function rf(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Xs(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function of(e,t,n){let r=await rf(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await Qs(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function sf(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,c)=>a.localeCompare(c))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function af(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=nf(n,r,e.rerank.top_k),o=await of(e,t,i);return o&&o.size>0?sf(n,o):n}async function Ir(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await ef(e,i),s=await yt(e.provider,o,n),a=await Promise.all(s.map(async g=>await tf(e,g,t,r))),c=Er(a),d=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=vr(c,d),m=u.size;if(e.requestedMode==="semantic")return{hits:Kt(l,e.keywordHits),vectorMatchCount:m};let h=await af(e,i,Qt(d,u,e.keywordHits,e.hybridSemanticWeight),d);return{hits:Kt(h,e.keywordHits),vectorMatchCount:m}}function na(e){let t=Xe(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function ra(e){let t=Xe(j(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Jt from"node:fs/promises";import xr 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]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}catch{}})();function Tr(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function ia(e){let t=xr.resolve(e);try{let n=await Jt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function Rr(e,t){let[n,r]=await Promise.all([ia(e),ia(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function Ar(e,t){let n=Tr(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=xr.resolve(o.resolved,i.path);if(!rn(o.resolved,s))continue;let a;try{a=await Jt.realpath(s)}catch{continue}if(rn(o.realpath,a))try{await Ie({path:s,scope:i.scope}),r.push(await Jt.readFile(s,"utf8"))}catch{}}return r.join(`
|
|
11
|
+
`)}async function Dr(e,t,n,r){let i=le(E()),o=async(d,l,u)=>{let m=async(h,g)=>{await Ie({path:h,scope:"project"});let y=await Jt.readFile(h,"utf8");return bi(y,{format:g,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await m(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",g=on(e,d.type,d.id,h,n);try{return await m(g,h)}catch{return s.push(`item_list_item_read_failed:${xr.relative(e,g)}`),""}}},s=[],a=await Ni(e,t,n,s,r),c=[];if(a.length===0){let d=await Li(e,t,n,s,r);for(let l of d){let u=on(e,l.type,l.id,t,n),m=await o(l,u,t);c.push({metadata:l,body:m})}return{documents:c,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let d of a){if(typeof d.body=="string"){c.push({metadata:d.metadata,body:d.body});continue}let l=await o(d.metadata,d.item_path,d.item_format);c.push({metadata:d.metadata,body:l})}return{documents:c,warnings:[...new Set(s)].sort((d,l)=>d.localeCompare(l))}}async function oa(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await Rr(i,Xr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await Ar(a,o)]));for(let[a,c]of s)r.set(a,c);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]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var sa=["tag","status","type","priority"];function Fr(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=sa.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function Mr(e,t,n){let r={...e};for(let i of sa){let o=t[i];if(o!==void 0){if(nt(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function aa(e,t){let n=[],r=Fr(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",f.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=Mr(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Gt(s.includeLinked),titleExact:Gt(s.titleExact),phraseExact:Gt(s.phraseExact),matchMode:Os(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Ns(s.minScore),countOnly:s.count===!0,tokens:qt(o),normalizedQuery:P(o),limit:pe(s.limit),projection:Ht(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function ca(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",f.USAGE)}(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]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function Or(e,t,n,r,i,o,s,a,c,d,l,u,m,h){let g=m?{total:0,count_only:!0}:{};if(d.mode==="compact"&&r.compact===!0){let _=we({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...jr(h),items:[],count:0,...g,filters:_,...l.length>0?{warnings:l}:{}}}let y=d.mode==="full"?null:[...d.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:be({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:c,runtimeFieldFilters:u??{}}),projection:{mode:d.mode,fields:y},now:D(),...l.length>0?{warnings:l}:{}}}function Nr(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function Lr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=Nr(n,i);return r})}function Pr(e,t){return Or(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}function da(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return $r({query:e.query.trim(),mode:e.effectiveMode,...jr(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:we({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let n=e.projection.mode==="full"?null:[...e.projection.fields];return $r({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:be({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:e.projection.mode,fields:n},now:D()},e.warnings)}function jr(e){return e==="settings"?{mode_source:e}:{}}function $r(e,t){return t.length===0?e:{...e,warnings:t}}function Ye(e,t){return t?{...e,workspace_memory:t}:e}function la(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:zt(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function ua(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return $r({query:e.query.trim(),mode:e.effectiveMode,...jr(e.modeSource),items:t,count:t.length,...s,...o,filters:we({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...o,filters:be({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:i.mode,fields:a},now:D(),...e.warnings.length>0?{warnings:e.warnings}:{}}}(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]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var R_={applyFilters:lr,applyExactQueryFilters:dr,applyInlineQueryFilters:Mr,buildHitHighlights:zt,buildVerboseSearchFilters:be,buildExplicitSemanticFallbackWarning:gr,buildCompactSearchFilterSummary:we,buildHybridLexicalScore:hr,buildRerankCorpus:Cr,buildSemanticHits:vr,classifyImplicitSemanticFallbackReason:Xt,collectErrorCauseCodes:Vt,collectExactPhraseFields:ar,collectLinkedPaths:Tr,combineHybridHits:Qt,computeBuiltInBm25Hits:Sr,computeSemanticOrHybridHits:Ir,resolveBuiltInBm25Mode:kr,countOccurrences:Wt,dependencyEntries:Ke,documentContainsExactPhrase:cr,emptySearchResult:Or,highlightFieldSnippet:mr,loadDocuments:Dr,markTokenRuns:ur,parseInlineQueryFilters:Fr,maybeEmitVectorIndexStaleWarning:yr,loadLinkedCorpus:Ar,mergeVectorHitsById:Er,normalizeExtensionProviderHits:br,normalizeScoreMap:Ve,parseProjectionConfig:Ht,parseTimestampWindow:oe,parseTokens:qt,projectSearchHits:Lr,readSearchFieldValue:Nr,requireSemanticDependencies:Yt,resolveExtensionSearchProvider:_r,resolveExtensionSearchProviderByName:Xe,resolveExtensionVectorAdapter:wr,resolveLinkedCorpusRoots:Rr,scoreDocument:fr,sortHits:pr,stringArray:ve,textEntries:K,validateSearchProjectionFields:Qn};async function cf(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=Oi(r).settings,o=N(i.schema),s=Q(i.schema);Qn(e.projection,s,e.query);let a=pt(e.options,s,"search"),c=R(i,E()),d=Ui(i),l=Hi(i,n),u=_r(i),m=wr(i),h=$s(e.options.semanticWeight),g=Ks(i,d.active?.name??null),y=Vs(i,d.active?.model??j(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:c,maxResults:Jn(i),scoreThreshold:e.minScoreOverride??er(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??tr(i),tuning:nr(i),providerResolution:d,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:kr({configuredProvider:j(i.search?.provider),hasEmbeddingProvider:d.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:na(g),rerank:y,rerankExtension:ra(i),...df({requested:e.options.mode,settings:i,configuredProvider:r.search?.provider??null,providerResolution:d,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m})}}function df(e){let t=ji(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Zn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function lf(e,t){let n=await Dr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=ft(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=Zi(t.statusRegistry),o=lr(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:dr(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function uf(e,t,n){let r=await oa(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>hr(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}async function mf(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Sr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Bi(t.settings),bm25Params:Hs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function ff(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return br(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,f.GENERIC_FAILURE);return null}}function pf(e,t,n,r){return t.vectorMatchCount>0?t.hits:(r.push(`search_${e}_degraded:no_vector_matches:results_are_lexical`),e==="semantic"?n:t.hits)}async function hf(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await yr(e.pmRoot,n,r),e.extensionSearchProvider||Yt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function gf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,c=await mf(t,n,r,i,o),d=n.effectiveMode;if(c!==null||d==="keyword")return{effectiveMode:n.effectiveMode,hits:c??a};try{if(await hf(n,d,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await ff(t,n,r,l)??a,a===i){let{provider:u,vectorStore:m}=Yt(d,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ir({requestedMode:d,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=pf(d,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(gr(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function ma(e){e.searchOptions.after!==void 0&&ui(e.searchOptions.after,rr(e))}async function A_(e,t,n){ca(t);let r=aa(e,t),i=await cf(r,n),o=await lf(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await $t(o.allDocuments.map(k=>k.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:D()});s.push(...a.warnings);let c=ts(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let d={query:r.query,modeSource:i.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return ma({query:r.query,mode:i.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Ye(Pr({...d,effectiveMode:i.effectiveMode},r.countOnly),c);let l=await uf(r,i,o.filteredDocuments),u=await gf({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return ma({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Ye(Pr({...d,effectiveMode:u.effectiveMode},r.countOnly),c);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=i.scoreThreshold),h=pr(m,i.statusRegistry),g=h.length,y=Ls({pmRoot:i.pmRoot,sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),_={...d,effectiveMode:u.effectiveMode};if(r.countOnly)return Ye(da(_,g),c);let{hits:w,projection:I}=la(r,o.filteredDocuments,y.limited),b=Lr(w,I);return Ye(ua(_,b,g,y.limited.length,I,y.pageExtras),c)}(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]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var fa=["ndcg","mrr","precision","recall"];function yf(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!fa.some(i=>i===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function F_(e,t){let n=yf(t),r=[];for(let i of fa){let o=n[i];if(o===void 0)continue;let s=e[i];!Number.isFinite(s)||s<0||s>1?r.push(`${i}:invalid`):s<o&&r.push(`${i}:${s}<${o}`)}return r}export{Fe as a,wf as b,ha as c,gn as d,kf as e,ka as f,Sa as g,Sf as h,xf as i,Ph as j,_o as k,Mf as l,$f as m,Of as n,Nf as o,wo as p,Me as q,Yf as r,Qf as s,Jf as t,Oo as u,It as v,yc as w,xt as x,Rt as y,pp as z,jo as A,Rn as B,Dt as C,Vc as D,Ho as E,Zc as F,Ft as G,ed as H,td as I,od as J,sd as K,Cp as L,ad as M,qo as N,An as O,Dn as P,yd as Q,Sd as R,Np as S,Fn as T,Mn as U,Mt as V,Td as W,Fd as X,$t as Y,jd as Z,es as _,Ud as $,ts as aa,Bd as ba,Vd as ca,je as da,ph as ea,Ln as fa,Qd as ga,Jd as ha,jn as ia,ie as ja,Bn as ka,Gn as la,Hn as ma,ye as na,Ge as oa,Pt as pa,hh as qa,tu as ra,gh as sa,su as ta,Fh as ua,Mh as va,$h as wa,Oh as xa,Nh as ya,qh as za,Wh as Aa,Rs as Ba,As as Ca,Ds as Da,wg as Ea,bg as Fa,Dg as Ga,Jn as Ha,Zn as Ia,er as Ja,tr as Ka,nr as La,rr as Ma,Ls as Na,we as Oa,be as Pa,Vt as Qa,Xt as Ra,ea as Sa,ta as Ta,R_ as Ua,A_ as Va,fa as Wa,yf as Xa,F_ as Ya};
|
|
12
|
+
//# sourceMappingURL=chunk-4NVPDZLX.js.map
|