@unbrained/pm-cli 2026.10.5 → 2026.10.6
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 +26 -1
- package/dist/cli/register-setup.js +1 -1
- package/dist/cli/runtime/projection-retry.js +1 -1
- package/dist/cli-bundle/bundle-manifest.json +158 -158
- package/dist/cli-bundle/chunks/{chunk-Z66DWDAU.js → chunk-25EW53VO.js} +39 -38
- package/dist/cli-bundle/chunks/{chunk-YVBRASXO.js → chunk-3CCVTV6Q.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5MNOWZPN.js → chunk-3REXBTST.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-4WB55TBC.js +80 -0
- package/dist/cli-bundle/chunks/{chunk-OOLYASYJ.js → chunk-6STTPXOC.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-AJ7H6XUF.js → chunk-ATB4ZZBQ.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-N4YGSG6F.js → chunk-D4G43LBV.js} +38 -38
- package/dist/cli-bundle/chunks/{chunk-HRJ6G6ZG.js → chunk-K6D6DMRT.js} +28 -28
- package/dist/cli-bundle/chunks/chunk-KIRHWPZB.js +2 -0
- package/dist/cli-bundle/chunks/chunk-O67BH435.js +6 -0
- package/dist/cli-bundle/chunks/{chunk-3CYOBJUK.js → chunk-RJHLD64E.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WFZ4UEOB.js → chunk-TUKO5NF7.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VZ63DEVJ.js → chunk-XJD47LUH.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-75QXHIFH.js → register-list-query-53WYLNZT.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-YS54SCHG.js → register-mutation-34XXUBVI.js} +2 -2
- package/dist/cli-bundle/chunks/{register-operations-6KHZQSYJ.js → register-operations-WANO6EIM.js} +2 -2
- package/dist/cli-bundle/chunks/register-setup-WT37UPBQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-GITOYRUW.js → chunk-6KFKQD2D.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UDYRVBOZ.js → chunk-FOHRPFIT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-DDRN42PB.js → chunk-GRQXL5G5.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ABV67XCC.js → chunk-JZ4WGUVH.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-B5RSLVE6.js → chunk-NM3PM6O6.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-OT7HK7SG.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-2CVX3KR3.js → chunk-PCLU34KB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-5C3IDDW7.js → chunk-QQIE4L42.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-RPUNVKXK.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-LE4JUCRR.js → chunk-RXSVJPZ7.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-SPN5QTZ3.js +30 -0
- package/dist/cli-bundle/focused-chunks/{chunk-CLDPTMQY.js → chunk-SUZJNPGB.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-YMU42COG.js → chunk-W4BG5HHS.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-C224METM.js → chunk-Y5HXFDTZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ECBOPEJE.js → chunk-ZK5SOOPC.js} +61 -61
- package/dist/cli-bundle/focused-chunks/chunk-ZQK2XUSS.js +12 -0
- package/dist/cli-bundle/main.js +21 -21
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +31 -30
- 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 +2 -2
- package/dist/core/extensions/extension-types.d.ts +2 -0
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +5 -1
- package/dist/sdk/cli-bootstrap.js +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/extension/managed-state.d.ts +2 -0
- package/dist/sdk/extension/managed-state.js +1 -1
- package/dist/sdk/extension/managed-update-status.d.ts +3 -0
- package/dist/sdk/extension/managed-update-status.js +2 -0
- package/dist/sdk/extension/source-resolution.d.ts +2 -6
- package/dist/sdk/extension/source-resolution.js +1 -1
- package/dist/sdk/extension/update-check.d.ts +10 -0
- package/dist/sdk/extension/update-check.js +1 -1
- package/dist/sdk/extension-command-context.js +2 -1
- package/dist/sdk/extension.d.ts +4 -0
- package/dist/sdk/extension.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/public-surface.json +1 -1
- package/dist/sdk/query/get.js +1 -1
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/test/execution.d.ts +2 -1
- package/dist/sdk/test/execution.js +3 -3
- package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +36 -0
- package/docs/GET_READ_EVIDENCE.md +17 -1
- package/docs/OUTPUT_PROJECTION_CONTRACTS.md +23 -0
- package/docs/PR_REVIEW_LOOP.md +21 -4
- package/docs/README.md +1 -0
- package/docs/RELEASING.md +18 -0
- package/docs/SDK_CONFIGURATION_SAFETY.md +123 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +3 -3
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
- package/marketplace.json +2 -2
- package/package.json +3 -3
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +2 -2
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +2 -2
- package/plugins/pm-codex/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-D332RXZ7.js +0 -80
- package/dist/cli-bundle/chunks/chunk-KRVI56QE.js +0 -6
- package/dist/cli-bundle/chunks/chunk-TGMONGWX.js +0 -2
- package/dist/cli-bundle/chunks/register-setup-RTATEN2M.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-DOVTUKJQ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-GUIF3WVC.js +0 -30
- package/dist/cli-bundle/focused-chunks/chunk-RHIH6XIW.js +0 -12
- package/dist/cli-bundle/focused-chunks/chunk-XV5RV4ZT.js +0 -2
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{$ as ft,E as Xt,F as go,Ia as Ao,O as st,Q as ue,Qa as W,R as at,Ra as Mo,S as ct,Sa as $o,T as bo,Ua as Re,V as Eo,Va as Oo,W as Co,Wa as Lo,X as dt,Xa as No,Y as Io,Ya as Po,Z as ut,Za as jo,_ as mt,aa as xo,ab as Uo,bb as Bo,db as qo,ea as To,eb as zo,fa as Jt,g as po,h as ho,hb as Vo,ib as Zt,jb as en,kb as q,oa as Ro,ob as Ko,pb as Yo,ub as Qo,wb as Jo,za as fe}from"./chunk-C224METM.js";import{e as ot,f as Yt,g as eo,h as to}from"./chunk-5C3IDDW7.js";import{Na as Pr,Va as jr}from"./chunk-YMU42COG.js";import{$a as _o,Ab as H,Ba as uo,Bb as ne,Cb as re,D as ee,Eb as ko,Fb as me,Ia as it,Ib as So,Ja as mo,Ka as fo,Mb as Ie,Ob as xe,Rb as Te,Sb as Do,T as L,Tb as Fo,U as R,Ub as pt,V as J,Xa as M,Y as co,Yb as Ho,Zb as Go,_a as yo,aa as te,ac as Wo,cb as wo,eb as Qt,f as no,fa as lo,g as ro,h as oo,i as io,j as so,n as Ce,oc as Xo,w as ao,wb as lt,yb as vo}from"./chunk-GITOYRUW.js";import{b as Rr,n as P,p as Q}from"./chunk-B5RSLVE6.js";import{$ as p,$a as Or,$d as Xr,Aa as zt,Ad as Vr,Da as Se,Ea as Ye,Ee as Kt,Fd as Kr,H as le,Ja as Mr,Ka as $r,Kc as C,Ke as Jr,Le as Zr,M as qt,N as Ve,Pc as Ee,Ta as D,Tc as Ur,V as xr,Wd as F,Z as Tr,Za as T,Zc as de,Zd as Yr,_c as Br,_d as E,aa as h,ad as Qe,ae as G,bb as Vt,cd as Je,db as Xe,dd as Ze,ed as Hr,ge as et,hd as Gr,i as Ir,id as Wr,ie as tt,jd as qr,ke as nt,ne as Qr,oe as rt,rb as Lr,sa as Ar,ta as Ke,ua as Dr,xa as Fr,yb as Nr,zd as zr}from"./chunk-GUIF3WVC.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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var Ys=["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"],tn=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 qm(e={}){return Kr({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function I(e,t,n,r){t&&e.push({code:n,message:r})}function Xs(e,t){let n=z(e.completeness)?e.completeness:{};I(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),I(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;I(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."),I(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 I(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."),I(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),I(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function Qs(e,t,n){I(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."),I(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:{};I(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;I(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),I(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."),I(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Js(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 Zs(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 ea(e,t){let n=z(e.read_output)?e.read_output:void 0;I(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),I(t,n!==void 0&&Js(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),I(t,n!==void 0&&!Zs(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),I(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;I(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),I(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function ta(e,t){let n=e.map(r=>z(r)&&typeof r.id=="string"?r.id.trim():"");I(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),I(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function na(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Ys[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Xs(t,n);return Qs(t,r,n),ea(t,n),ta(t.items,n),{ok:n.length===0,findings:n}}function ra(e){let t=na(e);if(!t.ok)throw new tn(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 zm(e){ra(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function Xm(e,t={}){let n=await Qo({pmRoot:T(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>"}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var Zo=16;async function ei(e,t,n){let r=D(t,C()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<Zo;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let l=await ne(e,s,t.id_prefix,t.item_format,r);if(!l)break;let c=await re(l,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function nf(e){await oo({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await ei(e.pmRoot,e.settings,e.itemId)})}async function rf(e){await io(e)}async function of(e){await so({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await ei(e.pmRoot,e.settings,e.itemId)}:{}})}var sf={lineage_depth:Zo,active_items:64,evidence_rows:32};function ti(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}import{encode as oa}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]="809a4d75-4915-585d-9fc8-ad3e9ef15b1f")}catch{}})();var nn=["agenda","day","week","month"],rn=["markdown","toon","json"],ia=["sun","mon","tue","wed","thu","fri","sat"],sa=365,aa=365,oi=28,ca=1e3;function on(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new h(`${t} must be a non-negative integer`,p.USAGE);return n}function la(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 h("Calendar include filter must not be empty",p.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 h("Calendar include filter must be deadlines|reminders|events|scheduled|all",p.USAGE)}return r}function ii(e,t){let n;for(let r of t){let o=Ir(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function da(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!nn.includes(t)){let n=ii(t,nn);throw new h(`Calendar view must be one of ${nn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function ua(e){if(!e)return;let t=e.trim().toLowerCase();if(!rn.includes(t)){let n=ii(t,rn);throw new h(`Calendar format must be one of ${rn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function ff(e,t){let n=ua(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"markdown"}function ma(e,t){if(e===void 0)return;let n=L(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new h(`Calendar status filter must be one of ${r.join("|")}`,p.USAGE)}return n}function fa(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new h("Calendar assignee filter must be one of assigned|unassigned",p.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new h(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,p.USAGE);return t}function ht(e){return new Date(e).toISOString().slice(0,10)}function si(e,t){if(!t||t==="UTC")return ht(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 ht(e)}function ln(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function V(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function ai(e){let t=new Date(ln(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return V(t.toISOString(),r)}function pa(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 ni(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function ri(e,t){e.set(t,(e.get(t)??0)+1)}function ya(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)=>le(r)-le(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 ci(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 li(e){return ia[new Date(e).getUTCDay()]}function _a(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function wa(e){let t=new Set;for(let n of e??[]){let r=_a(n);r&&t.add(r)}return t}function ba(e,t,n,r,o){let i=e??V(n,-(r??aa)),s=t??V(e??n,o??sa);return{start:i,end:E(s,i)>0?s:V(i,1)}}function va(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[li(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??ca,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:wa(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)=>le(s)-le(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function gt(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 yt(e,t){let n=li(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function ka(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(yt(e,t)&>(e,t)==="stop");n+=1)t=V(t,e.interval);return e.occurrences}function Sa(e,t,n){let r=le(n),o=V(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 Ea(e){let t=ai(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=V(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=Sa(e,r,o);if(yt(e,i)&>(e,i)==="stop")return e.occurrences}}return e.occurrences}function Ca(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=ci(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!yt(e,s))&>(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ia(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=ci(o,n,i,e.startDate);if(!(!s||!yt(e,s))&>(e,s)==="stop")return e.occurrences}}return e.occurrences}function xa(e,t,n,r){let o=va(e,t,n,r);return t.freq==="daily"?ka(o):t.freq==="weekly"?Ea(o):t.freq==="monthly"?Ca(o):Ia(o)}function di(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 dn(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 Ta(e){return e.deadline?{at:e.deadline,date:ht(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,...dn(e),item_deadline:e.deadline}:null}function Ra(e){return(e.reminders??[]).map(t=>({at:t.at,date:ht(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,...dn(e)}))}function Aa(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Da(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Fa(e,t,n,r){let o=ya(t.recurrence),i=Aa(t.start_at,t.end_at);return(t.recurrence?xa(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):si(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Da(s,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,...dn(e)}))}function Ma(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?Ta(i):null;s&&o.push(s),n.has("reminders")&&o.push(...Ra(i));for(let a of n.has("events")?i.events??[]:[])o.push(...Fa(i,a,t,r))}return di(o)}function $a(e,t,n,r,o){let i=$o(t.type,n),s=t.tag?.trim().toLowerCase(),a=Mo(t.priority),l=ma(t.status,r),c=t.assignee?.trim(),d=fa(t.assigneeFilter),u=t.sprint?.trim(),m=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',p.USAGE);if(c!==void 0&&d==="unassigned")throw new h("Cannot combine --assignee with --assignee-filter unassigned",p.USAGE);return e.filter(f=>Oa(f,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:l,assigneeFilter:c,assigneeModeFilter:d,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:o}))}function Oa(e,t){return La(e,t)&&Na(e,t)&&ct(e,t.runtimeFieldFilters)}function La(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 Na(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 Pa(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function sn(e,t,n){return e.trim().toLowerCase()==="today"?ln(t):G(e,new Date(t),n)}function ja(e,t,n){let r=t.date?sn(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?sn(t.from,n,"--from"):void 0,a=t.to?sn(t.to,n,"--to"):void 0;if(s&&a&&E(s,a)>=0)throw new h("Calendar --from must be before --to",p.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new h("--from and --to are only supported for --view agenda",p.USAGE);if(e==="agenda")return Ua(r,t,n,o,i,s,a);if(e==="day"){let c=ln(r);return an(r,n,o,i,c,V(c,1))}if(e==="week"){let c=ai(r);return an(r,n,o,i,c,V(c,7))}let l=pa(r);return an(r,n,o,i,l,ha(r))}function Ua(e,t,n,r,o,i,s){if(o)throw new h("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",p.USAGE);return{anchor:e,start:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function an(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 Ba(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:di(r)}))}function Ha(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),ri(n,l.item_type),ri(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:ni(n),by_status:ni(r),recurring_events:a}}function Ga(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function ui(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 cn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Wa(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===si(e.event_end,e.event_timezone)?ui(e.event_end,e.event_timezone):e.event_end:null}function qa(e){let t=`${ui(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let o=Wa(e);return o&&n.push(`end=${o}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function pf(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${Ga(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: ${cn(e.summary.by_kind)}`),t.push(`- by-type: ${cn(e.summary.by_type)}`),t.push(`- by-status: ${cn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
|
|
2
|
-
`);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${qa(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 za(t.join(`
|
|
3
|
-
`))}function hf(e){return oa(e)}function za(e){let t=e.length;for(;t>0&&e[t-1]===`
|
|
4
|
-
`;)t-=1;return e.slice(0,t)}function Va(e){let t=F(),n=da(e.view),r=ja(n,e,t),o=W(e.limit),i=la(e.include),s=on(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=on(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),l=on(e.occurrenceLimit,"Calendar occurrence limit");if(l!==void 0&&l<1)throw new h("Calendar occurrence limit must be >= 1",p.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?oi:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Ka(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${oi}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Ya(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 Xa(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 mi(e,t){let n=T(process.cwd(),t.path);await H(n);let r=Va(e),o=await M(n),i=P(o.schema),s=Q(o.schema),a=at(e,s,"calendar"),l=D(o,C()),c=[];Ka(c,r.eventsOnlyCapApplied);let d=await me(n,o.item_format,l.type_to_folder,c,o.schema),u=$a(d,e,l,i,a),m=ba(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),f=Ma(u,m,r.includeSources,r.occurrenceLimit).filter(w=>Pa(w,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?f:f.slice(0,r.limit),_=Ba(g),y=[...new Set(c)].sort((w,S)=>w.localeCompare(S));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Xa(e,r.rangeBounds),filters:Ya(e,a),summary:Ha(g),events:g,days:_,...y.length>0?{warnings:y}:{}}}import Ja from"node:fs/promises";import gi from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var un={version:1,aliases:{}};function _t(e=[]){let t=new Set(Ce),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 fi(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function mn(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 Qa(e,t=Ce){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 h(`Provenance predicate must use dimension=value; received "${i.trim()}".`,p.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 h(`Unknown provenance dimension "${a||i.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,p.USAGE,{code:"unknown_provenance_dimension"});if(l.length===0)throw new h(`Provenance predicate must use dimension=value; received "${i.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(l),r.set(a,c)}return r}function wt(e,t=un,n={}){let r=mn(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 bt(e,t=un,n=Ce){let r=fi(e.harness),o=fi(e.agentInstance),i=Qa(e,n);return s=>{let a=mn(s,t).agent_harness;if(r&&(!a||!r.has(a))||o&&!o.has(s.agent_instance??""))return!1;for(let[l,c]of i){let d=s.agent_provenance?.[l];if(!d||!c.has(d.value))return!1}return!0}}function vt(e,t=un,n=Ce){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);mn(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]="a4394793-55d4-5049-ab20-707c1c3d9f2c")}catch{}})();var Za=20,ec=5,tc=15,nc="-24h";function Af(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 rc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function fn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new h(`${t} must not be empty`,p.USAGE);return n}function pi(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new h("Activity time bounds must not be empty",p.USAGE);let o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return G(o,new Date(t),n)}function oc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function hi(e,t){return t===void 0?e:e.slice(0,t)}function Ae(e,t=""){return typeof e=="string"?e:t}function ic(e,t){return{...t,id:e,ts:Ae(t.ts),author:Ae(t.author,"unknown"),op:Ae(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ae(t.before_hash),after_hash:Ae(t.after_hash)}}function sc(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 ac(e){try{return(await Ja.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Dr(t))return[];throw t}}function cc(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 lc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?tc:n==="compact"?Za:ec}function dc(e,t){let n=F(),r=t==="digest",o=pi(e.to??(r?n:void 0),n,"--to"),i=pi(e.from??(r?nc:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new h("Activity --from must be before --to",p.USAGE);let s=ue(e.limit);if(e.unbounded===!0&&s!==void 0)throw new h("Activity --unbounded cannot be combined with --limit",p.USAGE);return{id:fn(e.id,"Activity --id"),op:fn(e.op,"Activity --op"),author:fn(e.author,"Activity --author"),from:i,to:o,limit:lc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function uc(e){let t=T(process.cwd(),e.path);return await H(t),{pmRoot:t,settings:await M(t)}}async function mc(e){let t=D(e.settings,C()),n=await me(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await _o({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=gi.join(e.pmRoot,"history");return await Ee({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function fc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:oc(t,n.from,n.to)}async function pc(e,t){let n=[];for(let r of await ac(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await te(gi.join(e,r),o);for(let s of i){let a=ic(o,s);fc(s,a,t)&&n.push(a)}}return n}function hc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function gc(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 yc(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:gc(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function _c(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 wc(e,t,n,r,o){if(e==="digest"){let s=yc(t,r),a=hi(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=hi(t,n);return e==="compact"?{rows:{compact_activity:hc(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 yi(e,t){let n=await uc(t),r=cc(e),o=dc(e,r),i=await mc(n),s=_t(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,l=bt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=sc(await pc(i.historyDir,o)).filter(l),d=wc(r,c,o.limit,i.itemsById,m=>wt(m,a,{itemId:m.id})),u=d.totalRows-d.returnedRows;return{...d.rows,compact:d.compact,projection:{mode:r,row_key:rc[r]},omission_receipt:Qe("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(m=>m.author)).size,operation_counts:_c(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:vt(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]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var _i="1970-01-01T00:00:00.000Z";function De(e){if(typeof e!="string")return null;let t=e.trim();if(!Yr(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]="e750a203-8bef-5bfd-85a5-a584c2105472")}catch{}})();var pn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],bc=Symbol("no-context-author"),vc=Symbol("no-item-assignee");function wi(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function kc(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 Sc(e){let t=kc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:De(e.created_at)??_i}}function Ec(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=De(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 Cc(e,t){let n=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)?1-Math.min(Math.max(n,0),t)/t:0}function Ic(e,t){let n=typeof e=="string"?Date.parse(e):e instanceof Date?e.getTime():typeof e=="number"?e:Number.NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return 0;let r=(n-t)/864e5;return r<=0?1:1/(1+r/30)}function xc(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 kt(e,t,n){return e?.[t]??n}function St(e,t){let n=new Map(e.map(c=>{let d=t.recencyEvidence?.[c.id];return[c.id,d===void 0?Sc(c):Ec(d)]})),r=[...e].sort((c,d)=>{let u=n.get(c.id).coordinate,m=n.get(d.id).coordinate;return E(m,u)||c.id.localeCompare(d.id)}),o=new Map(r.map((c,d)=>[c.id,d])),i=Math.max(e.length-1,1),s=wi(t.author,bc),a=L("in_progress",t.statusRegistry),l=Date.parse(t.now);return e.map(c=>{let d=wi(c.assignee,vc)===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:kt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:kt(t.claimFocus,c.id,R(c.status,t.statusRegistry)===a?1:d?.75:0),priority_pressure:Cc(c.priority,4),risk_pressure:xc(c.risk),deadline_pressure:Ic(c.deadline,l),knowledge_density:kt(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:kt(t.authorAffinity,c.id,d?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Tc="context_relevance",Rc={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},Ac=new TextEncoder;function Dc(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,o]of Object.entries(n.signals??{})){if(r==="structural"||!pn.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 Fc(e){let t={...Rc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&pn.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 vi(e,t={}){Dc(e);let n=Fc(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=pn.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,m=0;for(let f of i){let g=c[f];if(g===void 0)continue;let _=g*n[f];d[f]=_,u+=_,m+=n[f]}return{...a,baseline_rank:l+1,rank:0,score:m===0?0:u/m,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 Mc(e,t={}){let n=vi(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 Et(e,t,n={}){let r=vi(t,n),o=await Ur(Tc,{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 Mc(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 $c=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function bi(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Oc(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,m)=>d+(2**u-1)/Math.log2(m+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:bi(e.required_ids??[],a),continuity_coverage:bi(e.continuity_ids??[],a),token_budget_adherence:l?1:e.token_budget/e.actual_tokens,within_token_budget:l}}function Lc(e){return Math.ceil(Ac.encode(JSON.stringify(e)).byteLength/4)}function Nc(e){return Math.round(e*1e4)/1e4}function Pc(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 jc(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}),{rankedIds:r,attribution:o}=Pc(n,e.surface),i={...n,ranking:void 0},s=Lc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Oc({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 Uc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=$c;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,Nc(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 Pf(e,t,n){let r=[];for(let o of e)r.push(await jc(o,t));return Uc(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var Bc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Hc=["identity","summary","full"];function Gc(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=Hc.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 Wc(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 qc(e){let t=new Set;for(let n of e){if(Gc(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 zc(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 Vc(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=zc(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 Kc(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 ki(e,t){let n=Wc(t),r=qc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Vc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,l=Kc(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 Fe from"node:fs/promises";import Me from"node:path";import{createHash as Si,randomUUID as Yc}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]="01eff51c-7656-5c3f-b0c0-28594fca8a1e")}catch{}})();var hn=3,gn=2,Ei=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Xc=new Set(["substantive_history","release_cohort","created_at"]),Qc={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 Ci(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Jc(e){let t={};for(let n of Ei){let r=e[n];if(r!==void 0){if(!Ci(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Zc(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 el(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 Ii(e,t){return{...t,activityDensity:t.activityDensity??Zc(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??el(e)}}function wn(e){let t=Si("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 tl(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=De(n.coordinate);if(r===null)return null;let o=new Set(Ei),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&Ci(a))||![typeof n.source=="string"&&Xc.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 nl(e,t){let n=Array.from(e,tl);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!==wn(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function rl(e){if(!pe(e)||e.format_version!==hn||e.signal_set_version!==gn||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=nl(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:hn,signal_set_version:gn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function xi(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 Ti(e,t,n=wn(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:Jc(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:hn,signal_set_version:gn,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 Yf(e,t){return xi(t),Ti(St(e,Ii(e,t)),t)}var yn=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=Me.resolve(t)}async read(){try{return JSON.parse(await Fe.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&Ke(t))return null;throw t}}async write(t){let n=Me.dirname(this.filePath);await Fe.mkdir(n,{recursive:!0});let r=Me.join(n,`.${Me.basename(this.filePath)}.${Yc()}.tmp`);try{await Fe.writeFile(r,`${JSON.stringify(t)}
|
|
5
|
-
`,{encoding:"utf8",flag:"wx"}),await Fe.rename(r,this.filePath)}finally{try{await Fe.rm(r,{force:!0})}catch{}}}},_n=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){xi(n);let r=[],o=null;try{let m=await this.adapter.read();o=rl(m),m!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(m=>m.id).sort((m,f)=>m.localeCompare(f)),s=o?.items.map(m=>m.id)??[],a=St(t,Ii(t,n)),l=wn(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===l&&o.source===n.source&&s.length===i.length&&s.every((m,f)=>m===i[f]),d;if(c&&o!==null)d=o;else{o!==null&&r.push("context_signal_store_stale"),d=Ti(a,n,l);try{await this.adapter.write(d)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(d.items.map(m=>[m.id,m]));return{snapshot:d,candidates:a.map(m=>({...m,signals:{...m.signals,...u.get(m.id)?.signals},signal_provenance:u.get(m.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>Qc[m])}}};function ol(e){let t=Si("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 Ct(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 lt(t.pmRoot),i=t.sourceCursor??o?.source_cursor??ol(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new _n(new yn(Me.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),l=t.recencyEvidence??Object.fromEntries(Object.entries(await lo(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 il from"node:path";import{createHash as sl}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Ri(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 al from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Ai=1,cl=1e4,Di=12;function ll(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function dl(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 ul(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 ml(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=Ri(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=ll(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=dl(s,r);if(u){let m=`epic:${u.id}`,f=o.get(m)??{kind:"epic",key:u.id,label:u.title,items:[]};f.items.push(i),o.set(m,f)}}return{format_version:Ai,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(ul).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function fl(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 pl(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(fl)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function hl(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Ai||typeof t.source_cursor!="string"||!t.source_cursor.trim()||!Number.isSafeInteger(t.source_item_count)||t.source_item_count<0||typeof t.generated_at!="string"||!Number.isFinite(Date.parse(t.generated_at))||!Array.isArray(t.rollups)?null:t.rollups.every(pl)?t:null}function gl(e){return`scan:${sl("sha256").update(Lr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function yl(e,t,n){return n!==void 0?n:(await lt(t))?.source_cursor??gl(e)}async function _l(e){try{let t=hl(JSON.parse(await al.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Ke(t))}}}async function It(e,t){let n=Math.max(1,Math.floor(t.minimumItems??cl));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await yl(e,t.pmRoot,t.sourceCursor),o=il.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await _l(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=ml(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Fr(o,`${JSON.stringify(l)}
|
|
6
|
-
`)}catch{i.push("workspace_memory_write_failed")}return{snapshot:l,cache_status:"rebuilt",warnings:i}}function wl(e,t,n=Di){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 Fi(e,t,n=Di){if(e.snapshot===null)return;let r=wl(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 bl(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 Mi(e,t,n=5){let r=bl(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]="599ebac9-d3e8-561d-a971-8164179f1adf")}catch{}})();var vl=["markdown","toon","json","ndjson"],xt=new Set(["Epic","Feature"]),Pi=10,ji=1e4,Ui=["hierarchy","activity","progress","recently_created","unparented","workload"],kl=[...Ui,"blockers","files","staleness","tests"],Sl=/^(\d{4})-(\d{2})-(\d{2})/,El=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Cl=/^(\d{4})(\d{2})(\d{2})$/,Il=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function xl(e){if(!e)return;let t=e.trim().toLowerCase();if(!vl.includes(t))throw new h("Context format must be one of markdown|toon|json|ndjson",p.USAGE);return t}var $i=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 Tl(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!$i.has(r))throw new h(`Context --fields value not projectable: ${r} (valid: ${[...$i].join(", ")})`,p.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new h("Context --fields requires at least one field name",p.USAGE);return t}function $e(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function xp(e,t){let n=xl(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Rl(e,t){return W(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Pi)}function kn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new h("--token-budget must be a positive integer",p.USAGE);return n}function Al(e,t){return t>=ji&&e===Number.MAX_SAFE_INTEGER?Pi:e}function Dl(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!qt.includes(n))throw new h(`Context --depth must be one of ${qt.join("|")}`,p.USAGE);return n}function Fl(e,t,n){if(e&&e.length>0){let r=[];for(let o of e){let i=o.trim().toLowerCase();if(!Ve.includes(i))throw new h(`Context --section must be one of ${Ve.join("|")}`,p.USAGE);r.includes(i)||r.push(i)}return r}return t==="brief"?[]:t==="full"?[...Ve]:(t==="deep"?kl:Ui).filter(r=>n.sections[r])}function Ml(e,t){return e?W(e,"--activity-limit")??t.activity_limit:t.activity_limit}function $l(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new h("--stale-threshold must be a number of days (e.g. 7 or 7d)",p.USAGE);let o=parseInt(r[1],10);if(o<=0)throw new h("--stale-threshold must be positive",p.USAGE);return o}function Oi(e,t){let n=R(e,t),r=L("blocked",t),o=L("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 Oe(e,t){let n=L("closed",t);return R(e,t)===n}function Sn(e,t){return R(e,t)===t.in_progress_status}function Bi(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Ol(e,t){return t.blocked_statuses.has(R(e,t))}var Ll=["compact","brief","fields","includeBody","include_body","parent"];function Nl(e){let t={...e};for(let n of Ll)delete t[n];return t}function En(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=he(e),i=Le(r.id,o);return{ids:new Set([r.id,...i.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function Pl(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new h("Context --parent requires an item id",p.USAGE);return t}function jl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Ul(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 Hl(e){let t=Sl.exec(e)??El.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 Gl(e){let t=Cl.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Il.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 Hi(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Hl(t))return Number.NaN;let n=Date.parse(Gl(t));return Number.isFinite(n)?n:Number.NaN}function vn(e){let t=Hi(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Wl(e){let t=Hi(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Cn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function oe(e,t,n){let r=Oi(e.status,n)-Oi(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=jl(e.order,t.order);if(i!==0)return i;let s=Ul(e.deadline,t.deadline);if(s!==0)return s;let a=E(vn(t.updated_at),vn(e.updated_at)),l=e.id.localeCompare(t.id);return a!==0?a:l}function bn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function In(e,t,n=new Set,r="context"){return ki(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:bn({id:o.id,title:o.item.title}),summary:bn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:bn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function xn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Tn(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 Gi(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=Cn(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Ne(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:Cn(e.parent)};if(t&&n){let o=Le(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>Oe(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Gi(s,i)}}return r}function ql(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 Tt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function zl(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Vl(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=>xt.has(l.type)).map(l=>l.id)),a=[];for(let l of s){let c=o.get(l);if(!c)continue;let d=Le(l,i),u=i.get(l)??[],m=0,f=0,g=0,_=0;for(let w of d)Oe(w.status,n)?m++:Sn(w.status,n)?g++:Ol(w.status,n)?_++:Bi(w.status,n)&&f++;let y=u.sort((w,S)=>oe(w,S,n)).slice(0,r).map(w=>{let S=Le(w.id,i),b=S.filter(k=>Oe(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:S.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:d.length,children_closed:m,children_open:f,children_in_progress:g,children_blocked:_,children:y})}return a.sort((l,c)=>{let d=o.get(l.id),u=o.get(c.id);return oe(d,u,n)}).slice(0,r)}function Le(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 Kl(e,t){return(await yi({compact:!0,limit:String(e)},t)).compact_activity??[]}function Yl(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=>xt.has(l.type)),a=[];for(let l of s){let c=Le(l.id,i),d=c.length;if(d===0)continue;let u=0,m=0,f=0,g=0;for(let _ of c)Oe(_.status,r)?u++:n.has(_.id.trim().toLowerCase())?g++:Sn(_.status,r)?f++:Bi(_.status,r)&&m++;a.push({id:l.id,title:l.title,type:l.type,total:d,closed:u,open:m,in_progress:f,blocked:g,completion_pct:Gi(u,d)})}return a.sort((l,c)=>l.completion_pct-c.completion_pct).slice(0,o)}function Xl(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=Te(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 Ql(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 Jl(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=>Sn(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function Zl(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 ed(e,t,n,r){return e.map(o=>({item:o,sortKey:vn(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})=>({...Ne(o,t,n),created_at:o.created_at}))}function td(e,t,n,r){return e.filter(o=>!Cn(o.parent)&&!xt.has(o.type)).sort((o,i)=>oe(o,i,t)).slice(0,r).map(o=>Ne(o,t,n))}function nd(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 Li(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Wi(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 rd(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function od(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`${Li(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Li(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 Ni(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 id(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 sd(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(`- ${od(n)}`);e.push("")}function ad(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 cd(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 ld(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)}`:`- ${Wl(o.created_at)} ${Wi(o)}`);e.push("")}}function dd(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 ud(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 md(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 fd(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 pd(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 hd(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 gd(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 yd(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 Tp(e){let t=[],n=e.focus_fields,r=i=>n?rd(i,n):Wi(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(""),Ni(t,"High-level focus",e.high_level,"No high-level active items.",r),Ni(t,"Low-level focus",e.low_level,"No low-level active items.",r),id(t,e,r),sd(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 ad(t,e),cd(t,e),ld(t,e,n,r),dd(t,e,r),ud(t,e),md(t,e),fd(t,e),pd(t,e),hd(t,e),gd(t,e),yd(t,e),t.join(`
|
|
7
|
-
`)}async function _d(e,t){let n=T(process.cwd(),t.path),r=await M(n),o=r.context??Tr.context,i=P(r.schema),s=Dl(e.depth,o),a=Rl(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Fl(e.section,s,o),activityLimit:Ml(e.activityLimit,o),staleThresholdDays:$l(e.staleThreshold,o),parentScope:Pl(e.parent),focusFields:Tl(e.fields),baseListOptions:Nl(e)}}function wd(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function bd(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function vd(e,t){let n=await q(void 0,bd(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!J(a.status,t.statusRegistry)),i=r,s=kd(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 kd(e,t){if(e===void 0)return;let n=En(t,e);if(!n.found)throw new h(`Context --parent item not found: ${e}`,p.NOT_FOUND);return n.ids}function Sd(e,t,n,r){let o=new Set(pt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>xt.has(i.type)||o.has(i.id)||Ie(i.type,r)!=="agent").map(i=>i.id))}async function Ed(e,t,n,r,o,i,s,a,l,c,d,u,m,f,g,_){let y=[...e].sort((v,ke)=>oe(v,ke,o)),w=await rt({pmRoot:m,author:l,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),S=await Ct(y,{pmRoot:m,storeKey:"context",statusRegistry:o,now:a,author:l,usageAffinity:w.affinity,claimFocus:g}),b=await Et("context",S.candidates),k=b.ranked.map(v=>v.item),$=o.active_statuses,x=k.filter(v=>$.has(R(v.status,o))),A=u?Wr(x,c,d,v=>v.id):0,j=u?x.slice(A,A+s):x,qe=u&&j.length>0&&A+j.length<x.length,ze=qe&&j.length>0?Hr(d,j[j.length-1].id,A+j.length-1):void 0,Z=k.filter(v=>r.has(v.id.trim().toLowerCase())),ve=new Set([...j.map(v=>v.id),...Z.slice(0,s).map(v=>v.id)]),se=In({...b,ranked:b.ranked.filter(v=>ve.has(v.id))},f,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),Y=se.included.map(v=>v.item),X=Y.filter(v=>$.has(R(v.status,o))),ae=Y.filter(v=>r.has(v.id.trim().toLowerCase())),ce=he(t),Gt=wd(i)?ce:void 0,N=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),O=v=>{let ke=Ne(v,o,Gt);return r.has(v.id.trim().toLowerCase())&&(ke.blocked=!0,ke.blocker_ids=Te(v,N,o).filter(Wt=>!Wt.resolved).map(Wt=>Wt.id)),ke},Er=Sd(X,n,o,_),Vs=X.filter(v=>Er.has(v.id)).slice(0,u?j.length:s).map(O),Ks=X.filter(v=>!Er.has(v.id)).slice(0,u?j.length:s).map(O),Cr=x.length===0;return{activeItems:X,blockedItems:ae,highLevel:Vs,lowLevel:Ks,blockedFallback:Cr?ae.slice(0,s).map(O):[],blockedFallbackUsed:Cr,ranking:b,packing:se,featureStore:S,pageExtras:{...u?{applied_limit:s}:{},...qe?{has_more:!0,truncated:!0}:{},...ze?{next_cursor:ze}:{}}}}function Cd(e,t){return Ze("context",{pmRoot:t,options:Je(e,Pr)})}function Id(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=ji}async function xd(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await mi(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=zl(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:ql(a)}}function qi(e,t,n){let r=String(t);return e.filter(o=>R(o.status,n)===r).length}async function Td(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,l=he(n),c=n.filter(u=>!J(u.status,t.statusRegistry)),d=u=>t.sectionsIncluded.includes(u);return{hierarchy:d("hierarchy")?Vl(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:d("activity")?await Kl(t.activityLimit,a):void 0,progress:d("progress")?Yl(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:d("blockers")?Xl(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:d("recently_created")?ed(c,t.statusRegistry,l,t.limit):void 0,unparented:d("unparented")?td(c,t.statusRegistry,l,t.limit):void 0,filesSection:d("files")?Ql(i.activeItems,t.limit):void 0,workload:d("workload")?Jl(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:d("staleness")?Zl(c,t.staleThresholdDays,s,t.limit):void 0,tests:d("tests")?nd(i.activeItems):void 0}}function Rd(e,t,n){let r=L("canceled",t),o=e.filter(s=>t.active_statuses.has(R(s.status,t))),i=qi(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=>Oe(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function Ad(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 Dd(e,t){t&&(e.focus_fields=t,e.high_level=$e(e.high_level,t),e.low_level=$e(e.low_level,t),e.blocked_fallback=$e(e.blocked_fallback,t),e.recently_created&&(e.recently_created=$e(e.recently_created,t)),e.unparented&&(e.unparented=$e(e.unparented,t)))}function Fd(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 Md(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 $d(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 tt(e,"context"))s.has(l)||(i.push({id:l,rank:i.length+1,included:!1}),s.add(l));let a=await nt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e,a)}catch{e.warnings=Tt(e.warnings,["context_usage_feedback_write_failed"])}}async function Od(e,t,n){if(e)return{};let r=(await Nr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(i=>({name:i.name??i.directory,status:i.status==="ok"?"ok":"degraded"})).sort((i,s)=>i.name.localeCompare(s.name)),o=r.filter(i=>i.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-o,degraded:o,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function Ld(e,t){let n=ao(),r=await no(e),o=n.instance||ro(t);return ti(r.semantic_attribution?.[o])}async function Rp(e,t){let n=T(process.cwd(),t.path),r=await _d(e,t),o=await vd(t,r),i=Al(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:kn(e.tokenBudget,Math.max(256,i*160))},a=ee(void 0,s.settings.author_default),l=await Ld(n,a),c=Od(e.noExtensionHealth===!0,n,s.settings),d=Do(o.fullCorpus,s.statusRegistry),u=await Ed(o.listedItemMetadata,o.allItems,o.fullCorpus,d,s.statusRegistry,s.sectionsIncluded,s.limit,F(),a,e.after,Cd(e,n),Id(e,o.fullCorpus.length),n,s.tokenBudget,l,D(s.settings,C())),m=await xd(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),f=await It(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Tt(o.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],f.warnings),_=qi(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-_,w=await Td({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:d,focusGroups:u,now:m.agenda.now,global:t}),S=Rd(o.allItems,s.statusRegistry,d),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??m.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:_,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:m.agendaSummary.events,...S},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=Fi(f,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),Ad(b,w,u.featureStore.warning_details),Fd(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Tn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=xn(u.packing)),zr(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:R(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),Dd(b,s.focusFields),Vr(b),g.length>0&&(b.warnings=g),Md(b,u.activeItems,u.blockedItems),await $d(b,u,n,a),b}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function zi(e,t,n){let r={recommended:e.recommended,ready:e.ready},o=()=>Math.max(Kt(r,"json"),Kt(r,"toon")),i=r.ready.length+ +(r.recommended!==null),s=o(),a=s,l=r.ready;if(a>t&&(r.ready=[],a=o()),s>t&&a<=t){let u=0,m=l.length;for(;u<m;){let f=Math.ceil((u+m)/2);r.ready=l.slice(0,f),o()<=t?u=f:m=f-1}r.ready=l.slice(0,u),a=o()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=o()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let d=i-r.ready.length-+(r.recommended!==null);n&&d===0&&a<=t||(e.truncation={...e.truncation,...d>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:d,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f610c3be-8212-56de-86d4-2b5b9752b87c")}catch{}})();var Nd=["markdown","toon","json"],Pd=5,jd=1440*60*1e3;function Ud(e){if(!e)return;let t=e.trim().toLowerCase();if(!Nd.includes(t))throw new h("Next format must be one of markdown|toon|json",p.USAGE);return t}function Gp(e,t){let n=Ud(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"toon"}function Vi(e,t,n){let r=W(e,t);return r===void 0||r<=0?n:r}function Pe(e,t,n,r){return{...Ne(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=L("in_progress",t);return i.push(R(o.status,t)===s?"resume work":"ready"),r&&i.push("completed container \u2014 governance closeout"),i.push(`p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(Hd(o.deadline,n)),i.push(xe(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 Ki(e,t,n){let r=ee(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 Wp={partitionCallerOwnedReady:Ki,resolveNextCallerAuthor:(e,t)=>Yi(e,t)};function qp(e,t,n){let r=e.filter(o=>Ie(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>Ie(o.item.type,n)!=="human"),decisions:t?[]:r}}function Hd(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))/jd);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function Gd(e,t){let n=L("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function Rn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Wd(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 Rt(e,t,n){return[...e].sort((r,o)=>{let i=Rn(r.item,t),s=Rn(o.item,t);return i!==s?Number(i)-Number(s):oe(r.item,o.item,n)})}function qd(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Bd(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function zd(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 Vd(e,t,n,r){let o={};return e>r&&(o.decision_needed_total=e),t>r&&(o.held_by_others_total=t),n>r+1&&(o.ready_total=n),Object.keys(o).length>0?o:void 0}async function Kd(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.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 tt(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await nt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e.result,o)}catch{e.result.warnings=Tt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Yd(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.result.suggestions=zd(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&zi(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Tn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=xn(In(e.readyRanking,e.packingBudget,new Set,"next"))),await Kd({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Xd(e,t,n){if(!n)return e;let r=En(t,n);if(!r.found)throw new h(`Next --parent item not found: ${n}`,p.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function Qd(e,t,n,r,o,i,s){let a=e.filter(f=>!Rn(f.item,t)),l=s||a.length===0?e:a,c=await rt({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),d=await Ct(l.map(f=>f.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:c.affinity}),u=await Et("next",d.candidates),m=new Map(l.map(f=>[f.item.id,f]));return{projectedReady:u.ranked.map(f=>m.get(f.id)).filter(f=>f!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:d}}function Yi(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function zp(e,t){let n=T(process.cwd(),t.path),r=await M(n),o=Yi(e,r.author_default),i=P(r.schema),s=D(r,C()),a=F(),l=Vi(e.limit,"--limit",Pd),c=kn(e.tokenBudget,Math.max(192,l*128)),d=Vi(e.blockedLimit,"--blocked-limit",l),u=e.readyOnly===!0,m=typeof e.parent=="string"?e.parent.trim():"",f=await q(void 0,Wd(e,{excludeTerminal:!0}),t),g=await q(void 0,{excludeTerminal:!1,noTruncate:!0},t),_=Xd(f.items,g.items,m),y=g.items,w=pt(_,y,i,s),S=he(y),b=Fo(w,i,e,s),k=Ki(b.ready,r.author_default,o),$=Rt(k.available,S,i),x=[...w.blocked].sort((N,O)=>oe(N.item,O.item,i)),{projectedReady:A,ranking:j,completedContainer:qe,featureStore:ze}=await Qd($,S,i,a,o,n,e.includeContainers===!0),Z=A.map((N,O)=>Pe(N,i,S,O+1)),ve=x.map((N,O)=>Pe(N,i,S,O+1)),se=Rt(b.decisions,S,i).map((N,O)=>Pe(N,i,S,O+1)),Y=Rt(b.gates,S,i).map((N,O)=>Pe(N,i,S,O+1)),X=Rt(w.containers,S,i).map((N,O)=>Pe(N,i,S,O+1)),ae=qd({projectedReady:A,readyRows:Z,statusRegistry:i,now:a,completedContainer:qe}),ce=Vd(se.length,k.held.length,Z.length,l)??{};Y.length>l&&(ce.gate_needed_total=Y.length),X.length>l&&(ce.containers_total=X.length);let Gt={output_default:"toon",now:a,recommended:ae,ready:Z.slice(1,l+1),decision_needed:se.slice(0,l),gate_needed:Y.slice(0,l),containers:X.slice(0,l),blocked:u?[]:ve.slice(0,d),held_by_others:k.held.slice(0,l),summary:{recommended:ae!==null,ready:Z.length,blocked:ve.length,in_progress:Gd(Z,i),candidates:w.active_count,containers:w.container_count,decision_needed:se.length,gate_needed:Y.length,held_by_others:k.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:m.length>0?m: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(ce).length>0?ce:void 0};return Yd({result:Gt,recommended:ae,blockedRows:ve,gateCount:Y.length,candidatesWarnings:f.warnings,corpusWarnings:g.warnings,readyRanking:j,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packingBudget:c,featureStore:ze,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function Vp(e){let t=["# pm next","",...Jd(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...je(n,r.map(o=>`- ${Ue(o)}`),""));if(t.push(...je("Recommended",Zd(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...je("Decision needed",(e.decision_needed??[]).map(n=>`- ${Ue(n)}`),"No human-gated decisions.")),t.push(...je("Ready",e.ready.map(n=>`- ${Ue(n)}`),"No ready items.")),e.filters.ready_only||t.push(...je("Blocked",e.blocked.map(n=>`- ${eu(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 Jd(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 Zd(e){return e?[`- ${Ue(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function je(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function eu(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Ue(e)} blocked_by:${t}`}function Ue(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var tu=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],nu=["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 ru(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Yp(e,t,n={}){let r=n.includePagination!==!1;return[t,...tu.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(ru)||nu.some(o=>e?.[o]===!0)}function Xi(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var Qi=["parent","type","priority","status","assignee","tags","sprint","release"];function Zi(e,t){let n=st(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function es(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 h("Aggregate --sum and --avg must target the same numeric field",p.USAGE);let s=o??i;if(!t.includes(s))throw new h(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,p.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function ts(e){let t=e?.trim()??"status";if(t.length===0)throw new h("--group-by requires at least one field name",p.USAGE);let n=Ao(t);if(n.length===0)throw new h("--group-by requires a comma-separated list of fields",p.USAGE);for(let r of n)if(!Qi.includes(r))throw new h(`Aggregate group fields must be one of ${Qi.join("|")}; received "${r}"`,p.USAGE);return n}function ns(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 rs(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 ns(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function os(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 ou={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Ji(e,t){return t==null||t===""?ou[e]:String(t)}function iu(e,t){return e.length===1?Ji(e[0],t[e[0]]):e.map(n=>`${n}=${Ji(n,t[n])}`).join(" | ")}function is(e,t,n){for(let r of n){let o=os(e.group[r],t.group[r]);if(o!==0)return o}return 0}function ss(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let o=Number(r);if(Number.isFinite(o))return o}return null}function as(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function An(e,t,n){let r=L(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 su(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 au(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function cu(e){e.accumulator.row.count+=1,e.includeCompletion&&An(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&au(e.accumulator,e.numericValue)}function lu(e,t,n,r){for(let o of t){let i=At(n,o),s=e.get(i);if(s){cu({...r,accumulator:s});continue}let a=su(o,r.numericValue);r.includeCompletion&&An(a,r.item.status,r.statusRegistry),e.set(i,a)}}function du(e,t){let n={};for(let r of e)n[r]=rs(r,t);return n}function uu(e,t,n){let r=[du(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 mu(e,t,n,r){let o={...e.row,group_label:iu(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=as(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 fu(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 th(e,t){if(e.count===!1)throw new h("Aggregate grouped counts are always enabled; omit count=false.",p.USAGE);let n=T(process.cwd(),t.path),r=await M(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...Q(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=ts(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new h("Aggregate --set-mode must be element or tuple",p.USAGE);let l=Zi(e.status,o),c=es(e,[...new Set(i)].sort((b,k)=>b.localeCompare(k))),d=e.completion===!0,u=e.includeUnparented===!0,m=await q(void 0,{...Xi(e),status:e.status,noTruncate:!0,strictRead:!0},t),f=new Map,g=0,_=0,y=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let $=c===null?null:ss(k,c.field),x=uu(s,k,a);lu(f,x,s,{item:k,statusRegistry:o,includeCompletion:d,numericAggregation:c,numericValue:$}),y+=x.length,_+=1}let w=[...f.values()].map(b=>mu(b,s,d,c)).sort((b,k)=>is(b,k,s)),S=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...pu(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:fu({groupBy:s,setMode:a,includeCompletion:d,includeUnparented:u,status:l,options:e,numericAggregation:c}),now:F(),...S?{warnings:S}:{}}}function pu(e,t,n){let r=Xo(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 h("Aggregate --after cursor is absent from the current grouping; restart without --after.",p.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 nh={buildGroupKey:At,compareAggregateRows:is,compareNullableGroupValue:os,completionPct:as,normalizeTagGroupValue:ns,parseGroupBy:ts,parseNumericAggregation:es,parseStatus:Zi,readNumericAggregateValue:ss,resolveGroupValue:rs,updateCompletionCounts:An};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var cs=1e6,ls=20;function ds(e,t,n,r=ls){if(!Number.isSafeInteger(r)||r<0)throw new h("Child projection sample limit must be a non-negative integer.",p.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let y of t){if(a+=1,a>cs)throw new h(`Child projection exceeded the ${cs.toLocaleString("en-US")} item safety bound.`,p.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(y)}let l=new Map(s.map(y=>[y.id.trim().toLowerCase(),y])),c=Wo(Go(s,Ho())),d=new Set(c.children_by_parent.get(o)??[]);for(let y of s)y.parent?.trim().toLowerCase()===o&&d.add(y.id.trim().toLowerCase());let u=[...d].map(y=>l.get(y)),m=0;for(let y of u){let w=y.status.trim().toLowerCase();i[w]=(i[w]??0)+1,J(w,n)||(m+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let f=u.slice(0,r).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>f.length,_=r===0?ls:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(i).sort(([y],[w])=>y.localeCompare(w))),sample:f,sample_limit:r,truncated:g,next_offset:g?f.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${f.length} --limit ${_}`: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]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var hu=new Set(["event","meeting","reminder"]);function gu(e){return hu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Dn(e){if(!gu(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]="4280f121-31b0-55e3-9e3b-964ba97e43b4")}catch{}})();var _u=new Set(["epic","feature","milestone","plan"]),wu=new Set(Object.keys(xr).map(e=>e.toLowerCase()));function Mn(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function bu(e,t){return!t.fieldProjection&&t.full||ge(t.fields,"dependencies")?!1:e.dependencies?.some(({id:n,kind:r,...o})=>Object.values(o).some(i=>i!==void 0))??!1}function vu(e,t,n,r,o){let i=Mn(e);return[...t.length>0?["body"]:[],...Object.entries(i).flatMap(([s,a])=>a>0?[s]:[]),...i.files+i.tests+i.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Dn(e)?["schedule"]:[],...r&&xe(e).length>0?["blockers"]:[],...bu(e,o)?["dependency_provenance"]:[]]}function ms(e){let t=e.trim().toLowerCase();return t.length>0&&(_u.has(t)||!wu.has(t))}function us(e){return{ts:e.ts,author:e.author,message:e.message??null}}function ku(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,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?us(o):null,last_release:i?us(i):null}}function Su(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(ot.includes(t))return t;throw new h("Get --depth must be one of brief|standard|deep|full",p.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...ot,"full"]}})}function Eu(e,t,n){let r=Mn(e),o={...e};if(!n&&e.dependencies!==void 0&&(o.dependencies=e.dependencies.map(({id:g,kind:_})=>({id:g,kind:_}))),t==="deep")return{...o,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:r.notes,tests_count:r.tests,collection_counts:r};let{comments:i,notes:s,learnings:a,files:l,tests:c,docs:d,reminders:u,events:m,...f}=o;return{...f,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Cu(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 h("Get --fields requires a comma-separated list of field names",p.USAGE);return t}function Dt(e){return e.startsWith("item.")?e.slice(5):e}function Iu(e,t,n){if(e===null)return;let r=Yt(t),o=new Set(r),i=e.filter(s=>{let a=Dt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields",e.filter(a=>!i.includes(a)).join(",")||"id,title,status"];throw new h(`Unknown get --fields value(s): ${i.join(", ")}`,p.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:de(s),suggested_retry_args:s}})}}var xu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Tu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:xu.has(n)?[]:void 0}function Ru(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:Mn(e)},o={id:e.id};for(let i of t){let s=Dt(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.")||s==="blockers"||(o[s]=Tu(n,r,s))}return o}function ge(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function ye(e,t){return e.some(n=>{let r=Dt(n);return r===t||r.startsWith(`${t}.`)})}function Au(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new h("Get projection options are mutually exclusive; remove the extra projection flag and retry.",p.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:de(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new h("Get --tree-depth requires --tree",p.USAGE);if(e.at!==void 0&&e.tree===!0)throw new h("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",p.USAGE);return{depth:e.full?"deep":Su(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?W(e.treeDepth,"--tree-depth"):void 0,fields:Cu(e.fields),fieldProjection:e.fields!==void 0}}async function Du(e,t,n){let r=T(process.cwd(),t.path);await H(r);let o=await M(r),i=D(o,C());if(n!==void 0){let l=await Yo(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 ne(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await So(r,e,o.id_prefix,i.type_to_folder);let a=await re(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 Fu(e,t,n,r){let o=Q(t.schema).definitions.map(i=>i.metadata_key);if(Iu(e,o,r),n&&ye(e??[],"children"))throw new h("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",p.USAGE);if(n&&ye(e??[],"blockers"))throw new h("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",p.USAGE)}function Fn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?ge(r,o):ye(r,o):n!=="brief"}async function Mu(e,t){if(!t)return;let n=Xe(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return ku(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function $u(e,t,n,r){let o=r||ge(n,"linked.files"),i=r||ge(n,"linked.tests"),s=r||ge(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 Ou(e,t){if(!t)return;let n=P(e.settings.schema),r=await me(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return ds(e.locatedId,r,n)}function Lu(e,t){let n=new Map;for(let r of e){let o=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${o}`:`local:${o.toLowerCase()}`,{...r,id:o})}return[...n.values()]}async function Nu(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?ye(n.fields,"blockers"):n.depth!=="brief"))return;let r=xe(t.metadata);if(r.length===0)return;let o=new Map;for(let s of r){if(Jr(s)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(s)||t.metadata.dependencies?.some(l=>l.id.trim()===s&&l.kind==="blocked_by"&&Zr(l.source_kind)))continue;let a=await ne(t.pmRoot,s,t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(a!==null){let l=await re(a,{schema:t.settings.schema});if(l.document.metadata.id!==a.id)throw new h(`Blocker identity differs from its canonical file: ${a.id}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});o.set(s.toLowerCase(),l.document.metadata)}}let i=Lu(Te({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},o,P(t.settings.schema)),o);e.blockers={scope:"declared",open:i.filter(s=>!s.resolved).map(({resolved:s,...a})=>a),closed_count:i.filter(s=>s.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function Pu(e,t,n,r){if(!r)return;let o=Dn(t.metadata);if(o){if(n===null||ge(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>Dt(s)===`schedule.${i}`)))}}async function ju(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 Ih(e,t,n={}){let r=Au(n,e),o=await Du(e,t,n.at);Fu(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Fn({...r,field:"body"}),s=Fn({...r,field:"linked"}),a=Fn({...r,field:"claim_state"}),l=o.historical===void 0&&(r.fieldProjection?ye(r.fields,"children"):r.depth==="deep"&&(r.full||ms(o.metadata.type))),c=r.fieldProjection?ye(r.fields,"schedule"):r.depth!=="brief",d=await Mu(o,a),u={item:r.fieldProjection?Ru(o.metadata,r.fields):Eu(o.metadata,r.depth,r.full)};i&&(u.item.body=o.body),$u(u,o,r.fields,s),d&&(u.claim_state=d),Pu(u,o,r.fields,c),await Nu(u,o,r);let m=await Ou(o,l);m!==void 0&&(u.children=m);let f=await ju(o,n,r.treeDepth,t);if(f!==void 0&&(u.tree=f),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 Qr({pmRoot:o.pmRoot,author:ee(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return Br(u,vu(o.metadata,o.body,m,o.historical===void 0,r)),u}var xh={shouldAutoIncludeGetChildren:ms};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9c9c1249-e52a-5203-8a84-d54211c30202")}catch{}})();function Uu(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Bu(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=uo(n.patch);for(let s of i)o.add(Xt(s.path)),s.from&&o.add(Xt(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 Hu(e){if(e[0]?.op!=="history_compact_baseline")return;let t=Qt(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function Gu(e,t){let n=T(process.cwd(),t.path);await H(n);let r=await M(n),o=D(r,C()),i=e.trim()===it,s=i?it:wo(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,o.type_to_folder),l=a?.id??s,c=i?mo(n):Xe(n,l);if(!a&&!await Ar(c))throw new h(`Item ${e} not found`,p.NOT_FOUND);return a&&await yo({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:l,settings:r}}async function Ph(e,t,n){let r=ue(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await Gu(e,n),l=await te(o,s),c=Hu(l),d=a.agent_identity.identity_vocabulary,u=_t(a.agent_identity.harness_signals),m=bt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},d,u),f=Wu(l).filter(({entry:x})=>m(x)),g=Uu(f,r),_=g.map(({entry:x})=>x),y=t.compact===!0,w=y?Bu(g,c):void 0,S=t.provenance===!0?g.map(({entry:x,durableVersion:A})=>wt(x,d,{itemId:s,version:A})):void 0,b=t.provenance===!0?"provenance":y?"compact":"full",k={compact:{compact_history:w},provenance:{provenance_history:S},full:{history:_}}[b],$={id:s,...k,compact:y,projection:{mode:b,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[b]},omission_receipt:Qe("history",b),count:_.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:vt(f.map(({entry:x})=>x),d,u)}:{}};if((t.diff||t.field!==void 0)&&($.diff=go(l,{windowStartIndex:Math.max(0,l.length-_.length),field:t.field})),t.verify){let x=i?(await re(i,{schema:a.schema})).document:void 0;if($.verification=Ko(l,x),s===it&&$.verification.ok){let A=await fo(T(process.cwd(),n.path));$.verification={...$.verification,ok:A.ok,errors:A.ok?$.verification.errors:[...$.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:A.ok,workspace_state_mismatches:A.mismatched_documents,workspace_state_missing:A.missing_documents,workspace_state_unreadable:A.unreadable_documents}}}return $}function Wu(e){let t=Qt(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]="f7f0c9be-34c2-55fb-8676-de58e96c382f")}catch{}})();function qu(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new h("Search mode must be one of keyword|semantic|hybrid",p.USAGE);return t}function Ft(e){return e===!0}function fs(e){return $r(e,0,1)??void 0}function ps(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new h("Search --match-mode must be one of and|or|exact",p.USAGE);return t}function hs(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new h("Search --min-score must be a finite number >= 0",p.USAGE);return t}function ie(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return G(n,new Date,t)}function U(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function $n(e,t){if(e!==void 0)return G(e,new Date,t)}function zu(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 h("Search --fields requires a comma-separated list of field names",p.USAGE);return[...new Set(t)]}function Mt(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=zu(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new h("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",p.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:de(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...eo]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function On(e,t,n="<query>"){if(e.mode!=="fields")return;let r=to(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",e.fields.filter(a=>!i.includes(a)).join(",")||"id,title,status,score"];throw new h(`Unknown search --fields value(s): ${i.join(", ")}`,p.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:de(s),suggested_retry_args:s}})}}function $t(e){let t=U(e);if(!t)throw new h("Search query must not be empty",p.USAGE);return t.split(/\s+/u).filter(Boolean)}function Ln(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Vu=["auto","keyword","semantic","hybrid"];function Ku(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Vu.includes(n)?n:"auto"}function Nn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:qu(e.requested),source:"explicit"};let t=Ku(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Pn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function jn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Un(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 Yu from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function Bn(e){return Ze("search",{pmRoot:e.pmRoot===void 0?void 0:Yu.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:Je(e.searchOptions,jr)})}function gs(e){let t=qr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Bn(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function ys(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 Xu=[{optionKey:"status",summaryKey:"status",normalize:e=>ys(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 _e(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,runtimeFieldFilters:c}=e,d={};return Vo(d,r,Xu),Object.assign(d,en(r)),Object.assign(d,Zt(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 we(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,m=f=>f??null;return{mode:t,match_mode:n,status:r.status===void 0||ys(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...en(r),...Zt(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:m(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var Qu=1.2,Ju=.75;function Hn(e){return fe(e)}function Zu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function ws(e){let t=[],n=new Map,r=0;for(let i of e){let s=Hn(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 em(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function bs(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let 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,em(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,m=d+n.k1*u;a+=c*(d*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function _s(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function vs(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 ks(e){let t=e?.search?.bm25;return{k1:_s(t?.k1,Qu,0,1e3),b:_s(t?.b,Ju,0,1)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var Gn=4,tm=20,nm=200,rm=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function Wn(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 om(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 im(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 Ss(e,t=Gn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=fe(n);if(r.length===0)return[n];let o=r.filter(a=>!rm.has(a.toLowerCase())),i=r.map(a=>om(a)),s=o.map(a=>im(a));return Wn([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Es(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Wn(t.filter(n=>typeof n=="string"),Gn):[]}function Cs(e,t,n){return Wn([...e,...t],Math.max(1,n))}function Is(e,t){let n=e.search?.query_expansion,r=Se(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:Gn}}function xs(e,t){let n=e.search?.rerank,r=Se(n?.model),o=Mr(n?.top_k)??tm;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(nm,o)}}function Ts(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=Se(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 sm(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function Rs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function am(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=sm(e,t),o=Rs(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 As(e,t,n,r,o){if(r.length===0)return new Map;let i=Se(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(m=>m.text)],l=await dt(s,a,o?{timeout_ms:o}:{}),c=l[0];if(!c)return new Map;let d=Rs(c),u=new Map;for(let m=0;m<r.length;m+=1){let f=r[m],g=l[m+1];if(!g)continue;let _=am(c,g,d);u.set(f.id,Math.max(0,Math.min(1,(_+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function be(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Be(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function qn(e){let t=e.metadata;return[t.title,t.description,t.status,be(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),ut(t).join(" "),mt(t).join(" "),Be(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),ft(t)]}function zn(e,t){return qn(e).some(n=>U(n).includes(t))}function Vn(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&U(r.metadata.title)!==t||n.phraseExact&&!zn(r,t)))}function cm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null".',p.USAGE)}function lm(e,t,n){let r=Re(e.assignee,{label:"--assignee"});cm(r);let o=qo(e),i=zo(e);return{typeFilter:Oo(e.type,t),tagFilter:Re(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Lo(e.priority),deadlineBefore:$n(e.deadlineBefore,"deadline-before"),deadlineAfter:$n(e.deadlineAfter,"deadline-after"),updatedAfter:ie(e.updatedAfter,"updated-after"),updatedBefore:ie(e.updatedBefore,"updated-before"),createdAfter:ie(e.createdAfter,"created-after"),createdBefore:ie(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Re(e.sprint,{label:"--sprint"}),releaseFilter:Re(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:Po(o),contentFieldFilters:i,contentFiltersActive:Uo(i)}}function dm(e,t){return um(e,t)&&Xr(e,t)&&mm(e,t)}function um(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&&!be(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function mm(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 fm(e,t,n,r){let o=e.metadata;return!(!dm(o,t)||!ct(o,n)||t.missingMetadataActive&&!jo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!Bo(o,t.contentFieldFilters))}function Kn(e,t,n,r,o,i){let s=lm(t,n,o);return e.filter(a=>fm(a,s,r,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]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var pm=2,hm=120,gm=6,ym=40,_m=1e3,wm=900,bm="\xAB",vm="\xBB",Ds=60;function Ot(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}}var Fs=[{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=>be(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>ut(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>mt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Be(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>ft(e.metadata)}],km=new Map(Fs.map(e=>[e.name,e]));function Yn(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${bm}${o}${vm}`)}function Xn(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-Ds),s=Math.min(e.length,r+o+Ds),a=Yn(e.slice(i,s),t),l=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${l}${a}${c}`}function Lt(e,t,n){let r=[];for(let o of t){let i=km.get(o);if(i===void 0)continue;let s=Xn(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function Sm(e,t,n){return[...Fs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Em(e,t,n){let r=U(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=U(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?_m:wm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Cm(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=Ot(a.value.toLowerCase(),i);l>0&&(o.score+=l*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function Im(e,t,n,r){U(e.title)===t&&(r.score+=hm,r.matched.add("title"));for(let o of n){let i=Ot(U(o.value),t);i>0&&(r.score+=i*o.weight*gm,r.matched.add(o.name))}}function Qn(e,t,n,r,o,i,s=!1){let a=e.metadata,l=Em(a,n,i);if(l)return l;let c=new Map;for(let g of fe(a.title))c.set(g,(c.get(g)??0)+1);let d=Sm(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};Cm(t,c,d,o,u);let m=new Set(t),f=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&f&&(u.score+=ym),t.length>=pm&&n.includes(" ")&&Im(a,n,d,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,_)=>g.localeCompare(_)),matched_all_terms:f}}function Jn(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=J(n.item.status,t),s=J(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 Zn(e,t,n,r,o,i,s,a=!1){return Qn(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function He(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let o of e.values())t=Math.min(t,o),n=Math.max(n,o);if(n===t)return new Map([...e.keys()].map(o=>[o,1]));let r=new Map;for(let[o,i]of e)r.set(o,(i-t)/(n-t));return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Pt(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 jt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Pt(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 er(e,t){let n=jt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Ms(e){return e?.commands?.some(t=>t.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function tr(e,t,n){try{let r=await Ro(e);r.warnings.length>0&&n.push(...r.warnings);let o=Jo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=Ms(C());n.push(...$s(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
|
|
9
|
-
`)}catch{}}function $s(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Ut(e,t,n,r){if(!t.active)throw new h(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,p.USAGE);if(!n.active&&!r)throw new h(`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`,p.USAGE);return{provider:t.active,vectorStore:n.active??null}}var B=Ye;function Ge(e){let t=C(),n=po(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=B(r.name)??B(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 nr(e){let t=B(e.search?.provider),n=Ge(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function rr(e){let t=C(),n=B(e.vector_store?.adapter),r=ho(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:B(o.name)??B(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function or(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new h(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,p.GENERIC_FAILURE);let o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=B(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(m=>typeof m=="string")?[...new Set(d.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,f)=>m.localeCompare(f)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:l,matched_fields:u})}return i}function ir(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 Nt(e,t){let n=t.filter(l=>l.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(l=>l.item.id)),o=e.filter(l=>!r.has(l.item.id)),i=o.reduce((l,c)=>Math.max(l,c.score),0),s=n.sort((l,c)=>c.score-l.score),a=i+s.length+1;return[...s.map((l,c)=>({...l,score:a-c,matched_fields:["id"]})),...o]}function Bt(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=He(t),l=He(i),c=new Set([...t.keys(),...i.keys()]),d=1-r;return[...c].map(u=>{let m=e.get(u),f=a.get(u)??0,g=l.get(u)??0,_=f*r+g*d;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(o);for(let w of s.get(u)??[])y.add(w);return{item:m.metadata,score:_,matched_fields:[...y].sort((w,S)=>w.localeCompare(S))}}).filter(u=>u!==null)}function sr(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function ar(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:vs(xo(s,{fields:e.corpusFields}))})),n=ws(t),r=bs(n,Hn(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 Nt(s,e.keywordHits)}let i=Bt(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Nt(i,e.keywordHits)}function cr(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 lr(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
|
|
10
|
-
`)}async function xm(e,t){let n=e.queryExpansion.enabled?Ss(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 Cs(r,Es(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 Tm(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 h(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,p.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Jt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Jt(e.vectorStore,t,n,r);throw new h("Semantic search requires either a configured vector store or an extension vector adapter query handler",p.USAGE)}function Rm(e,t,n){return[...e].sort((r,o)=>r.score!==o.score?o.score-r.score:r.item.id.localeCompare(o.item.id)).slice(0,n).map(r=>{let o=t.get(r.item.id);return o?{hit:r,text:lr(o)}:null}).filter(r=>r!==null)}async function Am(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=Ts(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 Dm(e,t,n){let r=await Am(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await As(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Fm(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 Mm(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=Rm(n,r,e.rerank.top_k),i=await Dm(e,t,o);return i&&i.size>0?Fm(n,i):n}async function dr(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 xm(e,o),s=await dt(e.provider,i,n),a=await Promise.all(s.map(async g=>await Tm(e,g,t,r))),l=cr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:d,semanticScores:u}=ir(l,c),m=u.size;if(e.requestedMode==="semantic")return{hits:Nt(d,e.keywordHits),vectorMatchCount:m};let f=await Mm(e,o,Bt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Nt(f,e.keywordHits),vectorMatchCount:m}}function Os(e){let t=Ge(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Ls(e){let t=Ge(B(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Ht from"node:fs/promises";import ur from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}catch{}})();function mr(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 Ns(e){let t=ur.resolve(e);try{let n=await Ht.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function fr(e,t){let[n,r]=await Promise.all([Ns(e),Ns(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function pr(e,t){let n=mr(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=ur.resolve(i.resolved,o.path);if(!zt(i.resolved,s))continue;let a;try{a=await Ht.realpath(s)}catch{continue}if(zt(i.realpath,a))try{await Ee({path:s,scope:o.scope}),r.push(await Ht.readFile(s,"utf8"))}catch{}}return r.join(`
|
|
11
|
-
`)}async function hr(e,t,n,r){let o=Rr(C()),i=async(c,d,u)=>{let m=async(f,g)=>{await Ee({path:f,scope:"project"});let _=await Ht.readFile(f,"utf8");return co(_,{format:g,schema:r,extensionFieldNames:o,onWarning:y=>s.push(y)}).body};try{return await m(d,u)}catch{let f=u==="toon"?"json_markdown":"toon",g=Vt(e,c.type,c.id,f,n);try{return await m(g,f)}catch{return s.push(`item_list_item_read_failed:${ur.relative(e,g)}`),""}}},s=[],a=await vo(e,t,n,s,r),l=[];if(a.length===0){let c=await ko(e,t,n,s,r);for(let d of c){let u=Vt(e,d.type,d.id,t,n),m=await i(d,u,t);l.push({metadata:d,body:m})}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))}}async function Ps(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await fr(o,Or(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await pr(a,i)]));for(let[a,l]of s)r.set(a,l);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var js=["tag","status","type","priority"];function gr(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=js.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 yr(e,t,n){let r={...e};for(let o of js){let i=t[o];if(i!==void 0){if(Ye(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Us(e,t){let n=[],r=gr(e),o=Object.keys(r.inlineFilters).length>0;if(o&&r.residualQuery.trim().length===0)throw new h("Inline field:value tokens consumed the entire query, leaving no search terms.",p.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=yr(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Ft(s.includeLinked),titleExact:Ft(s.titleExact),phraseExact:Ft(s.phraseExact),matchMode:ps(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:hs(s.minScore),countOnly:s.count===!0,tokens:$t(i),normalizedQuery:U(i),limit:ue(s.limit),projection:Mt(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function Bs(e){if(e.after!==void 0&&e.count===!0)throw new h("Search --after cannot be combined with --count.",p.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function wr(e,t,n,r,o,i,s,a,l,c,d,u,m,f){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let y=_e({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,...Sr(f),items:[],count:0,...g,filters:y,...d.length>0?{warnings:d}:{}}}let _=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:f,items:[],count:0,...g,filters:we({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:_},now:F(),...d.length>0?{warnings:d}:{}}}function br(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 vr(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]=br(n,o);return r})}function kr(e,t){return wr(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}function Hs(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return _r({query:e.query.trim(),mode:e.effectiveMode,...Sr(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:_e({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let n=e.projection.mode==="full"?null:[...e.projection.fields];return _r({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:we({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:F()},e.warnings)}function Sr(e){return e==="settings"?{mode_source:e}:{}}function _r(e,t){return t.length===0?e:{...e,warnings:t}}function We(e,t){return t?{...e,workspace_memory:t}:e}function Gs(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:Lt(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 Ws(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return _r({query:e.query.trim(),mode:e.effectiveMode,...Sr(e.modeSource),items:t,count:t.length,...s,...i,filters:_e({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:we({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:F(),...e.warnings.length>0?{warnings:e.warnings}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var $y={applyFilters:Kn,applyExactQueryFilters:Vn,applyInlineQueryFilters:yr,buildHitHighlights:Lt,buildVerboseSearchFilters:we,buildExplicitSemanticFallbackWarning:er,buildCompactSearchFilterSummary:_e,buildHybridLexicalScore:Zn,buildRerankCorpus:lr,buildSemanticHits:ir,classifyImplicitSemanticFallbackReason:jt,collectErrorCauseCodes:Pt,collectExactPhraseFields:qn,collectLinkedPaths:mr,combineHybridHits:Bt,computeBuiltInBm25Hits:ar,computeSemanticOrHybridHits:dr,resolveBuiltInBm25Mode:sr,countOccurrences:Ot,dependencyEntries:Be,documentContainsExactPhrase:zn,emptySearchResult:wr,highlightFieldSnippet:Xn,loadDocuments:hr,markTokenRuns:Yn,parseInlineQueryFilters:gr,maybeEmitVectorIndexStaleWarning:tr,loadLinkedCorpus:pr,mergeVectorHitsById:cr,normalizeExtensionProviderHits:or,normalizeScoreMap:He,parseProjectionConfig:Mt,parseTimestampWindow:ie,parseTokens:$t,projectSearchHits:vr,readSearchFieldValue:br,requireSemanticDependencies:Ut,resolveExtensionSearchProvider:nr,resolveExtensionSearchProviderByName:Ge,resolveExtensionVectorAdapter:rr,resolveLinkedCorpusRoots:fr,scoreDocument:Qn,sortHits:Jn,stringArray:be,textEntries:K,validateSearchProjectionFields:On};async function $m(e,t){let n=T(process.cwd(),t.path);await H(n);let r=await M(n),o=bo(r).settings,i=P(o.schema),s=Q(o.schema);On(e.projection,s,e.query);let a=at(e.options,s,"search"),l=D(o,C()),c=Co(o),d=To(o,n),u=nr(o),m=rr(o),f=fs(e.options.semanticWeight),g=Is(o,c.active?.name??null),_=xs(o,c.active?.model??B(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:l,maxResults:Ln(o),scoreThreshold:e.minScoreOverride??Pn(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:f,hybridSemanticWeight:f??jn(o),tuning:Un(o),providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:sr({configuredProvider:B(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Os(g),rerank:_,rerankExtension:Ls(o),...Om({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:m})}}function Om(e){let t=Eo(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Nn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function Lm(e,t){let n=await hr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=st(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=No(t.statusRegistry),i=Kn(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:Vn(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Nm(e,t,n){let r=await Ps(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>Zn(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)}async function Pm(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=ar({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Io(t.settings),bm25Params:ks(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 jm(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 or(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new h(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,p.GENERIC_FAILURE);return null}}function Um(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 Bm(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await tr(e.pmRoot,n,r),e.extensionSearchProvider||Ut(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Hm(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,l=await Pm(t,n,r,o,i),c=n.effectiveMode;if(l!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:l??a};try{if(await Bm(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 jm(t,n,r,d)??a,a===o){let{provider:u,vectorStore:m}=Ut(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),f=await dr({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Um(c,f,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(d){return i.push(er(n.effectiveMode,d)),{effectiveMode:"keyword",hits:o}}}function qs(e){e.searchOptions.after!==void 0&&Gr(e.searchOptions.after,Bn(e))}async function Oy(e,t,n){Bs(t);let r=Us(e,t),o=await $m(r,n),i=await Lm(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await It(i.allDocuments.map(k=>k.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:F()});s.push(...a.warnings);let l=Mi(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 qs({query:r.query,mode:o.effectiveMode,searchOptions:r.options,pmRoot:o.pmRoot}),We(kr({...c,effectiveMode:o.effectiveMode},r.countOnly),l);let d=await Nm(r,o,i.filteredDocuments),u=await Hm({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 qs({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:o.pmRoot}),We(kr({...c,effectiveMode:u.effectiveMode},r.countOnly),l);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=o.scoreThreshold),f=Jn(m,o.statusRegistry),g=f.length,_=gs({pmRoot:o.pmRoot,sorted:f,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),y={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return We(Hs(y,g),l);let{hits:w,projection:S}=Gs(r,i.filteredDocuments,_.limited),b=vr(w,S);return We(Ws(y,b,g,_.limited.length,S,_.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]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var zs=["ndcg","mrr","precision","recall"];function Gm(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!zs.some(o=>o===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function Ny(e,t){let n=Gm(t),r=[];for(let o of zs){let i=n[o];if(i===void 0)continue;let s=e[o];!Number.isFinite(s)||s<0||s>1?r.push(`${o}:invalid`):s<i&&r.push(`${o}:${s}<${i}`)}return r}export{Ys as a,tn as b,qm as c,na as d,ra as e,zm as f,Xm as g,Yp as h,ei as i,nf as j,rf as k,of as l,sf as m,ti as n,ff as o,pf as p,hf as q,mi as r,_t as s,Qa as t,wt as u,vt as v,Af as w,yi as x,pn as y,St as z,Tc as A,vi as B,Mc as C,Et as D,$c as E,Oc as F,jc as G,Uc as H,Pf as I,Bc as J,ki as K,hn as L,gn as M,Qc as N,rl as O,Yf as P,yn as Q,_n as R,Ct as S,cl as T,ml as U,It as V,wl as W,Fi as X,bl as Y,Mi as Z,vl as _,Tl as $,$e as aa,xp as ba,kn as ca,Dl as da,Fl as ea,En as fa,oe as ga,In as ha,xn as ia,Tn as ja,he as ka,Ne as la,Tt as ma,Tp as na,Fd as oa,Rp as pa,Nd as qa,Gp as ra,Wp as sa,qp as ta,zp as ua,Vp as va,th as wa,nh as xa,cs as ya,ls as za,ds as Aa,Ih as Ba,xh as Ca,Ph as Da,Ln as Ea,Nn as Fa,Pn as Ga,jn as Ha,Un as Ia,Bn as Ja,gs as Ka,_e as La,we as Ma,Pt as Na,jt as Oa,Ms as Pa,$s as Qa,$y as Ra,Oy as Sa,zs as Ta,Gm as Ua,Ny as Va};
|
|
12
|
-
//# sourceMappingURL=chunk-RHIH6XIW.js.map
|