@unbrained/pm-cli 2026.9.10 → 2026.9.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +53 -11
- package/dist/cli/command-namespaces.d.ts +2 -2
- package/dist/cli/command-namespaces.js +1 -1
- package/dist/cli/error-guidance.d.ts +10 -0
- package/dist/cli/error-guidance.js +1 -1
- package/dist/cli/extension-command-help.js +3 -3
- package/dist/cli/main.d.ts +4 -0
- package/dist/cli/main.js +2 -2
- package/dist/cli/option-values.d.ts +3 -0
- package/dist/cli/option-values.js +2 -0
- package/dist/cli/register-history-maintenance.js +2 -1
- package/dist/cli/register-list-query.js +2 -2
- package/dist/cli/register-mutation.d.ts +5 -0
- package/dist/cli/register-mutation.js +2 -16
- package/dist/cli/schema/registration.d.ts +4 -0
- package/dist/cli/schema/registration.js +16 -0
- package/dist/cli-bundle/bundle-manifest.json +156 -156
- package/dist/cli-bundle/chunks/{chunk-NKOYVKFM.js → chunk-2JAY4LFI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-I6XT3DLQ.js → chunk-3ZJDGTYC.js} +53 -53
- package/dist/cli-bundle/chunks/chunk-67H4PKQ5.js +3 -0
- package/dist/cli-bundle/chunks/{chunk-EOCKPCEY.js → chunk-7H33WPDF.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-7KF6HCRC.js +20 -0
- package/dist/cli-bundle/chunks/chunk-DEGRLB6Y.js +235 -0
- package/dist/cli-bundle/chunks/chunk-GKY655T7.js +6 -0
- package/dist/cli-bundle/chunks/chunk-I6VQUHK6.js +8 -0
- package/dist/cli-bundle/chunks/chunk-PTX2JRFR.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-PYUITRSV.js → chunk-TAGDYARO.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-X6POOZKD.js +29 -0
- package/dist/cli-bundle/chunks/{chunk-4SFBH77G.js → chunk-YU75JRTW.js} +156 -142
- package/dist/cli-bundle/chunks/{register-list-query-CUIW7SSE.js → register-list-query-KEZPDR6X.js} +6 -6
- package/dist/cli-bundle/chunks/register-mutation-HEXA3ZDM.js +20 -0
- package/dist/cli-bundle/chunks/{register-operations-XIZPLPQY.js → register-operations-TEZT65JF.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-JVGPCAIL.js → register-setup-IIL74WUG.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ZAWAL2CG.js → chunk-2BQ4JSJQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-5CRND7UA.js +12 -0
- package/dist/cli-bundle/focused-chunks/chunk-5PSYV3AT.js +164 -0
- package/dist/cli-bundle/focused-chunks/{chunk-SL5YVVPV.js → chunk-7EKXAUKF.js} +53 -52
- package/dist/cli-bundle/focused-chunks/chunk-BIOWOU6S.js +30 -0
- package/dist/cli-bundle/focused-chunks/chunk-EIXGDI77.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-GAKFECOQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-HFAW3FJQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-U5SHHU7E.js → chunk-IURELABV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-KK7KSXUP.js +8 -0
- package/dist/cli-bundle/focused-chunks/{chunk-ZDNAWWQI.js → chunk-LWJBBM6X.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-MFVABYEU.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7N5MRONP.js → chunk-PERRTPIY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-FHUARRMA.js → chunk-SDQOOL34.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-M36SF4GE.js → chunk-TTRB47KM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-VWMP6W7Y.js +20 -0
- package/dist/cli-bundle/focused-chunks/chunk-YNBACVQ2.js +2 -0
- package/dist/cli-bundle/main.js +21 -21
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +29 -29
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +42 -42
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +10 -10
- package/dist/core/history/digest.d.ts +12 -0
- package/dist/core/history/digest.js +2 -0
- package/dist/core/history/drift-scan.js +1 -1
- package/dist/core/history/history.d.ts +5 -3
- package/dist/core/history/history.js +2 -2
- package/dist/core/history/operation-contract.d.ts +30 -0
- package/dist/core/history/operation-contract.js +2 -0
- package/dist/core/history/replay.d.ts +3 -2
- package/dist/core/history/replay.js +1 -1
- package/dist/core/history/tombstone.d.ts +3 -0
- package/dist/core/history/tombstone.js +2 -0
- package/dist/core/item/id.d.ts +8 -7
- package/dist/core/item/id.js +1 -1
- package/dist/core/output/mutation-projection.d.ts +1 -0
- package/dist/core/output/mutation-projection.js +1 -1
- package/dist/core/shared/command-line.d.ts +10 -0
- package/dist/core/shared/command-line.js +2 -0
- package/dist/core/shared/errors.d.ts +13 -0
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/store/item-store.d.ts +5 -1
- package/dist/core/store/item-store.js +1 -1
- package/dist/core/telemetry/runtime.d.ts +1 -0
- package/dist/core/telemetry/runtime.js +2 -2
- package/dist/sdk/agent/command-recovery.js +1 -1
- package/dist/sdk/agent/item-addressing.js +1 -1
- package/dist/sdk/agent/refusal-corpus-contracts.js +1 -1
- package/dist/sdk/agent-capability-contracts.js +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +2 -1
- package/dist/sdk/cli-bootstrap.js +1 -1
- package/dist/sdk/cli-contracts/command-aliases.d.ts +2 -0
- package/dist/sdk/cli-contracts/command-aliases.js +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts/enum-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +3 -0
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/cli-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts.js +1 -1
- package/dist/sdk/command-line.d.ts +1 -6
- package/dist/sdk/command-line.js +1 -1
- package/dist/sdk/comments.js +1 -1
- package/dist/sdk/completion.d.ts +2 -0
- package/dist/sdk/completion.js +26 -14
- package/dist/sdk/contracts.d.ts +2 -0
- package/dist/sdk/contracts.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/storage-integrity.js +1 -1
- package/dist/sdk/governance/workflow-completeness.js +1 -1
- package/dist/sdk/governance/workflow-policy.js +2 -2
- package/dist/sdk/governance.d.ts +3 -0
- package/dist/sdk/governance.js +1 -1
- package/dist/sdk/history/attestation-command.d.ts +22 -0
- package/dist/sdk/history/attestation-command.js +3 -0
- package/dist/sdk/history/attestation-contract.d.ts +103 -0
- package/dist/sdk/history/attestation-contract.js +2 -0
- package/dist/sdk/history/attestation-scan.d.ts +16 -0
- package/dist/sdk/history/attestation-scan.js +2 -0
- package/dist/sdk/history/attestation.d.ts +8 -0
- package/dist/sdk/history/attestation.js +2 -0
- package/dist/sdk/history/salvage.js +1 -1
- package/dist/sdk/history-compact.js +1 -1
- package/dist/sdk/history-read.js +1 -1
- package/dist/sdk/history-redact.js +1 -1
- package/dist/sdk/history-repair.js +1 -1
- package/dist/sdk/index.d.ts +3 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/learnings.js +1 -1
- package/dist/sdk/lifecycle/claim.d.ts +2 -0
- package/dist/sdk/lifecycle/claim.js +1 -1
- package/dist/sdk/lifecycle/mcp-actions.d.ts +4 -0
- package/dist/sdk/lifecycle/mcp-actions.js +1 -1
- package/dist/sdk/lifecycle/task-composition.d.ts +2 -0
- package/dist/sdk/lifecycle/task-composition.js +1 -1
- package/dist/sdk/merge/reconcile.js +1 -1
- package/dist/sdk/merge/three-way.js +2 -2
- package/dist/sdk/notes.js +1 -1
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/projection-contracts.d.ts +1 -1
- package/dist/sdk/query/projection-contracts.js +1 -1
- package/dist/sdk/read-output-budget.d.ts +4 -10
- package/dist/sdk/read-output-budget.js +1 -1
- package/dist/sdk/read-output-contracts.d.ts +1 -1
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/read-output-session.d.ts +1 -1
- package/dist/sdk/read-output-session.js +1 -1
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/runtime.d.ts +3 -0
- package/dist/sdk/runtime.js +1 -1
- package/dist/types.d.ts +5 -1
- package/dist/types.js +1 -1
- package/docs/AGENT_UX_CONTRACTS.md +8 -0
- package/docs/ARCHITECTURE.md +7 -0
- package/docs/CLI_GRAMMAR.md +23 -0
- package/docs/HISTORY_ATTESTATION.md +164 -0
- package/docs/HISTORY_OPERATIONS.md +46 -0
- package/docs/HISTORY_RECOVERY.md +27 -2
- package/docs/LIFECYCLE_COMMANDS.md +19 -2
- package/docs/MERGE_SAFETY.md +64 -3
- package/docs/README.md +1 -0
- package/docs/READ_OUTPUT_CONTRACTS.md +13 -0
- package/docs/WORKFLOW_POLICIES.md +47 -3
- package/docs/generated/AGENT_CAPABILITY_ROUTING.md +4 -4
- package/docs/generated/AGENT_COMMAND_SURFACE.md +5 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +5 -0
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +10 -7
- package/marketplace.json +2 -2
- package/package.json +4 -4
- 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/README.md +31 -7
- package/packages/pm-governance-audit/extensions/governance-audit/index.ts +6 -3
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +7 -19
- 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/README.md +9 -5
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +3 -2
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-74RGSPLL.js +0 -2
- package/dist/cli-bundle/chunks/chunk-7WIHZI2M.js +0 -5
- package/dist/cli-bundle/chunks/chunk-GLQMKUGP.js +0 -2
- package/dist/cli-bundle/chunks/chunk-MACGGTLQ.js +0 -29
- package/dist/cli-bundle/chunks/chunk-P6BEYAON.js +0 -8
- package/dist/cli-bundle/chunks/chunk-TSWEX72T.js +0 -20
- package/dist/cli-bundle/chunks/chunk-YKQTETJI.js +0 -235
- package/dist/cli-bundle/chunks/register-mutation-5F5CYUWZ.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-26O2WB73.js +0 -10
- package/dist/cli-bundle/focused-chunks/chunk-5YU75QLV.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-B2CMFYRZ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-CRY5MHEI.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-F6WKFXBT.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-OROZM37I.js +0 -177
- package/dist/cli-bundle/focused-chunks/chunk-PNGYYQY7.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-TPOL4TWE.js +0 -9
- package/dist/cli-bundle/focused-chunks/chunk-XSMA2W6Q.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-ZJHYQOTM.js +0 -20
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{$ as Br,$a as co,Da as me,K as Pt,L as Gr,Ma as Xr,U as Je,Ua as B,Va as Qr,W as fe,Wa as Jr,X as Ze,Xa as ro,Y as et,Z as Wr,Za as Se,_a as ao,a as be,aa as qr,ab as lo,b as Lr,ba as tt,bb as uo,ca as zr,cb as fo,d as Nr,da as jt,e as Pr,ea as Ut,fa as Ht,fb as mo,g as jr,ga as Kr,gb as po,ib as ho,jb as go,ka as Vr,la as Gt,m as Ur,mb as _o,n as Hr,nb as Bt,ob as qt,pb as q,ua as Yr,vb as yo}from"./chunk-ZJHYQOTM.js";import{e as $t,f as Ot,g as Lt,h as Nt}from"./chunk-CRY5MHEI.js";import{Ma as or,Ua as ir}from"./chunk-B2CMFYRZ.js";import{$a as Mr,Bb as Zr,Cb as eo,D as J,Ea as Xe,Fa as Ir,Fb as to,Ga as Ar,O as N,Oa as M,P as R,Q as X,T as wr,Tb as no,X as W,Xa as Rr,Ya as Fr,Yb as ke,_b as oo,aa as br,bc as Wt,cc as io,dc as so,ec as nt,f as pr,g as hr,h as gr,hb as Qe,i as _r,j as yr,jb as Dr,ka as kr,la as Sr,lb as j,ma as Er,mb as de,n as we,nb as le,pb as $r,qb as ue,tb as Or,va as Cr,w as vr,xa as xr,za as Tr}from"./chunk-OROZM37I.js";import{b as Yn,m as P,o as Y}from"./chunk-M36SF4GE.js";import{D as lr,G as O,J as ur,K as E,L as fr,M as G,S as ze,U as Ke,W as Ve,Z as mr,_ as Ye,e as ce,f as dr,h as qe,u as x,z as ve}from"./chunk-26O2WB73.js";import{$ as m,$c as sr,Aa as F,Eb as rr,Ga as C,H as ae,Ia as Zn,Ka as Mt,M as Rt,Ma as Ge,N as Ue,Pa as ye,Qa as Dt,V as Kn,Va as er,Wa as tr,Z as Vn,Zc as We,_c as Be,aa as p,dd as ar,ed as cr,i as zn,ja as Xn,ka as He,la as Qn,na as Jn,pb as nr,qa as Ft}from"./chunk-TPOL4TWE.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]="f6e02611-4b44-5aa3-b762-9fd984aa12bc")}catch{}})();var Ns=["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"],zt=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 Gf(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function T(e,t,n,r){t&&e.push({code:n,message:r})}function Ps(e,t){let n=z(e.completeness)?e.completeness:{};T(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),T(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,o=n.unreadable_directory_count;T(t,n.status==="complete"&&(r!==0||o!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(o),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),T(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(o)||Number(r)<0||Number(o)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let i=z(e.filters)?e.filters:{},s=z(i.runtime_filters)?i.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return T(t,i.status!=="all"||Object.keys(s).length>0||Object.keys(i).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),T(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),T(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function js(e,t,n){T(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."),T(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=z(e.projection)?e.projection:{};T(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let o=z(e.omission_receipt)?e.omission_receipt:void 0;T(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),T(n,o!==void 0&&(o.has_omissions!==!1||o.omitted_field_group_count!==0||!Number.isSafeInteger(o.omitted_field_group_count)||!Array.isArray(o.omitted_field_groups)||o.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),T(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Us(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 Hs(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 Gs(e,t){let n=z(e.read_output)?e.read_output:void 0;T(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),T(t,n!==void 0&&Us(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),T(t,n!==void 0&&!Hs(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),T(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=z(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;T(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),T(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function Ws(e,t){let n=e.map(r=>z(r)&&typeof r.id=="string"?r.id.trim():"");T(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),T(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Bs(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Ns[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Ps(t,n);return js(t,r,n),Gs(t,n),Ws(t.items,n),{ok:n.length===0,findings:n}}function qs(e){let t=Bs(e);if(!t.ok)throw new zt(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 Wf(e){qs(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]="ed4ecd27-71df-5dca-a155-11409db4af21")}catch{}})();function vo(e,t){let n=Tr(e),r=e.length>0?e[e.length-1].after_hash:Er(),o=t===void 0||n.item_hash_version===void 0?void 0:Sr(t,n.item_hash_version),i=t===void 0?void 0:o===void 0?kr(t):o[Math.max(0,o.indexOf(r))],s=i===void 0?void 0:i===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}async function wo(e,t,n={}){let r=C(n.cwd??process.cwd(),n.pmRoot);await j(r);let o=await M(r),i=F(o,x()),s=await jr(r,e,o,i.type_to_folder),a=await W(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let d=Lr(t,a),c=Pr(Nr(a,d.historyIndex),d),l=Cr(c,{schema:o.schema});if(l.metadata.id!==s.id)throw new p(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[d.historyIndex],f=be(a,!0);return{document:l,reconstructed:!0,as_of_version:f===null?null:f+d.historyIndex+1,as_of_timestamp:u.ts,target:d,history_length:a.length}}import Ks from"node:fs/promises";import Eo 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]="94a81e04-bb02-5c2e-9362-4cf7212d66e6")}catch{}})();var Kt={version:1,aliases:{}};function rt(e=[]){let t=new Set(we),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let o of Object.keys(r.provenance_environment_keys??{}))n(o);for(let o of Object.keys(r.provenance_resolvers??{}))n(o);for(let o of r.provenance_unavailable_dimensions??[])n(o)}return[...t].sort()}function bo(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function Vt(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 zs(e,t=we){let n=new Set(t),r=new Map,o=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let i of o.flatMap(s=>s.split(","))){let s=i.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),d=i.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||i.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function ot(e,t=Kt,n={}){let r=Vt(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 it(e,t=Kt,n=we){let r=bo(e.harness),o=bo(e.agentInstance),i=zs(e,n);return s=>{let d=Vt(s,t).agent_harness;if(r&&(!d||!r.has(d))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,l]of i){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function st(e,t=Kt,n=we){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);Vt(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].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]="03488490-bc4a-5988-9ceb-46800c6d7833")}catch{}})();var Vs=20,Ys=5,Xs=15,Qs="-24h";function km(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 Js={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Yt(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function ko(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",m.USAGE);let o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return G(o,new Date(t),n)}function Zs(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function So(e,t){return t===void 0?e:e.slice(0,t)}function Ee(e,t=""){return typeof e=="string"?e:t}function ea(e,t){return{...t,id:e,ts:Ee(t.ts),author:Ee(t.author,"unknown"),op:Ee(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ee(t.before_hash),after_hash:Ee(t.after_hash)}}function ta(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function na(e){try{return(await Ks.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Qn(t))return[];throw t}}function ra(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 oa(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Xs:n==="compact"?Vs:Ys}function ia(e,t){let n=O(),r=t==="digest",o=ko(e.to??(r?n:void 0),n,"--to"),i=ko(e.from??(r?Qs:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=fe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:Yt(e.id,"Activity --id"),op:Yt(e.op,"Activity --op"),author:Yt(e.author,"Activity --author"),from:i,to:o,limit:oa(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function sa(e){let t=C(process.cwd(),e.path);return await j(t),{pmRoot:t,settings:await M(t)}}async function aa(e){let t=F(e.settings,x()),n=await ue(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Fr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=Eo.join(e.pmRoot,"history");return await ve({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function ca(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Zs(t,n.from,n.to)}async function da(e,t){let n=[];for(let r of await na(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await W(Eo.join(e,r),o);for(let s of i){let a=ea(o,s);ca(s,a,t)&&n.push(a)}}return n}function la(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function ua(e){let t=[...e.entries()].sort(([r,o],[i,s])=>s-o||r.localeCompare(i)),n=t.slice(0,4).map(([r,o])=>`${r}:${o}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function fa(e,t){let n=new Map;for(let r of e){let o=n.get(r.id);if(o===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}o.eventCount+=1,E(r.ts,o.firstTs)<0&&(o.firstTs=r.ts),E(r.ts,o.lastTs)>0&&(o.lastTs=r.ts),o.operations.set(r.op,(o.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,o])=>{let i=t.get(r);return{id:r,type:i?.type??"unknown",status:i?.status??"unknown",title:(i?.title??"(item metadata unavailable)").slice(0,160),event_count:o.eventCount,first_ts:o.firstTs,last_ts:o.lastTs,operations:ua(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function ma(e){let t=new Map;for(let o of e)t.set(o.op,(t.get(o.op)??0)+1);let n=[...t.entries()].sort((o,i)=>i[1]-o[1]||o[0].localeCompare(i[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((o,[,i])=>o+i,0)]),Object.fromEntries(r)}function pa(e,t,n,r,o){if(e==="digest"){let s=fa(t,r),a=So(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=So(t,n);return e==="compact"?{rows:{compact_activity:la(i)},compact:!0,totalRows:t.length,returnedRows:i.length}:e==="provenance"?{rows:{provenance_activity:i.map(o)},compact:!1,totalRows:t.length,returnedRows:i.length}:{rows:{activity:i},compact:!1,totalRows:t.length,returnedRows:i.length}}async function Co(e,t){let n=await sa(t),r=ra(e),o=ia(e,r),i=await aa(n),s=rt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=it({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=ta(await da(i.historyDir,o)).filter(d),l=pa(r,c,o.limit,i.itemsById,f=>ot(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Js[r]},omission_receipt:qe("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:o.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:ma(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:st(c,a,s)}:{},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]="2a9a4dc0-8027-5761-9bbf-cac1ef83bd10")}catch{}})();var ha=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],ga=["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 _a(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Em(e,t,n={}){let r=n.includePagination!==!1;return[t,...ha.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(_a)||ga.some(i=>e?.[i]===!0)}function xo(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]="7a4a98b2-3872-506d-b88d-877b0033dd2d")}catch{}})();var To=["parent","type","priority","status","assignee","tags","sprint","release"];function Ao(e,t){let n=Je(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Ro(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),o=n&&n.length>0?n:void 0,i=r&&r.length>0?r:void 0;if(!o&&!i)return null;if(o&&i&&o!==i)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=o??i;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function Fo(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=Xr(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!To.includes(r))throw new p(`Aggregate group fields must be one of ${To.join("|")}; received "${r}"`,m.USAGE);return n}function Mo(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 Do(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 Mo(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function $o(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 at(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var ya={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Io(e,t){return t==null||t===""?ya[e]:String(t)}function va(e,t){return e.length===1?Io(e[0],t[e[0]]):e.map(n=>`${n}=${Io(n,t[n])}`).join(" | ")}function Oo(e,t,n){for(let r of n){let o=$o(e.group[r],t.group[r]);if(o!==0)return o}return 0}function Lo(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let o=r.trim();if(o.length===0)return null;let i=Number(o);if(Number.isFinite(i))return i}return null}function No(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Xt(e,t,n){let r=N(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 wa(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 ba(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function ka(e){e.accumulator.row.count+=1,e.includeCompletion&&Xt(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&ba(e.accumulator,e.numericValue)}function Sa(e,t,n,r){for(let o of t){let i=at(n,o),s=e.get(i);if(s){ka({...r,accumulator:s});continue}let a=wa(o,r.numericValue);r.includeCompletion&&Xt(a,r.item.status,r.statusRegistry),e.set(i,a)}}function Ea(e,t){let n={};for(let r of e)n[r]=Do(r,t);return n}function Ca(e,t,n){let r=[Ea(e,t)];if(n==="tuple")return r;for(let o of e){let i=t[o];if(!Array.isArray(i))continue;let s=[...new Set(i.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[o]:d}))))}return r}function xa(e,t,n,r){let o={...e.row,group_label:va(t,e.row.group)};return n&&(o.open=e.open_count,o.in_progress=e.in_progress_count,o.closed=e.closed_count,o.other=e.other_count,o.completion_pct=No(e.closed_count,e.row.count)),r!==null&&(o.null_count=e.null_count,r.sum&&(o.sum=e.numeric_sum),r.avg&&(o.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),o}function Ta(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 Rm(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=C(process.cwd(),t.path),r=await M(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...Y(r.schema).definitions.filter(w=>w.type==="number").map(w=>w.metadata_key)],s=Fo(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",m.USAGE);let d=Ao(e.status,o),c=Ro(e,[...new Set(i)].sort((w,S)=>w.localeCompare(S))),l=e.completion===!0,u=e.includeUnparented===!0,f=await q(void 0,{...xo(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,_=0,y=0,g=0;for(let w of f.items){let S=w;if(s.includes("parent")&&S.parent===void 0&&!u){_+=1;continue}let Q=c===null?null:Lo(S,c.field),A=Ca(s,S,a);Sa(h,A,s,{item:S,statusRegistry:o,includeCompletion:l,numericAggregation:c,numericValue:Q}),g+=A.length,y+=1}let v=[...h.values()].map(w=>xa(w,s,l,c)).sort((w,S)=>Oo(w,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...Ia(v,s,e),count:v.length,totals:{items_considered:f.items.length,items_grouped:y,items_skipped_unparented:_,group_memberships:g},filters:Ta({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:O(),...k?{warnings:k}:{}}}function Ia(e,t,n){let r=no(n.limit,"limit")??50,o=n.after===void 0?-1:e.findIndex(a=>at(t,a.group)===n.after);if(n.after!==void 0&&o<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",m.USAGE);let i=e.slice(o+1,o+1+r),s=o+1+i.length<e.length;return{groups:i,returned_count:i.length,truncated:s,next_after:s?at(t,i.at(-1).group):null}}var Fm={buildGroupKey:at,compareAggregateRows:Oo,compareNullableGroupValue:$o,completionPct:No,normalizeTagGroupValue:Mo,parseGroupBy:Fo,parseNumericAggregation:Ro,parseStatus:Ao,readNumericAggregateValue:Lo,resolveGroupValue:Do,updateCompletionCounts:Xt};import{encode as Aa}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77dd912c-158f-5280-8112-dd971be4df3b")}catch{}})();var Qt=["agenda","day","week","month"],Jt=["markdown","toon","json"],Ra=["sun","mon","tue","wed","thu","fri","sat"],Fa=365,Ma=365,Uo=28,Da=1e3;function Zt(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`,m.USAGE);return n}function $a(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(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let o of n){if(o==="deadlines"||o==="deadline"){r.add("deadlines");continue}if(o==="reminders"||o==="reminder"){r.add("reminders");continue}if(o==="events"||o==="event"||o==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Ho(e,t){let n;for(let r of t){let o=zn(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function Oa(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Qt.includes(t)){let n=Ho(t,Qt);throw new p(`Calendar view must be one of ${Qt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function La(e){if(!e)return;let t=e.trim().toLowerCase();if(!Jt.includes(t)){let n=Ho(t,Jt);throw new p(`Calendar format must be one of ${Jt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Pm(e,t){let n=La(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function Na(e,t){if(e===void 0)return;let n=N(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function Pa(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",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function ct(e){return new Date(e).toISOString().slice(0,10)}function Go(e,t){if(!t||t==="UTC")return ct(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,o=n.find(s=>s.type==="month")?.value,i=n.find(s=>s.type==="day")?.value;if(r&&o&&i)return`${r}-${o}-${i}`}catch{}return ct(e)}function rn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function K(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Wo(e){let t=new Date(rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return K(t.toISOString(),r)}function ja(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ua(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Ha(e,t){return E(e,t)>=0?e:t}function Po(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function jo(e,t){e.set(t,(e.get(t)??0)+1)}function Ga(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,o)=>ae(r)-ae(o));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,o)=>r-o);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,o)=>r.localeCompare(o));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Bo(e,t,n,r){let o=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(o.getUTCFullYear()!==e||o.getUTCMonth()!==t||o.getUTCDate()!==n))return o.toISOString()}function qo(e){return Ra[new Date(e).getUTCDay()]}function Wa(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=Wa(n);r&&t.add(r)}return t}function qa(e,t,n,r,o){let i=e??K(n,-(r??Ma)),s=t??K(e??n,o??Fa);return{start:i,end:E(s,i)>0?s:K(i,1)}}function za(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[qo(e)],i=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??Da,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(o)].sort((s,a)=>ae(s)-ae(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function dt(e,t){return E(t,e.startAt)<0?"continue":e.until&&E(t,e.until)>0||E(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,E(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function lt(e,t){let n=qo(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function Ka(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(lt(e,t)&&dt(e,t)==="stop");n+=1)t=K(t,e.interval);return e.occurrences}function Va(e,t,n){let r=ae(n),o=K(t,r),i=new Date(o);return new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function Ya(e){let t=Wo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=K(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=Va(e,r,o);if(lt(e,i)&&dt(e,i)==="stop")return e.occurrences}}return e.occurrences}function Xa(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=Bo(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!lt(e,s))&&dt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Qa(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=t+r*e.interval;for(let i of e.sortedMonthDays){let s=Bo(o,n,i,e.startDate);if(!(!s||!lt(e,s))&&dt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ja(e,t,n,r){let o=za(e,t,n,r);return t.freq==="daily"?Ka(o):t.freq==="weekly"?Ya(o):t.freq==="monthly"?Xa(o):Qa(o)}function zo(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;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 on(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 Za(e){return e.deadline?{at:e.deadline,date:ct(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,...on(e),item_deadline:e.deadline}:null}function ec(e){return(e.reminders??[]).map(t=>({at:t.at,date:ct(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,...on(e)}))}function tc(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function nc(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function rc(e,t,n,r){let o=Ga(t.recurrence),i=tc(t.start_at,t.end_at);return(t.recurrence?Ja(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Go(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:nc(a,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...on(e)}))}function oc(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?Za(i):null;s&&o.push(s),n.has("reminders")&&o.push(...ec(i));for(let a of n.has("events")?i.events??[]:[])o.push(...rc(i,a,t,r))}return zo(o)}function ic(e,t,n,r,o){let i=Jr(t.type,n),s=t.tag?.trim().toLowerCase(),a=Qr(t.priority),d=Na(t.status,r),c=t.assignee?.trim(),l=Pa(t.assigneeFilter),u=t.sprint?.trim(),f=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.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>sc(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function sc(e,t){return ac(e,t)&&cc(e,t)&&et(e,t.runtimeFieldFilters)}function ac(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 cc(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 dc(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function en(e,t,n){return e.trim().toLowerCase()==="today"?rn(t):G(e,new Date(t),n)}function lc(e,t,n){let r=t.date?en(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?en(t.from,n,"--from"):void 0,a=t.to?en(t.to,n,"--to"):void 0;if(s&&a&&E(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return uc(r,t,n,o,i,s,a);if(e==="day"){let c=rn(r);return tn(r,n,o,i,c,K(c,1))}if(e==="week"){let c=Wo(r);return tn(r,n,o,i,c,K(c,7))}let d=ja(r);return tn(r,n,o,i,d,Ua(r))}function uc(e,t,n,r,o,i,s){if(o)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function tn(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:Ha(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function fc(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:zo(r)}))}function mc(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let d of e)t.add(d.item_id),jo(n,d.item_type),jo(r,d.item_status),d.kind==="deadline"?o+=1:d.kind==="reminder"?i+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:o,reminders:i,scheduled:s,by_kind:{deadline:o,reminder:i,event:s},by_type:Po(n),by_status:Po(r),recurring_events:a}}function pc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Ko(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(i=>i.type==="hour")?.value,o=n.find(i=>i.type==="minute")?.value;if(r&&o)return`${r}:${o}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function nn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function hc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Go(e.event_end,e.event_timezone)?Ko(e.event_end,e.event_timezone):e.event_end:null}function gc(e){let t=`${Ko(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=hc(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 jm(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${pc(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- by-kind: ${nn(e.summary.by_kind)}`),t.push(`- by-type: ${nn(e.summary.by_type)}`),t.push(`- by-status: ${nn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
|
|
2
|
-
`);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${gc(r)}`);t.push("")}if(e.warnings&&e.warnings.length>0){t.push("### warnings");for(let n of e.warnings)t.push(`- ${n}`);t.push("")}return _c(t.join(`
|
|
3
|
-
`))}function Um(e){return Aa(e)}function _c(e){let t=e.length;for(;t>0&&e[t-1]===`
|
|
4
|
-
`;)t-=1;return e.slice(0,t)}function yc(e){let t=O(),n=Oa(e.view),r=lc(n,e,t),o=B(e.limit),i=$a(e.include),s=Zt(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Zt(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=Zt(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.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:o,includeSources:i,occurrenceLimit:d,recurrenceLookaheadDays:u?Uo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function vc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Uo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function wc(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 bc(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 Vo(e,t){let n=C(process.cwd(),t.path);await j(n);let r=yc(e),o=await M(n),i=P(o.schema),s=Y(o.schema),a=Ze(e,s,"calendar"),d=F(o,x()),c=[];vc(c,r.eventsOnlyCapApplied);let l=await ue(n,o.item_format,d.type_to_folder,c,o.schema),u=ic(l,e,d,i,a),f=qa(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),_=oc(u,f,r.includeSources,r.occurrenceLimit).filter(k=>dc(k,r.rangeBounds.start,r.rangeBounds.end)),y=r.limit===void 0?_:_.slice(0,r.limit),g=fc(y),v=[...new Set(c)].sort((k,w)=>k.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:bc(e,r.rangeBounds),filters:wc(e,a),summary:mc(y),events:y,days:g,...v.length>0?{warnings:v}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a4301eb-d8a5-52c0-8bf0-f65b3b9a96a3")}catch{}})();var Yo="1970-01-01T00:00:00.000Z";function Ce(e){if(typeof e!="string")return null;let t=e.trim();if(!ur(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]="dffb5f26-d8b4-5861-a7ea-0436bd4a22a6")}catch{}})();var sn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],kc=Symbol("no-context-author"),Sc=Symbol("no-item-assignee");function Xo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Ec(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]),o=Number(t[3]),i=new Date(Date.UTC(n,r-1,o));return i.getUTCFullYear()===n&&i.getUTCMonth()===r-1&&i.getUTCDate()===o?i.toISOString():void 0}function Cc(e){let t=Ec(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ce(e.created_at)??Yo}}function xc(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=Ce(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 Tc(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 Ic(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 Ac(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 ut(e,t,n){return e?.[t]??n}function ft(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?Cc(c):xc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,f=n.get(l.id).coordinate;return E(f,u)||c.id.localeCompare(l.id)}),o=new Map(r.map((c,l)=>[c.id,l])),i=Math.max(e.length-1,1),s=Xo(t.author,kc),a=N("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=Xo(c.assignee,Sc)===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-o.get(c.id)/i,activity_density:t.activityDensity?.[c.id],graph_proximity:ut(t.graphProximity,c.id,c.parent?.3:0),claim_focus:ut(t.claimFocus,c.id,R(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:Tc(c.priority,4),risk_pressure:Ac(c.risk),deadline_pressure:Ic(c.deadline,d),knowledge_density:ut(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:ut(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Rc="context_relevance",Fc={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},Mc=new TextEncoder;function Dc(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,o]of Object.entries(n.signals??{})){if(r==="structural"||!sn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(o!==void 0&&(!Number.isFinite(o)||o<0||o>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function $c(e){let t={...Fc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&sn.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 Jo(e,t={}){Dc(e);let n=$c(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(d);let i=sn.filter(a=>o.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of i){let _=c[h];if(_===void 0)continue;let y=_*n[h];l[h]=y,u+=y,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,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:i,ranked:s}}async function Oc(e,t={}){let n=Jo(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),o=new Map;for(let s of r){if(o.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");o.set(s.id,s.score)}if(o.size!==e.length||e.some(s=>!o.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let i=n.ranked.map(s=>{let a=o.get(s.id);return{...s,score:a,contributions:{custom:a}}});return i.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),i.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:i}}async function mt(e,t,n={}){let r=Jo(t,n),o=await lr(Rc,{surface:e,candidates:t,default_report:r});if(!o.handled)return o.warnings.length>0?{...r,warnings:o.warnings}:r;if(!Array.isArray(o.result)||!o.result.every(i=>typeof i=="object"&&i!==null&&typeof i.id=="string"&&typeof i.score=="number"&&Number.isFinite(i.score)))return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]};try{let i=await Oc(t,{...n,scorer:()=>o.result});return o.warnings.length>0?{...i,warnings:o.warnings}:i}catch{return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]}}}var Lc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Qo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Nc(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),o=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:Qo(e.required_ids??[],a),continuity_coverage:Qo(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function Pc(e){return Math.ceil(Mc.encode(JSON.stringify(e)).byteLength/4)}function jc(e){return Math.round(e*1e4)/1e4}function Uc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(i=>i.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(i=>i.id),r=new Set(n),o=(e.ranking?.items??[]).filter(i=>r.has(i.id)).map(i=>({id:i.id,contributions:i.contributions}));return{rankedIds:n,attribution:o}}async function Hc(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:"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:"unbounded"}),{rankedIds:r,attribution:o}=Uc(n,e.surface),i={...n,ranking:void 0},s=Pc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Nc({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:o}}function Gc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Lc;for(let i of n)if(!Number.isFinite(t[i]))throw new TypeError(`Context evaluation threshold ${i} must be a finite number`);let r=Object.fromEntries(n.map(i=>[i,jc(e.reduce((s,a)=>s+a.metrics[i],0)/e.length)])),o=n.filter(i=>r[i]<t[i]).map(i=>`${i}:${r[i]}<${t[i]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:o.length===0,failures:o}}async function Vm(e,t,n){let r=[];for(let o of e)r.push(await Hc(o,t));return Gc(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a533ce49-ef4f-50a0-9785-acd716999b29")}catch{}})();var Wc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Bc=["identity","summary","full"];function qc(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=Bc.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 zc(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=Wc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,o=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(o)||o<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:o,profile:t}}function Kc(e){let t=new Set;for(let n of e){if(qc(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 Vc(e,t,n,r,o){let i=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&o()>=r)return{index:i,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],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))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Yc(e){let t=new Set,n=[],r=e.tokenBudget,o=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)},i=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:o(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&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Vc(s,r,o,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;i(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function Xc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[o],c=a.token_costs[r]-a.token_costs[o];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 i){if(s.projection!==o)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Zo(e,t){let n=zc(t),r=Kc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Yc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,d=Xc(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 xe from"node:fs/promises";import Te from"node:path";import{createHash as ei,randomUUID as Qc}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190679b7-4723-5c76-be57-2ec88b92b109")}catch{}})();var an=3,cn=2,ti=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Jc=new Set(["substantive_history","release_cohort","created_at"]),Zc={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 pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ni(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function ed(e){let t={};for(let n of ti){let r=e[n];if(r!==void 0){if(!ni(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function td(e,t){let n=e.map(o=>[o.id,t(o)]),r=Math.max(0,...n.map(([,o])=>o));return Object.fromEntries(n.map(([o,i])=>[o,r===0?0:i/r]))}function nd(e){let t=new Map(e.map(o=>[o.id,0])),n=o=>{t.set(o,(t.get(o)??0)+1)};for(let o of e){typeof o.parent=="string"&&o.parent.trim()&&(n(o.id),n(o.parent.trim()));for(let i of o.dependencies??[])typeof i.id!="string"||!i.id.trim()||(n(o.id),n(i.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(o=>[o.id,r===0?0:t.get(o.id)/r]))}function ri(e,t){return{...t,activityDensity:t.activityDensity??td(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??nd(e)}}function un(e){let t=ei("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((o,i)=>o.id.localeCompare(i.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function rd(e){if(!pe(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",pe(e.signals),pe(t)].every(Boolean))return null;let n=t.recency;if(!pe(n))return null;let r=Ce(n.coordinate);if(r===null)return null;let o=new Set(ti),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&ni(a))||![typeof n.source=="string"&&Jc.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(i),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function od(e,t){let n=Array.from(e,rd);if(n.some(o=>o===null))return null;let r=n;return new Set(r.map(o=>o.id)).size!==r.length||r.some(o=>o.id.trim().length===0)||t!==un(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function id(e){if(!pe(e)||e.format_version!==an||e.signal_set_version!==cn||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=od(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:an,signal_set_version:cn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function oi(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 ii(e,t,n=un(e)){let r=e.map(({id:i})=>i);if(new Set(r).size!==r.length||r.some(i=>i.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let o=e.map(({id:i,signals:s,signal_provenance:a})=>({id:i,signals:ed(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:an,signal_set_version:cn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function ip(e,t){return oi(t),ii(ft(e,ri(e,t)),t)}var dn=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=Te.resolve(t)}async read(){try{return JSON.parse(await xe.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&He(t))return null;throw t}}async write(t){let n=Te.dirname(this.filePath);await xe.mkdir(n,{recursive:!0});let r=Te.join(n,`.${Te.basename(this.filePath)}.${Qc()}.tmp`);try{await xe.writeFile(r,`${JSON.stringify(t)}
|
|
5
|
-
`,{encoding:"utf8",flag:"wx"}),await xe.rename(r,this.filePath)}finally{try{await xe.rm(r,{force:!0})}catch{}}}},ln=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){oi(n);let r=[],o=null;try{let f=await this.adapter.read();o=id(f),f!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(f=>f.id).sort((f,h)=>f.localeCompare(h)),s=o?.items.map(f=>f.id)??[],a=ft(t,ri(t,n)),d=un(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===d&&o.source===n.source&&s.length===i.length&&s.every((f,h)=>f===i[h]),l;if(c&&o!==null)l=o;else{o!==null&&r.push("context_signal_store_stale"),l=ii(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>Zc[f])}}};function sd(e){let t=ei("sha256");for(let n of[...e].sort((r,o)=>r.id.localeCompare(o.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 pt(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 o=n?null:await Qe(t.pmRoot),i=t.sourceCursor??o?.source_cursor??sd(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new ln(new dn(Te.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await br(t.pmRoot,e.map(c=>c.id))).map(([c,l])=>[c,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:d,sourceCursor:i,source:s})}import ad from"node:path";import{createHash as cd}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]="ee5f5c8d-37f9-577d-87a7-bb43be7c1186")}catch{}})();function si(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 dd from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="51bac04a-5a6e-53b3-806f-fa0bf6f8e7b4")}catch{}})();var ai=1,ld=1e4,ci=12;function ud(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function fd(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let o=t.get(r);if(!o)return;if(o.type.toLowerCase()==="epic")return o;r=o.parent}}function md(e){let t=[...e.items].sort((o,i)=>i.completion.timestamp.localeCompare(o.completion.timestamp)||o.item.id.localeCompare(i.item.id)),n=new Set,r=0;for(let{item:o}of t){let i=o.resolution??o.close_reason;i?.trim()&&n.add(i.trim()),r+=(o.notes?.length??0)+(o.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:o,title:i}})=>({id:o,title:i})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function pd(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(i=>t.statusRegistry.terminal_done_statuses.has(R(i.status,t.statusRegistry))).map(i=>{let s=si(i);if(!s.resolved)throw new TypeError(`Completed item ${i.id} has no reporting timestamp`);return{item:i,completion:s}}),r=new Map(e.map(i=>[i.id,i])),o=new Map;for(let i of n){let{item:s,completion:a}=i,d=ud(a.timestamp),c=`epoch:${d}`,l=o.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(i),o.set(c,l);let u=fd(s,r);if(u){let f=`epic:${u.id}`,h=o.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(i),o.set(f,h)}}return{format_version:ai,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(md).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function hd(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 gd(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(o=>typeof o=="string"&&o.length>0),r=[t.first_closed_at,t.last_closed_at].every(o=>typeof o=="string"&&Number.isFinite(Date.parse(o)));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(hd)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function _d(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==ai||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(gd)?t:null}function yd(e){return`scan:${cd("sha256").update(nr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function vd(e,t,n){return n!==void 0?n:(await Qe(t))?.source_cursor??yd(e)}async function wd(e){try{let t=_d(JSON.parse(await dd.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&He(t))}}}async function ht(e,t){let n=Math.max(1,Math.floor(t.minimumItems??ld));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await vd(e,t.pmRoot,t.sourceCursor),o=ad.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await wd(o),a=s.snapshot;if(s.invalid&&i.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:i};a&&i.push("workspace_memory_stale");let d=pd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Jn(o,`${JSON.stringify(d)}
|
|
6
|
-
`)}catch{i.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:i}}function bd(e,t,n=ci){let r=Math.max(0,Math.floor(t)),o=0,i=[];for(let s of e.rollups){if(i.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);o+a>r||(i.push(s),o+=a)}return i}function di(e,t,n=ci){if(e.snapshot===null)return;let r=bd(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 kd(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(o=>({rollup:o,score:r.filter(i=>[o.key,o.label,...o.outcomes,...o.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(i)).length})).filter(({score:o})=>o>0).sort((o,i)=>i.score-o.score||i.rollup.last_closed_at.localeCompare(o.rollup.last_closed_at)||o.rollup.key.localeCompare(i.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:o})=>o)}function li(e,t,n=5){let r=kd(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",matches:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="05df81b3-2fbd-5d83-88e3-be300091dd09")}catch{}})();var ui=16;async function fi(e,t,n){let r=F(t,x()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<ui;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let d=await de(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await le(d,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function bp(e){await gr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await fi(e.pmRoot,e.settings,e.itemId)})}async function kp(e){await _r(e)}async function Sp(e){await yr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await fi(e.pmRoot,e.settings,e.itemId)}:{}})}var Ep={lineage_depth:ui,active_items:64,evidence_rows:32};function mi(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ec0faae4-1fdb-5c7c-bcf1-eb338d73958a")}catch{}})();var Sd=["markdown","toon","json","ndjson"],gt=new Set(["Epic","Feature"]),yi=10,vi=1e4,wi=["hierarchy","activity","progress","recently_created","unparented","workload"],Ed=[...wi,"blockers","files","staleness","tests"],Cd=/^(\d{4})-(\d{2})-(\d{2})/,xd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Td=/^(\d{4})(\d{2})(\d{2})$/,Id=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Ad(e){if(!e)return;let t=e.trim().toLowerCase();if(!Sd.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var pi=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 Rd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!pi.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...pi].join(", ")})`,m.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",m.USAGE);return t}function Ie(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function qp(e,t){let n=Ad(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Fd(e,t){return B(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:yi)}function pn(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",m.USAGE);return n}function Md(e,t){return t>=vi&&e===Number.MAX_SAFE_INTEGER?yi:e}function Dd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Rt.includes(n))throw new p(`Context --depth must be one of ${Rt.join("|")}`,m.USAGE);return n}function $d(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!Ue.includes(s))throw new p(`Context --section must be one of ${Ue.join("|")}`,m.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...Ue]:(t==="deep"?Ed:wi).filter(o=>n.sections[o])}function Od(e,t){return e?B(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Ld(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)",m.USAGE);let o=parseInt(r[1],10);if(o<=0)throw new p("--stale-threshold must be positive",m.USAGE);return o}function hi(e,t){let n=R(e,t),r=N("blocked",t),o=N("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:o&&n===o?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Ae(e,t){let n=N("closed",t);return R(e,t)===n}function hn(e,t){return R(e,t)===t.in_progress_status}function bi(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Nd(e,t){return t.blocked_statuses.has(R(e,t))}var Pd=["compact","brief","fields","includeBody","include_body","parent"];function jd(e){let t={...e};for(let n of Pd)delete t[n];return t}function gn(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=he(e),i=Re(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Ud(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",m.USAGE);return t}function Hd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Gd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:E(n,r)}function Wd(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Bd(e){let t=Cd.exec(e)??xd.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),o=Number.parseInt(t[3],10);return r>=1&&r<=12&&o>=1&&o<=Wd(n,r-1)}function qd(e){let t=Td.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Id.exec(e);if(n){let[,r,o,i,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}-${o}-${i}T${s}:${a}${l}${u}`}return e}function ki(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Bd(t))return Number.NaN;let n=Date.parse(qd(t));return Number.isFinite(n)?n:Number.NaN}function mn(e){let t=ki(e);return Number.isFinite(t)?new Date(t).toISOString():""}function zd(e){let t=ki(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function _n(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Z(e,t,n){let r=hi(e.status,n)-hi(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Hd(e.order,t.order);if(i!==0)return i;let s=Gd(e.deadline,t.deadline);if(s!==0)return s;let a=E(mn(t.updated_at),mn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function fn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function yn(e,t,n=new Set,r="context"){return Zo(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:fn({id:o.id,title:o.item.title}),summary:fn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:fn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function vn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function wn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(o=>n.has(o.id));return{model:e.model,available_signals:e.available_signals,items:r.map(o=>({id:o.id,rank:o.rank,baseline_rank:o.baseline_rank,score:o.score,contributions:o.contributions,...o.signal_provenance===void 0?{}:{recency:o.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 Si(e,t){return t>0?Math.round(e/t*100):0}function he(e){let t=new Map;for(let n of e){let r=_n(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Fe(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:_n(e.parent)};if(t&&n){let o=Re(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>Ae(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Si(s,i)}}return r}function Kd(e){let t=0,n=0,r=0,o=new Set;for(let i of e){if(o.add(i.item_id),i.kind==="deadline"){t+=1;continue}if(i.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:o.size,deadlines:t,reminders:n,scheduled:r}}function _t(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Vd(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Yd(e,t,n,r){let o=new Map;for(let d of e)o.set(d.id,d);let i=he(e),s=new Set(t.filter(d=>gt.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=o.get(d);if(!c)continue;let l=Re(d,i),u=i.get(d)??[],f=0,h=0,_=0,y=0;for(let v of l)Ae(v.status,n)?f++:hn(v.status,n)?_++:Nd(v.status,n)?y++:bi(v.status,n)&&h++;let g=u.sort((v,k)=>Z(v,k,n)).slice(0,r).map(v=>{let k=Re(v.id,i),w=k.filter(S=>Ae(S.status,n)).length;return{id:v.id,title:v.title,type:v.type,status:v.status,children_total:k.length,children_closed:w}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:f,children_open:h,children_in_progress:_,children_blocked:y,children:g})}return a.sort((d,c)=>{let l=o.get(d.id),u=o.get(c.id);return Z(l,u,n)}).slice(0,r)}function Re(e,t){let n=[],r=[e],o=new Set;for(;r.length>0;){let i=r.pop();if(o.has(i))continue;o.add(i);let s=t.get(i)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Xd(e,t){return(await Co({compact:!0,limit:String(e)},t)).compact_activity??[]}function Qd(e,t,n,r,o){let i=new Map;for(let d of e){if(!d.parent)continue;let c=i.get(d.parent)??[];c.push(d),i.set(d.parent,c)}let s=t.filter(d=>gt.has(d.type)),a=[];for(let d of s){let c=Re(d.id,i),l=c.length;if(l===0)continue;let u=0,f=0,h=0,_=0;for(let y of c)Ae(y.status,r)?u++:n.has(y.id.trim().toLowerCase())?_++:hn(y.status,r)?h++:bi(y.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:f,in_progress:h,blocked:_,completion_pct:Si(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,o)}function Jd(e,t,n,r){let o=new Map(t.map(i=>[i.id.trim().toLowerCase(),i]));return e.slice(0,r).map(i=>{let s=Wt(i,o,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function Zd(e,t){let n=new Map;for(let r of e)for(let o of r.files??[]){let i=n.get(o.path)??new Set;i.add(r.id),n.set(o.path,i)}return[...n.entries()].map(([r,o])=>({path:r,references:o.size,items:[...o].sort()})).sort((r,o)=>o.references-r.references).slice(0,t)}function el(e,t,n){let r=new Map;for(let o of e){let i=o.assignee??null,s=r.get(i)??[];s.push(o),r.set(i,s)}return[...r.entries()].map(([o,i])=>({assignee:o,active:i.length,in_progress:i.filter(s=>hn(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function tl(e,t,n,r){let o=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(i=>new Date(i.updated_at).getTime()<o).map(i=>({id:i.id,title:i.title,status:i.status,updated_at:i.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(i.updated_at).getTime())/(1440*60*1e3))})).sort((i,s)=>s.stale_days-i.stale_days).slice(0,r)}function nl(e,t,n,r){return e.map(o=>({item:o,sortKey:mn(o.created_at)})).sort((o,i)=>{let s=E(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...Fe(o,t,n),created_at:o.created_at}))}function rl(e,t,n,r){return e.filter(o=>!_n(o.parent)&&!gt.has(o.type)).sort((o,i)=>Z(o,i,t)).slice(0,r).map(o=>Fe(o,t,n))}function ol(e){let t=0,n=0,r=0,o=0,i=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,o+=l.failed??0,i+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:o,skipped:i},items_failing:s.sort()}}function gi(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Ei(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",o=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}%`:"",i=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${o}${i} ${e.title}`}function il(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).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`${gi(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${gi(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 _i(e,t,n,r,o){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let i of n)e.push(`- ${o(i)}`);e.push("")}function al(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 dl(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let o of n.children){let i=o.children_total>0?Math.round(o.children_closed/o.children_total*100):0;e.push(` - ${o.id} ${o.type} ${o.status} "${o.title}" [${o.children_closed}/${o.children_total} done ${i}%]`)}}e.push("")}}function ll(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 ul(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let o of t.recently_created)e.push(n?`- ${r(o)}`:`- ${zd(o.created_at)} ${Ei(o)}`);e.push("")}}function fl(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 ml(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 pl(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:-",o=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",i=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${o}${i}`)}e.push("")}}function hl(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 gl(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 yl(e,t){t.tests&&(e.push("## Test health"),e.push(`- items_with_tests: ${t.tests.items_with_tests}`),e.push(`- items_with_recent_runs: ${t.tests.items_with_recent_runs}`),e.push(`- passed: ${t.tests.recent_runs.passed}, failed: ${t.tests.recent_runs.failed}, skipped: ${t.tests.recent_runs.skipped}`),t.tests.items_failing.length>0&&e.push(`- items_failing: [${t.tests.items_failing.join(",")}]`),e.push(""))}function vl(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 zp(e){let t=[],n=e.focus_fields,r=i=>n?il(i,n):Ei(i);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 i=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${i.length>0?` (${i.join(", ")})`:""}`)}let o=e.sections_included.filter(i=>i!=="blockers"||(e.blockers?.length??0)>0);if(o.length>0&&t.push(`- sections: ${o.join(", ")}`),t.push(""),_i(t,"High-level focus",e.high_level,"No high-level active items.",r),_i(t,"Low-level focus",e.low_level,"No low-level active items.",r),al(t,e,r),cl(t,e),e.workspace_memory){t.push("## Workspace memory");for(let i of e.workspace_memory.rollups)t.push(`- ${i.kind}:${i.key} \u2014 ${i.label} (${i.item_count} completed, latest ${i.last_closed_at})`);t.push("")}return dl(t,e),ll(t,e),ul(t,e,n,r),fl(t,e,r),ml(t,e),pl(t,e),hl(t,e),gl(t,e),_l(t,e),yl(t,e),vl(t,e),t.join(`
|
|
7
|
-
`)}async function wl(e,t){let n=C(process.cwd(),t.path),r=await M(n),o=r.context??Vn.context,i=P(r.schema),s=Dd(e.depth,o),a=Fd(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:$d(e.section,s,o),activityLimit:Od(e.activityLimit,o),staleThresholdDays:Ld(e.staleThreshold,o),parentScope:Ud(e.parent),focusFields:Rd(e.fields),baseListOptions:jd(e)}}function bl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function kl(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Sl(e,t){let n=await q(void 0,kl(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!X(a.status,t.statusRegistry)),i=r,s=El(t.parentScope,r);return s&&(o=o.filter(a=>s.has(a.id.trim().toLowerCase())),i=i.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:i,fullCorpus:r,subtreeIds:s}}function El(e,t){if(e===void 0)return;let n=gn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}function Cl(e,t,n,r){let o=new Set(nt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>gt.has(i.type)||o.has(i.id)||ke(i.type,r)!=="agent").map(i=>i.id))}async function xl(e,t,n,r,o,i,s,a,d,c,l,u,f,h,_,y){let g=[...e].sort((b,se)=>Z(b,se,o)),v=await Ye({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),k=await pt(g,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:d,usageAffinity:v.affinity,claimFocus:_}),w=await mt("context",k.candidates),S=w.ranked.map(b=>b.item),Q=o.active_statuses,A=S.filter(b=>Q.has(R(b.status,o))),D=u?ar(A,c,l,b=>b.id):0,I=u?A.slice(D,D+s):A,Pe=u&&I.length>0&&D+I.length<A.length,je=Pe&&I.length>0?sr(l,I[I.length-1].id,D+I.length-1):void 0,Tt=S.filter(b=>r.has(b.id.trim().toLowerCase())),te=new Set([...I.map(b=>b.id),...Tt.slice(0,s).map(b=>b.id)]),ne=yn({...w,ranked:w.ranked.filter(b=>te.has(b.id))},h,new Set(Object.entries(_??{}).filter(([,b])=>b>=1).map(([b])=>b))),re=ne.included.map(b=>b.item),U=re.filter(b=>Q.has(R(b.status,o))),oe=re.filter(b=>r.has(b.id.trim().toLowerCase())),_e=he(t),ie=bl(i)?_e:void 0,It=new Map(n.map(b=>[b.id.trim().toLowerCase(),b])),$=b=>{let se=Fe(b,o,ie);return r.has(b.id.trim().toLowerCase())&&(se.blocked=!0,se.blocker_ids=Wt(b,It,o).filter(At=>!At.resolved).map(At=>At.id)),se},L=Cl(U,n,o,y),Os=U.filter(b=>L.has(b.id)).slice(0,u?I.length:s).map($),Ls=U.filter(b=>!L.has(b.id)).slice(0,u?I.length:s).map($),qn=A.length===0;return{activeItems:U,blockedItems:oe,highLevel:Os,lowLevel:Ls,blockedFallback:qn?oe.slice(0,s).map($):[],blockedFallbackUsed:qn,ranking:w,packing:ne,featureStore:k,pageExtras:{...u?{applied_limit:s}:{},...Pe?{has_more:!0,truncated:!0}:{},...je?{next_cursor:je}:{}}}}function Tl(e){return Be("context",We(e,or))}function Il(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=vi}async function Al(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await Vo(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Vd(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:i,agendaEvents:d,agendaSummary:Kd(a)}}function Ci(e,t,n){let r=String(t);return e.filter(o=>R(o.status,n)===r).length}async function Rl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,d=he(n),c=n.filter(u=>!X(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Yd(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Xd(t.activityLimit,a):void 0,progress:l("progress")?Qd(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Jd(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?nl(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?rl(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?Zd(i.activeItems,t.limit):void 0,workload:l("workload")?el(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?tl(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?ol(i.activeItems):void 0}}function Fl(e,t,n){let r=N("canceled",t),o=e.filter(s=>t.active_statuses.has(R(s.status,t))),i=Ci(o,t.in_progress_status,t);return{scope:"matching_items",active_items:o.length,open:o.length-i,in_progress:i,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>Ae(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function Ml(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 Dl(e,t){t&&(e.focus_fields=t,e.high_level=Ie(e.high_level,t),e.low_level=Ie(e.low_level,t),e.blocked_fallback=Ie(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Ie(e.recently_created,t)),e.unparented&&(e.unparented=Ie(e.unparented,t)))}function $l(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let i of n)delete i.tags,delete i.tags_inherited;return}let r=new Map(n.map(i=>[i.id,i])),o=new Map(n.map(i=>[i.id,i.tags?[...i.tags].sort().join("\0"):void 0]));for(let i of n){if(!i.parent||!i.tags)continue;let s=r.get(i.parent);s&&o.get(i.id)===o.get(s.id)&&(delete i.tags,i.tags_inherited=s.id)}}function Ol(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 Ll(e,t,n,r){try{let o=new Set(t.packing.included.map(d=>d.id)),i=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:o.has(d.id)})),s=new Set(i.map(d=>d.id));for(let d of Ke(e,"context"))s.has(d)||(i.push({id:d,rank:i.length+1,included:!1}),s.add(d));let a=await Ve({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ze(e,a)}catch{e.warnings=_t(e.warnings,["context_usage_feedback_write_failed"])}}async function Nl(e,t,n){if(e)return{};let o=(await rr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),i=o.filter(s=>s.status==="degraded").length;return o.length===0?{}:{extension_health:{total:o.length,ok:o.length-i,degraded:i,packages:o.slice(0,20),...o.length>20?{truncated:!0}:{}}}}async function Pl(e,t){let n=vr(),r=await pr(e),o=n.instance||hr(t);return mi(r.semantic_attribution?.[o])}async function Kp(e,t){let n=C(process.cwd(),t.path),r=await wl(e,t),o=await Sl(t,r),i=Md(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:pn(e.tokenBudget,Math.max(256,i*160))},a=J(void 0,s.settings.author_default),d=await Pl(n,a),c=Nl(e.noExtensionHealth===!0,n,s.settings),l=io(o.fullCorpus,s.statusRegistry),u=await xl(o.listedItemMetadata,o.allItems,o.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,O(),a,e.after,Tl(e),Il(e,o.fullCorpus.length),n,s.tokenBudget,d,F(s.settings,x())),f=await Al(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),h=await ht(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),_=_t(o.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),y=Ci(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),g=u.activeItems.length-y,v=await Rl({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),k=Fl(o.allItems,s.statusRegistry,l),w={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:y,open:g,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...k},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return w.workspace_memory=di(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await c),Ml(w,v,u.featureStore.warning_details),$l(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=wn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),w.packing=vn(u.packing)),Dl(w,s.focusFields),_.length>0&&(w.warnings=_),Ol(w,u.activeItems,u.blockedItems),await Ll(w,u,n,a),w}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="045ff474-f6d9-50c5-b554-ebc947a52443")}catch{}})();var jl=["markdown","toon","json"],Ul=5,Hl=1440*60*1e3;function Gl(e){if(!e)return;let t=e.trim().toLowerCase();if(!jl.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function oh(e,t){let n=Gl(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"toon"}function xi(e,t,n){let r=B(e,t);return r===void 0||r<=0?n:r}function Me(e,t,n,r){return{...Fe(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(o=>({id:o.id,title:o.title,status:o.status,...o.external?{external:!0}:{},...o.blocked_since?{blocked_since:o.blocked_since}:{},...o.external?{resolver:o.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function Wl(e,t,n,r){let o=e.item,i=[],s=N("in_progress",t);return i.push(R(o.status,t)===s?"in progress \u2014 resume to finish":"open and ready to start"),r&&i.push("completed container \u2014 governance closeout"),i.push(`priority p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(Bl(o.deadline,n)),i.push(oo(o).length>0?"all blockers resolved":"no blockers"),typeof o.parent=="string"&&o.parent.trim().length>0&&i.push(`advances ${o.parent.trim()}`),e.unblocks.length>0&&i.push(`unblocks ${e.unblocks.length} item(s)`),i}function Ti(e,t,n){let r=J(n,t),o=[],i=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?i.push({id:s.item.id,assignee:a}):o.push(s)}return{available:o,held:i}}var ih={partitionCallerOwnedReady:Ti,resolveNextCallerAuthor:(e,t)=>Ii(e,t)};function sh(e,t,n){let r=e.filter(o=>ke(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>ke(o.item.type,n)!=="human"),decisions:t?[]:r}}function Bl(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),o=new Date(Date.parse(t)).toISOString().slice(0,10),i=Math.round((Date.parse(r)-Date.parse(o))/Hl);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function ql(e,t){let n=N("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function bn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function zl(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 yt(e,t,n){return[...e].sort((r,o)=>{let i=bn(r.item,t),s=bn(o.item,t);return i!==s?Number(i)-Number(s):Z(r.item,o.item,n)})}function Kl(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Wl(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Vl(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 o=t.find(i=>i.blockers.length>0);return[...r,o?`${t.length} item(s) are blocked; unblock the top one by closing ${o.blockers.map(i=>i.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 Yl(e,t,n){let r={};return e>n&&(r.decision_needed_total=e),t>n&&(r.held_by_others_total=t),Object.keys(r).length>0?r:void 0}async function Xl(e){try{let t=new Set(e.packing.included.map(i=>i.id)),n=e.ranking.ranked.map(i=>({id:i.id,rank:i.rank,included:t.has(i.id)})),r=new Set(n.map(i=>i.id));for(let i of Ke(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await Ve({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:e.packing.profile,rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ze(e.result,o)}catch{e.result.warnings=_t(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Ql(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.explainRanking&&(e.result.ranking=wn(e.readyRanking,e.featureStore),e.result.packing=vn(e.packing)),e.result.suggestions=Vl(e.recommended,e.blockedRows,e.gateCount),await Xl({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Jl(e,t,n){if(!n)return e;let r=gn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function Zl(e,t,n,r,o,i,s,a){let d=e.filter(g=>!bn(g.item,t)),c=a||d.length===0?e:d,l=await Ye({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await pt(c.map(g=>g.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:l.affinity}),f=await mt("next",u.candidates),h=yn(f,s,new Set,"next"),_=new Map(c.map(g=>[g.item.id,g]));return{projectedReady:f.ranked.map(g=>_.get(g.id)).filter(g=>g!==void 0),ranking:f,completedContainer:d.length===0&&!a,packing:h,featureStore:u}}function Ii(e,t){let n=e.assignee?.trim();return J(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function ah(e,t){let n=C(process.cwd(),t.path),r=await M(n),o=Ii(e,r.author_default),i=P(r.schema),s=F(r,x()),a=O(),d=xi(e.limit,"--limit",Ul),c=pn(e.tokenBudget,Math.max(192,d*128)),l=xi(e.blockedLimit,"--blocked-limit",d),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",h=await q(void 0,zl(e,{excludeTerminal:!0}),t),_=await q(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=Jl(h.items,_.items,f),g=_.items,v=nt(y,g,i,s),k=he(g),w=so(v,i,e,s),S=Ti(w.ready,r.author_default,o),Q=yt(S.available,k,i),A=[...v.blocked].sort(($,L)=>Z($.item,L.item,i)),{projectedReady:D,ranking:I,completedContainer:Pe,packing:je,featureStore:Tt}=await Zl(Q,k,i,a,o,n,c,e.includeContainers===!0),te=D.map(($,L)=>Me($,i,k,L+1)),ne=A.map(($,L)=>Me($,i,k,L+1)),re=yt(w.decisions,k,i).map(($,L)=>Me($,i,k,L+1)),U=yt(w.gates,k,i).map(($,L)=>Me($,i,k,L+1)),oe=yt(v.containers,k,i).map(($,L)=>Me($,i,k,L+1)),_e=Kl({projectedReady:D,readyRows:te,statusRegistry:i,now:a,completedContainer:Pe}),ie=Yl(re.length,S.held.length,d)??{};U.length>d&&(ie.gate_needed_total=U.length),oe.length>d&&(ie.containers_total=oe.length);let It={output_default:"toon",now:a,recommended:_e,ready:te.slice(1,d+1),decision_needed:re.slice(0,d),gate_needed:U.slice(0,d),containers:oe.slice(0,d),blocked:u?[]:ne.slice(0,l),held_by_others:S.held.slice(0,d),summary:{recommended:_e!==null,ready:te.length,blocked:ne.length,in_progress:ql(te,i),candidates:v.active_count,containers:v.container_count,decision_needed:re.length,gate_needed:U.length,held_by_others:S.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:f.length>0?f:null,limit:d,blocked_limit:l,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:c},truncation:Object.keys(ie).length>0?ie:void 0};return Ql({result:It,recommended:_e,blockedRows:ne,gateCount:U.length,candidatesWarnings:h.warnings,corpusWarnings:_.warnings,readyRanking:I,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packing:je,featureStore:Tt})}function ch(e){let t=["# pm next","",...eu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...De(n,r.map(o=>`- ${$e(o)}`),""));if(t.push(...De("Recommended",tu(e.recommended),"No ready work.")),t.push(...De("Decision needed",(e.decision_needed??[]).map(n=>`- ${$e(n)}`),"No human-gated decisions.")),t.push(...De("Ready",e.ready.map(n=>`- ${$e(n)}`),"No ready items.")),e.filters.ready_only||t.push(...De("Blocked",e.blocked.map(n=>`- ${nu(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 eu(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 tu(e){return e?[`- ${$e(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function De(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function nu(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${$e(e)} blocked_by:${t}`}function $e(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]="0cc18a30-5068-5c59-b559-7afc4d446ed8")}catch{}})();function ru(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function ou(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=xr(n.patch);for(let s of i)o.add(Pt(s.path)),s.from&&o.add(Pt(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:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function iu(e){if(e[0]?.op!=="history_compact_baseline")return;let t=be(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function su(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await M(n),o=F(r,x()),i=e.trim()===Xe,s=i?Xe:Mr(e,r.id_prefix),a=await de(n,s,r.id_prefix,r.item_format,o.type_to_folder),d=a?.id??s,c=i?Ir(n):Ge(n,d);if(!a&&!await Xn(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await Rr({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function vh(e,t,n){let r=fe(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await su(e,n),d=await W(o,s),c=iu(d),l=a.agent_identity.identity_vocabulary,u=rt(a.agent_identity.harness_signals),f=it({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=au(d).filter(({entry:D})=>f(D)),_=ru(h,r),y=_.map(({entry:D})=>D),g=t.compact===!0,v=g?ou(_,c):void 0,k=t.provenance===!0?_.map(({entry:D,durableVersion:I})=>ot(D,l,{itemId:s,version:I})):void 0,w=t.provenance===!0?"provenance":g?"compact":"full",S={compact:{compact_history:v},provenance:{provenance_history:k},full:{history:y}}[w],A={id:s,...S,compact:g,projection:{mode:w,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[w]},omission_receipt:qe("history",w),count:y.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:st(h.map(({entry:D})=>D),l,u)}:{}};if((t.diff||t.field!==void 0)&&(A.diff=Gr(d,{windowStartIndex:Math.max(0,d.length-y.length),field:t.field})),t.verify){let D=i?(await le(i,{schema:a.schema})).document:void 0;if(A.verification=vo(d,D),s===Xe&&A.verification.ok){let I=await Ar(C(process.cwd(),n.path));A.verification={...A.verification,ok:I.ok,errors:I.ok?A.verification.errors:[...A.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:I.ok,workspace_state_mismatches:I.mismatched_documents,workspace_state_missing:I.missing_documents,workspace_state_unreadable:I.unreadable_documents}}}return A}function au(e){let t=be(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]="acda1c64-cb50-57b5-868d-a27ca6912979")}catch{}})();var Ai=1e6,Ri=20;function Fi(e,t,n,r=Ri){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let g of t){if(a+=1,a>Ai)throw new p(`Child projection exceeded the ${Ai.toLocaleString("en-US")} item safety bound.`,m.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(g)}let d=new Map(s.map(g=>[g.id.trim().toLowerCase(),g])),c=to(eo(s,Zr())),l=new Set(c.children_by_parent.get(o)??[]);for(let g of s)g.parent?.trim().toLowerCase()===o&&l.add(g.id.trim().toLowerCase());let u=[...l].map(g=>d.get(g)),f=0;for(let g of u){let v=g.status.trim().toLowerCase();i[v]=(i[v]??0)+1,X(v,n)||(f+=1)}u.sort((g,v)=>g.id.localeCompare(v.id));let h=u.slice(0,r).map(g=>({id:g.id,title:g.title,type:g.type,status:g.status,priority:g.priority})),_=u.length>h.length,y=r===0?Ri:r;return{count:u.length,active:f,by_status:Object.fromEntries(Object.entries(i).sort(([g],[v])=>g.localeCompare(v))),sample:h,sample_limit:r,truncated:_,next_offset:_?h.length:null,continuation:_?`pm list --status all --parent ${e} --offset ${h.length} --limit ${y}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="926ca5b2-8cfc-56e7-8cbf-fb0e7152d834")}catch{}})();var cu=new Set(["event","meeting","reminder"]);function du(e){return cu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function kn(e){if(!du(e))return;let t=[...e.events??[]].sort((r,o)=>r.start_at.localeCompare(o.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]="26bf8487-2515-5885-b6de-56ba6292fb65")}catch{}})();var uu=new Set(["epic","feature","milestone","plan"]),fu=new Set(Object.keys(Kn).map(e=>e.toLowerCase()));function En(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function mu(e,t){let n=En(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,o])=>o>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...kn(e)?["schedule"]:[]]}function Di(e){let t=e.trim().toLowerCase();return t.length>0&&(uu.has(t)||!fu.has(t))}function Mi(e){return{ts:e.ts,author:e.author,message:e.message??null}}function pu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,o=[...t].reverse().find(s=>s.op==="claim"),i=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:o?Mi(o):null,last_release:i?Mi(i):null}}function hu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if($t.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function gu(e,t){let n=En(e);if(t==="deep")return{...e,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:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:o,learnings:i,files:s,tests:a,docs:d,reminders:c,events:l,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function _u(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",m.USAGE);return t}function wt(e){return e.startsWith("item.")?e.slice(5):e}function yu(e,t,n){if(e===null)return;let r=Ot(t),o=new Set(r),i=e.filter(s=>{let a=wt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields","id,title,status"];throw new p(`Unknown get --fields value(s): ${i.join(", ")}`,m.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:ce(s),suggested_retry_args:s}})}}var vu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function wu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:vu.has(n)?[]:void 0}function bu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:En(e)},o={id:e.id};for(let i of t){let s=wt(i);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(o[s]=wu(n,r,s))}return o}function Oe(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function vt(e,t){return e.some(n=>{let r=wt(n);return r===t||r.startsWith(`${t}.`)})}function ku(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.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ce(["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",m.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.",m.USAGE);return{depth:e.full?"deep":hu(e.depth),treeDepth:e.tree===!0?B(e.treeDepth,"--tree-depth"):void 0,fields:_u(e.fields),fieldProjection:e.fields!==void 0}}async function Su(e,t,n){let r=C(process.cwd(),t.path);await j(r);let o=await M(r),i=F(o,x());if(n!==void 0){let d=await wo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await de(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await Or(r,e,o.id_prefix,i.type_to_folder);let a=await le(s,{schema:o.schema});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function Eu(e,t,n,r){let o=Y(t.schema).definitions.map(i=>i.metadata_key);if(yu(e,o,r),n&&vt(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function Sn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?Oe(r,o):vt(r,o):n!=="brief"}async function Cu(e,t){if(!t)return;let n=Ge(e.pmRoot,e.locatedId),r=await W(n,e.locatedId);return pu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function xu(e,t,n,r){let o=r||Oe(n,"linked.files"),i=r||Oe(n,"linked.tests"),s=r||Oe(n,"linked.docs");!r&&!o&&!i&&!s||(e.linked={files:o?t.metadata.files??[]:[],tests:i?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Tu(e,t){if(!t)return;let n=P(e.settings.schema),r=await ue(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return Fi(e.locatedId,r,n)}function Iu(e,t,n,r){if(!r)return;let o=kn(t.metadata);if(o){if(n===null||Oe(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>wt(s)===`schedule.${i}`)))}}async function Au(e,t,n,r){if(t.tree!==!0)return;let o=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:o.count,items:o.items.map(i=>i)}}async function Hh(e,t,n={}){let r=ku(n,e),o=await Su(e,t,n.at);Eu(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Sn({...r,field:"body"}),s=Sn({...r,field:"linked"}),a=Sn({...r,field:"claim_state"}),d=o.historical===void 0&&(r.fieldProjection?vt(r.fields,"children"):r.depth==="deep"&&Di(o.metadata.type)),c=r.fieldProjection?vt(r.fields,"schedule"):r.depth!=="brief",l=await Cu(o,a),u={item:r.fieldProjection?bu(o.metadata,r.fields):gu(o.metadata,r.depth)};i&&(u.item.body=o.body),xu(u,o,r.fields,s),l&&(u.claim_state=l),Iu(u,o,r.fields,c);let f=await Tu(o,d);f!==void 0&&(u.children=f);let h=await Au(o,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),o.historical&&(u.reconstructed=!0,u.as_of_version=o.historical.as_of_version,u.as_of_timestamp=o.historical.as_of_timestamp),o.historical===void 0)try{await mr({pmRoot:o.pmRoot,author:J(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return dr(u,mu(o.metadata,o.body)),u}var Gh={shouldAutoIncludeGetChildren:Di};(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]="48888c80-60e1-5905-afd5-8c1b6e532f99")}catch{}})();function $i(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 Ru=[{optionKey:"status",summaryKey:"status",normalize:e=>$i(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 Le(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return _o(l,r,Ru),Object.assign(l,qt(r)),Object.assign(l,Bt(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),o&&(l.include_linked=!0),i&&(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 Ne(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||$i(r.status)?"all":r.status,type:f(r.type),tag:f(r.tag),priority:f(r.priority),deadline_before:f(r.deadlineBefore),deadline_after:f(r.deadlineAfter),updated_after:f(r.updatedAfter),updated_before:f(r.updatedBefore),created_after:f(r.createdAfter),created_before:f(r.createdBefore),assignee:f(r.assignee),sprint:f(r.sprint),release:f(r.release),parent:f(r.parent),...qt(r),...Bt(r),include_linked:o,title_exact:i,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:f(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]="91b01dd0-6a8d-5b97-96d2-c27f4044c009")}catch{}})();function Fu(e){return Be("search",{query:e.query.trim(),mode:e.mode,options:We(e.searchOptions,ir)})}function Oi(e){let t=cr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Fu(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]="255d7c53-5905-51f7-8f5a-3580cf340648")}catch{}})();function Mu(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",m.USAGE);return t}function bt(e){return e===!0}function Li(e){return tr(e,0,1)??void 0}function Ni(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",m.USAGE);return t}function Pi(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",m.USAGE);return t}function ge(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return G(n,new Date,t)}function V(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Cn(e,t){if(e!==void 0)return G(e,new Date,t)}function Du(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",m.USAGE);return[...new Set(t)]}function xn(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=Du(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ce(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Lt]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function Tn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Nt(t.definitions.flatMap(s=>[s.key,s.metadata_key])),o=new Set(r),i=e.fields.filter(s=>{let a=s.trim();return!o.has(a)});if(i.length>0){let s=["search",n,"--fields","id,title,status,score"];throw new p(`Unknown search --fields value(s): ${i.join(", ")}`,m.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:ce(s),suggested_retry_args:s}})}}function In(e){let t=V(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function An(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var $u=["auto","keyword","semantic","hybrid"];function Ou(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return $u.includes(n)?n:"auto"}function Rn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Mu(e.requested),source:"explicit"};let t=Ou(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Fn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Mn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Dn(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=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;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 St from"node:fs/promises";import jn 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]="e2985104-efdb-59e5-9674-2dd865ebdf56")}catch{}})();var $n=4,Lu=20,Nu=200,Pu=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function On(e,t){let n=[],r=new Set;for(let o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(i),n.length>=t))break}return n}function ju(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 Uu(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 ji(e,t=$n){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=me(n);if(r.length===0)return[n];let o=r.filter(a=>!Pu.has(a.toLowerCase())),i=r.map(a=>ju(a)),s=o.map(a=>Uu(a));return On([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Ui(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?On(t.filter(n=>typeof n=="string"),$n):[]}function Hi(e,t,n){return On([...e,...t],Math.max(1,n))}function Gi(e,t){let r=e.search?.query_expansion,o=ye(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:$n}}function Wi(e,t){let r=e.search?.rerank,o=ye(r?.model),s=er(r?.top_k)??Lu;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Nu,s)}}function Bi(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let o of t){if(typeof o!="object"||o===null)continue;let i=ye(o.id),s=o.score;if(!i||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(i);(a===void 0||s>a)&&n.set(i,s)}let r=[...n.entries()].map(([o,i])=>({id:o,score:i}));return r.sort((o,i)=>o.score!==i.score?i.score-o.score:o.id.localeCompare(i.id)),r}function Hu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function qi(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Gu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Hu(e,t),o=qi(t),i=n*o;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(i)||i===0?0:Math.max(-1,Math.min(1,r/i))}async function zi(e,t,n,r,o){if(r.length===0)return new Map;let i=ye(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(f=>f.text)],d=await tt(s,a,o?{timeout_ms:o}:{}),c=d[0];if(!c)return new Map;let l=qi(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],_=d[f+1];if(!_)continue;let y=Gu(c,_,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]="bc52818b-d37f-5d00-954d-d50203a433c2")}catch{}})();var Wu=1.2,Bu=.75;function Ln(e){return me(e)}function qu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Vi(e){let t=[],n=new Map,r=0;for(let i of e){let s=Ln(i.text),a=qu(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:i.id,termFrequencies:a,length:s.length})}let o=t.length;return{documents:t,documentFrequency:n,documentCount:o,averageDocumentLength:o>0?r/o:0}}function zu(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Yi(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let o=[...new Set(t.filter(s=>s.length>0))];if(o.length===0)return r;let i=new Map;for(let s of o){let a=e.documentFrequency.get(s);a!==void 0&&i.set(s,zu(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of i){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=l+n.k1*u;a+=c*(l*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function Ki(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Xi(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 Qi(e){let t=e?.search?.bm25;return{k1:Ki(t?.k1,Wu,0,1e3),b:Ki(t?.b,Bu,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]="c1f323c4-410f-5e51-ba94-29caaccfbac7")}catch{}})();var Ku=2,Vu=120,Yu=6,Xu=40,Qu=1e3,Ju=900,Zu="\xAB",ef="\xBB",Ji=60,ts=["tag","status","type","priority"];function ns(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let o=n.code;typeof o=="string"&&t.push(o.toLowerCase()),n=n.cause}return t.join(" ")}function rs(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=ns(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 os(e,t){let n=rs(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function tf(e){return e?.commands?.some(n=>n.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 is(e,t,n){try{let r=await Yr(e);r.warnings.length>0&&n.push(...r.warnings);let o=ro(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=tf(x());n.push(...nf(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.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 nf(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(" ")}`]:[]]}var Qg={applyFilters:us,applyExactQueryFilters:ls,applyInlineQueryFilters:as,buildHitHighlights:ys,buildVerboseSearchFilters:Ne,buildExplicitSemanticFallbackWarning:os,buildCompactSearchFilterSummary:Le,buildHybridLexicalScore:bs,buildRerankCorpus:Rs,buildSemanticHits:xs,classifyImplicitSemanticFallbackReason:rs,collectErrorCauseCodes:ns,collectExactPhraseFields:cs,collectLinkedPaths:fs,combineHybridHits:Wn,computeBuiltInBm25Hits:Is,computeSemanticOrHybridHits:Fs,resolveBuiltInBm25Mode:Ts,countOccurrences:Hn,dependencyEntries:Un,documentContainsExactPhrase:ds,emptySearchResult:ks,highlightFieldSnippet:_s,loadDocuments:Ms,markTokenRuns:gs,parseInlineQueryFilters:ss,maybeEmitVectorIndexStaleWarning:is,loadLinkedCorpus:ps,mergeVectorHitsById:As,normalizeExtensionProviderHits:Cs,normalizeScoreMap:Nn,parseProjectionConfig:xn,parseTimestampWindow:ge,parseTokens:In,projectSearchHits:$s,readSearchFieldValue:Ds,requireSemanticDependencies:Gn,resolveExtensionSearchProvider:Ss,resolveExtensionSearchProviderByName:xt,resolveExtensionVectorAdapter:Es,resolveLinkedCorpusRoots:ms,scoreDocument:vs,sortHits:ws,stringArray:Ct,textEntries:ee,validateSearchProjectionFields:Tn};function ss(e){let t={},n=[];for(let r of e.split(/\s+/).filter(o=>o.length>0)){let o=r.indexOf(":"),i=o>0?r.slice(0,o).toLowerCase():"",s=o>0?r.slice(o+1):"",a=ts.includes(i)?i: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 as(e,t,n){let r={...e};for(let o of ts){let i=t[o];if(i!==void 0){if(Dt(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Ct(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ee(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Un(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function cs(e){let t=e.metadata;return[t.title,t.description,t.status,Ct(t.tags).join(" "),e.body,ee(t.comments).map(n=>n.text).join(" "),ee(t.notes).map(n=>n.text).join(" "),ee(t.learnings).map(n=>n.text).join(" "),jt(t).join(" "),Ut(t).join(" "),Un(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),Ht(t)]}function ds(e,t){return cs(e).some(n=>V(n).includes(t))}function ls(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&V(r.metadata.title)!==t||n.phraseExact&&!ds(r,t)))}function rf(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',m.USAGE)}function of(e,t,n){let r=Se(e.assignee,{label:"--assignee"});rf(r);let o=ho(e),i=go(e);return{typeFilter:ao(e.type,t),tagFilter:Se(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:co(e.priority),deadlineBefore:Cn(e.deadlineBefore,"deadline-before"),deadlineAfter:Cn(e.deadlineAfter,"deadline-after"),updatedAfter:ge(e.updatedAfter,"updated-after"),updatedBefore:ge(e.updatedBefore,"updated-before"),createdAfter:ge(e.createdAfter,"created-after"),createdBefore:ge(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Se(e.sprint,{label:"--sprint"}),releaseFilter:Se(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:uo(o),contentFieldFilters:i,contentFiltersActive:mo(i)}}function sf(e,t){return af(e,t)&&cf(e,t)&&df(e,t)}function af(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&&!Ct(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function cf(e,t){return fr(e,t)}function df(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 lf(e,t,n,r){let o=e.metadata;return!(!sf(o,t)||!et(o,n)||t.missingMetadataActive&&!fo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!po(o,t.contentFieldFilters))}function us(e,t,n,r,o,i){let s=of(t,n,o);return e.filter(a=>lf(a,s,r,i))}function Hn(e,t){let n=0,r=0;for(;;){let o=e.indexOf(t,r);if(o<0)return n;n+=1,r=o+t.length}}function uf(e){return me(e)}function fs(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()})),o=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),i=new Map;for(let s of o)i.set(`${s.scope}:${s.path}`,s);return[...i.values()]}async function Zi(e){let t=jn.resolve(e);try{let n=await St.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function ms(e,t){let[n,r]=await Promise.all([Zi(e),Zi(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function ps(e,t){let n=fs(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=jn.resolve(i.resolved,o.path);if(!Ft(i.resolved,s))continue;let a;try{a=await St.realpath(s)}catch{continue}if(Ft(i.realpath,a))try{await ve({path:s,scope:o.scope}),r.push(await St.readFile(s,"utf8"))}catch{}}return r.join(`
|
|
10
|
-
`)}var hs=[{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=>Ct(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=>ee(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>ee(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>ee(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>jt(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>Ut(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Un(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>Ht(e.metadata)}],ff=new Map(hs.map(e=>[e.name,e]));function mf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function gs(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(mf);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${Zu}${o}${ef}`)}function _s(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,o=l.length)}if(r<0)return null;let i=Math.max(0,r-Ji),s=Math.min(e.length,r+o+Ji),a=gs(e.slice(i,s),t),d=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function ys(e,t,n){let r=[];for(let o of t){let i=ff.get(o);if(i===void 0)continue;let s=_s(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function pf(e,t,n){return[...hs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function hf(e,t,n){let r=V(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=V(o),s=i.length>0&&r.startsWith(i)?r.slice(i.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Qu:Ju,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function gf(e,t,n,r,o){for(let i of e){let s=t.get(i)??0;s>0&&(o.score+=s*r.title_exact_bonus,o.matched.add("title"),o.matchedTokens.add(i));for(let a of n){let d=Hn(a.value.toLowerCase(),i);d>0&&(o.score+=d*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function _f(e,t,n,r){V(e.title)===t&&(r.score+=Vu,r.matched.add("title"));for(let i of n){let s=Hn(V(i.value),t);s>0&&(r.score+=s*i.weight*Yu,r.matched.add(i.name))}}function vs(e,t,n,r,o,i,s=!1){let a=e.metadata,d=hf(a,n,i);if(d)return d;let c=new Map;for(let y of uf(a.title))c.set(y,(c.get(y)??0)+1);let l=pf(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};gf(t,c,l,o,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=Xu),t.length>=Ku&&n.includes(" ")&&_f(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((y,g)=>y.localeCompare(g)),matched_all_terms:h}}function ws(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=X(n.item.status,t),s=X(r.item.status,t);if(i!==s)return i?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=E(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function bs(e,t,n,r,o,i,s,a=!1){return vs(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function Nn(e){if(e.size===0)return new Map;let t=[...e.values()],n=Math.min(...t),r=Math.max(...t);if(r===n)return new Map([...e.keys()].map(i=>[i,1]));let o=new Map;for(let[i,s]of e)o.set(i,(s-n)/(r-n));return o}function ks(e,t,n,r,o,i,s,a,d,c,l,u,f,h){let _=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let v=Le({mode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Bn(h),items:[],count:0,..._,filters:v,...l.length>0?{warnings:l}:{}}}let g=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,..._,filters:Ne({effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:g},now:O(),...l.length>0?{warnings:l}:{}}}function Gn(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`,m.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`,m.USAGE);return{provider:t.active,vectorStore:n.active??null}}var H=Dt;function xt(e){let t=x(),n=Ur(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,o=r.query,i=r.queryExpansion??r.query_expansion,s=r.rerank,a=H(r.name)??H(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function Ss(e){let t=H(e.search?.provider),n=xt(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Es(e){let t=x(),n=H(e.vector_store?.adapter),r=Hr(t,n);if(!r)return null;let o=r.runtime_definition??r.definition,i=o.query;if(typeof i!="function")return null;let s=o.upsert;return{adapterName:H(o.name)??H(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function Cs(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: [...] }`,m.GENERIC_FAILURE);let o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=H(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||o.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:d,matched_fields:u})}return i}function xs(e,t){let n=[],r=new Map;for(let o of e){if(r.has(o.id))continue;let i=t.get(o.id);i&&(r.set(o.id,o.score),n.push({item:i.metadata,score:o.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Et(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)),o=e.filter(c=>!r.has(c.item.id)),i=o.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=i+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...o]}function Wn(e,t,n,r,o="semantic"){let i=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=Nn(t),d=Nn(i),c=new Set([...t.keys(),...i.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,_=d.get(u)??0,y=h*r+_*l;if(y<=0)return null;let g=new Set;t.has(u)&&g.add(o);for(let v of s.get(u)??[])g.add(v);return{item:f.metadata,score:y,matched_fields:[...g].sort((v,k)=>v.localeCompare(k))}}).filter(u=>u!==null)}function Ts(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Is(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Xi(Kr(s,{fields:e.corpusFields}))})),n=Vi(t),r=Yi(n,Ln(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:o.get(a).metadata,score:d,matched_fields:["bm25"]}));return Et(s,e.keywordHits)}let i=Wn(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Et(i,e.keywordHits)}function As(e){let t=new Map;for(let r of e)for(let o of r){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let n=[...t.values()];return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function Rs(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(`
|
|
11
|
-
`)}async function yf(e,t){let n=e.queryExpansion.enabled?ji(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let o=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Hi(r,Ui(o),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 vf(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(o){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Gt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Gt(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",m.USAGE)}function wf(e,t,n){return[...e].sort((o,i)=>o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)).slice(0,n).map(o=>{let i=t.get(o.item.id);return i?{hit:o,text:Rs(i)}:null}).filter(o=>o!==null)}async function bf(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(i=>({id:i.hit.item.id,text:i.text,score:i.hit.score}))})),o=Bi(r);return o.length>0?new Map(o.map(i=>[i.id,i.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 kf(e,t,n){let r=await bf(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await zi(e.provider,e.rerank.model,t,o,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(o=>{let i=t.get(o.item.id);if(i===void 0)return o;let s=new Set(o.matched_fields);return s.add("rerank"),{...o,score:i,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((o,i)=>{let s=n.has(o.item.id),a=n.has(i.item.id);return s!==a?s?-1:1:o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)}),r}async function Ef(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=wf(n,r,e.rerank.top_k),i=await kf(e,t,o);return i&&i.size>0?Sf(n,i):n}async function Fs(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}:{},o=e.query.trim(),i=await yf(e,o),s=await tt(e.provider,i,n),a=await Promise.all(s.map(async _=>await vf(e,_,t,r))),d=As(a),c=new Map(e.filteredDocuments.map(_=>[_.metadata.id,_])),{semanticHits:l,semanticScores:u}=xs(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Et(l,e.keywordHits),vectorMatchCount:f};let h=await Ef(e,o,Wn(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Et(h,e.keywordHits),vectorMatchCount:f}}async function Ms(e,t,n,r){let o=Yn(x()),i=async(c,l,u)=>{let f=async(h,_)=>{await ve({path:h,scope:"project"});let y=await St.readFile(h,"utf8");return wr(y,{format:_,schema:r,extensionFieldNames:o,onWarning:v=>s.push(v)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",_=Mt(e,c.type,c.id,h,n);try{return await f(_,h)}catch{return s.push(`item_list_item_read_failed:${jn.relative(e,_)}`),""}}},s=[],a=await Dr(e,t,n,s,r),d=[];if(a.length===0){let c=await $r(e,t,n,s,r);for(let l of c){let u=Mt(e,l.type,l.id,t,n),f=await i(l,u,t);d.push({metadata:l,body:f})}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 i(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))}}function Ds(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 i=n.slice(5);return i.length===0?null:e.item[i]??null}let r=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function $s(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...o})=>o):e.map(n=>{let r={};for(let o of t.fields)r[o]=Ds(n,o);return r})}function Cf(e){let t=xt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function xf(e){let t=xt(H(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function Tf(e,t){let n=[],r=ss(e),o=Object.keys(r.inlineFilters).length>0;if(o&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",m.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 i=o?r.residualQuery:e,s=as(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:bt(s.includeLinked),titleExact:bt(s.titleExact),phraseExact:bt(s.phraseExact),matchMode:Ni(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Pi(s.minScore),countOnly:s.count===!0,tokens:In(i),normalizedQuery:V(i),limit:fe(s.limit),projection:xn(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function If(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await M(n),o=Wr(r).settings,i=P(o.schema),s=Y(o.schema);Tn(e.projection,s,e.query);let a=Ze(e.options,s,"search"),d=F(o,x()),c=qr(o),l=Vr(o,n),u=Ss(o),f=Es(o),h=Li(e.options.semanticWeight),_=Gi(o,c.active?.name??null),y=Wi(o,c.active?.model??H(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:An(o),scoreThreshold:e.minScoreOverride??Fn(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??Mn(o),tuning:Dn(o),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Ts({configuredProvider:H(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:_,queryExpansionExtension:Cf(_),rerank:y,rerankExtension:xf(o),...Af({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Af(e){let n=Br(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),r=e.extensionSearchProvider!==null||n,o=Rn({requested:e.requested,settings:e.settings,semanticRunnable:r});return{effectiveMode:o.mode,modeSource:o.source}}async function Rf(e,t){let n=await Ms(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=Je(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=lo(t.statusRegistry),i=us(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:ls(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Ff(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await ms(o,Zn(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await ps(a,i)]));for(let[a,d]of s)r.set(a,d);return r}async function Mf(e,t,n){let r=await Ff(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>bs(i,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}function es(e,t){return ks(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)}async function Df(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=Is({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:zr(t.settings),bm25Params:Qi(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&o.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),i}async function $f(e,t,n,r){if(!t.extensionSearchProvider)return null;let o=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let i=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return Cs(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,m.GENERIC_FAILURE);return null}}function Of(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 Lf(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await is(e.pmRoot,n,r),e.extensionSearchProvider||Gn(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Nf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,d=await Df(t,n,r,o,i),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await Lf(n,c,r,i,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 $f(t,n,r,l)??a,a===o){let{provider:u,vectorStore:f}=Gn(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Fs({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Of(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return i.push(os(n.effectiveMode,l)),{effectiveMode:"keyword",hits:o}}}function Pf(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return Pn({query:e.query.trim(),mode:e.effectiveMode,...Bn(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:Le({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 Pn({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:Ne({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:O()},e.warnings)}function Bn(e){return e==="settings"?{mode_source:e}:{}}function Pn(e,t){return t.length===0?e:{...e,warnings:t}}function kt(e,t){return t?{...e,workspace_memory:t}:e}function jf(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(i=>[i.metadata.id,i])),o=n.map(i=>({...i,highlights:ys(r.get(i.item.id),i.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:o,projection:e.projection}:{hits:o,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Uf(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return Pn({query:e.query.trim(),mode:e.effectiveMode,...Bn(e.modeSource),items:t,count:t.length,...s,...i,filters:Le({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=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:Ne({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:o.mode,fields:a},now:O(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function Hf(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function Jg(e,t,n){Hf(t);let r=Tf(e,t),o=await If(r,n),i=await Rf(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await ht(i.allDocuments.map(S=>S.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:O()});s.push(...a.warnings);let d=li(a,r.query);o.effectiveMode==="hybrid"&&o.semanticWeightProvided&&o.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:o.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:o.scoreThreshold,hybridSemanticWeight:o.hybridSemanticWeight,queryExpansion:o.queryExpansion,rerank:o.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:o.runtimeFieldFilters};if(o.effectiveMode==="keyword"&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(es({...c,effectiveMode:o.effectiveMode},r.countOnly),d);let l=await Mf(r,o,i.filteredDocuments),u=await Nf({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(es({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=ws(f,o.statusRegistry),_=h.length,y=Oi({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),g={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return kt(Pf(g,_),d);let{hits:v,projection:k}=jf(r,i.filteredDocuments,y.limited),w=$s(v,k);return kt(Uf(g,w,_,y.limited.length,k,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]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function n_(e,t={}){let n=await yo({pmRoot:C(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(o=>o.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 o=r.id;return{...r,canonical_id:o,close_command:`pm close <duplicate-id> --duplicate-of ${o}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}export{Ns as a,zt as b,Gf as c,Bs as d,qs as e,Wf as f,wo as g,rt as h,zs as i,ot as j,st as k,km as l,Co as m,Em as n,Rm as o,Fm as p,Pm as q,jm as r,Um as s,Vo as t,sn as u,ft as v,Rc as w,Jo as x,Oc as y,mt as z,Lc as A,Nc as B,Hc as C,Gc as D,Vm as E,Wc as F,Zo as G,an as H,cn as I,Zc as J,id as K,ip as L,dn as M,ln as N,pt as O,ld as P,pd as Q,ht as R,bd as S,di as T,kd as U,li as V,fi as W,bp as X,kp as Y,Sp as Z,Ep as _,mi as $,Sd as aa,Rd as ba,Ie as ca,qp as da,pn as ea,Dd as fa,$d as ga,gn as ha,Z as ia,yn as ja,vn as ka,wn as la,he as ma,Fe as na,_t as oa,zp as pa,$l as qa,Kp as ra,jl as sa,oh as ta,ih as ua,sh as va,ah as wa,ch as xa,vh as ya,Ai as za,Ri as Aa,Fi as Ba,Hh as Ca,Gh as Da,Le as Ea,Ne as Fa,Fu as Ga,Oi as Ha,An as Ia,Rn as Ja,Fn as Ka,Mn as La,Dn as Ma,ns as Na,rs as Oa,tf as Pa,nf as Qa,Qg as Ra,Jg as Sa,n_ as Ta};
|
|
12
|
-
//# sourceMappingURL=chunk-XSMA2W6Q.js.map
|