@unbrained/pm-cli 2026.9.11 → 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 +22 -0
- package/dist/cli/error-guidance.d.ts +10 -0
- package/dist/cli/error-guidance.js +1 -1
- package/dist/cli/option-values.d.ts +3 -0
- package/dist/cli/option-values.js +2 -0
- 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 +155 -147
- package/dist/cli-bundle/chunks/{chunk-TDKWJQD7.js → chunk-2JAY4LFI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QER6OSOP.js → chunk-3ZJDGTYC.js} +53 -53
- package/dist/cli-bundle/chunks/{chunk-DAWH7TGV.js → chunk-67H4PKQ5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BN5QVWNY.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-RJQSCK74.js → chunk-GKY655T7.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-JMQKJ7CJ.js → chunk-I6VQUHK6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-IRUNFLLG.js → chunk-PTX2JRFR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VFKBNGF6.js → chunk-TAGDYARO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SGAKQIGQ.js → chunk-X6POOZKD.js} +27 -27
- package/dist/cli-bundle/chunks/{chunk-TFVKBJJ4.js → chunk-YU75JRTW.js} +103 -103
- package/dist/cli-bundle/chunks/{register-list-query-U6MY437C.js → register-list-query-KEZPDR6X.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-HEXA3ZDM.js +20 -0
- package/dist/cli-bundle/chunks/{register-operations-EHWIZW3X.js → register-operations-TEZT65JF.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-BZYL3HBL.js → register-setup-IIL74WUG.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-VS6MR2HT.js → chunk-2BQ4JSJQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-BEQAW7OT.js → chunk-5CRND7UA.js} +4 -4
- package/dist/cli-bundle/focused-chunks/chunk-5PSYV3AT.js +164 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7WISPJRZ.js → chunk-7EKXAUKF.js} +52 -52
- package/dist/cli-bundle/focused-chunks/{chunk-TWE3GPQM.js → chunk-BIOWOU6S.js} +17 -17
- package/dist/cli-bundle/focused-chunks/{chunk-6JF66HAG.js → chunk-EIXGDI77.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ONDKO4EL.js → chunk-GAKFECOQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-HFAW3FJQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-HM6JS6Q3.js → chunk-IURELABV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UJCQXUD2.js → chunk-KK7KSXUP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-MOT32PR2.js → chunk-LWJBBM6X.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-MFVABYEU.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-GKUF7TM5.js → chunk-PERRTPIY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-FJDEFA64.js → chunk-SDQOOL34.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TGMSSI3Z.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 +4 -4
- 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 +37 -37
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +42 -42
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +8 -8
- package/dist/core/history/history.js +1 -1
- package/dist/core/history/operation-contract.d.ts +30 -0
- package/dist/core/history/operation-contract.js +2 -0
- 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/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 +1 -1
- package/dist/sdk/cli-contracts/tool-schema.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/contracts.d.ts +1 -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/index.d.ts +1 -0
- 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/runtime.js +1 -1
- package/docs/AGENT_UX_CONTRACTS.md +8 -0
- package/docs/ARCHITECTURE.md +7 -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/WORKFLOW_POLICIES.md +47 -3
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +6 -3
- package/marketplace.json +2 -2
- package/package.json +1 -1
- 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 +22 -0
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-FBY6PEIR.js +0 -20
- package/dist/cli-bundle/chunks/chunk-RJZFAXBW.js +0 -235
- package/dist/cli-bundle/chunks/register-mutation-HAPHD4S7.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-3JVTLBCW.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-DZ3ATEFS.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-M74YW332.js +0 -164
- package/dist/cli-bundle/focused-chunks/chunk-YOPNRWSX.js +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{$ as qr,$a as lo,Da as me,K as Pt,L as Wr,Ma as Qr,U as Je,Ua as B,Va as Jr,W as fe,Wa as Zr,X as Ze,Xa as oo,Y as et,Z as Br,Za as Se,_a as co,a as be,aa as zr,ab as uo,b as Nr,ba as tt,bb as fo,ca as Kr,cb as mo,d as Pr,da as jt,e as jr,ea as Ut,fa as Ht,fb as po,g as Ur,ga as Vr,gb as ho,ib as go,jb as _o,ka as Yr,la as Gt,m as Hr,mb as yo,n as Gr,nb as Bt,ob as qt,pb as q,ua as Xr,vb as vo}from"./chunk-3JVTLBCW.js";import{e as $t,f as Ot,g as Lt,h as Nt}from"./chunk-DZ3ATEFS.js";import{Na as or,Va as ir}from"./chunk-ONDKO4EL.js";import{$ as W,$a as Mr,$b as ke,Aa as Tr,C as J,Ca as Ir,Eb as eo,Fb as to,G as wr,Ha as Xe,Ia as Ar,Ib as no,Ja as Rr,Ra as M,S as N,T as R,U as X,Wb as ro,X as br,_a as Fr,bc as io,cb as Dr,e as pr,ea as kr,ec as Wt,f as hr,fc as so,g as gr,gc as ao,h as _r,hc as nt,i as yr,kb as Qe,m as we,mb as $r,na as Sr,oa as Er,ob as j,pa as Cr,pb as le,qb as de,sb as Or,tb as ue,v as vr,wb as Lr,ya as xr}from"./chunk-M74YW332.js";import{b as Yn,m as P,o as Y}from"./chunk-TGMSSI3Z.js";import{$ as m,Aa as F,Ga as C,H as ae,Ia as Zn,Ic as x,Ka as Mt,M as Rt,Ma as Ge,N as Ue,Nc as ve,Pa as ye,Qa as Dt,Rc as sr,Rd as O,Ud as ur,V as Kn,Va as er,Vd as E,Wa as tr,Wd as fr,Xc as ce,Xd as G,Yc as ar,Z as Vn,_c as We,aa as p,ad as Be,bd as qe,be as ze,cd as cr,de as Ke,fe as Ve,gd as lr,hd as dr,i as zn,ie as mr,ja as Xn,je as Ye,ka as He,la as Qn,na as Jn,pb as nr,qa as Ft,xb as rr}from"./chunk-TWE3GPQM.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 Ps=["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 Wf(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 js(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(l=>!a.has(l)),"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 Us(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 Hs(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 Gs(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 Ws(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&&Hs(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),T(t,n!==void 0&&!Gs(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 Bs(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 qs(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Ps[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=js(t,n);return Us(t,r,n),Ws(t,n),Bs(t.items,n),{ok:n.length===0,findings:n}}function zs(e){let t=qs(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 Bf(e){zs(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]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function wo(e,t){let n=Ir(e),r=e.length>0?e[e.length-1].after_hash:Cr(),o=t===void 0||n.item_hash_version===void 0?void 0:Er(t,n.item_hash_version,wr(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?Sr(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 bo(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 Ur(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 l=Nr(t,a),c=jr(Pr(a,l.historyIndex),l),d=xr(c,{schema:o.schema});if(d.metadata.id!==s.id)throw new p(`History target resolved to item ${d.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[l.historyIndex],f=be(a,!0);return{document:d,reconstructed:!0,as_of_version:f===null?null:f+l.historyIndex+1,as_of_timestamp:u.ts,target:l,history_length:a.length}}import Vs from"node:fs/promises";import Co 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 ko(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 Ks(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(),l=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(l.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(l),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=ko(e.harness),o=ko(e.agentInstance),i=Ks(e,n);return s=>{let l=Vt(s,t).agent_harness;if(r&&(!l||!r.has(l))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,d]of i){let u=s.agent_provenance?.[c];if(!u||!d.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 l of Object.keys(s.agent_provenance??{}))r.add(l);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,l=0;for(let c of e){let d=c.agent_provenance?.[s];d===null?l+=1:d!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:l,legacy_missing:e.length-a-l}})}}(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 Ys=20,Xs=5,Qs=15,Js="-24h";function Em(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 Zs={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 So(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 ea(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function Eo(e,t){return t===void 0?e:e.slice(0,t)}function Ee(e,t=""){return typeof e=="string"?e:t}function ta(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 na(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 ra(e){try{return(await Vs.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Qn(t))return[];throw t}}function oa(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 ia(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Qs:n==="compact"?Ys:Xs}function sa(e,t){let n=O(),r=t==="digest",o=So(e.to??(r?n:void 0),n,"--to"),i=So(e.from??(r?Js: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:ia(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function aa(e){let t=C(process.cwd(),e.path);return await j(t),{pmRoot:t,settings:await M(t)}}async function ca(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 Mr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=Co.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 la(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:ea(t,n.from,n.to)}async function da(e,t){let n=[];for(let r of await ra(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await W(Co.join(e,r),o);for(let s of i){let a=ta(o,s);la(s,a,t)&&n.push(a)}}return n}function ua(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function fa(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 ma(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:fa(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function pa(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 ha(e,t,n,r,o){if(e==="digest"){let s=ma(t,r),a=Eo(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=Eo(t,n);return e==="compact"?{rows:{compact_activity:ua(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 xo(e,t){let n=await aa(t),r=oa(e),o=sa(e,r),i=await ca(n),s=rt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,l=it({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=na(await da(i.historyDir,o)).filter(l),d=ha(r,c,o.limit,i.itemsById,f=>ot(f,a,{itemId:f.id})),u=d.totalRows-d.returnedRows;return{...d.rows,compact:d.compact,projection:{mode:r,row_key:Zs[r]},omission_receipt:We("activity",r),count:d.returnedRows,total_count:d.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:d.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:pa(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 ga=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],_a=["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 ya(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function xm(e,t,n={}){let r=n.includePagination!==!1;return[t,...ga.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(ya)||_a.some(i=>e?.[i]===!0)}function To(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 Io=["parent","type","priority","status","assignee","tags","sprint","release"];function Ro(e,t){let n=Je(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Fo(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 Mo(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=Qr(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(!Io.includes(r))throw new p(`Aggregate group fields must be one of ${Io.join("|")}; received "${r}"`,m.USAGE);return n}function Do(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 $o(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 Do(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Oo(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 va={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Ao(e,t){return t==null||t===""?va[e]:String(t)}function wa(e,t){return e.length===1?Ao(e[0],t[e[0]]):e.map(n=>`${n}=${Ao(n,t[n])}`).join(" | ")}function Lo(e,t,n){for(let r of n){let o=Oo(e.group[r],t.group[r]);if(o!==0)return o}return 0}function No(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 Po(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 ba(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 ka(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Sa(e){e.accumulator.row.count+=1,e.includeCompletion&&Xt(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&ka(e.accumulator,e.numericValue)}function Ea(e,t,n,r){for(let o of t){let i=at(n,o),s=e.get(i);if(s){Sa({...r,accumulator:s});continue}let a=ba(o,r.numericValue);r.includeCompletion&&Xt(a,r.item.status,r.statusRegistry),e.set(i,a)}}function Ca(e,t){let n={};for(let r of e)n[r]=$o(r,t);return n}function xa(e,t,n){let r=[Ca(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(l=>({...a,[o]:l}))))}return r}function Ta(e,t,n,r){let o={...e.row,group_label:wa(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=Po(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 Ia(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 Mm(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=Mo(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 l=Ro(e.status,o),c=Fo(e,[...new Set(i)].sort((w,S)=>w.localeCompare(S))),d=e.completion===!0,u=e.includeUnparented===!0,f=await q(void 0,{...To(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:No(S,c.field),A=xa(s,S,a);Ea(h,A,s,{item:S,statusRegistry:o,includeCompletion:d,numericAggregation:c,numericValue:Q}),g+=A.length,y+=1}let v=[...h.values()].map(w=>Ta(w,s,d,c)).sort((w,S)=>Lo(w,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...Aa(v,s,e),count:v.length,totals:{items_considered:f.items.length,items_grouped:y,items_skipped_unparented:_,group_memberships:g},filters:Ia({groupBy:s,setMode:a,includeCompletion:d,includeUnparented:u,status:l,options:e,numericAggregation:c}),now:O(),...k?{warnings:k}:{}}}function Aa(e,t,n){let r=ro(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 Dm={buildGroupKey:at,compareAggregateRows:Lo,compareNullableGroupValue:Oo,completionPct:Po,normalizeTagGroupValue:Do,parseGroupBy:Mo,parseNumericAggregation:Fo,parseStatus:Ro,readNumericAggregateValue:No,resolveGroupValue:$o,updateCompletionCounts:Xt};import{encode as Ra}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"],Fa=["sun","mon","tue","wed","thu","fri","sat"],Ma=365,Da=365,Ho=28,$a=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 Oa(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 Go(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 La(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Qt.includes(t)){let n=Go(t,Qt);throw new p(`Calendar view must be one of ${Qt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Na(e){if(!e)return;let t=e.trim().toLowerCase();if(!Jt.includes(t)){let n=Go(t,Jt);throw new p(`Calendar format must be one of ${Jt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Um(e,t){let n=Na(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 Pa(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 ja(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 Wo(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 Bo(e){let t=new Date(rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return K(t.toISOString(),r)}function Ua(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ha(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Ga(e,t){return E(e,t)>=0?e:t}function jo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Uo(e,t){e.set(t,(e.get(t)??0)+1)}function Wa(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 qo(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 zo(e){return Fa[new Date(e).getUTCDay()]}function Ba(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function qa(e){let t=new Set;for(let n of e??[]){let r=Ba(n);r&&t.add(r)}return t}function za(e,t,n,r,o){let i=e??K(n,-(r??Da)),s=t??K(e??n,o??Ma);return{start:i,end:E(s,i)>0?s:K(i,1)}}function Ka(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[zo(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??$a,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:qa(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 lt(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 dt(e,t){let n=zo(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function Va(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(dt(e,t)&<(e,t)==="stop");n+=1)t=K(t,e.interval);return e.occurrences}function Ya(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 Xa(e){let t=Bo(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=Ya(e,r,o);if(dt(e,i)&<(e,i)==="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=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=qo(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!dt(e,s))&<(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ja(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=qo(o,n,i,e.startDate);if(!(!s||!dt(e,s))&<(e,s)==="stop")return e.occurrences}}return e.occurrences}function Za(e,t,n,r){let o=Ka(e,t,n,r);return t.freq==="daily"?Va(o):t.freq==="weekly"?Xa(o):t.freq==="monthly"?Qa(o):Ja(o)}function Ko(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 ec(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 tc(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 nc(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function rc(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function oc(e,t,n,r){let o=Wa(t.recurrence),i=nc(t.start_at,t.end_at);return(t.recurrence?Za(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Wo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:rc(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 ic(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?ec(i):null;s&&o.push(s),n.has("reminders")&&o.push(...tc(i));for(let a of n.has("events")?i.events??[]:[])o.push(...oc(i,a,t,r))}return Ko(o)}function sc(e,t,n,r,o){let i=Zr(t.type,n),s=t.tag?.trim().toLowerCase(),a=Jr(t.priority),l=Pa(t.status,r),c=t.assignee?.trim(),d=ja(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&&d==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>ac(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:l,assigneeFilter:c,assigneeModeFilter:d,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function ac(e,t){return cc(e,t)&&lc(e,t)&&et(e,t.runtimeFieldFilters)}function cc(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 lc(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 uc(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 fc(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=Bo(r);return tn(r,n,o,i,c,K(c,7))}let l=Ua(r);return tn(r,n,o,i,l,Ha(r))}function fc(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:Ga(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function mc(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:Ko(r)}))}function pc(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let l of e)t.add(l.item_id),Uo(n,l.item_type),Uo(r,l.item_status),l.kind==="deadline"?o+=1:l.kind==="reminder"?i+=1:(s+=1,l.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:jo(n),by_status:jo(r),recurring_events:a}}function hc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Vo(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 gc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Wo(e.event_end,e.event_timezone)?Vo(e.event_end,e.event_timezone):e.event_end:null}function _c(e){let t=`${Vo(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=gc(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 Hm(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${hc(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(`
|
|
1
|
+
import{$ as Ut,F as Pt,G as Wr,Ha as Qr,P as Je,Pa as B,Qa as Jr,R as fe,Ra as Zr,S as Ze,Sa as oo,T as et,U as Br,Ua as Se,Va as co,W as qr,Wa as lo,X as zr,Xa as uo,Y as tt,Ya as fo,Z as Kr,Za as mo,_ as jt,aa as Ht,ab as po,b as Ur,ba as Vr,bb as ho,db as go,eb as _o,fa as Yr,ga as Gt,h as Hr,hb as yo,i as Gr,ib as Bt,jb as qt,kb as q,pa as Xr,qb as vo,ya as me}from"./chunk-VWMP6W7Y.js";import{e as $t,f as Ot,g as Lt,h as Nt}from"./chunk-MFVABYEU.js";import{Na as or,Va as ir}from"./chunk-GAKFECOQ.js";import{$ as W,$a as $r,$b as ro,Aa as Tr,Bb as jr,C as J,Ca as Ir,G as wr,Ha as Xe,Ia as Ar,Ja as Rr,Jb as eo,Kb as to,Nb as no,Ra as M,S as N,T as R,U as X,Va as Fr,X as br,Xa as be,Ya as Mr,_a as Dr,e as pr,ea as kr,ec as ke,f as hr,g as gr,gc as io,h as _r,hb as Or,i as yr,ib as Lr,jc as Wt,kc as so,lc as ao,m as we,mc as nt,na as Sr,oa as Er,pa as Cr,pb as Qe,rb as Nr,tb as j,ub as le,v as vr,vb as de,xb as Pr,ya as xr,yb as ue}from"./chunk-5PSYV3AT.js";import{b as Yn,m as P,o as Y}from"./chunk-TTRB47KM.js";import{$ as m,Aa as F,Ga as C,H as ae,Ia as Zn,Ic as x,Ka as Mt,M as Rt,Ma as Ge,N as Ue,Nc as ve,Pa as ye,Qa as Dt,Rc as sr,Rd as O,Ud as ur,V as Kn,Va as er,Vd as E,Wa as tr,Wd as fr,Xc as ce,Xd as G,Yc as ar,Z as Vn,_c as We,aa as p,ad as Be,bd as qe,be as ze,cd as cr,de as Ke,fe as Ve,gd as lr,hd as dr,i as zn,ie as mr,ja as Xn,je as Ye,ka as He,la as Qn,na as Jn,pb as nr,qa as Ft,xb as rr}from"./chunk-BIOWOU6S.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 Ps=["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 Wf(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 js(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(l=>!a.has(l)),"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 Us(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 Hs(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 Gs(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 Ws(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&&Hs(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),T(t,n!==void 0&&!Gs(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 Bs(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 qs(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Ps[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=js(t,n);return Us(t,r,n),Ws(t,n),Bs(t.items,n),{ok:n.length===0,findings:n}}function zs(e){let t=qs(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 Bf(e){zs(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]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function wo(e,t){let n=Ir(e),r=e.length>0?e[e.length-1].after_hash:Cr(),o=t===void 0||n.item_hash_version===void 0?void 0:Er(t,n.item_hash_version,wr(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?Sr(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 bo(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 Ur(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 l=Mr(t,a),c=$r(Dr(a,l.historyIndex),l),d=xr(c,{schema:o.schema});if(d.metadata.id!==s.id)throw new p(`History target resolved to item ${d.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[l.historyIndex],f=be(a,!0);return{document:d,reconstructed:!0,as_of_version:f===null?null:f+l.historyIndex+1,as_of_timestamp:u.ts,target:l,history_length:a.length}}import Vs from"node:fs/promises";import Co 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 ko(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 Ks(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(),l=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(l.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(l),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=ko(e.harness),o=ko(e.agentInstance),i=Ks(e,n);return s=>{let l=Vt(s,t).agent_harness;if(r&&(!l||!r.has(l))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,d]of i){let u=s.agent_provenance?.[c];if(!u||!d.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 l of Object.keys(s.agent_provenance??{}))r.add(l);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,l=0;for(let c of e){let d=c.agent_provenance?.[s];d===null?l+=1:d!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:l,legacy_missing:e.length-a-l}})}}(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 Ys=20,Xs=5,Qs=15,Js="-24h";function Em(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 Zs={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 So(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 ea(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function Eo(e,t){return t===void 0?e:e.slice(0,t)}function Ee(e,t=""){return typeof e=="string"?e:t}function ta(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 na(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 ra(e){try{return(await Vs.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Qn(t))return[];throw t}}function oa(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 ia(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Qs:n==="compact"?Ys:Xs}function sa(e,t){let n=O(),r=t==="digest",o=So(e.to??(r?n:void 0),n,"--to"),i=So(e.from??(r?Js: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:ia(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function aa(e){let t=C(process.cwd(),e.path);return await j(t),{pmRoot:t,settings:await M(t)}}async function ca(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 Lr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=Co.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 la(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:ea(t,n.from,n.to)}async function da(e,t){let n=[];for(let r of await ra(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await W(Co.join(e,r),o);for(let s of i){let a=ta(o,s);la(s,a,t)&&n.push(a)}}return n}function ua(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function fa(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 ma(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:fa(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function pa(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 ha(e,t,n,r,o){if(e==="digest"){let s=ma(t,r),a=Eo(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=Eo(t,n);return e==="compact"?{rows:{compact_activity:ua(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 xo(e,t){let n=await aa(t),r=oa(e),o=sa(e,r),i=await ca(n),s=rt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,l=it({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=na(await da(i.historyDir,o)).filter(l),d=ha(r,c,o.limit,i.itemsById,f=>ot(f,a,{itemId:f.id})),u=d.totalRows-d.returnedRows;return{...d.rows,compact:d.compact,projection:{mode:r,row_key:Zs[r]},omission_receipt:We("activity",r),count:d.returnedRows,total_count:d.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:d.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:pa(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 ga=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],_a=["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 ya(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function xm(e,t,n={}){let r=n.includePagination!==!1;return[t,...ga.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(ya)||_a.some(i=>e?.[i]===!0)}function To(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 Io=["parent","type","priority","status","assignee","tags","sprint","release"];function Ro(e,t){let n=Je(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Fo(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 Mo(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=Qr(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(!Io.includes(r))throw new p(`Aggregate group fields must be one of ${Io.join("|")}; received "${r}"`,m.USAGE);return n}function Do(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 $o(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 Do(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Oo(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 va={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Ao(e,t){return t==null||t===""?va[e]:String(t)}function wa(e,t){return e.length===1?Ao(e[0],t[e[0]]):e.map(n=>`${n}=${Ao(n,t[n])}`).join(" | ")}function Lo(e,t,n){for(let r of n){let o=Oo(e.group[r],t.group[r]);if(o!==0)return o}return 0}function No(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 Po(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 ba(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 ka(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Sa(e){e.accumulator.row.count+=1,e.includeCompletion&&Xt(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&ka(e.accumulator,e.numericValue)}function Ea(e,t,n,r){for(let o of t){let i=at(n,o),s=e.get(i);if(s){Sa({...r,accumulator:s});continue}let a=ba(o,r.numericValue);r.includeCompletion&&Xt(a,r.item.status,r.statusRegistry),e.set(i,a)}}function Ca(e,t){let n={};for(let r of e)n[r]=$o(r,t);return n}function xa(e,t,n){let r=[Ca(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(l=>({...a,[o]:l}))))}return r}function Ta(e,t,n,r){let o={...e.row,group_label:wa(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=Po(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 Ia(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 Mm(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=Mo(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 l=Ro(e.status,o),c=Fo(e,[...new Set(i)].sort((w,S)=>w.localeCompare(S))),d=e.completion===!0,u=e.includeUnparented===!0,f=await q(void 0,{...To(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:No(S,c.field),A=xa(s,S,a);Ea(h,A,s,{item:S,statusRegistry:o,includeCompletion:d,numericAggregation:c,numericValue:Q}),g+=A.length,y+=1}let v=[...h.values()].map(w=>Ta(w,s,d,c)).sort((w,S)=>Lo(w,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...Aa(v,s,e),count:v.length,totals:{items_considered:f.items.length,items_grouped:y,items_skipped_unparented:_,group_memberships:g},filters:Ia({groupBy:s,setMode:a,includeCompletion:d,includeUnparented:u,status:l,options:e,numericAggregation:c}),now:O(),...k?{warnings:k}:{}}}function Aa(e,t,n){let r=ro(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 Dm={buildGroupKey:at,compareAggregateRows:Lo,compareNullableGroupValue:Oo,completionPct:Po,normalizeTagGroupValue:Do,parseGroupBy:Mo,parseNumericAggregation:Fo,parseStatus:Ro,readNumericAggregateValue:No,resolveGroupValue:$o,updateCompletionCounts:Xt};import{encode as Ra}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"],Fa=["sun","mon","tue","wed","thu","fri","sat"],Ma=365,Da=365,Ho=28,$a=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 Oa(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 Go(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 La(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Qt.includes(t)){let n=Go(t,Qt);throw new p(`Calendar view must be one of ${Qt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Na(e){if(!e)return;let t=e.trim().toLowerCase();if(!Jt.includes(t)){let n=Go(t,Jt);throw new p(`Calendar format must be one of ${Jt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Um(e,t){let n=Na(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 Pa(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 ja(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 Wo(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 Bo(e){let t=new Date(rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return K(t.toISOString(),r)}function Ua(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ha(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Ga(e,t){return E(e,t)>=0?e:t}function jo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Uo(e,t){e.set(t,(e.get(t)??0)+1)}function Wa(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 qo(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 zo(e){return Fa[new Date(e).getUTCDay()]}function Ba(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function qa(e){let t=new Set;for(let n of e??[]){let r=Ba(n);r&&t.add(r)}return t}function za(e,t,n,r,o){let i=e??K(n,-(r??Da)),s=t??K(e??n,o??Ma);return{start:i,end:E(s,i)>0?s:K(i,1)}}function Ka(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[zo(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??$a,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:qa(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 lt(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 dt(e,t){let n=zo(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function Va(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(dt(e,t)&<(e,t)==="stop");n+=1)t=K(t,e.interval);return e.occurrences}function Ya(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 Xa(e){let t=Bo(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=Ya(e,r,o);if(dt(e,i)&<(e,i)==="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=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=qo(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!dt(e,s))&<(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ja(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=qo(o,n,i,e.startDate);if(!(!s||!dt(e,s))&<(e,s)==="stop")return e.occurrences}}return e.occurrences}function Za(e,t,n,r){let o=Ka(e,t,n,r);return t.freq==="daily"?Va(o):t.freq==="weekly"?Xa(o):t.freq==="monthly"?Qa(o):Ja(o)}function Ko(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 ec(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 tc(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 nc(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function rc(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function oc(e,t,n,r){let o=Wa(t.recurrence),i=nc(t.start_at,t.end_at);return(t.recurrence?Za(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Wo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:rc(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 ic(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?ec(i):null;s&&o.push(s),n.has("reminders")&&o.push(...tc(i));for(let a of n.has("events")?i.events??[]:[])o.push(...oc(i,a,t,r))}return Ko(o)}function sc(e,t,n,r,o){let i=Zr(t.type,n),s=t.tag?.trim().toLowerCase(),a=Jr(t.priority),l=Pa(t.status,r),c=t.assignee?.trim(),d=ja(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&&d==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>ac(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:l,assigneeFilter:c,assigneeModeFilter:d,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function ac(e,t){return cc(e,t)&&lc(e,t)&&et(e,t.runtimeFieldFilters)}function cc(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 lc(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 uc(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 fc(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=Bo(r);return tn(r,n,o,i,c,K(c,7))}let l=Ua(r);return tn(r,n,o,i,l,Ha(r))}function fc(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:Ga(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function mc(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:Ko(r)}))}function pc(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let l of e)t.add(l.item_id),Uo(n,l.item_type),Uo(r,l.item_status),l.kind==="deadline"?o+=1:l.kind==="reminder"?i+=1:(s+=1,l.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:jo(n),by_status:jo(r),recurring_events:a}}function hc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Vo(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 gc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Wo(e.event_end,e.event_timezone)?Vo(e.event_end,e.event_timezone):e.event_end:null}function _c(e){let t=`${Vo(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=gc(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 Hm(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${hc(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
2
|
`);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${_c(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 yc(t.join(`
|
|
3
3
|
`))}function Gm(e){return Ra(e)}function yc(e){let t=e.length;for(;t>0&&e[t-1]===`
|
|
4
4
|
`;)t-=1;return e.slice(0,t)}function vc(e){let t=O(),n=La(e.view),r=uc(n,e,t),o=B(e.limit),i=Oa(e.include),s=Zt(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Zt(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),l=Zt(e.occurrenceLimit,"Calendar occurrence limit");if(l!==void 0&&l<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.has("reminders"),d=e.to!==void 0||s!==void 0||a!==void 0||l!==void 0,u=c&&!d;return{nowValue:t,view:n,rangeBounds:r,limit:o,includeSources:i,occurrenceLimit:l,recurrenceLookaheadDays:u?Ho:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function wc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Ho}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function bc(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 kc(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 Yo(e,t){let n=C(process.cwd(),t.path);await j(n);let r=vc(e),o=await M(n),i=P(o.schema),s=Y(o.schema),a=Ze(e,s,"calendar"),l=F(o,x()),c=[];wc(c,r.eventsOnlyCapApplied);let d=await ue(n,o.item_format,l.type_to_folder,c,o.schema),u=sc(d,e,l,i,a),f=za(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),_=ic(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=mc(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:kc(e,r.rangeBounds),filters:bc(e,a),summary:pc(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 Xo="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"],Sc=Symbol("no-context-author"),Ec=Symbol("no-item-assignee");function Qo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Cc(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 xc(e){let t=Cc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ce(e.created_at)??Xo}}function Tc(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 Ic(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 Ac(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 Rc(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 d=t.recencyEvidence?.[c.id];return[c.id,d===void 0?xc(c):Tc(d)]})),r=[...e].sort((c,d)=>{let u=n.get(c.id).coordinate,f=n.get(d.id).coordinate;return E(f,u)||c.id.localeCompare(d.id)}),o=new Map(r.map((c,d)=>[c.id,d])),i=Math.max(e.length-1,1),s=Qo(t.author,Sc),a=N("in_progress",t.statusRegistry),l=Date.parse(t.now);return e.map(c=>{let d=Qo(c.assignee,Ec)===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:d?.75:0),priority_pressure:Ic(c.priority,4),risk_pressure:Rc(c.risk),deadline_pressure:Ac(c.deadline,l),knowledge_density:ut(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:ut(t.authorAffinity,c.id,d?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Fc="context_relevance",Mc={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},Dc=new TextEncoder;function $c(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 Oc(e){let t={...Mc};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 Zo(e,t={}){$c(e);let n=Oc(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[l,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(l);let i=sn.filter(a=>o.has(a)),s=e.map((a,l)=>{let c={structural:e.length===1?1:1-l/r,...a.signals},d={},u=0,f=0;for(let h of i){let _=c[h];if(_===void 0)continue;let y=_*n[h];d[h]=y,u+=y,f+=n[h]}return{...a,baseline_rank:l+1,rank:0,score:f===0?0:u/f,contributions:d}});return s.sort((a,l)=>l.score-a.score||a.baseline_rank-l.baseline_rank),s.forEach((a,l)=>{a.rank=l+1}),{model:"default-weighted-v1",available_signals:i,ranked:s}}async function Lc(e,t={}){let n=Zo(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=Zo(t,n),o=await sr(Fc,{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 Lc(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 Nc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Jo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Pc(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,d)=>d-c).slice(0,n.length||1),o=c=>c.reduce((d,u,f)=>d+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),l=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:Jo(e.required_ids??[],a),continuity_coverage:Jo(e.continuity_ids??[],a),token_budget_adherence:l?1:e.token_budget/e.actual_tokens,within_token_budget:l}}function jc(e){return Math.ceil(Dc.encode(JSON.stringify(e)).byteLength/4)}function Uc(e){return Math.round(e*1e4)/1e4}function Hc(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 Gc(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}=Hc(n,e.surface),i={...n,ranking:void 0},s=jc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Pc({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 Wc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Nc;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,Uc(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 Xm(e,t,n){let r=[];for(let o of e)r.push(await Gc(o,t));return Wc(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 Bc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},qc=["identity","summary","full"];function zc(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=qc.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 Kc(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=Bc[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 Vc(e){let t=new Set;for(let n of e){if(zc(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 Yc(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 l=e[a];if(l.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],d=n(l)/l.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(d>u||d===u&&c!==void 0&&(l.rank<c.rank||l.rank===c.rank&&l.id.localeCompare(c.id)<0))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Xc(e){let t=new Set,n=[],r=e.tokenBudget,o=c=>{let d=c.lineage??c.cluster,u=d&&t.has(d)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},i=c=>{let d=c.token_costs.identity;n.push({...c,projection:"identity",tokens:d,marginal_value:o(c)}),r-=d;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(d=>d.required))c.token_costs.identity<=r&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,l=0;for(;s.length>0;){let c=Yc(s,r,o,e.deadline,e.readClock);if(l+=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:l}}function Qc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let l=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(l,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 ei(e,t){let n=Kc(t),r=Vc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Xc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,l=Qc(a,s.remaining);a.sort((d,u)=>d.rank-u.rank||d.id.localeCompare(u.id));let c=new Set(a.map(d=>d.id));return{included:a,omitted_ids:r.filter(d=>!c.has(d.id)).map(d=>d.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-l,remaining_tokens:l,complete:s.selectionComplete&&a.length===e.length&&a.every(d=>d.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 ti,randomUUID as Jc}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,ni=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Zc=new Set(["substantive_history","release_cohort","created_at"]),el={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 ri(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function tl(e){let t={};for(let n of ni){let r=e[n];if(r!==void 0){if(!ri(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function nl(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 rl(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 oi(e,t){return{...t,activityDensity:t.activityDensity??nl(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??rl(e)}}function un(e){let t=ti("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 ol(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(ni),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&ri(a))||![typeof n.source=="string"&&Zc.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 il(e,t){let n=Array.from(e,ol);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 sl(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=il(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 ii(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 si(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:tl(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 ap(e,t){return ii(t),si(ft(e,oi(e,t)),t)}var ln=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)}.${Jc()}.tmp`);try{await xe.writeFile(r,`${JSON.stringify(t)}
|
|
5
5
|
`,{encoding:"utf8",flag:"wx"}),await xe.rename(r,this.filePath)}finally{try{await xe.rm(r,{force:!0})}catch{}}}},dn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){ii(n);let r=[],o=null;try{let f=await this.adapter.read();o=sl(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,oi(t,n)),l=un(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===l&&o.source===n.source&&s.length===i.length&&s.every((f,h)=>f===i[h]),d;if(c&&o!==null)d=o;else{o!==null&&r.push("context_signal_store_stale"),d=si(a,n,l);try{await this.adapter.write(d)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(d.items.map(f=>[f.id,f]));return{snapshot:d,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=>el[f])}}};function al(e){let t=ti("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??al(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new dn(new ln(Te.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),l=t.recencyEvidence??Object.fromEntries(Object.entries(await kr(t.pmRoot,e.map(c=>c.id))).map(([c,d])=>[c,{source:"substantive_history",coordinate:d.entry.ts,history_op:d.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:l,sourceCursor:i,source:s})}import cl from"node:path";import{createHash as ll}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 ai(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 dl 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 ci=1,ul=1e4,li=12;function fl(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function ml(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 pl(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 hl(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=ai(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,l=fl(a.timestamp),c=`epoch:${l}`,d=o.get(c)??{kind:"epoch",key:l,label:l,items:[]};d.items.push(i),o.set(c,d);let u=ml(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:ci,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(pl).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function gl(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 _l(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(gl)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function yl(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==ci||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(_l)?t:null}function vl(e){return`scan:${ll("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 wl(e,t,n){return n!==void 0?n:(await Qe(t))?.source_cursor??vl(e)}async function bl(e){try{let t=yl(JSON.parse(await dl.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??ul));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await wl(e,t.pmRoot,t.sourceCursor),o=cl.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await bl(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 l=hl(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Jn(o,`${JSON.stringify(l)}
|
|
6
6
|
`)}catch{i.push("workspace_memory_write_failed")}return{snapshot:l,cache_status:"rebuilt",warnings:i}}function kl(e,t,n=li){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=li){if(e.snapshot===null)return;let r=kl(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 Sl(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 ui(e,t,n=5){let r=Sl(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 fi=16;async function mi(e,t,n){let r=F(t,x()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<fi;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let l=await le(e,s,t.id_prefix,t.item_format,r);if(!l)break;let c=await de(l,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function Sp(e){await gr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await mi(e.pmRoot,e.settings,e.itemId)})}async function Ep(e){await _r(e)}async function Cp(e){await yr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await mi(e.pmRoot,e.settings,e.itemId)}:{}})}var xp={lineage_depth:fi,active_items:64,evidence_rows:32};function pi(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 El=["markdown","toon","json","ndjson"],gt=new Set(["Epic","Feature"]),vi=10,wi=1e4,bi=["hierarchy","activity","progress","recently_created","unparented","workload"],Cl=[...bi,"blockers","files","staleness","tests"],xl=/^(\d{4})-(\d{2})-(\d{2})/,Tl=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Il=/^(\d{4})(\d{2})(\d{2})$/,Al=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Rl(e){if(!e)return;let t=e.trim().toLowerCase();if(!El.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var hi=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 Fl(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!hi.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...hi].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 Kp(e,t){let n=Rl(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 Ml(e,t){return B(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:vi)}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 Dl(e,t){return t>=wi&&e===Number.MAX_SAFE_INTEGER?vi:e}function $l(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 Ol(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"?Cl:bi).filter(o=>n.sections[o])}function Ll(e,t){return e?B(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Nl(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 gi(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 ki(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Pl(e,t){return t.blocked_statuses.has(R(e,t))}var jl=["compact","brief","fields","includeBody","include_body","parent"];function Ul(e){let t={...e};for(let n of jl)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 Hl(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 Gl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Wl(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 Bl(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function ql(e){let t=xl.exec(e)??Tl.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<=Bl(n,r-1)}function zl(e){let t=Il.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Al.exec(e);if(n){let[,r,o,i,s,a,l,c]=n,d=l?`:${l}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${o}-${i}T${s}:${a}${d}${u}`}return e}function Si(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!ql(t))return Number.NaN;let n=Date.parse(zl(t));return Number.isFinite(n)?n:Number.NaN}function mn(e){let t=Si(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Kl(e){let t=Si(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=gi(e.status,n)-gi(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Gl(e.order,t.order);if(i!==0)return i;let s=Wl(e.deadline,t.deadline);if(s!==0)return s;let a=E(mn(t.updated_at),mn(e.updated_at)),l=e.id.localeCompare(t.id);return a!==0?a:l}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 ei(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 Ei(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=Ei(s,i)}}return r}function Vl(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 Yl(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Xl(e,t,n,r){let o=new Map;for(let l of e)o.set(l.id,l);let i=he(e),s=new Set(t.filter(l=>gt.has(l.type)).map(l=>l.id)),a=[];for(let l of s){let c=o.get(l);if(!c)continue;let d=Re(l,i),u=i.get(l)??[],f=0,h=0,_=0,y=0;for(let v of d)Ae(v.status,n)?f++:hn(v.status,n)?_++:Pl(v.status,n)?y++:ki(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:d.length,children_closed:f,children_open:h,children_in_progress:_,children_blocked:y,children:g})}return a.sort((l,c)=>{let d=o.get(l.id),u=o.get(c.id);return Z(d,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 Ql(e,t){return(await xo({compact:!0,limit:String(e)},t)).compact_activity??[]}function Jl(e,t,n,r,o){let i=new Map;for(let l of e){if(!l.parent)continue;let c=i.get(l.parent)??[];c.push(l),i.set(l.parent,c)}let s=t.filter(l=>gt.has(l.type)),a=[];for(let l of s){let c=Re(l.id,i),d=c.length;if(d===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++:ki(y.status,r)&&f++;a.push({id:l.id,title:l.title,type:l.type,total:d,closed:u,open:f,in_progress:h,blocked:_,completion_pct:Ei(u,d)})}return a.sort((l,c)=>l.completion_pct-c.completion_pct).slice(0,o)}function Zl(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,l=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:l?.title??null,blocked_by_status:l?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function ed(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 td(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 nd(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 rd(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 od(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 id(e){let t=0,n=0,r=0,o=0,i=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let l=a.test_runs??[];if(l.length>0){n++;let c=!1;for(let d of l)r+=d.passed??0,o+=d.failed??0,i+=d.skipped??0,(d.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 _i(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Ci(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 sd(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function ad(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`${_i(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${_i(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 yi(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 cd(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 ld(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(`- ${ad(n)}`);e.push("")}function dd(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 ud(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 fd(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)}`:`- ${Kl(o.created_at)} ${Ci(o)}`);e.push("")}}function md(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 pd(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 hd(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 gd(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 _d(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 yd(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 vd(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 wd(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 Vp(e){let t=[],n=e.focus_fields,r=i=>n?sd(i,n):Ci(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(""),yi(t,"High-level focus",e.high_level,"No high-level active items.",r),yi(t,"Low-level focus",e.low_level,"No low-level active items.",r),cd(t,e,r),ld(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 dd(t,e),ud(t,e),fd(t,e,n,r),md(t,e,r),pd(t,e),hd(t,e),gd(t,e),_d(t,e),yd(t,e),vd(t,e),wd(t,e),t.join(`
|
|
7
7
|
`)}async function bd(e,t){let n=C(process.cwd(),t.path),r=await M(n),o=r.context??Vn.context,i=P(r.schema),s=$l(e.depth,o),a=Ml(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Ol(e.section,s,o),activityLimit:Ll(e.activityLimit,o),staleThresholdDays:Nl(e.staleThreshold,o),parentScope:Hl(e.parent),focusFields:Fl(e.fields),baseListOptions:Ul(e)}}function kd(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Sd(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Ed(e,t){let n=await q(void 0,Sd(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!X(a.status,t.statusRegistry)),i=r,s=Cd(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 Cd(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 xd(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 Td(e,t,n,r,o,i,s,a,l,c,d,u,f,h,_,y){let g=[...e].sort((b,se)=>Z(b,se,o)),v=await Ye({pmRoot:f,author:l,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),k=await pt(g,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:l,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?lr(A,c,d,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?cr(d,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=kd(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=xd(U,n,o,y),Ls=U.filter(b=>L.has(b.id)).slice(0,u?I.length:s).map($),Ns=U.filter(b=>!L.has(b.id)).slice(0,u?I.length:s).map($),qn=A.length===0;return{activeItems:U,blockedItems:oe,highLevel:Ls,lowLevel:Ns,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 Id(e){return qe("context",Be(e,or))}function Ad(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=wi}async function Rd(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await Yo(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Yl(s,t.statusRegistry).slice(0,t.limit),l=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:l,agendaSummary:Vl(a)}}function xi(e,t,n){let r=String(t);return e.filter(o=>R(o.status,n)===r).length}async function Fd(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,l=he(n),c=n.filter(u=>!X(u.status,t.statusRegistry)),d=u=>t.sectionsIncluded.includes(u);return{hierarchy:d("hierarchy")?Xl(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:d("activity")?await Ql(t.activityLimit,a):void 0,progress:d("progress")?Jl(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:d("blockers")?Zl(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:d("recently_created")?rd(c,t.statusRegistry,l,t.limit):void 0,unparented:d("unparented")?od(c,t.statusRegistry,l,t.limit):void 0,filesSection:d("files")?ed(i.activeItems,t.limit):void 0,workload:d("workload")?td(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:d("staleness")?nd(c,t.staleThresholdDays,s,t.limit):void 0,tests:d("tests")?id(i.activeItems):void 0}}function Md(e,t,n){let r=N("canceled",t),o=e.filter(s=>t.active_statuses.has(R(s.status,t))),i=xi(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 Dd(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 $d(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 Od(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 Ld(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 Nd(e,t,n,r){try{let o=new Set(t.packing.included.map(l=>l.id)),i=t.ranking.ranked.map(l=>({id:l.id,rank:l.rank,included:o.has(l.id)})),s=new Set(i.map(l=>l.id));for(let l of Ke(e,"context"))s.has(l)||(i.push({id:l,rank:i.length+1,included:!1}),s.add(l));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 Pd(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 jd(e,t){let n=vr(),r=await pr(e),o=n.instance||hr(t);return pi(r.semantic_attribution?.[o])}async function Yp(e,t){let n=C(process.cwd(),t.path),r=await bd(e,t),o=await Ed(t,r),i=Dl(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),l=await jd(n,a),c=Pd(e.noExtensionHealth===!0,n,s.settings),d=so(o.fullCorpus,s.statusRegistry),u=await Td(o.listedItemMetadata,o.allItems,o.fullCorpus,d,s.statusRegistry,s.sectionsIncluded,s.limit,O(),a,e.after,Id(e),Ad(e,o.fullCorpus.length),n,s.tokenBudget,l,F(s.settings,x())),f=await Rd(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=xi(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),g=u.activeItems.length-y,v=await Fd({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:d,focusGroups:u,now:f.agenda.now,global:t}),k=Md(o.allItems,s.statusRegistry,d),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),Dd(w,v,u.featureStore.warning_details),Od(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)),$d(w,s.focusFields),_.length>0&&(w.warnings=_),Ld(w,u.activeItems,u.blockedItems),await Nd(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 Ud=["markdown","toon","json"],Hd=5,Gd=1440*60*1e3;function Wd(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ud.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function sh(e,t){let n=Wd(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 Ti(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 Bd(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(qd(o.deadline,n)),i.push(io(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 Ii(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 ah={partitionCallerOwnedReady:Ii,resolveNextCallerAuthor:(e,t)=>Ai(e,t)};function ch(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 qd(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))/Gd);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function zd(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 Kd(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 Vd(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Bd(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Yd(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 Xd(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 Qd(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 Jd(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=Yd(e.recommended,e.blockedRows,e.gateCount),await Qd({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Zd(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 eu(e,t,n,r,o,i,s,a){let l=e.filter(g=>!bn(g.item,t)),c=a||l.length===0?e:l,d=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:d.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:l.length===0&&!a,packing:h,featureStore:u}}function Ai(e,t){let n=e.assignee?.trim();return J(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function lh(e,t){let n=C(process.cwd(),t.path),r=await M(n),o=Ai(e,r.author_default),i=P(r.schema),s=F(r,x()),a=O(),l=Ti(e.limit,"--limit",Hd),c=pn(e.tokenBudget,Math.max(192,l*128)),d=Ti(e.blockedLimit,"--blocked-limit",l),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",h=await q(void 0,Kd(e,{excludeTerminal:!0}),t),_=await q(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=Zd(h.items,_.items,f),g=_.items,v=nt(y,g,i,s),k=he(g),w=ao(v,i,e,s),S=Ii(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 eu(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=Vd({projectedReady:D,readyRows:te,statusRegistry:i,now:a,completedContainer:Pe}),ie=Xd(re.length,S.held.length,l)??{};U.length>l&&(ie.gate_needed_total=U.length),oe.length>l&&(ie.containers_total=oe.length);let It={output_default:"toon",now:a,recommended:_e,ready:te.slice(1,l+1),decision_needed:re.slice(0,l),gate_needed:U.slice(0,l),containers:oe.slice(0,l),blocked:u?[]:ne.slice(0,d),held_by_others:S.held.slice(0,l),summary:{recommended:_e!==null,ready:te.length,blocked:ne.length,in_progress:zd(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:l,blocked_limit:d,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 Jd({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 dh(e){let t=["# pm next","",...tu(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",nu(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=>`- ${ru(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 tu(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 nu(e){return e?[`- ${$e(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function De(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ru(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 ou(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function iu(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=Tr(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 su(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 au(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:Dr(e,r.id_prefix),a=await le(n,s,r.id_prefix,r.item_format,o.type_to_folder),l=a?.id??s,c=i?Ar(n):Ge(n,l);if(!a&&!await Xn(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await Fr({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:l,settings:r}}async function bh(e,t,n){let r=fe(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await au(e,n),l=await W(o,s),c=su(l),d=a.agent_identity.identity_vocabulary,u=rt(a.agent_identity.harness_signals),f=it({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},d,u),h=cu(l).filter(({entry:D})=>f(D)),_=ou(h,r),y=_.map(({entry:D})=>D),g=t.compact===!0,v=g?iu(_,c):void 0,k=t.provenance===!0?_.map(({entry:D,durableVersion:I})=>ot(D,d,{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:We("history",w),count:y.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:st(h.map(({entry:D})=>D),d,u)}:{}};if((t.diff||t.field!==void 0)&&(A.diff=Wr(l,{windowStartIndex:Math.max(0,l.length-y.length),field:t.field})),t.verify){let D=i?(await de(i,{schema:a.schema})).document:void 0;if(A.verification=wo(l,D),s===Xe&&A.verification.ok){let I=await Rr(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 cu(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 Ri=1e6,Fi=20;function Mi(e,t,n,r=Fi){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>Ri)throw new p(`Child projection exceeded the ${Ri.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 l=new Map(s.map(g=>[g.id.trim().toLowerCase(),g])),c=no(to(s,eo())),d=new Set(c.children_by_parent.get(o)??[]);for(let g of s)g.parent?.trim().toLowerCase()===o&&d.add(g.id.trim().toLowerCase());let u=[...d].map(g=>l.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?Fi: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 lu=new Set(["event","meeting","reminder"]);function du(e){return lu.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 fu=new Set(["epic","feature","milestone","plan"]),mu=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 pu(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 $i(e){let t=e.trim().toLowerCase();return t.length>0&&(fu.has(t)||!mu.has(t))}function Di(e){return{ts:e.ts,author:e.author,message:e.message??null}}function hu(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?Di(o):null,last_release:i?Di(i):null}}function gu(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 _u(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:l,reminders:c,events:d,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function yu(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",m.USAGE);return t}function wt(e){return e.startsWith("item.")?e.slice(5):e}function vu(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 wu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function bu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:wu.has(n)?[]:void 0}function ku(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]=bu(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 Su(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":gu(e.depth),treeDepth:e.tree===!0?B(e.treeDepth,"--tree-depth"):void 0,fields:yu(e.fields),fieldProjection:e.fields!==void 0}}async function Eu(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 l=await bo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:l.document.metadata.id,metadata:l.document.metadata,body:l.document.body,historical:l}}let s=await le(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await Lr(r,e,o.id_prefix,i.type_to_folder);let a=await de(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 Cu(e,t,n,r){let o=Y(t.schema).definitions.map(i=>i.metadata_key);if(vu(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 xu(e,t){if(!t)return;let n=Ge(e.pmRoot,e.locatedId),r=await W(n,e.locatedId);return hu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Tu(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 Iu(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 Mi(e.locatedId,r,n)}function Au(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 Ru(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 Wh(e,t,n={}){let r=Su(n,e),o=await Eu(e,t,n.at);Cu(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"}),l=o.historical===void 0&&(r.fieldProjection?vt(r.fields,"children"):r.depth==="deep"&&$i(o.metadata.type)),c=r.fieldProjection?vt(r.fields,"schedule"):r.depth!=="brief",d=await xu(o,a),u={item:r.fieldProjection?ku(o.metadata,r.fields):_u(o.metadata,r.depth)};i&&(u.item.body=o.body),Tu(u,o,r.fields,s),d&&(u.claim_state=d),Au(u,o,r.fields,c);let f=await Iu(o,l);f!==void 0&&(u.children=f);let h=await Ru(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 ar(u,pu(o.metadata,o.body)),u}var Bh={shouldAutoIncludeGetChildren:$i};(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 Oi(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 Fu=[{optionKey:"status",summaryKey:"status",normalize:e=>Oi(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:l,runtimeFieldFilters:c}=e,d={};return yo(d,r,Fu),Object.assign(d,qt(r)),Object.assign(d,Bt(r)),n!==void 0&&n!=="or"&&(d.match_mode=n),o&&(d.include_linked=!0),i&&(d.title_exact=!0),s&&(d.phrase_exact=!0),a>0&&(d.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(d.hybrid_semantic_weight=l),r.limit!==void 0&&(d.limit=r.limit),c&&Object.keys(c).length>0&&(d.runtime_filters=c),d}function Ne(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,queryExpansion:c,rerank:d,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Oi(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"?l:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:d.enabled,rerank_model:d.model,rerank_top_k:d.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 Mu(e){return qe("search",{query:e.query.trim(),mode:e.mode,options:Be(e.searchOptions,ir)})}function Li(e){let t=dr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Mu(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 Du(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 Ni(e){return tr(e,0,1)??void 0}function Pi(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 ji(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 $u(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=$u(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 Ou=["auto","keyword","semantic","hybrid"];function Lu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Ou.includes(n)?n:"auto"}function Rn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Du(e.requested),source:"explicit"};let t=Lu(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,Nu=20,Pu=200,ju=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 Uu(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 Hu(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 Ui(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=>!ju.has(a.toLowerCase())),i=r.map(a=>Uu(a)),s=o.map(a=>Hu(a));return On([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Hi(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?On(t.filter(n=>typeof n=="string"),$n):[]}function Gi(e,t,n){return On([...e,...t],Math.max(1,n))}function Wi(e,t){let r=e.search?.query_expansion,o=ye(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:$n}}function Bi(e,t){let r=e.search?.rerank,o=ye(r?.model),s=er(r?.top_k)??Nu;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Pu,s)}}function qi(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 Gu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function zi(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Wu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Gu(e,t),o=zi(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 Ki(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)],l=await tt(s,a,o?{timeout_ms:o}:{}),c=l[0];if(!c)return new Map;let d=zi(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],_=l[f+1];if(!_)continue;let y=Wu(c,_,d);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 Bu=1.2,qu=.75;function Ln(e){return me(e)}function zu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Yi(e){let t=[],n=new Map,r=0;for(let i of e){let s=Ln(i.text),a=zu(s);r+=s.length;for(let l of a.keys())n.set(l,(n.get(l)??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 Ku(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Xi(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,Ku(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[l,c]of i){let d=s.termFrequencies.get(l);if(d===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=d+n.k1*u;a+=c*(d*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function Vi(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Qi(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 Ji(e){let t=e?.search?.bm25;return{k1:Vi(t?.k1,Bu,0,1e3),b:Vi(t?.b,qu,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 Vu=2,Yu=120,Xu=6,Qu=40,Ju=1e3,Zu=900,ef="\xAB",tf="\xBB",Zi=60,ns=["tag","status","type","priority"];function rs(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 os(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=rs(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 is(e,t){let n=os(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function nf(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 ss(e,t,n){try{let r=await Xr(e);r.warnings.length>0&&n.push(...r.warnings);let o=oo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=nf(x());n.push(...rf(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.)
|
|
8
|
+
`).trimEnd()}function tu(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 nu(e){return e?[`- ${$e(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function De(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ru(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 ou(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function iu(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=Tr(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 su(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 au(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:Fr(e,r.id_prefix),a=await le(n,s,r.id_prefix,r.item_format,o.type_to_folder),l=a?.id??s,c=i?Ar(n):Ge(n,l);if(!a&&!await Xn(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await Or({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:l,settings:r}}async function bh(e,t,n){let r=fe(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await au(e,n),l=await W(o,s),c=su(l),d=a.agent_identity.identity_vocabulary,u=rt(a.agent_identity.harness_signals),f=it({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},d,u),h=cu(l).filter(({entry:D})=>f(D)),_=ou(h,r),y=_.map(({entry:D})=>D),g=t.compact===!0,v=g?iu(_,c):void 0,k=t.provenance===!0?_.map(({entry:D,durableVersion:I})=>ot(D,d,{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:We("history",w),count:y.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:st(h.map(({entry:D})=>D),d,u)}:{}};if((t.diff||t.field!==void 0)&&(A.diff=Wr(l,{windowStartIndex:Math.max(0,l.length-y.length),field:t.field})),t.verify){let D=i?(await de(i,{schema:a.schema})).document:void 0;if(A.verification=wo(l,D),s===Xe&&A.verification.ok){let I=await Rr(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 cu(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 Ri=1e6,Fi=20;function Mi(e,t,n,r=Fi){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>Ri)throw new p(`Child projection exceeded the ${Ri.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 l=new Map(s.map(g=>[g.id.trim().toLowerCase(),g])),c=no(to(s,eo())),d=new Set(c.children_by_parent.get(o)??[]);for(let g of s)g.parent?.trim().toLowerCase()===o&&d.add(g.id.trim().toLowerCase());let u=[...d].map(g=>l.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?Fi: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 lu=new Set(["event","meeting","reminder"]);function du(e){return lu.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 fu=new Set(["epic","feature","milestone","plan"]),mu=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 pu(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 $i(e){let t=e.trim().toLowerCase();return t.length>0&&(fu.has(t)||!mu.has(t))}function Di(e){return{ts:e.ts,author:e.author,message:e.message??null}}function hu(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?Di(o):null,last_release:i?Di(i):null}}function gu(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 _u(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:l,reminders:c,events:d,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function yu(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",m.USAGE);return t}function wt(e){return e.startsWith("item.")?e.slice(5):e}function vu(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 wu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function bu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:wu.has(n)?[]:void 0}function ku(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]=bu(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 Su(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":gu(e.depth),treeDepth:e.tree===!0?B(e.treeDepth,"--tree-depth"):void 0,fields:yu(e.fields),fieldProjection:e.fields!==void 0}}async function Eu(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 l=await bo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:l.document.metadata.id,metadata:l.document.metadata,body:l.document.body,historical:l}}let s=await le(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await jr(r,e,o.id_prefix,i.type_to_folder);let a=await de(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 Cu(e,t,n,r){let o=Y(t.schema).definitions.map(i=>i.metadata_key);if(vu(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 xu(e,t){if(!t)return;let n=Ge(e.pmRoot,e.locatedId),r=await W(n,e.locatedId);return hu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Tu(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 Iu(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 Mi(e.locatedId,r,n)}function Au(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 Ru(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 Wh(e,t,n={}){let r=Su(n,e),o=await Eu(e,t,n.at);Cu(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"}),l=o.historical===void 0&&(r.fieldProjection?vt(r.fields,"children"):r.depth==="deep"&&$i(o.metadata.type)),c=r.fieldProjection?vt(r.fields,"schedule"):r.depth!=="brief",d=await xu(o,a),u={item:r.fieldProjection?ku(o.metadata,r.fields):_u(o.metadata,r.depth)};i&&(u.item.body=o.body),Tu(u,o,r.fields,s),d&&(u.claim_state=d),Au(u,o,r.fields,c);let f=await Iu(o,l);f!==void 0&&(u.children=f);let h=await Ru(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 ar(u,pu(o.metadata,o.body)),u}var Bh={shouldAutoIncludeGetChildren:$i};(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 Oi(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 Fu=[{optionKey:"status",summaryKey:"status",normalize:e=>Oi(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:l,runtimeFieldFilters:c}=e,d={};return yo(d,r,Fu),Object.assign(d,qt(r)),Object.assign(d,Bt(r)),n!==void 0&&n!=="or"&&(d.match_mode=n),o&&(d.include_linked=!0),i&&(d.title_exact=!0),s&&(d.phrase_exact=!0),a>0&&(d.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(d.hybrid_semantic_weight=l),r.limit!==void 0&&(d.limit=r.limit),c&&Object.keys(c).length>0&&(d.runtime_filters=c),d}function Ne(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,queryExpansion:c,rerank:d,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Oi(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"?l:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:d.enabled,rerank_model:d.model,rerank_top_k:d.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 Mu(e){return qe("search",{query:e.query.trim(),mode:e.mode,options:Be(e.searchOptions,ir)})}function Li(e){let t=dr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Mu(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 Du(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 Ni(e){return tr(e,0,1)??void 0}function Pi(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 ji(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 $u(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=$u(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 Ou=["auto","keyword","semantic","hybrid"];function Lu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Ou.includes(n)?n:"auto"}function Rn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Du(e.requested),source:"explicit"};let t=Lu(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,Nu=20,Pu=200,ju=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 Uu(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 Hu(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 Ui(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=>!ju.has(a.toLowerCase())),i=r.map(a=>Uu(a)),s=o.map(a=>Hu(a));return On([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Hi(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?On(t.filter(n=>typeof n=="string"),$n):[]}function Gi(e,t,n){return On([...e,...t],Math.max(1,n))}function Wi(e,t){let r=e.search?.query_expansion,o=ye(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:$n}}function Bi(e,t){let r=e.search?.rerank,o=ye(r?.model),s=er(r?.top_k)??Nu;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Pu,s)}}function qi(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 Gu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function zi(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Wu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Gu(e,t),o=zi(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 Ki(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)],l=await tt(s,a,o?{timeout_ms:o}:{}),c=l[0];if(!c)return new Map;let d=zi(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],_=l[f+1];if(!_)continue;let y=Wu(c,_,d);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 Bu=1.2,qu=.75;function Ln(e){return me(e)}function zu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Yi(e){let t=[],n=new Map,r=0;for(let i of e){let s=Ln(i.text),a=zu(s);r+=s.length;for(let l of a.keys())n.set(l,(n.get(l)??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 Ku(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Xi(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,Ku(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[l,c]of i){let d=s.termFrequencies.get(l);if(d===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=d+n.k1*u;a+=c*(d*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function Vi(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Qi(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 Ji(e){let t=e?.search?.bm25;return{k1:Vi(t?.k1,Bu,0,1e3),b:Vi(t?.b,qu,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 Vu=2,Yu=120,Xu=6,Qu=40,Ju=1e3,Zu=900,ef="\xAB",tf="\xBB",Zi=60,ns=["tag","status","type","priority"];function rs(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 os(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=rs(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 is(e,t){let n=os(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function nf(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 ss(e,t,n){try{let r=await Xr(e);r.warnings.length>0&&n.push(...r.warnings);let o=oo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=nf(x());n.push(...rf(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
9
|
`)}catch{}}function rf(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 Zg={applyFilters:fs,applyExactQueryFilters:us,applyInlineQueryFilters:cs,buildHitHighlights:vs,buildVerboseSearchFilters:Ne,buildExplicitSemanticFallbackWarning:is,buildCompactSearchFilterSummary:Le,buildHybridLexicalScore:ks,buildRerankCorpus:Fs,buildSemanticHits:Ts,classifyImplicitSemanticFallbackReason:os,collectErrorCauseCodes:rs,collectExactPhraseFields:ls,collectLinkedPaths:ms,combineHybridHits:Wn,computeBuiltInBm25Hits:As,computeSemanticOrHybridHits:Ms,resolveBuiltInBm25Mode:Is,countOccurrences:Hn,dependencyEntries:Un,documentContainsExactPhrase:ds,emptySearchResult:Ss,highlightFieldSnippet:ys,loadDocuments:Ds,markTokenRuns:_s,parseInlineQueryFilters:as,maybeEmitVectorIndexStaleWarning:ss,loadLinkedCorpus:hs,mergeVectorHitsById:Rs,normalizeExtensionProviderHits:xs,normalizeScoreMap:Nn,parseProjectionConfig:xn,parseTimestampWindow:ge,parseTokens:In,projectSearchHits:Os,readSearchFieldValue:$s,requireSemanticDependencies:Gn,resolveExtensionSearchProvider:Es,resolveExtensionSearchProviderByName:xt,resolveExtensionVectorAdapter:Cs,resolveLinkedCorpusRoots:ps,scoreDocument:ws,sortHits:bs,stringArray:Ct,textEntries:ee,validateSearchProjectionFields:Tn};function as(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=ns.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 cs(e,t,n){let r={...e};for(let o of ns){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 ls(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 ls(e).some(n=>V(n).includes(t))}function us(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 of(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 sf(e,t,n){let r=Se(e.assignee,{label:"--assignee"});of(r);let o=go(e),i=_o(e);return{typeFilter:co(e.type,t),tagFilter:Se(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:lo(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:fo(o),contentFieldFilters:i,contentFiltersActive:po(i)}}function af(e,t){return cf(e,t)&&lf(e,t)&&df(e,t)}function cf(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 lf(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 uf(e,t,n,r){let o=e.metadata;return!(!af(o,t)||!et(o,n)||t.missingMetadataActive&&!mo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!ho(o,t.contentFieldFilters))}function fs(e,t,n,r,o,i){let s=sf(t,n,o);return e.filter(a=>uf(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 ff(e){return me(e)}function ms(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 es(e){let t=jn.resolve(e);try{let n=await St.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function ps(e,t){let[n,r]=await Promise.all([es(e),es(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function hs(e,t){let n=ms(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
10
|
`)}var gs=[{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)}],mf=new Map(gs.map(e=>[e.name,e]));function pf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _s(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(pf);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${ef}${o}${tf}`)}function ys(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let d of t){if(d.length===0)continue;let u=n.indexOf(d);u>=0&&(r<0||u<r)&&(r=u,o=d.length)}if(r<0)return null;let i=Math.max(0,r-Zi),s=Math.min(e.length,r+o+Zi),a=_s(e.slice(i,s),t),l=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${l}${a}${c}`}function vs(e,t,n){let r=[];for(let o of t){let i=mf.get(o);if(i===void 0)continue;let s=ys(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function hf(e,t,n){return[...gs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function gf(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?Ju:Zu,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function _f(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 l=Hn(a.value.toLowerCase(),i);l>0&&(o.score+=l*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function yf(e,t,n,r){V(e.title)===t&&(r.score+=Yu,r.matched.add("title"));for(let i of n){let s=Hn(V(i.value),t);s>0&&(r.score+=s*i.weight*Xu,r.matched.add(i.name))}}function ws(e,t,n,r,o,i,s=!1){let a=e.metadata,l=gf(a,n,i);if(l)return l;let c=new Map;for(let y of ff(a.title))c.set(y,(c.get(y)??0)+1);let d=hf(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};_f(t,c,d,o,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=Qu),t.length>=Vu&&n.includes(" ")&&yf(a,n,d,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 bs(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 l=E(r.item.updated_at,n.item.updated_at);return l!==0?l:n.item.id.localeCompare(r.item.id)})}function ks(e,t,n,r,o,i,s,a=!1){return ws(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 Ss(e,t,n,r,o,i,s,a,l,c,d,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,...d.length>0?{warnings:d}:{}}}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:l,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:g},now:O(),...d.length>0?{warnings:d}:{}}}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=Hr(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 l={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!l.query&&!l.queryExpansion&&!l.rerank?null:l}function Es(e){let t=H(e.search?.provider),n=xt(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Cs(e){let t=x(),n=H(e.vector_store?.adapter),r=Gr(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 xs(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),l=s.score;if(!a||typeof l!="number"||!Number.isFinite(l)||o.has(a))continue;let c=n.get(a);if(!c)continue;let d=s.matched_fields,u=Array.isArray(d)&&d.every(f=>typeof f=="string")?[...new Set(d.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:l,matched_fields:u})}return i}function Ts(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,d)=>Math.max(c,d.score),0),s=n.sort((c,d)=>d.score-c.score),a=i+s.length+1;return[...s.map((c,d)=>({...c,score:a-d,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),l=Nn(i),c=new Set([...t.keys(),...i.keys()]),d=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,_=l.get(u)??0,y=h*r+_*d;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 Is(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function As(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Qi(Vr(s,{fields:e.corpusFields}))})),n=Yi(t),r=Xi(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,l])=>({item:o.get(a).metadata,score:l,matched_fields:["bm25"]}));return Et(s,e.keywordHits)}let i=Wn(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Et(i,e.keywordHits)}function Rs(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 Fs(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 vf(e,t){let n=e.queryExpansion.enabled?Ui(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 Gi(r,Hi(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 wf(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 bf(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:Fs(i)}:null}).filter(o=>o!==null)}async function kf(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=qi(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 Sf(e,t,n){let r=await kf(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Ki(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Ef(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,l)=>a.localeCompare(l))}});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 Cf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=bf(n,r,e.rerank.top_k),i=await Sf(e,t,o);return i&&i.size>0?Ef(n,i):n}async function Ms(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 vf(e,o),s=await tt(e.provider,i,n),a=await Promise.all(s.map(async _=>await wf(e,_,t,r))),l=Rs(a),c=new Map(e.filteredDocuments.map(_=>[_.metadata.id,_])),{semanticHits:d,semanticScores:u}=Ts(l,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Et(d,e.keywordHits),vectorMatchCount:f};let h=await Cf(e,o,Wn(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Et(h,e.keywordHits),vectorMatchCount:f}}async function Ds(e,t,n,r){let o=Yn(x()),i=async(c,d,u)=>{let f=async(h,_)=>{await ve({path:h,scope:"project"});let y=await St.readFile(h,"utf8");return br(y,{format:_,schema:r,extensionFieldNames:o,onWarning:v=>s.push(v)}).body};try{return await f(d,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 $r(e,t,n,s,r),l=[];if(a.length===0){let c=await Or(e,t,n,s,r);for(let d of c){let u=Mt(e,d.type,d.id,t,n),f=await i(d,u,t);l.push({metadata:d,body:f})}return{documents:l,warnings:[...new Set(s)].sort((d,u)=>d.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){l.push({metadata:c.metadata,body:c.body});continue}let d=await i(c.metadata,c.item_path,c.item_format);l.push({metadata:c.metadata,body:d})}return{documents:l,warnings:[...new Set(s)].sort((c,d)=>c.localeCompare(d))}}function $s(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 Os(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]=$s(n,o);return r})}function xf(e){let t=xt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Tf(e){let t=xt(H(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function If(e,t){let n=[],r=as(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=cs(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:Pi(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:ji(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 Af(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await M(n),o=Br(r).settings,i=P(o.schema),s=Y(o.schema);Tn(e.projection,s,e.query);let a=Ze(e.options,s,"search"),l=F(o,x()),c=zr(o),d=Yr(o,n),u=Es(o),f=Cs(o),h=Ni(e.options.semanticWeight),_=Wi(o,c.active?.name??null),y=Bi(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:l,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:d,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Is({configuredProvider:H(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:_,queryExpansionExtension:xf(_),rerank:y,rerankExtension:Tf(o),...Rf({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Rf(e){let n=qr(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 Ff(e,t){let n=await Ds(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=uo(t.statusRegistry),i=fs(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:us(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Mf(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await ps(o,Zn(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await hs(a,i)]));for(let[a,l]of s)r.set(a,l);return r}async function Df(e,t,n){let r=await Mf(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>ks(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 ts(e,t){return Ss(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 $f(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=As({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Kr(t.settings),bm25Params:Ji(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 Of(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 xs(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 Lf(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 Nf(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await ss(e.pmRoot,n,r),e.extensionSearchProvider||Gn(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Pf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,l=await $f(t,n,r,o,i),c=n.effectiveMode;if(l!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:l??a};try{if(await Nf(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let d=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Of(t,n,r,d)??a,a===o){let{provider:u,vectorStore:f}=Gn(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ms({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=Lf(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(d){return i.push(is(n.effectiveMode,d)),{effectiveMode:"keyword",hits:o}}}function jf(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 Uf(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:vs(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 Hf(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 Gf(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function e_(e,t,n){Gf(t);let r=If(e,t),o=await Af(r,n),i=await Ff(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 l=ui(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(ts({...c,effectiveMode:o.effectiveMode},r.countOnly),l);let d=await Df(r,o,i.filteredDocuments),u=await Pf({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:d,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(ts({...c,effectiveMode:u.effectiveMode},r.countOnly),l);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=bs(f,o.statusRegistry),_=h.length,y=Li({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(jf(g,_),l);let{hits:v,projection:k}=Uf(r,i.filteredDocuments,y.limited),w=Os(v,k);return kt(Hf(g,w,_,y.limited.length,k,y.pageExtras),l)}(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 o_(e,t={}){let n=await vo({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{Ps as a,zt as b,Wf as c,qs as d,zs as e,Bf as f,bo as g,rt as h,Ks as i,ot as j,st as k,Em as l,xo as m,xm as n,Mm as o,Dm as p,Um as q,Hm as r,Gm as s,Yo as t,sn as u,ft as v,Fc as w,Zo as x,Lc as y,mt as z,Nc as A,Pc as B,Gc as C,Wc as D,Xm as E,Bc as F,ei as G,an as H,cn as I,el as J,sl as K,ap as L,ln as M,dn as N,pt as O,ul as P,hl as Q,ht as R,kl as S,di as T,Sl as U,ui as V,mi as W,Sp as X,Ep as Y,Cp as Z,xp as _,pi as $,El as aa,Fl as ba,Ie as ca,Kp as da,pn as ea,$l as fa,Ol 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,Vp as pa,Od as qa,Yp as ra,Ud as sa,sh as ta,ah as ua,ch as va,lh as wa,dh as xa,bh as ya,Ri as za,Fi as Aa,Mi as Ba,Wh as Ca,Bh as Da,Le as Ea,Ne as Fa,Mu as Ga,Li as Ha,An as Ia,Rn as Ja,Fn as Ka,Mn as La,Dn as Ma,rs as Na,os as Oa,nf as Pa,rf as Qa,Zg as Ra,e_ as Sa,o_ as Ta};
|
|
12
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
`)}async function vf(e,t){let n=e.queryExpansion.enabled?Ui(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 Gi(r,Hi(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 wf(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 bf(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:Fs(i)}:null}).filter(o=>o!==null)}async function kf(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=qi(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 Sf(e,t,n){let r=await kf(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Ki(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Ef(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,l)=>a.localeCompare(l))}});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 Cf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=bf(n,r,e.rerank.top_k),i=await Sf(e,t,o);return i&&i.size>0?Ef(n,i):n}async function Ms(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 vf(e,o),s=await tt(e.provider,i,n),a=await Promise.all(s.map(async _=>await wf(e,_,t,r))),l=Rs(a),c=new Map(e.filteredDocuments.map(_=>[_.metadata.id,_])),{semanticHits:d,semanticScores:u}=Ts(l,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Et(d,e.keywordHits),vectorMatchCount:f};let h=await Cf(e,o,Wn(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Et(h,e.keywordHits),vectorMatchCount:f}}async function Ds(e,t,n,r){let o=Yn(x()),i=async(c,d,u)=>{let f=async(h,_)=>{await ve({path:h,scope:"project"});let y=await St.readFile(h,"utf8");return br(y,{format:_,schema:r,extensionFieldNames:o,onWarning:v=>s.push(v)}).body};try{return await f(d,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 Nr(e,t,n,s,r),l=[];if(a.length===0){let c=await Pr(e,t,n,s,r);for(let d of c){let u=Mt(e,d.type,d.id,t,n),f=await i(d,u,t);l.push({metadata:d,body:f})}return{documents:l,warnings:[...new Set(s)].sort((d,u)=>d.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){l.push({metadata:c.metadata,body:c.body});continue}let d=await i(c.metadata,c.item_path,c.item_format);l.push({metadata:c.metadata,body:d})}return{documents:l,warnings:[...new Set(s)].sort((c,d)=>c.localeCompare(d))}}function $s(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 Os(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]=$s(n,o);return r})}function xf(e){let t=xt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Tf(e){let t=xt(H(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function If(e,t){let n=[],r=as(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=cs(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:Pi(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:ji(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 Af(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await M(n),o=Br(r).settings,i=P(o.schema),s=Y(o.schema);Tn(e.projection,s,e.query);let a=Ze(e.options,s,"search"),l=F(o,x()),c=zr(o),d=Yr(o,n),u=Es(o),f=Cs(o),h=Ni(e.options.semanticWeight),_=Wi(o,c.active?.name??null),y=Bi(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:l,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:d,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Is({configuredProvider:H(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:_,queryExpansionExtension:xf(_),rerank:y,rerankExtension:Tf(o),...Rf({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Rf(e){let n=qr(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 Ff(e,t){let n=await Ds(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=uo(t.statusRegistry),i=fs(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:us(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Mf(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await ps(o,Zn(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await hs(a,i)]));for(let[a,l]of s)r.set(a,l);return r}async function Df(e,t,n){let r=await Mf(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>ks(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 ts(e,t){return Ss(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 $f(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=As({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Kr(t.settings),bm25Params:Ji(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 Of(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 xs(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 Lf(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 Nf(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await ss(e.pmRoot,n,r),e.extensionSearchProvider||Gn(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Pf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,l=await $f(t,n,r,o,i),c=n.effectiveMode;if(l!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:l??a};try{if(await Nf(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let d=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Of(t,n,r,d)??a,a===o){let{provider:u,vectorStore:f}=Gn(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ms({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=Lf(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(d){return i.push(is(n.effectiveMode,d)),{effectiveMode:"keyword",hits:o}}}function jf(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 Uf(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:vs(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 Hf(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 Gf(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function e_(e,t,n){Gf(t);let r=If(e,t),o=await Af(r,n),i=await Ff(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 l=ui(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(ts({...c,effectiveMode:o.effectiveMode},r.countOnly),l);let d=await Df(r,o,i.filteredDocuments),u=await Pf({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:d,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(ts({...c,effectiveMode:u.effectiveMode},r.countOnly),l);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=bs(f,o.statusRegistry),_=h.length,y=Li({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(jf(g,_),l);let{hits:v,projection:k}=Uf(r,i.filteredDocuments,y.limited),w=Os(v,k);return kt(Hf(g,w,_,y.limited.length,k,y.pageExtras),l)}(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 o_(e,t={}){let n=await vo({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{Ps as a,zt as b,Wf as c,qs as d,zs as e,Bf as f,bo as g,rt as h,Ks as i,ot as j,st as k,Em as l,xo as m,xm as n,Mm as o,Dm as p,Um as q,Hm as r,Gm as s,Yo as t,sn as u,ft as v,Fc as w,Zo as x,Lc as y,mt as z,Nc as A,Pc as B,Gc as C,Wc as D,Xm as E,Bc as F,ei as G,an as H,cn as I,el as J,sl as K,ap as L,ln as M,dn as N,pt as O,ul as P,hl as Q,ht as R,kl as S,di as T,Sl as U,ui as V,mi as W,Sp as X,Ep as Y,Cp as Z,xp as _,pi as $,El as aa,Fl as ba,Ie as ca,Kp as da,pn as ea,$l as fa,Ol 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,Vp as pa,Od as qa,Yp as ra,Ud as sa,sh as ta,ah as ua,ch as va,lh as wa,dh as xa,bh as ya,Ri as za,Fi as Aa,Mi as Ba,Wh as Ca,Bh as Da,Le as Ea,Ne as Fa,Mu as Ga,Li as Ha,An as Ia,Rn as Ja,Fn as Ka,Mn as La,Dn as Ma,rs as Na,os as Oa,nf as Pa,rf as Qa,Zg as Ra,e_ as Sa,o_ as Ta};
|
|
12
|
+
//# sourceMappingURL=chunk-5CRND7UA.js.map
|