@unbrained/pm-cli 2026.8.25 → 2026.8.26

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.
Files changed (116) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +33 -0
  3. package/dist/cli-bundle/bundle-manifest.json +133 -133
  4. package/dist/cli-bundle/chunks/chunk-E2GCFJSU.js +35 -0
  5. package/dist/cli-bundle/chunks/{chunk-QKGMHGEI.js → chunk-ES25LX3D.js} +51 -51
  6. package/dist/cli-bundle/chunks/{chunk-TPQIBSL2.js → chunk-FRDWWB6R.js} +2 -2
  7. package/dist/cli-bundle/chunks/{chunk-65MHLHAA.js → chunk-ICQ3RVIY.js} +2 -2
  8. package/dist/cli-bundle/chunks/chunk-IV64RJVE.js +13 -0
  9. package/dist/cli-bundle/chunks/{chunk-QLUORNIB.js → chunk-KBFP3E4E.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-T2ENPRXF.js → chunk-MVYLQ67M.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-5I5RWIJC.js → chunk-S4U76VZF.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-OWHNAR2B.js → chunk-UKBCRPA2.js} +2 -2
  13. package/dist/cli-bundle/chunks/chunk-WRHJ3MB6.js +8 -0
  14. package/dist/cli-bundle/chunks/{chunk-244MI4GS.js → chunk-ZNRLJ54C.js} +60 -60
  15. package/dist/cli-bundle/chunks/{register-list-query-XVN2ZLI7.js → register-list-query-EMCPMICY.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-mutation-QCKAEGIJ.js → register-mutation-OJ67ABCB.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-operations-SDEAXE7E.js → register-operations-H2GLP7LT.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-setup-LXVBRCJ3.js → register-setup-GLZAHLVI.js} +2 -2
  19. package/dist/cli-bundle/focused-chunks/{chunk-NOOZGIXP.js → chunk-4K2II4TV.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/{chunk-IBZZZGK3.js → chunk-4XNH2HM7.js} +2 -2
  21. package/dist/cli-bundle/focused-chunks/{chunk-VXWATRFL.js → chunk-57XY346D.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/{chunk-GQR3WH3F.js → chunk-66VGB23P.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-42S3GGZ7.js → chunk-72T6JGAE.js} +45 -45
  24. package/dist/cli-bundle/focused-chunks/{chunk-RAFKLNZX.js → chunk-FXDLT6FL.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-H5JZEIQV.js → chunk-IBHXMFE7.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-N7W67YIG.js → chunk-LV5N3LK5.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-2UIWOP3O.js → chunk-MMXUPDDJ.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/{chunk-ONYQCALA.js → chunk-P2E6LDAE.js} +6 -6
  29. package/dist/cli-bundle/focused-chunks/{chunk-XUQPEKRN.js → chunk-TMJDFHVD.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-OVJL6NZE.js → chunk-UYBA57GY.js} +4 -4
  31. package/dist/cli-bundle/main.js +2 -2
  32. package/dist/cli-bundle/sdk-authoring.js +1 -1
  33. package/dist/cli-bundle/sdk-contracts.js +1 -1
  34. package/dist/cli-bundle/sdk-core.js +31 -31
  35. package/dist/cli-bundle/sdk-governance.js +1 -1
  36. package/dist/cli-bundle/sdk-graph.js +1 -1
  37. package/dist/cli-bundle/sdk-merge.js +18 -18
  38. package/dist/cli-bundle/sdk-query.js +1 -1
  39. package/dist/cli-bundle/sdk-runtime.js +1 -1
  40. package/dist/cli-bundle/sdk-testing.js +1 -1
  41. package/dist/cli-bundle/sdk.js +7 -6
  42. package/dist/core/extensions/manifest-schema.d.ts +20 -0
  43. package/dist/core/extensions/manifest-schema.js +28 -10
  44. package/dist/mcp/http-server.d.ts +60 -0
  45. package/dist/mcp/http-server.js +451 -0
  46. package/dist/mcp/legacy-adapter.d.ts +50 -0
  47. package/dist/mcp/legacy-adapter.js +64 -0
  48. package/dist/mcp/server.d.ts +42 -9
  49. package/dist/mcp/server.js +457 -58
  50. package/dist/sdk/agent/refusal-closure-census.d.ts +6 -2
  51. package/dist/sdk/agent/refusal-closure-census.js +16 -8
  52. package/dist/sdk/compose.d.ts +4 -1
  53. package/dist/sdk/compose.js +23 -36
  54. package/dist/sdk/extension/author-manifest.d.ts +22 -0
  55. package/dist/sdk/extension/author-manifest.js +93 -0
  56. package/dist/sdk/extension.js +6 -3
  57. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +20 -5
  58. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +6 -3
  59. package/dist/sdk/governance/health.js +7 -2
  60. package/dist/sdk/index.d.ts +6 -0
  61. package/dist/sdk/index.js +8 -2
  62. package/dist/sdk/mcp/authorization.d.ts +134 -0
  63. package/dist/sdk/mcp/authorization.js +405 -0
  64. package/dist/sdk/mcp/interactions.d.ts +118 -0
  65. package/dist/sdk/mcp/interactions.js +337 -0
  66. package/dist/sdk/mcp/protocol.d.ts +142 -0
  67. package/dist/sdk/mcp/protocol.js +174 -0
  68. package/dist/sdk/mcp/subscriptions.d.ts +65 -0
  69. package/dist/sdk/mcp/subscriptions.js +212 -0
  70. package/dist/sdk/mcp/tasks.d.ts +107 -0
  71. package/dist/sdk/mcp/tasks.js +431 -0
  72. package/dist/sdk/mcp/transport.d.ts +30 -0
  73. package/dist/sdk/mcp/transport.js +261 -0
  74. package/dist/sdk/merge/receipts.d.ts +16 -0
  75. package/dist/sdk/merge/receipts.js +9 -8
  76. package/dist/sdk/runtime-primitives.d.ts +1 -1
  77. package/dist/sdk/runtime-primitives.js +3 -3
  78. package/dist/sdk/test/execution.d.ts +6 -0
  79. package/dist/sdk/test/execution.js +32 -3
  80. package/docs/AGENT_PROVENANCE_ADR.md +6 -4
  81. package/docs/AGENT_RUNTIME_PRIMITIVES.md +6 -5
  82. package/docs/CLAUDE_CODE_PLUGIN.md +12 -5
  83. package/docs/DIAGNOSTIC_OUTPUT_CONTRACTS.md +8 -0
  84. package/docs/EXTENSIONS.md +3 -4
  85. package/docs/MCP_2026_07_28.md +138 -0
  86. package/docs/MCP_2026_07_28_CONFORMANCE.md +30 -0
  87. package/docs/MCP_REMOTE_TRANSPORT_SECURITY.md +180 -0
  88. package/docs/README.md +4 -0
  89. package/docs/RELEASING.md +3 -2
  90. package/docs/SDK.md +22 -1
  91. package/docs/SDK_AGENT_SESSION_CONTEXT.md +18 -13
  92. package/docs/SDK_MCP_INTERACTIONS.md +227 -0
  93. package/docs/TESTING.md +4 -0
  94. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +9 -8
  95. package/marketplace.json +2 -2
  96. package/package.json +7 -5
  97. package/packages/pm-beads/package.json +1 -1
  98. package/packages/pm-calendar/package.json +1 -1
  99. package/packages/pm-command-kit/package.json +1 -1
  100. package/packages/pm-digital-twin/package.json +1 -1
  101. package/packages/pm-governance-audit/package.json +1 -1
  102. package/packages/pm-guide-shell/package.json +1 -1
  103. package/packages/pm-kanban/package.json +1 -1
  104. package/packages/pm-lifecycle-hooks/package.json +1 -1
  105. package/packages/pm-linked-test-adapters/package.json +1 -1
  106. package/packages/pm-search-advanced/package.json +1 -1
  107. package/packages/pm-templates/package.json +1 -1
  108. package/packages/pm-todos/package.json +1 -1
  109. package/packages/pm-vcs/package.json +1 -1
  110. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  111. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  112. package/scripts/finalize-build.mjs +1 -0
  113. package/sdk/public-surface.json +628 -2
  114. package/dist/cli-bundle/chunks/chunk-2F3LUFMW.js +0 -8
  115. package/dist/cli-bundle/chunks/chunk-6C7GIMIL.js +0 -13
  116. package/dist/cli-bundle/chunks/chunk-YQMYF3YD.js +0 -35
@@ -1,4 +1,4 @@
1
- import{a as Qt,b as Jt,d as Zt,e as en,f as tn,g as nn,h as rn}from"./chunk-A644DUFQ.js";import{Da as ve,J as sn,K as fi,Ma as bi,T as mi,U as _e,Ua as vi,W as re,X as we,Y as be,Ya as Ei,Z as pi,a as si,aa as hi,ba as ot,c as ai,ca as gi,d as ci,da as an,ea as cn,fa as dn,g as di,ga as yi,ka as _i,la as un,n as ui,o as li,ua as wi}from"./chunk-ONYQCALA.js";import{Ma as Rr,Ua as Dr,t as Mr}from"./chunk-7I23XGWO.js";import{b as ki,e as ln,f as dt,g as Si}from"./chunk-GQR3WH3F.js";import{A as Pr,Ab as it,B as jr,Bb as Z,C as Ur,Cb as ii,D as Kr,E as Br,Eb as oi,Fa as Wr,Ha as zr,I as Fe,Mb as st,Nb as at,Oa as Vr,Qa as Yr,Qb as ct,R as Gr,Ta as on,Xa as rt,Y as ne,Ya as Xr,Z as O,Za as Qr,aa as S,ba as nt,ca as U,da as Hr,fb as R,hb as Jr,ib as Zr,l as A,lb as ei,nb as ti,oa as M,pa as D,q as Te,qa as K,r as Nr,rb as ni,ta as qr,tb as he,u as $r,vb as ri,wa as V,xb as P,yb as ge,zb as ye}from"./chunk-VXWATRFL.js";import{$ as Ir,Fa as Ar,G as N,H as Je,M as x,O as xr,Q as Xt,S as Ze,Sa as $,Ua as B,V as xe,W as L,a as wr,aa as Tr,h as kr,q as Sr,r as Qe,s as Er,u as Cr,x as Yt}from"./chunk-OVJL6NZE.js";import{b as pe,c as Or,e as tt}from"./chunk-OHIHZ7HS.js";import{$a as fe,E as le,J as Vt,K as Xe,S as br,W as vr,Y as m,Z as p,aa as Fr,ab as me,bb as Ie,fb as et,gb as Lr}from"./chunk-LMKG3DFE.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]="c14a67b4-102d-5219-b2b3-15d39da36627")}catch{}})();var $a=["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"],fn=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 Rp(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function Y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function F(e,t,n,r){t&&e.push({code:n,message:r})}function Pa(e,t){let n=Y(e.completeness)?e.completeness:{};F(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),F(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;F(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),F(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=Y(e.filters)?e.filters:{},s=Y(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return F(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),F(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),F(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ja(e,t,n){F(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."),F(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=Y(e.projection)?e.projection:{};F(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=Y(e.omission_receipt)?e.omission_receipt:void 0;F(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),F(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),F(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Ua(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 Ka(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function Ba(e,t){let n=Y(e.read_output)?e.read_output:void 0;F(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),F(t,n!==void 0&&Ua(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),F(t,n!==void 0&&!Ka(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),F(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=Y(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;F(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),F(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function Ga(e,t){let n=e.map(r=>Y(r)&&typeof r.id=="string"?r.id.trim():"");F(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),F(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Ha(e){if(!Y(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:$a[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Pa(t,n);return ja(t,r,n),Ba(t,n),Ga(t.items,n),{ok:n.length===0,findings:n}}function qa(e){let t=Ha(e);if(!t.ok)throw new fn(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 Dp(e){qa(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]="aca866d3-32b9-5212-bb4b-f1484e41bb27")}catch{}})();function Ci(e,t){let n=on(e),r=e.length>0?e[e.length-1].after_hash:zr(),i=t===void 0?void 0:Wr(t),o=i===void 0?void 0:i===r,s=[...n.errors];return o===!1&&s.push("verify_failed:current_item_hash_mismatch"),{ok:s.length===0,entries:e.length,errors:s,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:o}}async function xi(e,t,n={}){let r=x(n.cwd??process.cwd(),n.pmRoot);await P(r);let i=await R(r),o=N(i,A()),s=await di(r,e,i,o.type_to_folder),a=await V(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let d=si(t,a),c=ci(ai(a,d.historyIndex),d),l=Vr(c,{schema:i.schema});if(l.metadata.id!==s.id)throw new p(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[d.historyIndex];return{document:l,reconstructed:!0,as_of_version:d.historyIndex+1,as_of_timestamp:u.ts,target:d,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eb044a23-d43b-5e9c-9ae7-4ac91b5e587a")}catch{}})();function j(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return r}function ut(e,t="--priority"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0||r>4)throw new p(`${t} filter must be 0..4`,m.USAGE);return r}function Ii(e,t,n="--type"){if(e===void 0)return;let r=Je(e,t);if(!r)throw new p(`${n} filter must be one of ${t.types.join("|")}`,m.USAGE);return r}import za from"node:fs/promises";import Mi 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]="8b010e79-a73a-5760-ac05-8dc88484cd69")}catch{}})();var mn={version:1,aliases:{}};function lt(e=[]){let t=new Set(Fe),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function Ti(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function pn(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 Wa(e,t=Fe){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function ft(e,t=mn,n={}){let r=pn(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 mt(e,t=mn,n=Fe){let r=Ti(e.harness),i=Ti(e.agentInstance),o=Wa(e,n);return s=>{let d=pn(s,t).agent_harness;if(r&&(!d||!r.has(d))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,l]of o){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function pt(e,t=mn,n=Fe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);pn(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7005305a-5fd4-56b8-a0a0-5612e8bf48cc")}catch{}})();var Va=20,Ya=5,Xa=15,Qa="-24h";function ph(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 Ja={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function hn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function Fi(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",m.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return U(i,new Date(t),n)}function Za(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Ai(e,t){return t===void 0?e:e.slice(0,t)}function Ae(e,t=""){return typeof e=="string"?e:t}function ec(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 tc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function nc(e){try{return(await za.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Er(t))return[];throw t}}function rc(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 ic(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Xa:n==="compact"?Va:Ya}function oc(e,t){let n=O(),r=t==="digest",i=Fi(e.to??(r?n:void 0),n,"--to"),o=Fi(e.from??(r?Qa:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=re(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:hn(e.id,"Activity --id"),op:hn(e.op,"Activity --op"),author:hn(e.author,"Activity --author"),from:o,to:i,limit:ic(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function sc(e){let t=x(process.cwd(),e.path);return await P(t),{pmRoot:t,settings:await R(t)}}async function ac(e){let t=N(e.settings,A()),n=await Z(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Zr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Mi.join(e.pmRoot,"history");return await Te({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function cc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Za(t,n.from,n.to)}async function dc(e,t){let n=[];for(let r of await nc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await V(Mi.join(e,r),i);for(let s of o){let a=ec(i,s);cc(s,a,t)&&n.push(a)}}return n}function uc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function lc(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function fc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:lc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function mc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function pc(e,t,n,r,i){if(e==="digest"){let s=fc(t,r),a=Ai(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=Ai(t,n);return e==="compact"?{rows:{compact_activity:uc(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function Ri(e,t){let n=await sc(t),r=rc(e),i=oc(e,r),o=await ac(n),s=lt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=mt({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),c=tc(await dc(o.historyDir,i)).filter(d),l=pc(r,c,i.limit,o.itemsById,f=>ft(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Ja[r]},omission_receipt:tt("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:mc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:pt(c,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1035bd62-b012-5249-bd53-31b39f21b2d3")}catch{}})();function gn(e,t){if(e===void 0)return;let n=[],r="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let d=e[s+1];if(d===","||d==="\\"){r+=d,s+=1;continue}r+=a;continue}if(a===","){n.push(r),r="";continue}r+=a}n.push(r);let i=n.map(s=>s.trim());if(i.some(s=>s.length===0))throw new p(`${t.label} requires at least one non-empty value`,m.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function G(e,t){let n=gn(e,t);return n===void 0?void 0:new Set(n)}function ht(e,t,n="--type"){let r=gn(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=Je(o,t);if(!s)throw new p(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,m.USAGE);return s});return new Set(i)}function gt(e,t="--priority"){let n=gn(e,{label:t});if(n!==void 0)return new Set(n.map(r=>ut(r,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b7b3eaf-a792-5f44-9981-8c82ce511070")}catch{}})();function Di(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function yt(e){return{isTerminal(t){return e.terminal_statuses.has(Di(t,e))},classify(t){let n=Di(t,e);return e.terminal_canceled_statuses.has(n)?"canceled":e.terminal_statuses.has(n)?"closed":e.blocked_statuses.has(n)?"blocked":e.draft_statuses.has(n)?"draft":n===e.open_status?"open":e.active_statuses.has(n)?"in_progress":"other"}}}function yn(e){return L(e.acceptance_criteria)===void 0}function _n(e){return!Number.isFinite(e.estimated_minutes)}function $i(e,t){return t.isTerminal(e.status)?L(e.resolution)===void 0:!1}function hc(e){return L(e.reviewer)===void 0}function gc(e){return L(e.risk)===void 0}function yc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):L(e.confidence)===void 0}function _c(e){return L(e.sprint)===void 0}function wc(e){return L(e.release)===void 0}function Me(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function bc(e,t,n){return[[t.acMissing,yn(e)],[t.estimatesMissing,_n(e)],[t.resolutionMissing,$i(e,n)],[t.reviewerMissing,hc(e)],[t.riskMissing,gc(e)],[t.confidenceMissing,yc(e)],[t.sprintMissing,_c(e)],[t.releaseMissing,wc(e)]].every(([i,o])=>i!==!0||o)}function vc(e,t){return yn(e)||_n(e)||$i(e,t)}function _t(e,t,n){return Me(t)?!(!bc(e,t,n)||t.metadataMissing&&!vc(e,n)):!0}var wn=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function kc(e,t){switch(t){case"acceptance_criteria":return!yn(e);case"estimated_minutes":return!_n(e);case"resolution":return L(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return L(e.parent)!==void 0}}function Sc(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Ec(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Li(){let e={};for(let t of wn)e[t]={present:0,applicable:0,percent:100};return e}function Oi(e,t,n){for(let r of wn){if(!Sc(t,r,n))continue;let i=e[r];i.applicable+=1,kc(t,r)&&(i.present+=1)}}function Ni(e){for(let t of wn){let n=e[t];n.percent=Ec(n.present,n.applicable)}}function kh(e,t){let n=Li(),r={};for(let i of e){Oi(n,i,t);let o=r[i.type]??(r[i.type]=Li());Oi(o,i,t)}Ni(n);for(let i of Object.values(r))Ni(i);return{overall:n,by_type:r}}var Cc={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function xc(e){return Cc[e]}function Ic(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Tc(e,t,n){switch(t){case"assignee":return[L(e.assignee)??null];case"parent":return[L(e.parent)??null];case"type":return[L(e.type)??null];case"status":return[L(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let r=n.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!r||s.startsWith(r)));return o.length>0?o:[null]}}}function Sh(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let d=n.classify(a.status);for(let c of Tc(a,t,r)){let l=c??"\0empty",u=i.get(l);u||(u={label:c??xc(t),key:c,buckets:Ic(),total:0},i.set(l,u)),u.buckets[d]+=1,u.total+=1}}let s=[...i.values()].sort((a,d)=>d.total!==a.total?d.total-a.total:a.key===null?1:d.key===null?-1:a.label.localeCompare(d.label));return{dimension:t,rows:s,total_items:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03824e4b-562b-5e12-a89a-9dd091ae7fd3")}catch{}})();var ke=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function ie(e){return Array.isArray(e)&&e.length>0}function Fc(e){return typeof e=="string"&&e.trim().length>0}function Ac(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let n=t.command;return typeof n=="string"&&n.trim().length>0}):!1}function ji(e,t){switch(t){case"notes":return ie(e.notes);case"learnings":return ie(e.learnings);case"files":return ie(e.files);case"docs":return ie(e.docs);case"tests":return ie(e.tests);case"comments":return ie(e.comments);case"deps":return ie(e.dependencies);case"body":return Fc(e.body);case"linked_command":return Ac(e.tests)}}function wt(e){return ke.some(t=>e[t]!==void 0)}function bt(e,t){for(let n of ke){let r=t[n];if(r===void 0)continue;let i=ji(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Ui(e){return ke.some(t=>t!=="body"&&e[t]!==void 0)}function Ki(e){return e.body!==void 0}function Pi(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Mc(){let e={};for(let t of ke)e[t]={present:0,total:0,percent:100};return e}function Ch(e){let t=Mc(),n=e.length;for(let s of e)for(let a of ke)ji(s,a)&&(t[a].present+=1);for(let s of ke)t[s].total=n,t[s].percent=Pi(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Pi(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="93e8c187-e198-50fc-bf2c-7dae2ea42219")}catch{}})();var vt=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),Bi=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],De=e=>{let t=Bi.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new p(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(Bi.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Gi=["priority","deadline","updated_at","created_at","title","parent"],Hi=["asc","desc"],Vi=new Set(ni);function Rc(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,i=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,o={status:t?"unchecked":r+i>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:i};if(n&&o.status==="partial")throw new p(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,m.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return o}function Dc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Lc=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],Oc=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function Yi(e,t){for(let n of Lc)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Xi(e,t){for(let n of Oc)t[n.key]===!0&&(e[n.summaryKey]=!0)}function vn(e,t,n){for(let r of n){let i=t[r.optionKey];i!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(i):i)}}function Le(e){let t={};return Yi(t,e),t}function Oe(e){let t={};return Xi(t,e),t}var Nc=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],$c=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Pc=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],jc="-7d";function Qi(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,d={};return t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency"),vn(d,n,Nc),Zi(d,n),n.filterAcMissing===!0&&(d.filter_ac_missing=!0),n.filterEstimatesMissing===!0&&(d.filter_estimates_missing=!0),n.filterResolutionMissing===!0&&(d.filter_resolution_missing=!0),n.filterMetadataMissing===!0&&(d.filter_metadata_missing=!0),Xi(d,n),Yi(d,n),n.limit!==void 0&&(d.limit=n.limit),n.offset!==void 0&&(d.offset=n.offset),n.includeBody===!0&&(d.include_body=!0),n.fields!==void 0&&(d.fields=n.fields),r&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),o!==void 0&&(d.sort=o,d.order=s),Dc(a)&&(d.runtime_filters=a),d}function kn(e,t,n){let r=K(e.status,n),i=K(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=S(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Uc(e,t){return[...e].sort((n,r)=>kn(n,r,t))}function qi(e,t){if(e!==void 0)return U(e,new Date,t)}function Re(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return U(n,new Date,t)}function Ji(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new p("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?Re(jc,"recent"):Re(e.updatedAfter,"updated-after")}function Zi(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function eo(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);return new Set(n)}function Sn(e){if(e===void 0)return;let t=String(e).trim(),n=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(n)||n<0)throw new p("Offset filter must be a non-negative integer",m.USAGE);return n}function to(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function no(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=to(e.fields);if(Number(n)+Number(r)+Number(i)+ +(o!==void 0)>1)throw new p("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return i?{mode:"full",fields:[]}:r?{mode:"brief",fields:[...Jt]}:n?{mode:"compact",fields:[...Qt]}:o?{mode:"fields",fields:[...new Set(o.map(a=>ee(a)))]}:{mode:"full",fields:[]}}function ee(e){return e.startsWith("item.")?e.slice(5):e}function Kc(e,t,n){if(e.mode!=="fields")return;let r=Zt(t),i=new Set(r.map(s=>ee(s))),o=e.fields.filter(s=>!i.has(ee(s)));if(o.length>0)throw new p(`Unknown list --fields value(s): ${o.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:`pm ${n} --fields id,title,status --limit 10`,suggested_retry_args:[n,"--fields","id,title,status","--limit","10"]}})}var Bc=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function ro(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Bc.get(t);if(n)return n;if(!Gi.includes(t))throw new p(`Sort field must be one of ${Gi.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function io(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Hi.includes(t))throw new p(`Sort order must be one of ${Hi.join("|")}`,m.USAGE);return t}function Gc(e){return j(e,"--tree-depth")}function oo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function Wi(e,t){return _e(e,t,{strict:!0})}function so(e){return G(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Hc(e,t,n){let r=so(t);if(r===void 0)return;let i=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),o=[...r].filter(s=>!i.has(s));o.length>0&&n.push(`unknown_tags:${o.join(",")}`)}function qc(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function Wc(e,t,n,r){let i=G(t.assignee,{label:"--assignee"}),o=oo(t.assigneeFilter);qc(i,o);let s=vt(t),a=De(t);return{idsFilter:eo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:ht(t.type,n),tagFilters:so(t.tag),priorityFilter:gt(t.priority),deadlineBefore:qi(t.deadlineBefore,"deadline-before"),deadlineAfter:qi(t.deadlineAfter,"deadline-after"),updatedAfter:Ji(t),updatedBefore:Re(t.updatedBefore,"updated-before"),createdAfter:Re(t.createdAfter,"created-after"),createdBefore:Re(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:G(t.sprint,{label:"--sprint"}),releaseFilter:G(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Me(s),lifecycleClassifier:yt(r),contentFieldFilters:a,contentFiltersActive:wt(a)}}function zc(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&K(e.status,n)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(r=>(e.tags??[]).some(i=>i.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Vc(e,t){return nt(e,t)}function Yc(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function Xc(e,t,n){let r=e.parent?.trim().toLowerCase(),i=[...new Set([...n?.get(e.id.trim().toLowerCase())??[],...r?[r]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!i.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function Qc(e,t,n,r,i){return!(!zc(e,t,n)||!Vc(e,t)||!Yc(e,t)||!Xc(e,t,i)||t.missingMetadataActive&&!_t(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!bt(e,t.contentFieldFilters)||!be(e,r))}function ao(e,t,n,r,i,o,s){let a=Wc(t,n,r,i);return e.filter(d=>Qc(d,a,i,o,s))}function Se(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function bn(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??Se(typeof i.parent=="string"?i.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:n,tree_title:`${" ".repeat(t)}${o}`}}function Jc(e,t){let n=new Map,r=new Map;for(let i of e){let o=i.id.trim().toLowerCase();n.set(o,i);let s=t?t.parents_by_child.get(o)??[]:[Se(i.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let d=r.get(a)??[];d.push(i),r.set(a,d)}}return{byId:n,childrenByParent:r}}function Zc(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[Se(o.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!n.has(a)))}function co(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=Jc(e,r),a=Zc(e,t,o,s,r),d=[],c=new Set,l=new Map(i.map(f=>[f.id.trim().toLowerCase(),f.id.trim()])),u=[...a].reverse().map(f=>({node:f,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:f,depth:h,parentId:y}=u.pop(),g=f.id.trim().toLowerCase();if(c.has(g))continue;c.add(g);let w=s.get(g)??[];if(d.push(bn(f,h,w.length,y)),!(n!==void 0&&h>=n))for(let _ of[...w].reverse())u.push({node:_,depth:h+1,parentId:l.get(g)})}if(t===void 0&&n===void 0)for(let f of e){let h=f.id.trim().toLowerCase();c.has(h)||(c.add(h),d.push(bn(f,0,s.get(h)?.length??0)))}return d}function uo(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function lo(e,t){return e===t?0:e===null?1:t===null?-1:S(e,t)}function fo(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return lo(e.deadline??null,t.deadline??null);case"updated_at":return S(e.updated_at,t.updated_at);case"created_at":return S(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return uo(e.parent??null,t.parent??null);default:return 0}}function mo(e,t,n,r){return t?[...e].sort((i,o)=>{let s=fo(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=kn(i,o,r);return n==="desc"?-a:a}):Uc(e,r)}function po(e,t,n=!1){let r=ee(t.trim());if(r.length===0)return null;let i=e;return n&&r==="title"&&typeof i.tree_title=="string"?i.tree_title:Object.prototype.hasOwnProperty.call(i,r)?i[r]??null:null}function En(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=po(r,o,n);return i})}function ho(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function go(e,t){if(e.noTruncate!==!0)return j(e.limit)??(t>=1e4?20:void 0)}function ed(e,t,n){return t.after===void 0?Sn(t.offset)??0:et(e,t.after,n,r=>r.id)}function yo(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function td(e,t){let n=x(process.cwd(),t.path);await P(n);let r=await R(n),i=$(r.schema),o=B(r.schema),s=e.projectionCommand??"list",a=no(e,s);return Kc(a,ho(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:we(e,o,"list"),typeRegistry:N(r,A()),projection:a}}async function nd(e,t,n){let r=t.projection.fields.some(d=>ee(d)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(d=>Vi.has(ee(d))),o=De(e),s=Ui(o),a=Ki(o);return e.includeBody||r||a?await ii(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await it(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await Z(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function rd(e){let t=ro(e.sort),n=io(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new p("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new p("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Gc(e.treeDepth):void 0,parentRoot:r?Se(e.parent):void 0}}function id(e,t,n){let r=Wi(t.status,n),i=r??Wi(e,n),o=mi(t.status),s=r||o?{...t,excludeTerminal:!1}:t,a=o?"all":i===void 0?s.excludeTerminal===!0?null:"all":i.length===1?i[0]:i;return{resolvedStatus:i,explicitAllStatuses:o,effectiveOptions:s,filtersStatus:a}}function od(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new p("List --after cannot be combined with --offset.",m.USAGE);let o=go(t,e.length),s=ed(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),d=En(a,n,r),c=e.length,l=a.length>0&&s+a.length<c,u=l&&a.length>0?Ie(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:d,totalMatched:c,pageExtras:yo(o,l,u)}}function _o(e,t,n){return me("list",{status:e,options:fe(t,Mr),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function sd(e){let{options:t,runtime:n,statusSelection:r,ordering:i}=e,o=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[n.projection.mode==="full",n.projection.fields.some(y=>{let g=ee(y);return g==="body"||Vi.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,Nr(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([y,g])=>g!==void 0&&!o.has(y))].includes(!0))return null;let d=await he(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!d)return null;let c=j(t.limit),l=Sn(t.offset)??0,u=await ti({pmRoot:n.pmRoot,expectedSourceCursor:d.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:c,offset:l}});if(!u)return null;let f=u.items.length>0&&l+u.items.length<u.total,h=f?Ie(_o(r.filtersStatus,t,i),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:En(u.items,n.projection,!1),totalMatched:u.total,pageExtras:yo(c,f,h)}}function ad(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:d}=e,c={};t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency");let l=n;for(let u of $c){let f=l[u.optionKey];f!=null&&(c[u.summaryKey]=f)}for(let u of Pc)l[u.key]===!0&&(c[u.summaryKey]=!0);return Object.assign(c,Oe(n),Le(n)),Zi(c,n),r&&(c.no_truncate=!0),n.strictRead===!0&&(c.strict_read=!0),i&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),s!==void 0&&(c.sort=s,c.order=a),c.runtime_filters=d,c}async function X(e,t,n){let r=await td(t,n),i=[],o=rd(t),s=id(e,t,r.statusRegistry),a=t.noTruncate===!0,d=await sd({options:t,runtime:r,statusSelection:s,ordering:o}),c=d;if(!c){let g=await nd(t,r,i),_=o.treeEnabled||Se(t.parent)!==void 0?ct(at(g,st())):void 0;Hc(g,t.tag,i);let b=ao(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,_?.parents_by_child),k=t.dependencyBlocked===!0?(()=>{let C=dt(g,r.statusRegistry);return b.filter(E=>C.has(E.id.trim().toLowerCase()))})():b,I=mo(k,o.sortField,o.sortOrder,r.statusRegistry),T=o.treeEnabled?co(I,o.parentRoot,o.treeDepth,_,g):I;c=od(T,t,r.projection,o.treeEnabled,_o(s.filtersStatus,t,o))}let l=O(),u=[...new Set(i)].sort((g,w)=>g.localeCompare(w)),f=Rc(u,d!==null,t.strictRead===!0),h=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let g=Qi({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:g,projection:{mode:"compact",fields:h},...u.length>0?{warnings:u}:{}}}return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:ad({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:h},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var eg={applyFilters:ao,buildCompactListFilterSummary:Qi,buildContentFilterEcho:Le,buildGovernanceMissingFilterEcho:Oe,resolveContentFieldFilters:De,resolveMissingMetadataFilters:vt,compareBySortField:fo,compareDefaultSort:kn,compareNullableString:uo,compareNullableTimestamp:lo,normalizeProjectionField:ee,parseAssigneeFilter:oo,parseFieldSelectors:to,parseIdsFilter:eo,parseOffset:Sn,parseProjectionConfig:no,resolveListUpdatedAfter:Ji,resolveListPageLimit:go,parseSortField:ro,parseSortOrder:io,orderItemsAsTree:co,projectListItems:En,readListFieldValue:po,runtimeMetadataKeysForProjection:ho,sortItems:mo,trimNonEmpty:Se,withTreeMetadata:bn};(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]="ab1153b1-2d91-58a5-9b4a-1d9c5f35a54a")}catch{}})();var cd=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],dd=["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 ud(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function rg(e,t,n={}){let r=n.includePagination!==!1;return[t,...cd.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(ud)||dd.some(o=>e?.[o]===!0)}function wo(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]="56486369-9164-58d3-ac34-46d57859f96d")}catch{}})();var bo=["parent","type","priority","status","assignee","tags","sprint","release"];function ko(e,t){let n=_e(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function So(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function Eo(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=bi(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!bo.includes(r))throw new p(`Aggregate group fields must be one of ${bo.join("|")}; received "${r}"`,m.USAGE);return n}function Co(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 xo(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 Co(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Io(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 To(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var ld={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function vo(e,t){return t==null||t===""?ld[e]:String(t)}function fd(e,t){return e.length===1?vo(e[0],t[e[0]]):e.map(n=>`${n}=${vo(n,t[n])}`).join(" | ")}function Fo(e,t,n){for(let r of n){let i=Io(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Ao(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let i=r.trim();if(i.length===0)return null;let o=Number(i);if(Number.isFinite(o))return o}return null}function Mo(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Cn(e,t,n){let r=M(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 md(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 pd(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function hd(e){e.accumulator.row.count+=1,e.includeCompletion&&Cn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&pd(e.accumulator,e.numericValue)}function gd(e,t){let n={};for(let r of e)n[r]=xo(r,t);return n}function yd(e,t,n,r){let i={...e.row,group_label:fd(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=Mo(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function _d(e){return{group_by:e.groupBy,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 cg(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=x(process.cwd(),t.path),r=await R(n),i=$(r.schema),o=["estimate","estimated_minutes","priority",...B(r.schema).definitions.filter(_=>_.type==="number").map(_=>_.metadata_key)],s=Eo(e.groupBy),a=ko(e.status,i),d=So(e,[...new Set(o)].sort((_,b)=>_.localeCompare(b))),c=e.completion===!0,l=e.includeUnparented===!0,u=await X(void 0,{...wo(e),status:e.status},t),f=new Map,h=0,y=0;for(let _ of u.items){let b=_,k=gd(s,b);if(s.includes("parent")&&k.parent===null&&!l){h+=1;continue}let I=To(s,k),T=f.get(I),C=d===null?null:Ao(b,d.field);if(T)hd({accumulator:T,item:b,statusRegistry:i,includeCompletion:c,numericAggregation:d,numericValue:C});else{let E=md(k,C);c&&Cn(E,b.status,i),f.set(I,E)}y+=1}let g=[...f.values()].map(_=>yd(_,s,c,d)).sort((_,b)=>Fo(_,b,s)),w=u.warnings&&u.warnings.length>0?u.warnings:void 0;return{groups:g,count:g.length,totals:{items_considered:u.items.length,items_grouped:y,items_skipped_unparented:h},filters:_d({groupBy:s,includeCompletion:c,includeUnparented:l,status:a,options:e,numericAggregation:d}),now:O(),...w?{warnings:w}:{}}}var dg={buildGroupKey:To,compareAggregateRows:Fo,compareNullableGroupValue:Io,completionPct:Mo,normalizeTagGroupValue:Co,parseGroupBy:Eo,parseNumericAggregation:So,parseStatus:ko,readNumericAggregateValue:Ao,resolveGroupValue:xo,updateCompletionCounts:Cn};import{encode as wd}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]="47de55f1-589f-5743-bcb8-3b7a6302dfbb")}catch{}})();var xn=["agenda","day","week","month"],In=["markdown","toon","json"],bd=["sun","mon","tue","wed","thu","fri","sat"],vd=365,kd=365,Lo=28,Sd=1e3;function Tn(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return n}function Ed(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Oo(e,t){let n;for(let r of t){let i=wr(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Cd(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!xn.includes(t)){let n=Oo(t,xn);throw new p(`Calendar view must be one of ${xn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function xd(e){if(!e)return;let t=e.trim().toLowerCase();if(!In.includes(t)){let n=Oo(t,In);throw new p(`Calendar format must be one of ${In.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function gg(e,t){let n=xd(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function Id(e,t){if(e===void 0)return;let n=M(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function Td(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function kt(e){return new Date(e).toISOString().slice(0,10)}function No(e,t){if(!t||t==="UTC")return kt(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return kt(e)}function Rn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function Q(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function $o(e){let t=new Date(Rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return Q(t.toISOString(),r)}function Fd(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ad(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Md(e,t){return S(e,t)>=0?e:t}function Ro(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Do(e,t){e.set(t,(e.get(t)??0)+1)}function Rd(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>le(r)-le(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Po(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function jo(e){return bd[new Date(e).getUTCDay()]}function Dd(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Ld(e){let t=new Set;for(let n of e??[]){let r=Dd(n);r&&t.add(r)}return t}function Od(e,t,n,r,i){let o=e??Q(n,-(r??kd)),s=t??Q(e??n,i??vd);return{start:o,end:S(s,o)>0?s:Q(o,1)}}function Nd(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[jo(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Sd,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Ld(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>le(s)-le(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function St(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Et(e,t){let n=jo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function $d(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Et(e,t)&&St(e,t)==="stop");n+=1)t=Q(t,e.interval);return e.occurrences}function Pd(e,t,n){let r=le(n),i=Q(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function jd(e){let t=$o(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=Q(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Pd(e,r,i);if(Et(e,o)&&St(e,o)==="stop")return e.occurrences}}return e.occurrences}function Ud(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=Po(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Et(e,s))&&St(e,s)==="stop")return e.occurrences}}return e.occurrences}function Kd(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=Po(i,n,o,e.startDate);if(!(!s||!Et(e,s))&&St(e,s)==="stop")return e.occurrences}}return e.occurrences}function Bd(e,t,n,r){let i=Nd(e,t,n,r);return t.freq==="daily"?$d(i):t.freq==="weekly"?jd(i):t.freq==="monthly"?Ud(i):Kd(i)}function Uo(e){return[...e].sort((t,n)=>{let r=S(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function 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 Gd(e){return e.deadline?{at:e.deadline,date:kt(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 Hd(e){return(e.reminders??[]).map(t=>({at:t.at,date:kt(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 qd(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Wd(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function zd(e,t,n,r){let i=Rd(t.recurrence),o=qd(t.start_at,t.end_at);return(t.recurrence?Bd(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):No(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Wd(a,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Dn(e)}))}function Vd(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Gd(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Hd(o));for(let a of n.has("events")?o.events??[]:[])i.push(...zd(o,a,t,r))}return Uo(i)}function Yd(e,t,n,r,i){let o=Ii(t.type,n),s=t.tag?.trim().toLowerCase(),a=ut(t.priority),d=Id(t.status,r),c=t.assignee?.trim(),l=Td(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>Xd(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function Xd(e,t){return Qd(e,t)&&Jd(e,t)&&be(e,t.runtimeFieldFilters)}function Qd(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 Jd(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 Zd(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function Fn(e,t,n){return e.trim().toLowerCase()==="today"?Rn(t):U(e,new Date(t),n)}function eu(e,t,n){let r=t.date?Fn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Fn(t.from,n,"--from"):void 0,a=t.to?Fn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return tu(r,t,n,i,o,s,a);if(e==="day"){let c=Rn(r);return An(r,n,i,o,c,Q(c,1))}if(e==="week"){let c=$o(r);return An(r,n,i,o,c,Q(c,7))}let d=Fd(r);return An(r,n,i,o,d,Ad(r))}function tu(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function An(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Md(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function nu(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:Uo(r)}))}function ru(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),Do(n,d.item_type),Do(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:Ro(n),by_status:Ro(r),recurring_events:a}}function iu(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Ko(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Mn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function ou(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===No(e.event_end,e.event_timezone)?Ko(e.event_end,e.event_timezone):e.event_end:null}function su(e){let t=`${Ko(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let o=ou(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 yg(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${iu(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: ${Mn(e.summary.by_kind)}`),t.push(`- by-type: ${Mn(e.summary.by_type)}`),t.push(`- by-status: ${Mn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
1
+ import{a as Qt,b as Jt,d as Zt,e as en,f as tn,g as nn,h as rn}from"./chunk-A644DUFQ.js";import{Da as ve,J as sn,K as fi,Ma as bi,T as mi,U as _e,Ua as vi,W as re,X as we,Y as be,Ya as Ei,Z as pi,a as si,aa as hi,ba as ot,c as ai,ca as gi,d as ci,da as an,ea as cn,fa as dn,g as di,ga as yi,ka as _i,la as un,n as ui,o as li,ua as wi}from"./chunk-P2E6LDAE.js";import{Ma as Rr,Ua as Dr,t as Mr}from"./chunk-7I23XGWO.js";import{b as ki,e as ln,f as dt,g as Si}from"./chunk-66VGB23P.js";import{A as Pr,Ab as it,B as jr,Bb as Z,C as Ur,Cb as ii,D as Kr,E as Br,Eb as oi,Fa as Wr,Ha as zr,I as Fe,Mb as st,Nb as at,Oa as Vr,Qa as Yr,Qb as ct,R as Gr,Ta as on,Xa as rt,Y as ne,Ya as Xr,Z as O,Za as Qr,aa as S,ba as nt,ca as U,da as Hr,fb as R,hb as Jr,ib as Zr,l as A,lb as ei,nb as ti,oa as M,pa as D,q as Te,qa as K,r as Nr,rb as ni,ta as qr,tb as he,u as $r,vb as ri,wa as V,xb as P,yb as ge,zb as ye}from"./chunk-57XY346D.js";import{Ga as Ar,H as N,I as Je,N as x,P as xr,R as Xt,T as Ze,Ta as $,Va as B,W as xe,X as L,a as wr,aa as Ir,ba as Tr,h as kr,r as Sr,s as Qe,t as Er,v as Cr,y as Yt}from"./chunk-UYBA57GY.js";import{b as pe,c as Or,e as tt}from"./chunk-OHIHZ7HS.js";import{$a as fe,E as le,J as Vt,K as Xe,S as br,W as vr,Y as m,Z as p,aa as Fr,ab as me,bb as Ie,fb as et,gb as Lr}from"./chunk-LMKG3DFE.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]="c14a67b4-102d-5219-b2b3-15d39da36627")}catch{}})();var $a=["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"],fn=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 Rp(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function Y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function F(e,t,n,r){t&&e.push({code:n,message:r})}function Pa(e,t){let n=Y(e.completeness)?e.completeness:{};F(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),F(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;F(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),F(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=Y(e.filters)?e.filters:{},s=Y(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return F(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),F(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),F(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ja(e,t,n){F(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."),F(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=Y(e.projection)?e.projection:{};F(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=Y(e.omission_receipt)?e.omission_receipt:void 0;F(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),F(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),F(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Ua(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 Ka(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function Ba(e,t){let n=Y(e.read_output)?e.read_output:void 0;F(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),F(t,n!==void 0&&Ua(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),F(t,n!==void 0&&!Ka(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),F(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=Y(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;F(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),F(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function Ga(e,t){let n=e.map(r=>Y(r)&&typeof r.id=="string"?r.id.trim():"");F(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),F(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Ha(e){if(!Y(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:$a[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Pa(t,n);return ja(t,r,n),Ba(t,n),Ga(t.items,n),{ok:n.length===0,findings:n}}function qa(e){let t=Ha(e);if(!t.ok)throw new fn(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 Dp(e){qa(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]="aca866d3-32b9-5212-bb4b-f1484e41bb27")}catch{}})();function Ci(e,t){let n=on(e),r=e.length>0?e[e.length-1].after_hash:zr(),i=t===void 0?void 0:Wr(t),o=i===void 0?void 0:i===r,s=[...n.errors];return o===!1&&s.push("verify_failed:current_item_hash_mismatch"),{ok:s.length===0,entries:e.length,errors:s,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:o}}async function xi(e,t,n={}){let r=x(n.cwd??process.cwd(),n.pmRoot);await P(r);let i=await R(r),o=N(i,A()),s=await di(r,e,i,o.type_to_folder),a=await V(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let d=si(t,a),c=ci(ai(a,d.historyIndex),d),l=Vr(c,{schema:i.schema});if(l.metadata.id!==s.id)throw new p(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[d.historyIndex];return{document:l,reconstructed:!0,as_of_version:d.historyIndex+1,as_of_timestamp:u.ts,target:d,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eb044a23-d43b-5e9c-9ae7-4ac91b5e587a")}catch{}})();function j(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return r}function ut(e,t="--priority"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0||r>4)throw new p(`${t} filter must be 0..4`,m.USAGE);return r}function Ii(e,t,n="--type"){if(e===void 0)return;let r=Je(e,t);if(!r)throw new p(`${n} filter must be one of ${t.types.join("|")}`,m.USAGE);return r}import za from"node:fs/promises";import Mi 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]="8b010e79-a73a-5760-ac05-8dc88484cd69")}catch{}})();var mn={version:1,aliases:{}};function lt(e=[]){let t=new Set(Fe),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function Ti(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function pn(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 Wa(e,t=Fe){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function ft(e,t=mn,n={}){let r=pn(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 mt(e,t=mn,n=Fe){let r=Ti(e.harness),i=Ti(e.agentInstance),o=Wa(e,n);return s=>{let d=pn(s,t).agent_harness;if(r&&(!d||!r.has(d))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,l]of o){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function pt(e,t=mn,n=Fe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);pn(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7005305a-5fd4-56b8-a0a0-5612e8bf48cc")}catch{}})();var Va=20,Ya=5,Xa=15,Qa="-24h";function ph(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 Ja={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function hn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function Fi(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",m.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return U(i,new Date(t),n)}function Za(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Ai(e,t){return t===void 0?e:e.slice(0,t)}function Ae(e,t=""){return typeof e=="string"?e:t}function ec(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 tc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function nc(e){try{return(await za.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Er(t))return[];throw t}}function rc(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 ic(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Xa:n==="compact"?Va:Ya}function oc(e,t){let n=O(),r=t==="digest",i=Fi(e.to??(r?n:void 0),n,"--to"),o=Fi(e.from??(r?Qa:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=re(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:hn(e.id,"Activity --id"),op:hn(e.op,"Activity --op"),author:hn(e.author,"Activity --author"),from:o,to:i,limit:ic(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function sc(e){let t=x(process.cwd(),e.path);return await P(t),{pmRoot:t,settings:await R(t)}}async function ac(e){let t=N(e.settings,A()),n=await Z(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Zr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Mi.join(e.pmRoot,"history");return await Te({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function cc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Za(t,n.from,n.to)}async function dc(e,t){let n=[];for(let r of await nc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await V(Mi.join(e,r),i);for(let s of o){let a=ec(i,s);cc(s,a,t)&&n.push(a)}}return n}function uc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function lc(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function fc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:lc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function mc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function pc(e,t,n,r,i){if(e==="digest"){let s=fc(t,r),a=Ai(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=Ai(t,n);return e==="compact"?{rows:{compact_activity:uc(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function Ri(e,t){let n=await sc(t),r=rc(e),i=oc(e,r),o=await ac(n),s=lt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=mt({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),c=tc(await dc(o.historyDir,i)).filter(d),l=pc(r,c,i.limit,o.itemsById,f=>ft(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Ja[r]},omission_receipt:tt("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:mc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:pt(c,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1035bd62-b012-5249-bd53-31b39f21b2d3")}catch{}})();function gn(e,t){if(e===void 0)return;let n=[],r="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let d=e[s+1];if(d===","||d==="\\"){r+=d,s+=1;continue}r+=a;continue}if(a===","){n.push(r),r="";continue}r+=a}n.push(r);let i=n.map(s=>s.trim());if(i.some(s=>s.length===0))throw new p(`${t.label} requires at least one non-empty value`,m.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function G(e,t){let n=gn(e,t);return n===void 0?void 0:new Set(n)}function ht(e,t,n="--type"){let r=gn(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=Je(o,t);if(!s)throw new p(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,m.USAGE);return s});return new Set(i)}function gt(e,t="--priority"){let n=gn(e,{label:t});if(n!==void 0)return new Set(n.map(r=>ut(r,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b7b3eaf-a792-5f44-9981-8c82ce511070")}catch{}})();function Di(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function yt(e){return{isTerminal(t){return e.terminal_statuses.has(Di(t,e))},classify(t){let n=Di(t,e);return e.terminal_canceled_statuses.has(n)?"canceled":e.terminal_statuses.has(n)?"closed":e.blocked_statuses.has(n)?"blocked":e.draft_statuses.has(n)?"draft":n===e.open_status?"open":e.active_statuses.has(n)?"in_progress":"other"}}}function yn(e){return L(e.acceptance_criteria)===void 0}function _n(e){return!Number.isFinite(e.estimated_minutes)}function $i(e,t){return t.isTerminal(e.status)?L(e.resolution)===void 0:!1}function hc(e){return L(e.reviewer)===void 0}function gc(e){return L(e.risk)===void 0}function yc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):L(e.confidence)===void 0}function _c(e){return L(e.sprint)===void 0}function wc(e){return L(e.release)===void 0}function Me(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function bc(e,t,n){return[[t.acMissing,yn(e)],[t.estimatesMissing,_n(e)],[t.resolutionMissing,$i(e,n)],[t.reviewerMissing,hc(e)],[t.riskMissing,gc(e)],[t.confidenceMissing,yc(e)],[t.sprintMissing,_c(e)],[t.releaseMissing,wc(e)]].every(([i,o])=>i!==!0||o)}function vc(e,t){return yn(e)||_n(e)||$i(e,t)}function _t(e,t,n){return Me(t)?!(!bc(e,t,n)||t.metadataMissing&&!vc(e,n)):!0}var wn=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function kc(e,t){switch(t){case"acceptance_criteria":return!yn(e);case"estimated_minutes":return!_n(e);case"resolution":return L(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return L(e.parent)!==void 0}}function Sc(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Ec(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Li(){let e={};for(let t of wn)e[t]={present:0,applicable:0,percent:100};return e}function Oi(e,t,n){for(let r of wn){if(!Sc(t,r,n))continue;let i=e[r];i.applicable+=1,kc(t,r)&&(i.present+=1)}}function Ni(e){for(let t of wn){let n=e[t];n.percent=Ec(n.present,n.applicable)}}function kh(e,t){let n=Li(),r={};for(let i of e){Oi(n,i,t);let o=r[i.type]??(r[i.type]=Li());Oi(o,i,t)}Ni(n);for(let i of Object.values(r))Ni(i);return{overall:n,by_type:r}}var Cc={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function xc(e){return Cc[e]}function Ic(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Tc(e,t,n){switch(t){case"assignee":return[L(e.assignee)??null];case"parent":return[L(e.parent)??null];case"type":return[L(e.type)??null];case"status":return[L(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let r=n.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!r||s.startsWith(r)));return o.length>0?o:[null]}}}function Sh(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let d=n.classify(a.status);for(let c of Tc(a,t,r)){let l=c??"\0empty",u=i.get(l);u||(u={label:c??xc(t),key:c,buckets:Ic(),total:0},i.set(l,u)),u.buckets[d]+=1,u.total+=1}}let s=[...i.values()].sort((a,d)=>d.total!==a.total?d.total-a.total:a.key===null?1:d.key===null?-1:a.label.localeCompare(d.label));return{dimension:t,rows:s,total_items:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03824e4b-562b-5e12-a89a-9dd091ae7fd3")}catch{}})();var ke=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function ie(e){return Array.isArray(e)&&e.length>0}function Fc(e){return typeof e=="string"&&e.trim().length>0}function Ac(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let n=t.command;return typeof n=="string"&&n.trim().length>0}):!1}function ji(e,t){switch(t){case"notes":return ie(e.notes);case"learnings":return ie(e.learnings);case"files":return ie(e.files);case"docs":return ie(e.docs);case"tests":return ie(e.tests);case"comments":return ie(e.comments);case"deps":return ie(e.dependencies);case"body":return Fc(e.body);case"linked_command":return Ac(e.tests)}}function wt(e){return ke.some(t=>e[t]!==void 0)}function bt(e,t){for(let n of ke){let r=t[n];if(r===void 0)continue;let i=ji(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Ui(e){return ke.some(t=>t!=="body"&&e[t]!==void 0)}function Ki(e){return e.body!==void 0}function Pi(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Mc(){let e={};for(let t of ke)e[t]={present:0,total:0,percent:100};return e}function Ch(e){let t=Mc(),n=e.length;for(let s of e)for(let a of ke)ji(s,a)&&(t[a].present+=1);for(let s of ke)t[s].total=n,t[s].percent=Pi(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Pi(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="93e8c187-e198-50fc-bf2c-7dae2ea42219")}catch{}})();var vt=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),Bi=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],De=e=>{let t=Bi.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new p(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(Bi.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Gi=["priority","deadline","updated_at","created_at","title","parent"],Hi=["asc","desc"],Vi=new Set(ni);function Rc(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,i=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,o={status:t?"unchecked":r+i>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:i};if(n&&o.status==="partial")throw new p(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,m.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return o}function Dc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Lc=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],Oc=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function Yi(e,t){for(let n of Lc)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Xi(e,t){for(let n of Oc)t[n.key]===!0&&(e[n.summaryKey]=!0)}function vn(e,t,n){for(let r of n){let i=t[r.optionKey];i!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(i):i)}}function Le(e){let t={};return Yi(t,e),t}function Oe(e){let t={};return Xi(t,e),t}var Nc=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],$c=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Pc=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],jc="-7d";function Qi(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,d={};return t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency"),vn(d,n,Nc),Zi(d,n),n.filterAcMissing===!0&&(d.filter_ac_missing=!0),n.filterEstimatesMissing===!0&&(d.filter_estimates_missing=!0),n.filterResolutionMissing===!0&&(d.filter_resolution_missing=!0),n.filterMetadataMissing===!0&&(d.filter_metadata_missing=!0),Xi(d,n),Yi(d,n),n.limit!==void 0&&(d.limit=n.limit),n.offset!==void 0&&(d.offset=n.offset),n.includeBody===!0&&(d.include_body=!0),n.fields!==void 0&&(d.fields=n.fields),r&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),o!==void 0&&(d.sort=o,d.order=s),Dc(a)&&(d.runtime_filters=a),d}function kn(e,t,n){let r=K(e.status,n),i=K(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=S(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Uc(e,t){return[...e].sort((n,r)=>kn(n,r,t))}function qi(e,t){if(e!==void 0)return U(e,new Date,t)}function Re(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return U(n,new Date,t)}function Ji(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new p("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?Re(jc,"recent"):Re(e.updatedAfter,"updated-after")}function Zi(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function eo(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);return new Set(n)}function Sn(e){if(e===void 0)return;let t=String(e).trim(),n=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(n)||n<0)throw new p("Offset filter must be a non-negative integer",m.USAGE);return n}function to(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function no(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=to(e.fields);if(Number(n)+Number(r)+Number(i)+ +(o!==void 0)>1)throw new p("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return i?{mode:"full",fields:[]}:r?{mode:"brief",fields:[...Jt]}:n?{mode:"compact",fields:[...Qt]}:o?{mode:"fields",fields:[...new Set(o.map(a=>ee(a)))]}:{mode:"full",fields:[]}}function ee(e){return e.startsWith("item.")?e.slice(5):e}function Kc(e,t,n){if(e.mode!=="fields")return;let r=Zt(t),i=new Set(r.map(s=>ee(s))),o=e.fields.filter(s=>!i.has(ee(s)));if(o.length>0)throw new p(`Unknown list --fields value(s): ${o.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:`pm ${n} --fields id,title,status --limit 10`,suggested_retry_args:[n,"--fields","id,title,status","--limit","10"]}})}var Bc=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function ro(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Bc.get(t);if(n)return n;if(!Gi.includes(t))throw new p(`Sort field must be one of ${Gi.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function io(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Hi.includes(t))throw new p(`Sort order must be one of ${Hi.join("|")}`,m.USAGE);return t}function Gc(e){return j(e,"--tree-depth")}function oo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function Wi(e,t){return _e(e,t,{strict:!0})}function so(e){return G(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Hc(e,t,n){let r=so(t);if(r===void 0)return;let i=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),o=[...r].filter(s=>!i.has(s));o.length>0&&n.push(`unknown_tags:${o.join(",")}`)}function qc(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function Wc(e,t,n,r){let i=G(t.assignee,{label:"--assignee"}),o=oo(t.assigneeFilter);qc(i,o);let s=vt(t),a=De(t);return{idsFilter:eo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:ht(t.type,n),tagFilters:so(t.tag),priorityFilter:gt(t.priority),deadlineBefore:qi(t.deadlineBefore,"deadline-before"),deadlineAfter:qi(t.deadlineAfter,"deadline-after"),updatedAfter:Ji(t),updatedBefore:Re(t.updatedBefore,"updated-before"),createdAfter:Re(t.createdAfter,"created-after"),createdBefore:Re(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:G(t.sprint,{label:"--sprint"}),releaseFilter:G(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Me(s),lifecycleClassifier:yt(r),contentFieldFilters:a,contentFiltersActive:wt(a)}}function zc(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&K(e.status,n)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(r=>(e.tags??[]).some(i=>i.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Vc(e,t){return nt(e,t)}function Yc(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function Xc(e,t,n){let r=e.parent?.trim().toLowerCase(),i=[...new Set([...n?.get(e.id.trim().toLowerCase())??[],...r?[r]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!i.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function Qc(e,t,n,r,i){return!(!zc(e,t,n)||!Vc(e,t)||!Yc(e,t)||!Xc(e,t,i)||t.missingMetadataActive&&!_t(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!bt(e,t.contentFieldFilters)||!be(e,r))}function ao(e,t,n,r,i,o,s){let a=Wc(t,n,r,i);return e.filter(d=>Qc(d,a,i,o,s))}function Se(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function bn(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??Se(typeof i.parent=="string"?i.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:n,tree_title:`${" ".repeat(t)}${o}`}}function Jc(e,t){let n=new Map,r=new Map;for(let i of e){let o=i.id.trim().toLowerCase();n.set(o,i);let s=t?t.parents_by_child.get(o)??[]:[Se(i.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let d=r.get(a)??[];d.push(i),r.set(a,d)}}return{byId:n,childrenByParent:r}}function Zc(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[Se(o.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!n.has(a)))}function co(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=Jc(e,r),a=Zc(e,t,o,s,r),d=[],c=new Set,l=new Map(i.map(f=>[f.id.trim().toLowerCase(),f.id.trim()])),u=[...a].reverse().map(f=>({node:f,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:f,depth:h,parentId:y}=u.pop(),g=f.id.trim().toLowerCase();if(c.has(g))continue;c.add(g);let w=s.get(g)??[];if(d.push(bn(f,h,w.length,y)),!(n!==void 0&&h>=n))for(let _ of[...w].reverse())u.push({node:_,depth:h+1,parentId:l.get(g)})}if(t===void 0&&n===void 0)for(let f of e){let h=f.id.trim().toLowerCase();c.has(h)||(c.add(h),d.push(bn(f,0,s.get(h)?.length??0)))}return d}function uo(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function lo(e,t){return e===t?0:e===null?1:t===null?-1:S(e,t)}function fo(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return lo(e.deadline??null,t.deadline??null);case"updated_at":return S(e.updated_at,t.updated_at);case"created_at":return S(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return uo(e.parent??null,t.parent??null);default:return 0}}function mo(e,t,n,r){return t?[...e].sort((i,o)=>{let s=fo(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=kn(i,o,r);return n==="desc"?-a:a}):Uc(e,r)}function po(e,t,n=!1){let r=ee(t.trim());if(r.length===0)return null;let i=e;return n&&r==="title"&&typeof i.tree_title=="string"?i.tree_title:Object.prototype.hasOwnProperty.call(i,r)?i[r]??null:null}function En(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=po(r,o,n);return i})}function ho(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function go(e,t){if(e.noTruncate!==!0)return j(e.limit)??(t>=1e4?20:void 0)}function ed(e,t,n){return t.after===void 0?Sn(t.offset)??0:et(e,t.after,n,r=>r.id)}function yo(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function td(e,t){let n=x(process.cwd(),t.path);await P(n);let r=await R(n),i=$(r.schema),o=B(r.schema),s=e.projectionCommand??"list",a=no(e,s);return Kc(a,ho(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:we(e,o,"list"),typeRegistry:N(r,A()),projection:a}}async function nd(e,t,n){let r=t.projection.fields.some(d=>ee(d)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(d=>Vi.has(ee(d))),o=De(e),s=Ui(o),a=Ki(o);return e.includeBody||r||a?await ii(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await it(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await Z(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function rd(e){let t=ro(e.sort),n=io(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new p("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new p("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Gc(e.treeDepth):void 0,parentRoot:r?Se(e.parent):void 0}}function id(e,t,n){let r=Wi(t.status,n),i=r??Wi(e,n),o=mi(t.status),s=r||o?{...t,excludeTerminal:!1}:t,a=o?"all":i===void 0?s.excludeTerminal===!0?null:"all":i.length===1?i[0]:i;return{resolvedStatus:i,explicitAllStatuses:o,effectiveOptions:s,filtersStatus:a}}function od(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new p("List --after cannot be combined with --offset.",m.USAGE);let o=go(t,e.length),s=ed(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),d=En(a,n,r),c=e.length,l=a.length>0&&s+a.length<c,u=l&&a.length>0?Ie(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:d,totalMatched:c,pageExtras:yo(o,l,u)}}function _o(e,t,n){return me("list",{status:e,options:fe(t,Mr),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function sd(e){let{options:t,runtime:n,statusSelection:r,ordering:i}=e,o=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[n.projection.mode==="full",n.projection.fields.some(y=>{let g=ee(y);return g==="body"||Vi.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,Nr(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([y,g])=>g!==void 0&&!o.has(y))].includes(!0))return null;let d=await he(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!d)return null;let c=j(t.limit),l=Sn(t.offset)??0,u=await ti({pmRoot:n.pmRoot,expectedSourceCursor:d.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:c,offset:l}});if(!u)return null;let f=u.items.length>0&&l+u.items.length<u.total,h=f?Ie(_o(r.filtersStatus,t,i),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:En(u.items,n.projection,!1),totalMatched:u.total,pageExtras:yo(c,f,h)}}function ad(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:d}=e,c={};t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency");let l=n;for(let u of $c){let f=l[u.optionKey];f!=null&&(c[u.summaryKey]=f)}for(let u of Pc)l[u.key]===!0&&(c[u.summaryKey]=!0);return Object.assign(c,Oe(n),Le(n)),Zi(c,n),r&&(c.no_truncate=!0),n.strictRead===!0&&(c.strict_read=!0),i&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),s!==void 0&&(c.sort=s,c.order=a),c.runtime_filters=d,c}async function X(e,t,n){let r=await td(t,n),i=[],o=rd(t),s=id(e,t,r.statusRegistry),a=t.noTruncate===!0,d=await sd({options:t,runtime:r,statusSelection:s,ordering:o}),c=d;if(!c){let g=await nd(t,r,i),_=o.treeEnabled||Se(t.parent)!==void 0?ct(at(g,st())):void 0;Hc(g,t.tag,i);let b=ao(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,_?.parents_by_child),k=t.dependencyBlocked===!0?(()=>{let C=dt(g,r.statusRegistry);return b.filter(E=>C.has(E.id.trim().toLowerCase()))})():b,I=mo(k,o.sortField,o.sortOrder,r.statusRegistry),T=o.treeEnabled?co(I,o.parentRoot,o.treeDepth,_,g):I;c=od(T,t,r.projection,o.treeEnabled,_o(s.filtersStatus,t,o))}let l=O(),u=[...new Set(i)].sort((g,w)=>g.localeCompare(w)),f=Rc(u,d!==null,t.strictRead===!0),h=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let g=Qi({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:g,projection:{mode:"compact",fields:h},...u.length>0?{warnings:u}:{}}}return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:ad({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:h},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var eg={applyFilters:ao,buildCompactListFilterSummary:Qi,buildContentFilterEcho:Le,buildGovernanceMissingFilterEcho:Oe,resolveContentFieldFilters:De,resolveMissingMetadataFilters:vt,compareBySortField:fo,compareDefaultSort:kn,compareNullableString:uo,compareNullableTimestamp:lo,normalizeProjectionField:ee,parseAssigneeFilter:oo,parseFieldSelectors:to,parseIdsFilter:eo,parseOffset:Sn,parseProjectionConfig:no,resolveListUpdatedAfter:Ji,resolveListPageLimit:go,parseSortField:ro,parseSortOrder:io,orderItemsAsTree:co,projectListItems:En,readListFieldValue:po,runtimeMetadataKeysForProjection:ho,sortItems:mo,trimNonEmpty:Se,withTreeMetadata:bn};(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]="ab1153b1-2d91-58a5-9b4a-1d9c5f35a54a")}catch{}})();var cd=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],dd=["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 ud(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function rg(e,t,n={}){let r=n.includePagination!==!1;return[t,...cd.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(ud)||dd.some(o=>e?.[o]===!0)}function wo(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]="56486369-9164-58d3-ac34-46d57859f96d")}catch{}})();var bo=["parent","type","priority","status","assignee","tags","sprint","release"];function ko(e,t){let n=_e(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function So(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function Eo(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=bi(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!bo.includes(r))throw new p(`Aggregate group fields must be one of ${bo.join("|")}; received "${r}"`,m.USAGE);return n}function Co(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 xo(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 Co(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Io(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 To(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var ld={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function vo(e,t){return t==null||t===""?ld[e]:String(t)}function fd(e,t){return e.length===1?vo(e[0],t[e[0]]):e.map(n=>`${n}=${vo(n,t[n])}`).join(" | ")}function Fo(e,t,n){for(let r of n){let i=Io(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Ao(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let i=r.trim();if(i.length===0)return null;let o=Number(i);if(Number.isFinite(o))return o}return null}function Mo(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Cn(e,t,n){let r=M(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 md(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 pd(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function hd(e){e.accumulator.row.count+=1,e.includeCompletion&&Cn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&pd(e.accumulator,e.numericValue)}function gd(e,t){let n={};for(let r of e)n[r]=xo(r,t);return n}function yd(e,t,n,r){let i={...e.row,group_label:fd(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=Mo(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function _d(e){return{group_by:e.groupBy,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 cg(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=x(process.cwd(),t.path),r=await R(n),i=$(r.schema),o=["estimate","estimated_minutes","priority",...B(r.schema).definitions.filter(_=>_.type==="number").map(_=>_.metadata_key)],s=Eo(e.groupBy),a=ko(e.status,i),d=So(e,[...new Set(o)].sort((_,b)=>_.localeCompare(b))),c=e.completion===!0,l=e.includeUnparented===!0,u=await X(void 0,{...wo(e),status:e.status},t),f=new Map,h=0,y=0;for(let _ of u.items){let b=_,k=gd(s,b);if(s.includes("parent")&&k.parent===null&&!l){h+=1;continue}let I=To(s,k),T=f.get(I),C=d===null?null:Ao(b,d.field);if(T)hd({accumulator:T,item:b,statusRegistry:i,includeCompletion:c,numericAggregation:d,numericValue:C});else{let E=md(k,C);c&&Cn(E,b.status,i),f.set(I,E)}y+=1}let g=[...f.values()].map(_=>yd(_,s,c,d)).sort((_,b)=>Fo(_,b,s)),w=u.warnings&&u.warnings.length>0?u.warnings:void 0;return{groups:g,count:g.length,totals:{items_considered:u.items.length,items_grouped:y,items_skipped_unparented:h},filters:_d({groupBy:s,includeCompletion:c,includeUnparented:l,status:a,options:e,numericAggregation:d}),now:O(),...w?{warnings:w}:{}}}var dg={buildGroupKey:To,compareAggregateRows:Fo,compareNullableGroupValue:Io,completionPct:Mo,normalizeTagGroupValue:Co,parseGroupBy:Eo,parseNumericAggregation:So,parseStatus:ko,readNumericAggregateValue:Ao,resolveGroupValue:xo,updateCompletionCounts:Cn};import{encode as wd}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]="47de55f1-589f-5743-bcb8-3b7a6302dfbb")}catch{}})();var xn=["agenda","day","week","month"],In=["markdown","toon","json"],bd=["sun","mon","tue","wed","thu","fri","sat"],vd=365,kd=365,Lo=28,Sd=1e3;function Tn(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return n}function Ed(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Oo(e,t){let n;for(let r of t){let i=wr(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Cd(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!xn.includes(t)){let n=Oo(t,xn);throw new p(`Calendar view must be one of ${xn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function xd(e){if(!e)return;let t=e.trim().toLowerCase();if(!In.includes(t)){let n=Oo(t,In);throw new p(`Calendar format must be one of ${In.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function gg(e,t){let n=xd(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function Id(e,t){if(e===void 0)return;let n=M(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function Td(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function kt(e){return new Date(e).toISOString().slice(0,10)}function No(e,t){if(!t||t==="UTC")return kt(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return kt(e)}function Rn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function Q(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function $o(e){let t=new Date(Rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return Q(t.toISOString(),r)}function Fd(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ad(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Md(e,t){return S(e,t)>=0?e:t}function Ro(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Do(e,t){e.set(t,(e.get(t)??0)+1)}function Rd(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>le(r)-le(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Po(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function jo(e){return bd[new Date(e).getUTCDay()]}function Dd(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Ld(e){let t=new Set;for(let n of e??[]){let r=Dd(n);r&&t.add(r)}return t}function Od(e,t,n,r,i){let o=e??Q(n,-(r??kd)),s=t??Q(e??n,i??vd);return{start:o,end:S(s,o)>0?s:Q(o,1)}}function Nd(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[jo(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Sd,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Ld(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>le(s)-le(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function St(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Et(e,t){let n=jo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function $d(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Et(e,t)&&St(e,t)==="stop");n+=1)t=Q(t,e.interval);return e.occurrences}function Pd(e,t,n){let r=le(n),i=Q(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function jd(e){let t=$o(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=Q(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Pd(e,r,i);if(Et(e,o)&&St(e,o)==="stop")return e.occurrences}}return e.occurrences}function Ud(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=Po(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Et(e,s))&&St(e,s)==="stop")return e.occurrences}}return e.occurrences}function Kd(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=Po(i,n,o,e.startDate);if(!(!s||!Et(e,s))&&St(e,s)==="stop")return e.occurrences}}return e.occurrences}function Bd(e,t,n,r){let i=Nd(e,t,n,r);return t.freq==="daily"?$d(i):t.freq==="weekly"?jd(i):t.freq==="monthly"?Ud(i):Kd(i)}function Uo(e){return[...e].sort((t,n)=>{let r=S(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function 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 Gd(e){return e.deadline?{at:e.deadline,date:kt(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 Hd(e){return(e.reminders??[]).map(t=>({at:t.at,date:kt(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 qd(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Wd(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function zd(e,t,n,r){let i=Rd(t.recurrence),o=qd(t.start_at,t.end_at);return(t.recurrence?Bd(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):No(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Wd(a,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Dn(e)}))}function Vd(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Gd(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Hd(o));for(let a of n.has("events")?o.events??[]:[])i.push(...zd(o,a,t,r))}return Uo(i)}function Yd(e,t,n,r,i){let o=Ii(t.type,n),s=t.tag?.trim().toLowerCase(),a=ut(t.priority),d=Id(t.status,r),c=t.assignee?.trim(),l=Td(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>Xd(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function Xd(e,t){return Qd(e,t)&&Jd(e,t)&&be(e,t.runtimeFieldFilters)}function Qd(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 Jd(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 Zd(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function Fn(e,t,n){return e.trim().toLowerCase()==="today"?Rn(t):U(e,new Date(t),n)}function eu(e,t,n){let r=t.date?Fn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Fn(t.from,n,"--from"):void 0,a=t.to?Fn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return tu(r,t,n,i,o,s,a);if(e==="day"){let c=Rn(r);return An(r,n,i,o,c,Q(c,1))}if(e==="week"){let c=$o(r);return An(r,n,i,o,c,Q(c,7))}let d=Fd(r);return An(r,n,i,o,d,Ad(r))}function tu(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function An(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Md(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function nu(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:Uo(r)}))}function ru(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),Do(n,d.item_type),Do(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:Ro(n),by_status:Ro(r),recurring_events:a}}function iu(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Ko(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Mn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function ou(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===No(e.event_end,e.event_timezone)?Ko(e.event_end,e.event_timezone):e.event_end:null}function su(e){let t=`${Ko(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let o=ou(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 yg(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${iu(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: ${Mn(e.summary.by_kind)}`),t.push(`- by-type: ${Mn(e.summary.by_type)}`),t.push(`- by-status: ${Mn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
2
2
  `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${su(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 au(t.join(`
3
3
  `))}function _g(e){return wd(e)}function au(e){let t=e.length;for(;t>0&&e[t-1]===`
4
4
  `;)t-=1;return e.slice(0,t)}function cu(e){let t=O(),n=Cd(e.view),r=eu(n,e,t),i=j(e.limit),o=Ed(e.include),s=Tn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Tn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=Tn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:u?Lo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function du(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Lo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function uu(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 lu(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 Bo(e,t){let n=x(process.cwd(),t.path);await P(n);let r=cu(e),i=await R(n),o=$(i.schema),s=B(i.schema),a=we(e,s,"calendar"),d=N(i,A()),c=[];du(c,r.eventsOnlyCapApplied);let l=await Z(n,i.item_format,d.type_to_folder,c,i.schema),u=Yd(l,e,d,o,a),f=Od(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),y=Vd(u,f,r.includeSources,r.occurrenceLimit).filter(b=>Zd(b,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?y:y.slice(0,r.limit),w=nu(g),_=[...new Set(c)].sort((b,k)=>b.localeCompare(k));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:lu(e,r.rangeBounds),filters:uu(e,a),summary:ru(g),events:g,days:w,..._.length>0?{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]="7eefe5f0-364d-559a-b365-0e7d539ee19e")}catch{}})();var Ln=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],fu=Symbol("no-context-author"),mu=Symbol("no-item-assignee");function Go(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function pu(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 hu(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 gu(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 Ct(e,t,n){return e?.[t]??n}function xt(e,t){let n=c=>{if(typeof c!="string")return"";try{return U(c,new Date(Number.NaN),"updated_at")}catch{return""}},r=[...e].sort((c,l)=>{let u=n(c.updated_at),f=n(l.updated_at);return S(f,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=Go(t.author,fu),a=M("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=Go(c.assignee,mu)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signals:{recency:e.length===1?1:1-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:Ct(t.graphProximity,c.id,c.parent?.3:0),claim_focus:Ct(t.claimFocus,c.id,D(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:pu(c.priority,4),risk_pressure:gu(c.risk),deadline_pressure:hu(c.deadline,d),knowledge_density:Ct(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:Ct(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var yu="context_relevance",_u={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},wu=new TextEncoder;function bu(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!Ln.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function vu(e){let t={..._u};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Ln.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 qo(e,t={}){bu(e);let n=vu(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=Ln.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of o){let y=c[h];if(y===void 0)continue;let g=y*n[h];l[h]=g,u+=g,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function ku(e,t={}){let n=qo(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function It(e,t,n={}){let r=qo(t,n),i=await $r(yu,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await ku(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var Su=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Ho(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Eu(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:Ho(e.required_ids??[],a),continuity_coverage:Ho(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function Cu(e){return Math.ceil(wu.encode(JSON.stringify(e)).byteLength/4)}function xu(e){return Math.round(e*1e4)/1e4}function Iu(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function Tu(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:"unbounded"}),{rankedIds:r,attribution:i}=Iu(n,e.surface),o={...n,ranking:void 0},s=Cu(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Eu({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function Fu(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Su;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,xu(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function Sg(e,t,n){let r=[];for(let i of e)r.push(await Tu(i,t));return Fu(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]="b5c90a16-c075-5dc6-a326-ad2da7a6ef6d")}catch{}})();var Au={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Mu=["identity","summary","full"];function Ru(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=Mu.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 Du(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=Au[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function Lu(e){let t=new Set;for(let n of e){if(Ru(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 Ou(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function Nu(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},o=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:i(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Ou(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function $u(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Wo(e,t){let n=Du(t),r=Lu(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=Nu({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=$u(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let c=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!c.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import{randomUUID as Pu}from"node:crypto";import{appendFile as ju,mkdir as Uu,readFile as Ku,rename as Bu,stat as Gu,writeFile as Hu}from"node:fs/promises";import zo 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]="5f4ccd28-a001-54aa-8378-893025c69b96")}catch{}})();var Vo=2048,Yo=30,Xo=864e5,qu=262144,Wu="context-usage-ledger",H=class extends TypeError{code="context_usage_validation_failed";constructor(t){super(t),this.name="ContextUsageValidationError"}};function Qo(e){return zo.join(e,"runtime","context-usage.jsonl")}function Ne(e){let t=e.now??new Date().toISOString(),n=Date.parse(t);if(!Number.isFinite(n))throw new H("Context usage now must be a valid timestamp");return{iso:new Date(n).toISOString(),ms:n}}async function Jo(e){try{let n=(await Ku(Qo(e.pmRoot),"utf8")).split(`
@@ -13,4 +13,4 @@ import{a as Qt,b as Jt,d as Zt,e as en,f as tn,g as nn,h as rn}from"./chunk-A644
13
13
  `)}catch{}}function Vm(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}var Sw={applyFilters:la,applyExactQueryFilters:ua,applyInlineQueryFilters:aa,buildHitHighlights:_a,buildVerboseSearchFilters:We,buildExplicitSemanticFallbackWarning:ia,buildCompactSearchFilterSummary:qe,buildHybridLexicalScore:va,buildRerankCorpus:Aa,buildSemanticHits:xa,classifyImplicitSemanticFallbackReason:ra,collectErrorCauseCodes:na,collectExactPhraseFields:ca,collectLinkedPaths:fa,combineHybridHits:yr,computeBuiltInBm25Hits:Ta,computeSemanticOrHybridHits:Ma,resolveBuiltInBm25Mode:Ia,countOccurrences:hr,dependencyEntries:pr,documentContainsExactPhrase:da,emptySearchResult:ka,highlightFieldSnippet:ya,loadDocuments:Ra,markTokenRuns:ga,parseInlineQueryFilters:sa,maybeEmitVectorIndexStaleWarning:oa,loadLinkedCorpus:pa,mergeVectorHitsById:Fa,normalizeExtensionProviderHits:Ca,normalizeScoreMap:lr,parseProjectionConfig:tr,parseTimestampWindow:Ce,parseTokens:rr,projectSearchHits:La,readSearchFieldValue:Da,requireSemanticDependencies:gr,resolveExtensionSearchProvider:Sa,resolveExtensionSearchProviderByName:Gt,resolveExtensionVectorAdapter:Ea,resolveLinkedCorpusRoots:ma,scoreDocument:wa,sortHits:ba,stringArray:Bt,textEntries:se,validateSearchProjectionFields:nr};function sa(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=ta.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function aa(e,t,n){let r={...e};for(let i of ta){let o=t[i];if(o!==void 0){if(L(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function Bt(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function se(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function pr(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ca(e){let t=e.metadata;return[t.title,t.description,t.status,Bt(t.tags).join(" "),e.body,se(t.comments).map(n=>n.text).join(" "),se(t.notes).map(n=>n.text).join(" "),se(t.learnings).map(n=>n.text).join(" "),an(t).join(" "),cn(t).join(" "),pr(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),dn(t)]}function da(e,t){return ca(e).some(n=>J(n).includes(t))}function ua(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&J(r.metadata.title)!==t||n.phraseExact&&!da(r,t)))}function Ym(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',m.USAGE)}function Xm(e,t,n){let r=G(e.assignee,{label:"--assignee"});Ym(r);let i=vt(e),o=De(e);return{typeFilter:ht(e.type,t),tagFilter:G(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:gt(e.priority),deadlineBefore:er(e.deadlineBefore,"deadline-before"),deadlineAfter:er(e.deadlineAfter,"deadline-after"),updatedAfter:Ce(e.updatedAfter,"updated-after"),updatedBefore:Ce(e.updatedBefore,"updated-before"),createdAfter:Ce(e.createdAfter,"created-after"),createdBefore:Ce(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:G(e.sprint,{label:"--sprint"}),releaseFilter:G(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:Me(i),contentFieldFilters:o,contentFiltersActive:wt(o)}}function Qm(e,t){return Jm(e,t)&&Zm(e,t)&&ep(e,t)}function Jm(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&&!Bt(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function Zm(e,t){return nt(e,t)}function ep(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 tp(e,t,n,r){let i=e.metadata;return!(!Qm(i,t)||!be(i,n)||t.missingMetadataActive&&!_t(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!bt(i,t.contentFieldFilters))}function la(e,t,n,r,i,o){let s=Xm(t,n,i);return e.filter(a=>tp(a,s,r,o))}function hr(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}function np(e){return ve(e)}function fa(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function Zs(e){let t=mr.resolve(e);try{let n=await Ut.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function ma(e,t){let[n,r]=await Promise.all([Zs(e),Zs(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function pa(e,t){let n=fa(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=mr.resolve(o.resolved,i.path);if(!Yt(o.resolved,s))continue;let a;try{a=await Ut.realpath(s)}catch{continue}if(Yt(o.realpath,a))try{await Te({path:s,scope:i.scope}),r.push(await Ut.readFile(s,"utf8"))}catch{}}return r.join(`
14
14
  `)}var ha=[{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=>Bt(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=>se(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>se(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>se(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>an(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>cn(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>pr(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>dn(e.metadata)}],rp=new Map(ha.map(e=>[e.name,e]));function ip(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ga(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(ip);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${qm}${i}${Wm}`)}function ya(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-Js),s=Math.min(e.length,r+i+Js),a=ga(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function _a(e,t,n){let r=[];for(let i of t){let o=rp.get(i);if(o===void 0)continue;let s=ya(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function op(e,t,n){return[...ha.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function sp(e,t,n){let r=J(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=J(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Gm:Hm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function ap(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=hr(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function cp(e,t,n,r){J(e.title)===t&&(r.score+=Um,r.matched.add("title"));for(let o of n){let s=hr(J(o.value),t);s>0&&(r.score+=s*o.weight*Km,r.matched.add(o.name))}}function wa(e,t,n,r,i,o,s=!1){let a=e.metadata,d=sp(a,n,o);if(d)return d;let c=new Map;for(let g of np(a.title))c.set(g,(c.get(g)??0)+1);let l=op(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};ap(t,c,l,i,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=Bm),t.length>=jm&&n.includes(" ")&&cp(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,w)=>g.localeCompare(w)),matched_all_terms:h}}function ba(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=K(n.item.status,t),s=K(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=S(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function va(e,t,n,r,i,o,s,a=!1){return wa(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function lr(e){if(e.size===0)return new Map;let t=[...e.values()],n=Math.min(...t),r=Math.max(...t);if(r===n)return new Map([...e.keys()].map(o=>[o,1]));let i=new Map;for(let[o,s]of e)i.set(o,(s-n)/(r-n));return i}function ka(e,t,n,r,i,o,s,a,d,c,l,u,f=!1){let h=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let w=qe({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,items:[],count:0,...h,filters:w,...l.length>0?{warnings:l}:{}}}let g=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,items:[],count:0,...h,filters:We({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:g},now:O(),...l.length>0?{warnings:l}:{}}}function gr(e,t,n,r){if(!t.active)throw new p(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,m.USAGE);if(!n.active&&!r)throw new p(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,m.USAGE);return{provider:t.active,vectorStore:n.active??null}}var q=L;function Gt(e){let t=A(),n=ui(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=q(r.name)??q(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function Sa(e){let t=q(e.search?.provider),n=Gt(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Ea(e){let t=A(),n=q(e.vector_store?.adapter),r=li(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:q(i.name)??q(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function Ca(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new p(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,m.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=q(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:u})}return o}function xa(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Kt(e,t){let n=t.filter(c=>c.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(c=>c.item.id)),i=e.filter(c=>!r.has(c.item.id)),o=i.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=o+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...i]}function yr(e,t,n,r,i="semantic"){let o=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=lr(t),d=lr(o),c=new Set([...t.keys(),...o.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,y=d.get(u)??0,g=h*r+y*l;if(g<=0)return null;let w=new Set;t.has(u)&&w.add(i);for(let _ of s.get(u)??[])w.add(_);return{item:f.metadata,score:g,matched_fields:[...w].sort((_,b)=>_.localeCompare(b))}}).filter(u=>u!==null)}function Ia(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Ta(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Xs(yi(s,{fields:e.corpusFields}))})),n=Vs(t),r=Ys(n,ur(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:i.get(a).metadata,score:d,matched_fields:["bm25"]}));return Kt(s,e.keywordHits)}let o=yr(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Kt(o,e.keywordHits)}function Fa(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function Aa(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(`
15
15
  `)}async function dp(e,t){let n=e.queryExpansion.enabled?js(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Ks(r,Us(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function up(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await un(e.vectorStore,t,n,r)}if(e.vectorStore)return await un(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",m.USAGE)}function lp(e,t,n){return[...e].sort((i,o)=>i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)).slice(0,n).map(i=>{let o=t.get(i.item.id);return o?{hit:i,text:Aa(o)}:null}).filter(i=>i!==null)}async function fp(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Hs(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function mp(e,t,n){let r=await fp(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await Ws(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function pp(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function hp(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=lp(n,r,e.rerank.top_k),o=await mp(e,t,i);return o&&o.size>0?pp(n,o):n}async function Ma(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await dp(e,i),s=await ot(e.provider,o,n),a=await Promise.all(s.map(async y=>await up(e,y,t,r))),d=Fa(a),c=new Map(e.filteredDocuments.map(y=>[y.metadata.id,y])),{semanticHits:l,semanticScores:u}=xa(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Kt(l,e.keywordHits),vectorMatchCount:f};let h=await hp(e,i,yr(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Kt(h,e.keywordHits),vectorMatchCount:f}}async function Ra(e,t,n,r){let i=kr(A()),o=async(c,l,u)=>{let f=async(h,y)=>{await Te({path:h,scope:"project"});let g=await Ut.readFile(h,"utf8");return qr(g,{format:y,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",y=Xt(e,c.type,c.id,h,n);try{return await f(y,h)}catch{return s.push(`item_list_item_read_failed:${mr.relative(e,y)}`),""}}},s=[],a=await ri(e,t,n,s,r),d=[];if(a.length===0){let c=await it(e,t,n,s,r);for(let l of c){let u=Xt(e,l.type,l.id,t,n),f=await o(l,u,t);d.push({metadata:l,body:f})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}function Da(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function La(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=Da(n,i);return r})}function gp(e){let t=Gt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function yp(e){let t=Gt(q(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function _p(e,t){let n=[],r=sa(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",m.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=aa(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Pt(s.includeLinked),titleExact:Pt(s.titleExact),phraseExact:Pt(s.phraseExact),matchMode:$s(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Ps(s.minScore),countOnly:s.count===!0,tokens:rr(o),normalizedQuery:J(o),limit:re(s.limit),projection:tr(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function wp(e,t){let n=x(process.cwd(),t.path);await P(n);let r=await R(n),i=pi(r).settings,o=$(i.schema),s=B(i.schema);nr(e.projection,s,e.query);let a=we(e.options,s,"search"),d=N(i,A()),c=hi(i),l=_i(i,n),u=Sa(i),f=Ea(i),h=Ns(e.options.semanticWeight),y=Bs(i,c.active?.name??null),g=Gs(i,c.active?.model??q(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:ir(i),scoreThreshold:e.minScoreOverride??or(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??sr(i),tuning:ar(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Ia({configuredProvider:q(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:y,queryExpansionExtension:gp(y),rerank:g,rerankExtension:yp(i),effectiveMode:Os(e.options.mode)}}async function bp(e,t){let n=await Ra(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=_e(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=yt(t.statusRegistry),o=la(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:ua(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function vp(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await ma(i,xr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await pa(a,o)]));for(let[a,d]of s)r.set(a,d);return r}async function kp(e,t,n){let r=await vp(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>va(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}function ea(e,t){return ka(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)}async function Sp(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Ta({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:gi(t.settings),bm25Params:Qs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function Ep(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return Ca(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,m.GENERIC_FAILURE);return null}}function Cp(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 xp(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await oa(e.pmRoot,n,r),e.extensionSearchProvider||gr(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Ip(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await Sp(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await xp(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Ep(t,n,r,l)??a,a===i){let{provider:u,vectorStore:f}=gr(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ma({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=Cp(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(ia(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function Tp(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return fr({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:qe({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 fr({query:e.query.trim(),mode:e.effectiveMode,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:O()},e.warnings)}function fr(e,t){return t.length===0?e:{...e,warnings:t}}function jt(e,t){return t?{...e,workspace_memory:t}:e}function Fp(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:_a(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Ap(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return fr({query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,filters:qe({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,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:i.mode,fields:a},now:O(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function Mp(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function Ew(e,t,n){Mp(t);let r=_p(e,t),i=await wp(r,n),o=await bp(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await Rt(o.allDocuments.map(I=>I.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:O()});s.push(...a.warnings);let d=cs(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return jt(ea({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await kp(r,i,o.filteredDocuments),u=await Ip({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return jt(ea({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(I=>I.exact_id_match===!0||I.score>=i.scoreThreshold),h=ba(f,i.statusRegistry),y=h.length,g=Ls({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),w={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return jt(Tp(w,y),d);let{hits:_,projection:b}=Fp(r,o.filteredDocuments,g.limited),k=La(_,b);return jt(Ap(w,k,y,g.limited.length,b,g.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6152efa9-8338-57f0-b3de-5707befed019")}catch{}})();async function Fw(e,t={}){let n=await Ei({pmRoot:x(process.cwd(),e.path),...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}export{$a as a,fn as b,Rp as c,Ha as d,qa as e,Dp as f,xi as g,j as h,ut as i,Ii as j,lt as k,Wa as l,ft as m,pt as n,ph as o,Ri as p,rg as q,gn as r,G as s,ht as t,gt as u,yt as v,kh as w,Sh as x,Ch as y,vt as z,De as A,Gi as B,Hi as C,vn as D,Le as E,Oe as F,X as G,eg as H,cg as I,dg as J,gg as K,yg as L,_g as M,Bo as N,Ln as O,xt as P,yu as Q,qo as R,ku as S,It as T,Su as U,Eu as V,Tu as W,Fu as X,Sg as Y,Au as Z,Wo as _,H as $,Tt as aa,Ag as ba,ts as ca,Ft as da,On as ea,Nn as fa,Xu as ga,nl as ha,rl as ia,$n as ja,Pn as ka,Mt as la,cl as ma,fl as na,Rt as oa,wl as pa,as as qa,bl as ra,cs as sa,us as ta,Zg as ua,ey as va,ty as wa,ny as xa,ls as ya,vl as za,Tl as Aa,je as Ba,vy as Ca,Kn as Da,Ml as Ea,Rl as Fa,Gn as Ga,oe as Ha,qn as Ia,Wn as Ja,zn as Ka,Ee as La,Ge as Ma,Dt as Na,ky as Oa,Mf as Pa,Sy as Qa,Nf as Ra,Ly as Sa,Oy as Ta,Kf as Ua,Ny as Va,$y as Wa,qy as Xa,Ts as Ya,Fs as Za,As as _a,m_ as $a,p_ as ab,qe as bb,We as cb,xm as db,Ls as eb,ir as fb,or as gb,sr as hb,ar as ib,na as jb,ra as kb,zm as lb,Vm as mb,Sw as nb,Ew as ob,Fw as pb};
16
- //# sourceMappingURL=chunk-RAFKLNZX.js.map
16
+ //# sourceMappingURL=chunk-FXDLT6FL.js.map
@@ -1,8 +1,8 @@
1
- import{w as D,x as q}from"./chunk-N7W67YIG.js";import{Mb as N,Sb as z,Ub as O,da as j}from"./chunk-VXWATRFL.js";import{ea as S,ja as m,s as b,u as k}from"./chunk-OVJL6NZE.js";import{aa as _,ab as x,db as C,gb as L}from"./chunk-LMKG3DFE.js";import{constants as u}from"node:fs";import{lstat as M,mkdir as $,open as F}from"node:fs/promises";import h from"node:path";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new i.Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="bb5dfa6f-b60f-55f2-ae17-3dbcaaff1b47")}catch{}})();function E(i,e){if(typeof i!="string"||i.trim().length===0)throw new TypeError(`Relationship event ${e} must be non-empty`);return i.trim()}function I(i,e){let t=e.require(i.kind),n=t.direction==="undirected"?[i.source,i.target].sort().join("\0"):`${i.source}\0${i.target}`;return`${t.kind}\0${n}`}function H(i){return Object.freeze({...i,...i.payload===void 0?{}:{payload:Object.freeze(structuredClone(i.payload))}})}function J(i,e,t,n){let r=t.require(i.kind),o=n.outgoingOne.get(`${r.kind}\0${i.source}`);if(o!==void 0&&o!==e)throw new TypeError(`Relationship outgoing cardinality exceeded for ${r.kind}`);let s=n.incomingOne.get(`${r.kind}\0${i.target}`);if(s!==void 0&&s!==e)throw new TypeError(`Relationship incoming cardinality exceeded for ${r.kind}`);let c=I(i,t),d=n.identities.get(c);if(d!==void 0&&d!==e)throw new TypeError(`Relationship edge already active: ${c}`)}function K(i){let e=new Map;for(let t of i)t.action==="remove"?e.delete(t.relationshipId):e.set(t.relationshipId,t.edge);return e}function G(i,e,t){if(i.expectedVersion!==void 0&&i.expectedVersion!==e)throw new TypeError(`Relationship event version conflict: expected ${i.expectedVersion}, current ${e}`);let n=E(i.eventId,"eventId");if(t.has(n))throw new TypeError(`Relationship event already exists: ${n}`);if(i.action!=="add"&&i.action!=="remove"&&i.action!=="supersede")throw new TypeError(`Unknown relationship event action: ${i.action}`);if(!Number.isFinite(Date.parse(i.timestamp)))throw new TypeError("Relationship event timestamp must be valid");return{eventId:n,relationshipId:E(i.relationshipId,"relationshipId"),author:E(i.author,"author"),timestamp:new Date(i.timestamp).toISOString()}}function Q(i,e,t,n,r,o){let s=t.has(e);if(i.action==="add"&&s)throw new TypeError(`Relationship is already active: ${e}`);if(i.action!=="add"&&!s)throw new TypeError(`Relationship is not active: ${e}`);if(i.action==="remove")return;if(!i.edge)throw new TypeError(`Relationship ${i.action} event requires an edge`);let c=typeof i.edge.source=="string"?i.edge.source.trim():"",d=typeof i.edge.target=="string"?i.edge.target.trim():"";if(!n.has(c)||!n.has(d))throw new TypeError(`Relationship endpoint not found: ${c} -> ${d}`);let a=new m([c,d],[i.edge],r).edges()[0];return J(a,e,r,o),H(a)}var T=class{#t;#n;#i=[];#o=new Set;#e=new Map;#r={identities:new Map,outgoingOne:new Map,incomingOne:new Map};constructor(e,t={}){this.#t=new Set([...e].filter(n=>typeof n=="string").map(n=>n.trim()).filter(Boolean)),this.#n=t.registry??S()}get version(){return this.#i.length}events(){return Object.freeze([...this.#i])}*stream(e={}){let t=e.fromVersion??1,n=e.toVersion??this.version,r=e.batchSize??100;if(!Number.isInteger(t)||t<1)throw new TypeError("Relationship event stream fromVersion must be positive");if(!Number.isInteger(n)||n<0||n>this.version)throw new TypeError(`Relationship event stream toVersion out of range: ${n}`);if(!Number.isInteger(r)||r<1)throw new TypeError("Relationship event stream batchSize must be positive");if(t>n+1)throw new TypeError("Relationship event stream fromVersion exceeds the selected prefix");for(let o=t-1;o<n;o+=r)yield Object.freeze(this.#i.slice(o,Math.min(o+r,n)))}project(e,t,n={}){if(typeof t!="function")throw new TypeError("Relationship event projection requires a reducer");let r=e,o=0,s;for(let c of this.stream({...n,batchSize:256}))for(let d of c)r=t(r,d),o+=1,s=d;return Object.freeze({state:r,version:s?.sequence??Math.max(0,(n.fromVersion??1)-1),processed:o,...s===void 0?{}:{asOf:s.timestamp}})}#s(e,t){let n=this.#n.require(t.kind);this.#r.identities.set(I(t,this.#n),e),n.outgoing==="one"&&this.#r.outgoingOne.set(`${n.kind}\0${t.source}`,e),n.incoming==="one"&&this.#r.incomingOne.set(`${n.kind}\0${t.target}`,e)}#a(e){let t=this.#n.require(e.kind);this.#r.identities.delete(I(e,this.#n)),t.outgoing==="one"&&this.#r.outgoingOne.delete(`${t.kind}\0${e.source}`),t.incoming==="one"&&this.#r.incomingOne.delete(`${t.kind}\0${e.target}`)}append(e){let t=G(e,this.version,this.#o),n=this.#e.get(t.relationshipId),r=Q(e,t.relationshipId,this.#e,this.#t,this.#n,this.#r),o=Object.freeze({eventId:t.eventId,relationshipId:t.relationshipId,action:e.action,...r===void 0?{}:{edge:r},author:t.author,timestamp:t.timestamp,...e.reason?.trim()?{reason:e.reason.trim()}:{},sequence:this.version+1});return this.#i.push(o),this.#o.add(t.eventId),n&&this.#a(n),e.action==="remove"?this.#e.delete(t.relationshipId):(this.#e.set(t.relationshipId,r),this.#s(t.relationshipId,r)),o}snapshot(e={}){if(e.atVersion!==void 0&&e.atTimestamp!==void 0)throw new TypeError("Relationship snapshot accepts one target");let t;if(e.atTimestamp!==void 0){let o=Date.parse(e.atTimestamp);if(!Number.isFinite(o))throw new TypeError("Relationship snapshot timestamp must be valid");t=this.#i.filter(s=>Date.parse(s.timestamp)<=o)}else{let o=e.atVersion??this.version;if(!Number.isInteger(o)||o<0||o>this.version)throw new TypeError(`Relationship snapshot version out of range: ${o}`);t=this.#i.slice(0,o)}let n=K(t),r=new m(this.#t,n.values(),this.#n);return Object.freeze({version:t.at(-1)?.sequence??0,...t.at(-1)?{asOf:t.at(-1).timestamp}:{},edges:r.edges(),graph:r})}page(e){if(!Number.isInteger(e.limit)||e.limit<1)throw new TypeError("Relationship event page limit must be positive");let t=x("relationship-events",{order:"append-sequence"}),n=e.cursor===void 0?this.version:Number(C(e.cursor,t).snapshot);if(!Number.isSafeInteger(n)||n<0||n>this.version)throw new TypeError("Relationship event cursor snapshot version is invalid");let r=L(this.#i.slice(0,n),{cursor:e.cursor,fingerprint:t,limit:e.limit,readId:o=>o.eventId,snapshot:String(n)});return{version:n,events:r.rows,hasMore:r.has_more,...r.next_cursor?{nextCursor:r.next_cursor}:{}}}},Y="relationship-event-store",A=u.O_NOFOLLOW;function g(i){return j(i,Y,30,`relationship-store:${process.pid}`,!1,!1,3e3)}async function l(i,e="relationships/events.jsonl"){let t=h.resolve(i),n=h.resolve(t,e),r=h.relative(t,n);if(r.length===0)throw new TypeError("Relationship event path must name a file within the tracker root");if(r===".."||r.startsWith(`..${h.sep}`)||h.isAbsolute(r))throw new TypeError("Relationship event path must stay within the tracker root");if(await $(t,{recursive:!0}),(await M(t)).isSymbolicLink())throw new TypeError("Relationship event tracker root must not be a symbolic link");let s=t;for(let c of r.split(h.sep)){s=h.join(s,c);try{if((await M(s)).isSymbolicLink())throw new TypeError("Relationship event path must not contain symbolic links")}catch(d){if(b(d))break;throw d}}return n}async function w(i,e,t){let n=new T(e,{registry:t}),r,o;try{o=await F(i,u.O_RDONLY|A),r=await o.readFile("utf8")}catch(c){if(b(c))return{log:n,raw:""};throw c}finally{await o?.close()}let s=r.split(`
1
+ import{w as D,x as q}from"./chunk-LV5N3LK5.js";import{Mb as N,Sb as z,Ub as O,da as j}from"./chunk-57XY346D.js";import{fa as S,ka as m,t as b,v as k}from"./chunk-UYBA57GY.js";import{aa as _,ab as x,db as C,gb as L}from"./chunk-LMKG3DFE.js";import{constants as u}from"node:fs";import{lstat as M,mkdir as $,open as F}from"node:fs/promises";import h from"node:path";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new i.Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="bb5dfa6f-b60f-55f2-ae17-3dbcaaff1b47")}catch{}})();function E(i,e){if(typeof i!="string"||i.trim().length===0)throw new TypeError(`Relationship event ${e} must be non-empty`);return i.trim()}function I(i,e){let t=e.require(i.kind),n=t.direction==="undirected"?[i.source,i.target].sort().join("\0"):`${i.source}\0${i.target}`;return`${t.kind}\0${n}`}function H(i){return Object.freeze({...i,...i.payload===void 0?{}:{payload:Object.freeze(structuredClone(i.payload))}})}function J(i,e,t,n){let r=t.require(i.kind),o=n.outgoingOne.get(`${r.kind}\0${i.source}`);if(o!==void 0&&o!==e)throw new TypeError(`Relationship outgoing cardinality exceeded for ${r.kind}`);let s=n.incomingOne.get(`${r.kind}\0${i.target}`);if(s!==void 0&&s!==e)throw new TypeError(`Relationship incoming cardinality exceeded for ${r.kind}`);let c=I(i,t),d=n.identities.get(c);if(d!==void 0&&d!==e)throw new TypeError(`Relationship edge already active: ${c}`)}function K(i){let e=new Map;for(let t of i)t.action==="remove"?e.delete(t.relationshipId):e.set(t.relationshipId,t.edge);return e}function G(i,e,t){if(i.expectedVersion!==void 0&&i.expectedVersion!==e)throw new TypeError(`Relationship event version conflict: expected ${i.expectedVersion}, current ${e}`);let n=E(i.eventId,"eventId");if(t.has(n))throw new TypeError(`Relationship event already exists: ${n}`);if(i.action!=="add"&&i.action!=="remove"&&i.action!=="supersede")throw new TypeError(`Unknown relationship event action: ${i.action}`);if(!Number.isFinite(Date.parse(i.timestamp)))throw new TypeError("Relationship event timestamp must be valid");return{eventId:n,relationshipId:E(i.relationshipId,"relationshipId"),author:E(i.author,"author"),timestamp:new Date(i.timestamp).toISOString()}}function Q(i,e,t,n,r,o){let s=t.has(e);if(i.action==="add"&&s)throw new TypeError(`Relationship is already active: ${e}`);if(i.action!=="add"&&!s)throw new TypeError(`Relationship is not active: ${e}`);if(i.action==="remove")return;if(!i.edge)throw new TypeError(`Relationship ${i.action} event requires an edge`);let c=typeof i.edge.source=="string"?i.edge.source.trim():"",d=typeof i.edge.target=="string"?i.edge.target.trim():"";if(!n.has(c)||!n.has(d))throw new TypeError(`Relationship endpoint not found: ${c} -> ${d}`);let a=new m([c,d],[i.edge],r).edges()[0];return J(a,e,r,o),H(a)}var T=class{#t;#n;#i=[];#o=new Set;#e=new Map;#r={identities:new Map,outgoingOne:new Map,incomingOne:new Map};constructor(e,t={}){this.#t=new Set([...e].filter(n=>typeof n=="string").map(n=>n.trim()).filter(Boolean)),this.#n=t.registry??S()}get version(){return this.#i.length}events(){return Object.freeze([...this.#i])}*stream(e={}){let t=e.fromVersion??1,n=e.toVersion??this.version,r=e.batchSize??100;if(!Number.isInteger(t)||t<1)throw new TypeError("Relationship event stream fromVersion must be positive");if(!Number.isInteger(n)||n<0||n>this.version)throw new TypeError(`Relationship event stream toVersion out of range: ${n}`);if(!Number.isInteger(r)||r<1)throw new TypeError("Relationship event stream batchSize must be positive");if(t>n+1)throw new TypeError("Relationship event stream fromVersion exceeds the selected prefix");for(let o=t-1;o<n;o+=r)yield Object.freeze(this.#i.slice(o,Math.min(o+r,n)))}project(e,t,n={}){if(typeof t!="function")throw new TypeError("Relationship event projection requires a reducer");let r=e,o=0,s;for(let c of this.stream({...n,batchSize:256}))for(let d of c)r=t(r,d),o+=1,s=d;return Object.freeze({state:r,version:s?.sequence??Math.max(0,(n.fromVersion??1)-1),processed:o,...s===void 0?{}:{asOf:s.timestamp}})}#s(e,t){let n=this.#n.require(t.kind);this.#r.identities.set(I(t,this.#n),e),n.outgoing==="one"&&this.#r.outgoingOne.set(`${n.kind}\0${t.source}`,e),n.incoming==="one"&&this.#r.incomingOne.set(`${n.kind}\0${t.target}`,e)}#a(e){let t=this.#n.require(e.kind);this.#r.identities.delete(I(e,this.#n)),t.outgoing==="one"&&this.#r.outgoingOne.delete(`${t.kind}\0${e.source}`),t.incoming==="one"&&this.#r.incomingOne.delete(`${t.kind}\0${e.target}`)}append(e){let t=G(e,this.version,this.#o),n=this.#e.get(t.relationshipId),r=Q(e,t.relationshipId,this.#e,this.#t,this.#n,this.#r),o=Object.freeze({eventId:t.eventId,relationshipId:t.relationshipId,action:e.action,...r===void 0?{}:{edge:r},author:t.author,timestamp:t.timestamp,...e.reason?.trim()?{reason:e.reason.trim()}:{},sequence:this.version+1});return this.#i.push(o),this.#o.add(t.eventId),n&&this.#a(n),e.action==="remove"?this.#e.delete(t.relationshipId):(this.#e.set(t.relationshipId,r),this.#s(t.relationshipId,r)),o}snapshot(e={}){if(e.atVersion!==void 0&&e.atTimestamp!==void 0)throw new TypeError("Relationship snapshot accepts one target");let t;if(e.atTimestamp!==void 0){let o=Date.parse(e.atTimestamp);if(!Number.isFinite(o))throw new TypeError("Relationship snapshot timestamp must be valid");t=this.#i.filter(s=>Date.parse(s.timestamp)<=o)}else{let o=e.atVersion??this.version;if(!Number.isInteger(o)||o<0||o>this.version)throw new TypeError(`Relationship snapshot version out of range: ${o}`);t=this.#i.slice(0,o)}let n=K(t),r=new m(this.#t,n.values(),this.#n);return Object.freeze({version:t.at(-1)?.sequence??0,...t.at(-1)?{asOf:t.at(-1).timestamp}:{},edges:r.edges(),graph:r})}page(e){if(!Number.isInteger(e.limit)||e.limit<1)throw new TypeError("Relationship event page limit must be positive");let t=x("relationship-events",{order:"append-sequence"}),n=e.cursor===void 0?this.version:Number(C(e.cursor,t).snapshot);if(!Number.isSafeInteger(n)||n<0||n>this.version)throw new TypeError("Relationship event cursor snapshot version is invalid");let r=L(this.#i.slice(0,n),{cursor:e.cursor,fingerprint:t,limit:e.limit,readId:o=>o.eventId,snapshot:String(n)});return{version:n,events:r.rows,hasMore:r.has_more,...r.next_cursor?{nextCursor:r.next_cursor}:{}}}},Y="relationship-event-store",A=u.O_NOFOLLOW;function g(i){return j(i,Y,30,`relationship-store:${process.pid}`,!1,!1,3e3)}async function l(i,e="relationships/events.jsonl"){let t=h.resolve(i),n=h.resolve(t,e),r=h.relative(t,n);if(r.length===0)throw new TypeError("Relationship event path must name a file within the tracker root");if(r===".."||r.startsWith(`..${h.sep}`)||h.isAbsolute(r))throw new TypeError("Relationship event path must stay within the tracker root");if(await $(t,{recursive:!0}),(await M(t)).isSymbolicLink())throw new TypeError("Relationship event tracker root must not be a symbolic link");let s=t;for(let c of r.split(h.sep)){s=h.join(s,c);try{if((await M(s)).isSymbolicLink())throw new TypeError("Relationship event path must not contain symbolic links")}catch(d){if(b(d))break;throw d}}return n}async function w(i,e,t){let n=new T(e,{registry:t}),r,o;try{o=await F(i,u.O_RDONLY|A),r=await o.readFile("utf8")}catch(c){if(b(c))return{log:n,raw:""};throw c}finally{await o?.close()}let s=r.split(`
2
2
  `);for(let c=0;c<s.length;c+=1){let d=s[c].trim();if(!d)continue;let a;try{a=JSON.parse(d)}catch{throw new TypeError(`Invalid relationship event JSONL at line ${c+1}`)}if(a.sequence!==n.version+1)throw new TypeError(`Invalid relationship event sequence at line ${c+1}`);n.append({eventId:a.eventId,relationshipId:a.relationshipId,action:a.action,...a.edge===void 0?{}:{edge:a.edge},author:a.author,timestamp:a.timestamp,...a.reason===void 0?{}:{reason:a.reason},expectedVersion:n.version})}return{log:n,raw:r}}function U(i,e,t,n){let r=Date.parse(e.timestamp),o;return e.action!=="remove"&&e.edge!==void 0&&(o=new m(t,[e.edge],n).edges()[0]),i.eventId===e.eventId.trim()&&i.relationshipId===e.relationshipId.trim()&&i.action===e.action&&i.author===e.author.trim()&&Number.isFinite(r)&&i.timestamp===new Date(r).toISOString()&&i.reason===(e.reason?.trim()||void 0)&&_(i.edge)===_(o)}var V=class i{#t;#n;#i;#o;#e;constructor(e,t,n,r){this.#t=e.pmRoot,this.#n=t,this.#i=e.registry,this.#o=n,this.#e=r}static async open(e){let t=Object.freeze([...e.nodes]),n=await l(e.pmRoot,e.relativePath),r=await g(e.pmRoot);try{await l(e.pmRoot,n);let{log:o}=await w(n,t,e.registry);return new i(e,t,n,o)}finally{await r()}}get path(){return this.#o}async currentVersion(){return this.#e=await this.#r(),this.#e.version}async append(e){let t=await g(this.#t);try{let n=await l(this.#t,this.#o),{log:r}=await w(n,this.#n,this.#i),o=r.append(e);await $(h.dirname(n),{recursive:!0}),await l(this.#t,n);let s=await F(n,u.O_APPEND|u.O_CREAT|u.O_WRONLY|A);try{await s.appendFile(`${JSON.stringify(o)}
3
3
  `,"utf8")}finally{await s.close()}return this.#e=r,o}finally{await t()}}async appendBatch(e,t={}){let n=await g(this.#t);try{let r=await l(this.#t,this.#o),{log:o,raw:s}=await w(r,this.#n,this.#i),c=o.version,d=new Map(o.events().map(f=>[f.eventId,f])),a=[],R=[];for(let f of e){let p=f.eventId.trim(),y=d.get(p);if(y!==void 0){if(t.existingEventPolicy==="skip_identical"&&U(y,f,this.#n,this.#i)){R.push(y.eventId);continue}if(t.existingEventPolicy==="skip_identical")throw new TypeError(`Relationship event id collision with different content: ${p}`)}let v=o.append(f);d.set(v.eventId,v),a.push(v)}if(a.length>0){let f=s.length===0||s.endsWith(`
4
4
  `)?s:`${s}
5
5
  `;await $(h.dirname(r),{recursive:!0}),await l(this.#t,r),await k(r,`${f}${a.map(p=>JSON.stringify(p)).join(`
6
6
  `)}
7
7
  `)}return this.#e=o,Object.freeze({version_before:c,version_after:o.version,appended:Object.freeze(a),skipped_event_ids:Object.freeze(R)})}finally{await n()}}async snapshot(e={}){return this.#e=await this.#r(),this.#e.snapshot(e)}async page(e){return this.#e=await this.#r(),this.#e.page(e)}async*stream(e={}){this.#e=await this.#r(),yield*this.#e.stream(e)}async project(e,t,n={}){return this.#e=await this.#r(),this.#e.project(e,t,n)}async#r(){let e=await g(this.#t);try{let t=await l(this.#t,this.#o);return(await w(t,this.#n,this.#i)).log}finally{await e()}}};(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new i.Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="94e8b95b-35fa-5fc7-843a-481497e09b54")}catch{}})();function P(i){return[...i].sort().join("\0")}function X(i,e,t){let n=i.successors.get(e);n?n.push(t):i.successors.set(e,[t]);let r=i.predecessors.get(t);r?r.push(e):i.predecessors.set(t,[e])}function W(i,e,t,n,r){let o=e.resolve(r);if(o?.ordering!==!0)return;let s=z(n),c=s===void 0?void 0:i.canonicalIds.get(s.toLowerCase());if(c===void 0)return;let d=(o.precedence??"source_before_target")==="source_before_target";X(i,d?t:c,d?c:t)}function Z(i,e){let t={successors:new Map,predecessors:new Map,canonicalIds:new Map},n=i.filter(r=>typeof r?.id=="string"&&r.id.trim().length>0);for(let r of n){let o=r.id.trim();t.canonicalIds.set(o.toLowerCase(),o)}for(let r of n){let o=r.id.trim();W(t,e,o,r.blocked_by,"blocked_by");for(let s of r.dependencies??[])typeof s!="object"||s===null||W(t,e,o,s.id,typeof s.kind=="string"?s.kind:"related")}for(let r of[t.successors,t.predecessors])for(let o of r.values())o.sort();return t}function ee(i,e){let t=new Set([e]),n=[e];for(;n.length>0;){let r=n.pop();for(let o of[i.successors,i.predecessors])for(let s of o.get(r)??[])t.has(s)||(t.add(s),n.push(s))}return t}function te(i,e){let t=new Map;for(let n of e){let r=(i.successors.get(n)??[]).filter(o=>e.has(o));r.length>0&&t.set(n,r)}return t}function B(i,e,t){let n=Z(i,e),r=n.canonicalIds.get(t.trim().toLowerCase());if(r===void 0)return{cycles:[],successors:new Map,canonical:t};let o=te(n,ee(n,r));return{cycles:D(o).filter(s=>s.includes(r)),successors:o,canonical:r}}function ne(i,e,t){let n=new Set(e),r=n.has(t)?t:e[0];if(i.get(r)?.includes(r))return[r,r];for(let o of i.get(r)??[]){if(!n.has(o))continue;let s=ie(i,n,r,o);if(s)return s}return[...e,e[0]]}function ie(i,e,t,n){let r=[[n]],o=new Set([t,n]);for(;r.length>0;){let s=r.shift(),c=s.at(-1);for(let d of i.get(c)??[]){if(d===t)return[t,...s,t];!e.has(d)||o.has(d)||(o.add(d),r.push([...s,d]))}}}function me(i,e,t){let n=N(),r=B(i,n,t),o=B(e,n,t),s=new Set(r.cycles.map(P)),c=new Set(O(i,void 0,n).map(a=>`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`));return[...O(e,void 0,n).filter(a=>a.holder_id.toLowerCase()===t.trim().toLowerCase()&&!c.has(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`)).map(a=>`ordering_storage_contradiction_created:${q(a)}:remove_contradicting_dependency_row:run_pm_graph_audit`),...o.cycles.filter(a=>!s.has(P(a))).map(a=>`ordering_cycle_created:${ne(o.successors,a,o.canonical).join(" -> ")}:items_will_not_be_ready:run_pm_graph_audit`)]}export{T as a,V as b,me as c};
8
- //# sourceMappingURL=chunk-H5JZEIQV.js.map
8
+ //# sourceMappingURL=chunk-IBHXMFE7.js.map