@unbrained/pm-cli 2026.9.9 → 2026.9.11

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 (184) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +48 -11
  3. package/dist/cli/command-namespaces.d.ts +9 -0
  4. package/dist/cli/command-namespaces.js +2 -0
  5. package/dist/cli/extension-command-help.js +3 -3
  6. package/dist/cli/help-content.js +1 -1
  7. package/dist/cli/help-json-payload.d.ts +5 -1
  8. package/dist/cli/help-json-payload.js +2 -2
  9. package/dist/cli/main.d.ts +5 -0
  10. package/dist/cli/main.js +3 -3
  11. package/dist/cli/register-history-maintenance.js +2 -1
  12. package/dist/cli/register-list-query.js +2 -2
  13. package/dist/cli/register-mutation.js +2 -2
  14. package/dist/cli/register-operations.d.ts +0 -5
  15. package/dist/cli/register-operations.js +1 -1
  16. package/dist/cli-bundle/bundle-manifest.json +154 -162
  17. package/dist/cli-bundle/chunks/{chunk-L5RCDKQ2.js → chunk-BN5QVWNY.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-DAWH7TGV.js +3 -0
  19. package/dist/cli-bundle/chunks/chunk-FBY6PEIR.js +20 -0
  20. package/dist/cli-bundle/chunks/chunk-IRUNFLLG.js +2 -0
  21. package/dist/cli-bundle/chunks/chunk-JMQKJ7CJ.js +8 -0
  22. package/dist/cli-bundle/chunks/{chunk-OHNLSGGV.js → chunk-QER6OSOP.js} +2 -2
  23. package/dist/cli-bundle/chunks/chunk-RJQSCK74.js +6 -0
  24. package/dist/cli-bundle/chunks/chunk-RJZFAXBW.js +235 -0
  25. package/dist/cli-bundle/chunks/chunk-SGAKQIGQ.js +29 -0
  26. package/dist/cli-bundle/chunks/chunk-T3AMFUCN.js +2 -0
  27. package/dist/cli-bundle/chunks/{chunk-ECBLPN7B.js → chunk-TDKWJQD7.js} +2 -2
  28. package/dist/cli-bundle/chunks/chunk-TFVKBJJ4.js +2247 -0
  29. package/dist/cli-bundle/chunks/{chunk-3IPRM75M.js → chunk-VFKBNGF6.js} +2 -2
  30. package/dist/cli-bundle/chunks/{register-list-query-UIHRCS6D.js → register-list-query-U6MY437C.js} +6 -6
  31. package/dist/cli-bundle/chunks/register-mutation-HAPHD4S7.js +20 -0
  32. package/dist/cli-bundle/chunks/register-operations-EHWIZW3X.js +2 -0
  33. package/dist/cli-bundle/chunks/{register-setup-PERI45EM.js → register-setup-BZYL3HBL.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-YJUXGS57.js → chunk-3JVTLBCW.js} +4 -4
  35. package/dist/cli-bundle/focused-chunks/chunk-6JF66HAG.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-ZTCE4UO6.js → chunk-7WISPJRZ.js} +53 -52
  37. package/dist/cli-bundle/focused-chunks/chunk-BEQAW7OT.js +12 -0
  38. package/dist/cli-bundle/focused-chunks/{chunk-PNKIANFZ.js → chunk-DZ3ATEFS.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-BUCJUZVG.js → chunk-FJDEFA64.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-QQQ4SAUO.js → chunk-GKUF7TM5.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/{chunk-7PC4R5QB.js → chunk-HM6JS6Q3.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/chunk-M74YW332.js +164 -0
  43. package/dist/cli-bundle/focused-chunks/{chunk-7N6DOREF.js → chunk-MOT32PR2.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/chunk-ONDKO4EL.js +2 -0
  45. package/dist/cli-bundle/focused-chunks/{chunk-5FHTCOHS.js → chunk-TGMSSI3Z.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/chunk-TWE3GPQM.js +30 -0
  47. package/dist/cli-bundle/focused-chunks/chunk-UJCQXUD2.js +8 -0
  48. package/dist/cli-bundle/focused-chunks/chunk-VS6MR2HT.js +2 -0
  49. package/dist/cli-bundle/focused-chunks/chunk-YOPNRWSX.js +2 -0
  50. package/dist/cli-bundle/main.js +26 -26
  51. package/dist/cli-bundle/sdk-authoring.js +1 -1
  52. package/dist/cli-bundle/sdk-contracts.js +2 -2
  53. package/dist/cli-bundle/sdk-core.js +37 -37
  54. package/dist/cli-bundle/sdk-governance.js +1 -1
  55. package/dist/cli-bundle/sdk-graph.js +1 -1
  56. package/dist/cli-bundle/sdk-merge.js +42 -42
  57. package/dist/cli-bundle/sdk-query.js +1 -1
  58. package/dist/cli-bundle/sdk-runtime.js +1 -1
  59. package/dist/cli-bundle/sdk-testing.js +1 -1
  60. package/dist/cli-bundle/sdk.js +10 -10
  61. package/dist/core/history/digest.d.ts +12 -0
  62. package/dist/core/history/digest.js +2 -0
  63. package/dist/core/history/drift-scan.js +1 -1
  64. package/dist/core/history/history.d.ts +5 -3
  65. package/dist/core/history/history.js +2 -2
  66. package/dist/core/history/replay.d.ts +3 -2
  67. package/dist/core/history/replay.js +1 -1
  68. package/dist/core/telemetry/runtime.d.ts +1 -0
  69. package/dist/core/telemetry/runtime.js +2 -2
  70. package/dist/sdk/agent/command-recovery.js +1 -1
  71. package/dist/sdk/agent/item-addressing.js +1 -1
  72. package/dist/sdk/agent/refusal-corpus-contracts.js +1 -1
  73. package/dist/sdk/agent-capability-contracts.js +1 -1
  74. package/dist/sdk/cli-bootstrap.d.ts +2 -1
  75. package/dist/sdk/cli-bootstrap.js +1 -1
  76. package/dist/sdk/cli-contracts/command-aliases.d.ts +13 -1
  77. package/dist/sdk/cli-contracts/command-aliases.js +1 -1
  78. package/dist/sdk/cli-contracts/enum-contracts.d.ts +1 -1
  79. package/dist/sdk/cli-contracts/enum-contracts.js +1 -1
  80. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  81. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  82. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  83. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  84. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +4 -1
  85. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  86. package/dist/sdk/cli-contracts/tool-schema.d.ts +3 -3
  87. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  88. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +2 -0
  89. package/dist/sdk/cli-contracts.d.ts +1 -1
  90. package/dist/sdk/cli-contracts.js +1 -1
  91. package/dist/sdk/completion.d.ts +2 -0
  92. package/dist/sdk/completion.js +375 -350
  93. package/dist/sdk/contracts.d.ts +1 -0
  94. package/dist/sdk/contracts.js +1 -1
  95. package/dist/sdk/governance.d.ts +3 -0
  96. package/dist/sdk/governance.js +1 -1
  97. package/dist/sdk/history/attestation-command.d.ts +22 -0
  98. package/dist/sdk/history/attestation-command.js +3 -0
  99. package/dist/sdk/history/attestation-contract.d.ts +103 -0
  100. package/dist/sdk/history/attestation-contract.js +2 -0
  101. package/dist/sdk/history/attestation-scan.d.ts +16 -0
  102. package/dist/sdk/history/attestation-scan.js +2 -0
  103. package/dist/sdk/history/attestation.d.ts +8 -0
  104. package/dist/sdk/history/attestation.js +2 -0
  105. package/dist/sdk/history/salvage.js +1 -1
  106. package/dist/sdk/history-compact.js +1 -1
  107. package/dist/sdk/history-read.js +1 -1
  108. package/dist/sdk/history-redact.js +1 -1
  109. package/dist/sdk/history-repair.js +1 -1
  110. package/dist/sdk/index.d.ts +3 -1
  111. package/dist/sdk/index.js +1 -1
  112. package/dist/sdk/lifecycle/claim.js +1 -1
  113. package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +1 -1
  114. package/dist/sdk/lifecycle/lifecycle-transitions.js +1 -1
  115. package/dist/sdk/lifecycle/mcp-actions.js +1 -1
  116. package/dist/sdk/lifecycle/task-composition.d.ts +17 -0
  117. package/dist/sdk/lifecycle/task-composition.js +2 -0
  118. package/dist/sdk/public-surface.json +1 -1
  119. package/dist/sdk/query/workspace-contracts.d.ts +3 -0
  120. package/dist/sdk/query/workspace-contracts.js +2 -0
  121. package/dist/sdk/read-output-budget.d.ts +4 -10
  122. package/dist/sdk/read-output-budget.js +1 -1
  123. package/dist/sdk/read-output-contracts.d.ts +1 -1
  124. package/dist/sdk/read-output-contracts.js +1 -1
  125. package/dist/sdk/read-output-session.d.ts +1 -1
  126. package/dist/sdk/read-output-session.js +1 -1
  127. package/dist/sdk/runtime-input.js +1 -1
  128. package/dist/sdk/runtime.d.ts +72 -9
  129. package/dist/sdk/runtime.js +1 -1
  130. package/dist/types.d.ts +5 -1
  131. package/dist/types.js +1 -1
  132. package/docs/CLI_GRAMMAR.md +23 -0
  133. package/docs/COMMANDS.md +26 -24
  134. package/docs/COMMAND_NAMESPACES.md +65 -0
  135. package/docs/HISTORY_ATTESTATION.md +164 -0
  136. package/docs/LIFECYCLE_COMMANDS.md +77 -0
  137. package/docs/README.md +3 -0
  138. package/docs/READ_OUTPUT_CONTRACTS.md +13 -0
  139. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +6 -6
  140. package/docs/generated/AGENT_COMMAND_SURFACE.md +24 -0
  141. package/docs/generated/FLAG_LEXICON_BUDGETS.md +26 -3
  142. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -4
  143. package/marketplace.json +2 -2
  144. package/package.json +4 -4
  145. package/packages/pm-beads/package.json +1 -1
  146. package/packages/pm-calendar/package.json +1 -1
  147. package/packages/pm-command-kit/package.json +1 -1
  148. package/packages/pm-digital-twin/package.json +1 -1
  149. package/packages/pm-governance-audit/README.md +13 -9
  150. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +6 -3
  151. package/packages/pm-governance-audit/package.json +1 -1
  152. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +7 -19
  153. package/packages/pm-guide-shell/package.json +1 -1
  154. package/packages/pm-kanban/package.json +1 -1
  155. package/packages/pm-lifecycle-hooks/package.json +1 -1
  156. package/packages/pm-linked-test-adapters/package.json +1 -1
  157. package/packages/pm-search-advanced/README.md +15 -9
  158. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +3 -2
  159. package/packages/pm-search-advanced/package.json +1 -1
  160. package/packages/pm-templates/package.json +1 -1
  161. package/packages/pm-todos/package.json +1 -1
  162. package/packages/pm-vcs/package.json +1 -1
  163. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  164. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  165. package/dist/cli-bundle/chunks/chunk-4VL5P22L.js +0 -2
  166. package/dist/cli-bundle/chunks/chunk-AAFBV3U3.js +0 -29
  167. package/dist/cli-bundle/chunks/chunk-D3YVILJJ.js +0 -20
  168. package/dist/cli-bundle/chunks/chunk-J6ERHBV2.js +0 -235
  169. package/dist/cli-bundle/chunks/chunk-JUNJ5EKI.js +0 -2
  170. package/dist/cli-bundle/chunks/chunk-NSAPNEYH.js +0 -2
  171. package/dist/cli-bundle/chunks/chunk-WQKMSFBV.js +0 -5
  172. package/dist/cli-bundle/chunks/chunk-XZ6T7YPP.js +0 -2217
  173. package/dist/cli-bundle/chunks/chunk-Z3XVXUVF.js +0 -8
  174. package/dist/cli-bundle/chunks/register-mutation-WHWMGRVX.js +0 -20
  175. package/dist/cli-bundle/chunks/register-operations-64YZYTC5.js +0 -2
  176. package/dist/cli-bundle/focused-chunks/chunk-2W4XIYOB.js +0 -2
  177. package/dist/cli-bundle/focused-chunks/chunk-2WSBXIGF.js +0 -12
  178. package/dist/cli-bundle/focused-chunks/chunk-FE3BABLJ.js +0 -2
  179. package/dist/cli-bundle/focused-chunks/chunk-IWITF53W.js +0 -2
  180. package/dist/cli-bundle/focused-chunks/chunk-OQUGRHKV.js +0 -10
  181. package/dist/cli-bundle/focused-chunks/chunk-TTYXF5YD.js +0 -177
  182. package/dist/cli-bundle/focused-chunks/chunk-XNR3DM6J.js +0 -2
  183. package/dist/cli-bundle/focused-chunks/chunk-XSS3APUF.js +0 -9
  184. package/dist/cli-bundle/focused-chunks/chunk-YCDQ2N23.js +0 -8
@@ -1,10 +0,0 @@
1
- import{$ as v,Mc as W,Na as le,Ob as be,Ta as fe,Wc as ve,aa as k,la as N,md as ke,nd as Ee,tb as me,ub as _e,vb as pe,wb as ge,xb as ye,yb as he,zb as we}from"./chunk-XSS3APUF.js";import kt from"node:crypto";import{AsyncLocalStorage as Et}from"node:async_hooks";(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]="38ed5847-939e-5846-bc7d-6d257d36a25f")}catch{}})();var xe=new Et,Ie=1024;function Ce(){let e=xe.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function xo(e){let t=xe.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>Ie)throw new Error(`Reproducible token length must be an integer between 0 and ${Ie}`);let n="";for(;n.length<e;){let o=kt.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let r of o)if(n+=(r%36).toString(36),n.length===e)break}return 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]="a5bd8db9-cd23-5529-ad78-b7e87bd43b59")}catch{}})();var It=/^([+-]?)(\d+)([hdwm])$/i,xt=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,Ct=/^(\d{4})(\d{2})(\d{2})$/,At=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,St=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Tt=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ot=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function Se(){return Ce()??new Date().toISOString()}function Ro(e){return Number.isFinite(Date.parse(e))}function Rt(e){let t=Ot.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,o,r,i,s,a,c,d]=t,[f,m,u,l,_,p]=[n,o,r,i,s,a].map(Number);return m>=1&&m<=12&&u>=1&&u<=te(f,m-1)&&l<=23&&_<=59&&p<=59&&(c===void 0||Number(c)<=23)&&(d===void 0||Number(d)<=59)}function Do(e){let t=/\.(\d+)(?:Z|[+-]\d{2}:\d{2})$/iu.exec(e)?.[1];return Rt(e)&&(t===void 0||/^\d{0,3}0*$/u.test(t))}var Dt=1e4,q=new Map;function Ae(e){let t=q.get(e);if(t!==void 0)return t;let n=Date.parse(e);return q.size>=Dt&&be(q),q.set(e,n),n}function M(e,t){let n=Ae(e),o=Ae(t);return Number.isFinite(n)&&Number.isFinite(o)&&n!==o?n-o:e.localeCompare(t)}function No(e,t){return!(t.deadlineBefore&&(!e.deadline||M(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||M(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&M(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&M(e.updated_at,t.updatedBefore)>0||t.createdAfter&&M(e.created_at,t.createdAfter)<0||t.createdBefore&&M(e.created_at,t.createdBefore)>0)}function Q(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function ee(e){if(!e)return"";if(e.toUpperCase()==="Z")return"Z";let t=/^([+-]\d{2})(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}function Nt(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Mt(e){let t=[],n=d=>Nt(t,e,d),o=Ct.exec(e);if(o){let[,d,f,m]=o;n(`${d}-${f}-${m}`)}let r=At.exec(e);if(r){let[,d,f,m,u,l,_,p,g]=r,b=_?`:${_}`:"";n(`${d}-${f}-${m}T${u}:${l}${b}${Q(p)}${ee(g)}`)}let i=St.exec(e);if(i){let[,d,f,m,u,l,_]=i,p=u?`:${u}`:"";n(`${d}T${f}:${m}${p}${Q(l)}${ee(_)}`)}let s=Tt.exec(e);if(s){let[,d,f,m,u,l,_]=s,p=u?`:${u}`:"";n(`${d}T${f}:${m}${p}${Q(l)}${ee(_)}`)}let a=10,c=e.slice(0,a);if($t(c)){let d=a;for(;d<e.length&&Bt(e[d]);)d+=1;d<e.length&&n(`${c}T${e.slice(d)}`)}return t}function Lt(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Mt(e)){let o=Date.parse(n);if(Number.isFinite(o))return o}return Number.NaN}function $t(e){if(e.length!==10)return!1;for(let t=0;t<e.length;t+=1){let n=e[t];if(t===4||t===7){if(n!=="-")return!1;continue}let o=n.charCodeAt(0);if(o<48||o>57)return!1}return!0}function Bt(e){return e?e===" "||e===" "||e===`
2
- `||e==="\r"||e==="\f"||e==="\v":!1}function te(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Pt=["January","February","March","April","May","June","July","August","September","October","November","December"],Ut=/^(\d{4})-(\d{2})-(\d{2})/,Ft=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Gt(e,t,n){let o=Ut.exec(t)??Ft.exec(t);if(!o)return;let r=Number.parseInt(o[1],10),i=Number.parseInt(o[2],10),s=Number.parseInt(o[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new k(`Invalid ${a} value "${e}". Month "${o[2]}" is out of range \u2014 use a month between 01 and 12.`,v.USAGE);let c=te(r,i-1);if(s<1||s>c)throw new k(`Invalid ${a} value "${e}". ${Pt[i-1]} ${r} has ${c} days, so day "${o[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,v.USAGE)}function Wt(e,t){let n=new Date(e.getTime()),o=n.getUTCDate(),r=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(r/12),s=(r%12+12)%12,a=Math.min(o,te(i,s));return n.setUTCFullYear(i,s,a),n}function Mo(e,t=new Date,n="deadline"){let o=e.trim();if(o.toLowerCase()==="now")return t.toISOString();let r=It.exec(o);if(r){let s=r[1]==="-"?-1:1,a=Number.parseInt(r[2],10)*s,c=r[3].toLowerCase();if(c==="m")return Wt(t,a).toISOString();let d=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*d).toISOString()}Gt(e,o,n);let i=Lt(o);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=xt.test(o)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new k(`Invalid ${s} value "${e}". ${a}`,v.USAGE)}return new Date(i).toISOString()}import{randomUUID as vn}from"node:crypto";import{constants as $}from"node:fs";import{lstat as Qe,mkdir as kn,open as tt,rename as En,rm as In}from"node:fs/promises";import X from"node:path";import{constants as Qt}from"node:fs";import I from"node:fs/promises";import j from"node:path";import{randomUUID as oe}from"node:crypto";import{existsSync as zt}from"node:fs";import{AsyncLocalStorage as Ht}from"node:async_hooks";import C 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]="b2cf7f56-432d-5c74-ba0f-248c42a97255")}catch{}})();(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]="07566a0b-2917-5ed8-828a-d811ae48dfaf")}catch{}})();function Uo(){let e=Promise.resolve(),t=new Set;return{async read(n){let o=e,r,i=new Promise(s=>{r=s});t.add(i),await o;try{return await n()}finally{t.delete(i),r()}},write(n){let r=Promise.all([e,...t]).then(()=>n());return e=r.then(()=>{},()=>{}),r}}}function qt(){let e=Promise.resolve(),t=0,n=[],o=()=>{if(t!==0)return;let r=n.splice(0);for(let i of r)i()};return{enqueue(r){t++;let i=e.then(()=>r());return e=i.then(()=>{},()=>{}).finally(()=>{t--,o()}),i},idle(){return t===0?Promise.resolve():new Promise(r=>n.push(r))}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0989270e-6969-5059-b3df-06411211f701")}catch{}})();var L=null,Oe=null,jt=null,Xt=null,ne=null,Yt=null,Re=null,Kt=null;var Jt=[],De=new Ht;function y(){return De.getStore()}function Zo(e){return De.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var Vt=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Te(e){let t=C.resolve(e);for(;;){if(zt(C.join(t,".git")))return t;let n=C.dirname(t);if(n===t)return;t=n}}function Zt(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=Te(t)??C.resolve(t),o=Te(n);if(!e)return{source_workspace_root:n,...o?{repo_root:o}:{}};let r=C.relative(n,C.resolve(e)),i=r.length>0&&!r.startsWith(`..${C.sep}`)&&r!==".."&&!C.isAbsolute(r);return{source_workspace_root:n,...o?{repo_root:o}:{},...i?{pm_root_rel:r.split(C.sep).join("/")}:{}}}function Qo(e){let t=y();if(t){t.hooks=e;return}L=e}function er(e){let t=y();if(t){t.commands=e;return}Oe=e}function tr(e){let t=y();if(t){t.parsers=e;return}jt=e}function nr(e){let t=y();if(t){t.preflight=e;return}Xt=e}function or(e){let t=y();if(t){t.services=e;return}ne=e}function rr(e){let t=y();if(t){t.renderers=e;return}Yt=e}function ir(e){let t=y();if(t){t.registrations=e;return}Re=e}function sr(){let e=y();return e?e.registrations:Re}function ar(e){if(!e)return;let t=y();t?t.affectedItems.push(e):Jt.push(e)}function cr(e,t){if(!e||!e.id)return{};let n={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return n;let o=e;for(let r of t){if(typeof r!="string")continue;let i=r.startsWith("unset:")?r.slice(6):r;i==="id"||i==="type"||i==="status"||Vt.has(i)||Object.hasOwn(o,i)&&o[i]!==void 0&&(n[i]=o[i])}return n}async function Ne(e){let t=y(),n=t?t.hooks:L;return n?_e(n,e):[]}async function dr(e){let t=y(),n=t?t.hooks:L;n&&await me(n,e)}async function Me(e){let t=y(),n=t?t.hooks:L;return n?pe(n,e):[]}function ur(){let e=y();return((e?e.hooks:L)?.onRead?.length??0)>0}async function lr(e){let t=y(),n=t?t.hooks:L;return n?ge(n,e):[]}async function fr(e){let t=y(),n=t?t.commands:Oe;return n?ye(n,{...e,...Zt(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function Le(e,t){let n=y(),o=n?n.commandContext:Kt;return{service:e,command:o?.command,args:o?[...o.args]:[],options:o?.options?{...o.options}:{},global:o?.global?{...o.global}:void 0,pm_root:o?.pm_root,source_workspace_root:o?.source_workspace_root,repo_root:o?.repo_root,pm_root_rel:o?.pm_root_rel,payload:t}}async function z(e,t){let n=y(),o=n?n.services:ne;return o?we(o,Le(e,t)):{handled:!1,result:t,warnings:[]}}function mr(e,t){let n=y(),o=n?n.services:ne;return o?he(o,Le(e,t)):{handled:!1,result:t,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]="962659bb-37dc-52fa-9d07-6216d34c0d53")}catch{}})();function en(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,o=n.id,r=n.pid,i=n.owner,s=n.token,a=n.created_at,c=n.ttl_seconds;return typeof o!="string"||typeof r!="number"||!Number.isFinite(r)||typeof i!="string"||s!==void 0&&(typeof s!="string"||s.trim().length===0)||typeof a!="string"||typeof c!="number"||!Number.isFinite(c)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:o,pid:r,owner:i,...typeof s=="string"?{token:s}:{},created_at:a,ttl_seconds:c},warnings:[]}}async function H(e,t=!0){try{let n=await I.readFile(e,"utf8");return t&&await Me({path:e,scope:"project"}),en(n)}catch(n){return N(n)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function A(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function tn(e,t,n=process.platform){if(A(e,"EEXIST"))return!0;if(!A(e,"EPERM")&&!A(e,"EACCES")&&!A(e,"EBUSY"))return!1;try{return await I.lstat(t),!0}catch(o){if(n!=="win32"||!N(o)&&!A(o,"EPERM")&&!A(o,"EACCES")&&!A(o,"EBUSY"))return!1}try{return await I.access(j.dirname(t),Qt.W_OK),!0}catch{return!1}}async function Ge(e,t){await Ne({path:e,scope:"project",op:t})}function nn(e,t,n,o=oe()){return{id:e,pid:process.pid,owner:t,token:o,created_at:Se(),ttl_seconds:n}}async function on(e,t,n,o,r){await I.mkdir(j.dirname(e),{recursive:!0});let i=await I.open(e,"wx");try{await i.writeFile(`${JSON.stringify(nn(t,n,o,r),null,2)}
3
- `,"utf8")}finally{await i.close()}await Ge(e,"lock:create")}async function We(e,t){try{return await I.unlink(e),await Ge(e,t),!0}catch{return!1}}async function rn(e,t,n,o){let r=Date.now(),i=ze;for(;;){let s=await Ve(e,t);if(s!==null){try{let d=await H(e,!1);$e(d.info,t,n,o)&&await We(e,"lock:release")}finally{await s()}return}let a=await H(e,!1);if(!$e(a.info,t,n,o))return;let c=Date.now()-r;if(c>=Be)return;await Xe(Math.min(i,Be-c)),i=Math.min(i*2,re)}}function $e(e,t,n,o){return e?.id===t&&e.pid===process.pid&&e.owner===n&&e.token===o}function qe(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function sn(e){return e?.owner?` (owner ${e.owner})`:""}var ze=25,re=200,an=250,cn=3,dn=".stale-cleanup",He="owner.json",je=1e4,Be=je+re,un=60*6e4;function Pe(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function ln(e){let t=process.env.PM_LOCK_WAIT_MS,n=Pe(t);if(n!==void 0)return n;let o=Pe(e);return o!==void 0?o:0}function Xe(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Ye(e,t,n){let o=n>0?` after waiting ${n}ms`:"";return new k(`Item ${e} is locked${sn(t)}${o}`,v.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:an}})}function fn(e){if(typeof e=="function")return e;if(typeof e=="object"&&e!==null&&"release"in e){let t=e.release;return typeof t=="function"?t:null}return null}function mn(e,t,n,o){if(!n&&o){let r=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new k(`Item ${e} lock is stale${r}; rerun with --force when supported for this command`,v.CONFLICT)}}function _n(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,o=n.pid,r=n.token,i=n.process_start_identity;return typeof o!="number"||!Number.isInteger(o)||o<=0||typeof r!="string"||r.length===0||i!==void 0&&(typeof i!="string"||!/^\d+$/u.test(i))?null:{pid:o,token:r,...typeof i=="string"?{process_start_identity:i}:{}}}async function Ke(e){try{return _n(await I.readFile(j.join(e,He),"utf8"))}catch{return null}}function pn(e){if(!Number.isSafeInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return!A(t,"ESRCH")}}function gn(e){let t=e.lastIndexOf(")");if(t<0)return null;let n=e.slice(t+2).trim().split(/\s+/u)[19];return n!==void 0&&/^\d+$/u.test(n)?n:null}async function Je(e){try{return gn(await I.readFile(`/proc/${e}/stat`,"utf8"))}catch{return null}}async function yn(e=process.pid){let t=await Je(e);return{pid:e,...t===null?{}:{process_start_identity:t}}}async function hn(e,t,n){if(!pn(e.pid))return!1;let o=await Je(e.pid);return e.process_start_identity!==void 0&&o!==null?o===e.process_start_identity:t<=n}async function ie(e){try{return await I.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Ue(e,t){let n=await Ke(e);n===null||n.token!==t||await ie(e)}async function Fe(e){try{await I.mkdir(e)}catch(n){return A(n,"EEXIST"),null}let t={...await yn(),token:oe()};try{await I.writeFile(j.join(e,He),`${JSON.stringify(t)}
4
- `,"utf8")}catch{return await ie(e),null}return t}async function wn(e){let t;try{let o=await I.stat(e);if(t=Date.now()-o.mtimeMs,t<=je)return!1}catch(o){return N(o)}let n=await Ke(e);return n!==null&&await hn(n,t,un)?!1:ie(e)}async function Ve(e,t){let n=`${e}${dn}`,o=await Fe(n);if(o!==null)return async()=>Ue(n,o.token);if(!await wn(n))return null;let r=await Fe(n);return r===null?null:async()=>Ue(n,r.token)}async function bn(e){let t=await Ve(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await H(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!qe(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(mn(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=cn)throw Ye(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await We(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function Ze(e,t,n,o,r=!1,i=!0,s){let a=await z("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:o,force:r,force_required_for_stale_lock:i});if(a.handled){let _=fn(a.result);if(_)return async()=>{await Promise.resolve(_()),await z("lock_release",{pm_root:e,id:t,owner:o})}}let c=le(e,t),d=ln(s),f=Date.now(),m=0,u=ze,l=oe();for(;;)try{return await on(c,t,o,n,l),async()=>{await rn(c,t,o,l),await z("lock_release",{pm_root:e,id:t,owner:o})}}catch(_){if(!await tn(_,c))throw new k(`Failed to acquire lock for ${t}: ${fe(_)}`,v.GENERIC_FAILURE);let p=await H(c);if(qe(p.info,n)){let b=await bn({lockPath:c,id:t,ttlSeconds:n,force:r,forceRequiredForStaleLock:i,staleRemovals:m,waitBudgetMs:d,startedAtMs:f,fallbackLockInfo:p});if(p=b.lockInfo,b.staleRemovalCounted&&(m+=1),b.shouldRetryCreate)continue}let g=Date.now()-f;if(d===0||g>=d)throw Ye(t,p.info,d===0?0:g);await Xe(Math.min(u,d-g)),u=Math.min(u*2,re)}}(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]="72eb01a9-e8b8-59cd-b178-3c594d3faff9")}catch{}})();var S={max_serving_rows:256,max_bytes:262144,max_event_bytes:32768,retained_byte_fraction:.5,max_events:2048,retention_days:30},h=class extends TypeError{code="context_usage_validation_failed";constructor(t){super(t),this.name="ContextUsageValidationError"}};function R(e){let t=Date.parse(e.now??new Date().toISOString());if(!Number.isFinite(t))throw new h("Context usage now must be a valid timestamp");return{iso:new Date(t).toISOString(),ms:t}}function nt(e){let t=e.maxBytes??S.max_bytes,n=e.maxEvents??S.max_events,o=e.retentionDays??S.retention_days;if(!Number.isSafeInteger(t)||t<1024||t>S.max_bytes||!Number.isSafeInteger(n)||n<1||!Number.isFinite(o)||o<=0)throw new h("Context usage retention requires positive maxEvents and retentionDays, and maxBytes from 1024 through 262144");return{maxBytes:t,maxEvents:n,cutoff:R(e).ms-o*864e5}}async function ot(e,t){if(!(await Qe(X.dirname(e))).isDirectory())throw new h("Context usage runtime must be a real directory");try{if((await Qe(e)).isSymbolicLink())throw new h("Context usage ledger must not be a symbolic link")}catch(o){if(!N(o))throw o}let n=await tt(e,t|$.O_NOFOLLOW|$.O_NONBLOCK,384);try{let o=await n.stat();if(!o.isFile()||o.nlink!==1)throw new h("Context usage ledger must be an unshared regular file");return n}catch(o){throw await n.close(),o}}async function Y(e){let t=nt(e);try{let n=await ot(X.join(e.pmRoot,"runtime","context-usage.jsonl"),$.O_RDONLY);try{let o=(await n.stat()).size,r=Math.max(0,o-t.maxBytes),i=Buffer.alloc(Math.min(o,t.maxBytes)),{bytesRead:s}=await n.read(i,0,i.length,r),a=i.subarray(0,s).toString("utf8");return(r>0?a.includes(`
5
- `)?a.slice(a.indexOf(`
6
- `)+1):"":a).split(`
7
- `).flatMap(d=>{try{let f=JSON.parse(d);return f&&Date.parse(f.at)>=t.cutoff?[f]:[]}catch{return[]}}).slice(-t.maxEvents)}finally{await n.close()}}catch{return[]}}function et(e,t,n){let o=[],r=0;for(let i=e.length-1;i>=0&&o.length<n;i-=1){let s=`${JSON.stringify(e[i])}
8
- `;if(r+=Buffer.byteLength(s),r>t)break;o.push(s)}return o.reverse().join("")}async function F(e,t,n){let o=nt(e),r=X.join(e.pmRoot,"runtime","context-usage.jsonl"),i=Math.floor(o.maxBytes*S.retained_byte_fraction),s=Math.min(S.max_event_bytes,i);if(t.some(u=>Buffer.byteLength(`${JSON.stringify(u)}
9
- `)>s))throw new h("Context usage event exceeds the declared byte ceiling");let a=t.filter(u=>Date.parse(u.at)>=o.cutoff),c=et(a,i,o.maxEvents),d=performance.now(),f=await Ze(e.pmRoot,"context-usage-ledger",30,`context-usage:${process.pid}`,!1,!1,3e3),m=performance.now()-d;try{await kn(X.dirname(r),{recursive:!0});let u=await ot(r,$.O_WRONLY|$.O_CREAT|$.O_APPEND);try{let l=(await u.stat()).size,_=n===void 0?void 0:await Y(e);if(_?.some(G=>G.kind==="delivery"&&G.serve_id===n))return{written_bytes:0,ledger_bytes:l,compacted:!1,lock_wait_ms:m};if(!(e.maxEvents!==void 0||e.retentionDays!==void 0)&&l+Buffer.byteLength(c)<=o.maxBytes)return await u.writeFile(c,"utf8"),{written_bytes:Buffer.byteLength(c),ledger_bytes:l+Buffer.byteLength(c),compacted:!1,lock_wait_ms:m};let g=et([..._??await Y(e),...a],i,o.maxEvents),b=`${r}.${process.pid}.${vn()}.tmp`,U=await tt(b,"wx",384);try{try{await U.writeFile(g,"utf8")}finally{await U.close()}return await u.close(),u=void 0,await En(b,r),{written_bytes:Buffer.byteLength(g),ledger_bytes:Buffer.byteLength(g),compacted:!0,lock_wait_ms:m}}finally{await In(b,{force:!0})}}finally{await u?.close()}}finally{await f()}}import{randomUUID as xn}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3b38d564-6034-54ae-ad24-eddba01a2c5c")}catch{}})();var Cn=864e5,K=Symbol.for("@unbrained/pm-cli/context-usage-serving-receipt");function w(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Gr(e,t){let n=w(e);n!==null&&t!==null&&(n[K]=t)}function se(e,t){let n=w(e),o=w(t),r=n?.[K];o!==null&&r!==void 0&&(o[K]=r)}function An(e){return w(e)?.[K]??null}function it(e){let t=w(e);for(let n of["read_output","context_intent"])if(w(t?.[n])?.result_omitted===!0)return!0;return!1}function T(e,t){typeof t=="string"&&t.trim().length>0&&e.add(t.trim())}function st(e,t){if(Array.isArray(t))for(let n of t)T(e,w(n)?.id)}function rt(e,t){if(Array.isArray(t))for(let n of t)T(e,n)}function Sn(e,t){let n=w(e.recommended)===null?[]:[e.recommended];for(let o of["ready","decision_needed","gate_needed","containers","blocked","held_by_others"])Array.isArray(e[o])&&n.push(...e[o]);for(let o of n){let r=w(o);T(t,r?.id);for(let i of Array.isArray(r?.blockers)?r.blockers:[])T(t,w(i)?.id);for(let i of Array.isArray(r?.unblocks)?r.unblocks:[])T(t,i)}}function Tn(e,t){for(let n of["high_level","low_level","blocked_fallback","recently_created","unparented","activity","progress","blockers","staleness"])st(t,e[n]);for(let n of Array.isArray(e.blockers)?e.blockers:[])T(t,w(n)?.blocked_by);On(e,t)}function On(e,t){for(let r of Array.isArray(e.hierarchy)?e.hierarchy:[]){let i=w(r);T(t,i?.id),st(t,i?.children)}for(let r of["files","workload"])for(let i of Array.isArray(e[r])?e[r]:[])rt(t,w(i)?.items);let n=w(e.agenda);for(let r of Array.isArray(n?.events)?n.events:[])T(t,w(r)?.item_id);let o=w(e.tests);rt(t,o?.items_failing)}function Rn(e,t){let n=w(e);if(n===null||it(e))return[];let o=new Set;return t==="next"?Sn(n,o):Tn(n,o),[...o]}async function Wr(e){let t=An(e.result);if(t===null)return!1;let n=it(e.result);return await Dn({pmRoot:e.pmRoot,receipt:t,deliveredItemIds:Rn(e.result,t.surface),resultOmitted:n}),!0}async function qr(e){if([process.env.PM_CONTEXT_USAGE_DISABLED==="1",e.enabled===!1].includes(!0))return null;if(!e.author.trim()||e.rows.some(r=>!r.id.trim()||!Number.isInteger(r.rank)||r.rank<1))throw new h("Context usage serving requires an author and valid ranked rows");let t=e.rows.map(r=>({id:r.id.trim(),rank:r.rank,included:r.included}));if(new Set(t.map(r=>r.id)).size!==t.length)throw new h("Context usage serving requires unique normalized row ids");let n=t.slice(0,S.max_serving_rows),o={serve_id:xn(),author:e.author.trim(),surface:e.surface,rows:t,recorded_item_ids:n.map(r=>r.id)};return o.storage=await F(e,[{kind:"serve",schema_version:2,serve_id:o.serve_id,at:R(e).iso,author:e.author.trim(),surface:e.surface,profile:e.profile.trim()||"balanced",rows:n,candidate_count:t.length,omitted_row_count:t.length-n.length,result_omitted:!1,packed_item_ids:n.filter(r=>r.included).map(r=>r.id)}]),o}async function Dn(e){if(e.receipt===null||process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return;let t=new Set(e.receipt.rows.map(i=>i.id)),n=[...new Set(e.deliveredItemIds.map(i=>i.trim()))];if(n.some(i=>i.length===0||!t.has(i))||e.resultOmitted&&n.length>0)throw new h("Context usage delivery requires emitted ranked ids and zero ids for an omitted result");let o=new Set(e.receipt.recorded_item_ids??e.receipt.rows.map(i=>i.id)),r={kind:"delivery",schema_version:2,serve_id:e.receipt.serve_id,at:R(e).iso,author:e.receipt.author,surface:e.receipt.surface,result_omitted:e.resultOmitted,delivered_item_ids:n.filter(i=>o.has(i))};await F(e,[r],r.serve_id)}async function zr(e){if(!(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)){if(!e.author.trim()||!e.itemId.trim()||!e.intent.trim())throw new h("Context usage touch requires author, itemId, and intent");await F(e,[{kind:"touch",at:R(e).iso,author:e.author.trim(),item_id:e.itemId.trim(),intent:e.intent.trim()}])}}async function Hr(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1||e.itemIds.length===0)return;let t=e.author.trim(),n=e.intent.trim();if(!t||!n)throw new h("Context usage touch requires author and intent");let o=new Set;for(let s of e.itemIds){if(typeof s!="string")throw new h("Context usage touch requires string itemIds");let a=s.trim();if(!a)throw new h("Context usage touch requires non-empty itemId");o.add(a)}let r=R(e).iso,i=[...o].map(s=>({kind:"touch",at:r,author:t,item_id:s,intent:n}));await F(e,i)}function Nn(e,t,n,o){return e.find(({entry:r,time:i})=>r.item_id===t&&i>=n&&i-n<=o)?.time}function Mn(e,t){let n=new Map;for(let o of e)o.kind==="delivery"&&o.schema_version===2&&o.author===t&&!n.has(o.serve_id)&&n.set(o.serve_id,o);return n}async function jr(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return{affinity:{},positive_judgments:0,serving_events:0,untrusted_serving_events:0};let t=await Y(e),n=R(e).ms,o=(e.horizonHours??24)*36e5;if(![Number.isFinite(o),o>0].every(Boolean))throw new h("Context usage horizonHours must be positive");let r=e.author.trim(),i=t.filter(l=>l.kind==="touch").filter(l=>l.author===r).map(l=>({entry:l,time:Date.parse(l.at)})),s=new Map,a=0,c=0,d=0,f=Mn(t,r);t.filter(l=>l.kind==="serve").filter(l=>l.author===r).forEach(l=>{if(![l.schema_version===2,!!l.serve_id].every(Boolean)){c+=1;return}a+=1;let _=Date.parse(l.at),p=f.get(l.serve_id),g=new Set(p?.delivered_item_ids??[]);for(let b of l.rows){if(!g.has(b.id))continue;let U=Nn(i,b.id,_,o);if(U===void 0)continue;d+=1;let G=Math.max(0,(n-U)/Cn);s.set(b.id,(s.get(b.id)??0)+Math.exp(-G/14))}});let m=Math.max(0,...s.values());return{affinity:Object.fromEntries([...s.entries()].map(([l,_])=>[l,m===0?.05:.05+.95*_/m])),positive_judgments:d,serving_events:a,untrusted_serving_events:c}}import{AsyncLocalStorage as no}from"node:async_hooks";(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]="b18eefc1-0d1d-5c9c-b98a-b96771070301")}catch{}})();var at=new Set(["--pm-path","--path","--author","--output-include","--output-limit","--output-budget","--output-format","--output-session","--output-cursor"]),Ln=new Set(["--no-extensions","--no-pager","--json","--quiet","--lean","--token-accounting","--output-row-contract","--all"]);function $n(e){let t=e.indexOf("=");return t>0&&at.has(e.slice(0,t))}function Bn(e,t){return typeof t!="string"?!1:e==="--path"||e==="--pm-path"||!t.startsWith("-")}function ct(e){for(let t=0;t<e.length;t+=1){let n=e[t];if(n==="--")return;if(at.has(n)){t+=Bn(n,e[t+1])?1:0;continue}if(!($n(n)||Ln.has(n)||n==="--profile"||n==="--id-only"||n==="--explain")&&!n.startsWith("-"))return t}}function Yr(e){let t=ct(e);return t===void 0?void 0:e[t].trim().toLowerCase()}(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]="4ed3e8a4-97a1-5082-afd3-5942d47bc054")}catch{}})();var Pn=e=>{let t='"',n=0;for(let o of e){if(o==="\\"){n+=1;continue}t+="\\".repeat(o==='"'?n*2+1:n),t+=o,n=0}return`${t}${"\\".repeat(n*2)}"`},Un=(e,t=process.platform)=>(t==="win32"?/^[A-Za-z0-9._:/\\@=-]+$/:/^[A-Za-z0-9._:/@=-]+$/).test(e)?e:t==="win32"?Pn(e):`"${e.replace(/(["\\$`])/g,"\\$1")}"`,ae=(e,t=process.platform)=>{let n=e.map(o=>Un(o,t)).join(" ");return n.length>0?`pm ${n}`:"pm"};(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]="6c87b004-3647-531a-9599-d37fd91c2807")}catch{}})();var ft=new WeakMap;function ei(e,t){ft.set(e,new Set(t))}var dt='.row_contract.row_keys[] as $key | getpath($key | split(".")) | if type == "array" then .[] else if type == "object" then to_entries[] else empty end end',Fn={context:{row_keys:["high_level","low_level"],fields:"supported"},get:{row_keys:["children"],fields:"supported"},list:{row_keys:["items"],fields:"supported"},next:{row_keys:["recommended","ready","decision_needed","gate_needed","containers","blocked","held_by_others"],fields:"unsupported"},search:{row_keys:["items"],fields:"supported"},activity:{row_keys:["activity_digest","compact_activity","provenance_activity","activity"],fields:"unsupported"},history:{row_keys:["compact_history","provenance_history","history"],fields:"unsupported"},deps:{row_keys:["graph.nodes","graph.edges","context.nodes","context.edges"],fields:"unsupported"},health:{row_keys:["checks"],fields:"unsupported"},aggregate:{row_keys:["groups"],fields:"unsupported"},duplicates:{row_keys:["clusters"],fields:"unsupported"},stats:{row_keys:["by_type","by_status"],fields:"unsupported"},comments:{row_keys:["comments"],fields:"unsupported"},notes:{row_keys:["notes"],fields:"unsupported"},learnings:{row_keys:["learnings"],fields:"unsupported"},files:{row_keys:["files"],fields:"unsupported"},docs:{row_keys:["docs"],fields:"unsupported"},validate:{row_keys:["checks","warnings"],fields:"unsupported"},contracts:{row_keys:["command_summaries","commands"],fields:"unsupported"}},Gn=[{command:"activity",complete_mode:"full",omissions_by_mode:{digest:[{name:"event_rows",restore_with:"--raw"}],compact:[{name:"provenance",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}},{command:"history",complete_mode:"full",omissions_by_mode:{compact:[{name:"raw_history",restore_with:"--full"}],provenance:[{name:"patch_and_hashes",restore_with:"--full"}]}}];function ti(e,t,n){if(e&&t)throw new k(`${n} cannot be combined with --full`,v.USAGE)}function x(e,t=new Set){let n=e.filter(o=>!t.has(o.name)).map(o=>({...o}));return{has_omissions:n.length>0,omitted_field_group_count:n.length,omitted_field_groups:n}}function ni(e,t){let n=Gn.find(r=>r.command===e);if(n===void 0)throw new TypeError(`Unknown mode-paired output command: ${e}`);if(t===n.complete_mode)return x([]);let o=n.omissions_by_mode[t];if(o===void 0)throw new TypeError(`Unknown ${e} output mode: ${t}`);return x(o)}var Wn=[{name:"hierarchy",restore_with:"--depth standard"},{name:"activity",restore_with:"--depth standard"},{name:"progress",restore_with:"--depth standard"},{name:"blockers",restore_with:"--depth standard"},{name:"recently_created",restore_with:"--depth standard"},{name:"unparented",restore_with:"--depth standard"},{name:"files",restore_with:"--depth deep"},{name:"workload",restore_with:"--depth standard"},{name:"staleness",restore_with:"--depth deep"},{name:"tests",restore_with:"--depth deep"},{name:"workspace_memory",restore_with:"--depth deep"}];function E(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var qn=new Set([void 0,"tabular_when_uniform"]),zn=new Set(["collection","none"]),Hn=new Set(["supported","unsupported"]);function ut(e,t){return Array.isArray(e)&&(t||e.length>0)&&e.every(n=>typeof n=="string"&&n.length>0)&&new Set(e).size===e.length}function jn(e){return E(e)&&typeof e.command=="string"&&e.command.trim().length>0&&zn.has(e.row_kind)&&ut(e.row_keys,!0)&&(e.continuation_row_keys===void 0||ut(e.continuation_row_keys,!1))&&Hn.has(e.fields)&&qn.has(e.toon_encoding)&&(e.row_kind==="collection"?e.row_keys.length>0&&typeof e.jq_selector=="string"&&e.jq_selector.trim().length>0:e.row_keys.length===0&&e.jq_selector===void 0)}var Xn={ancestors:["ids"],descendants:["ids"],predecessors:["ids"],successors:["ids"],paths:["paths"],impact:["affected"],audit:["findings"],communities:["communities"],redundancy:["redundant"],dominators:["bottlenecks"],slack:["rows"],centrality:["rows"],articulation:["articulation_points","bridges"],plan:["steps"]},Yn={context:["sections_included","high_level","low_level"],get:["item"],list:["items","projection"],next:["recommended","ready","decision_needed","gate_needed","containers","blocked","held_by_others"],search:["items","projection"],activity:["activity_digest","compact_activity","provenance_activity","activity"],history:["compact_history","provenance_history","history"],deps:["tree","graph","projection"],health:["checks"],aggregate:["groups"],duplicates:["clusters"],stats:["totals","by_type","by_status"],comments:["comments"],notes:["notes"],learnings:["learnings"],files:["files"],docs:["docs"],validate:["checks","warnings"],contracts:["command_summaries","commands","selected"]};function Kn(e,t){let n=e.trim().toLowerCase().split(/\s+/u,1)[0],o=n?.startsWith("list-")?"list":n;if(o==="graph"){let s=typeof t.subcommand=="string"?t.subcommand:"";if(s.length===0)return;let a=Xn[s];if(a===void 0)return;let c=a.filter(d=>Array.isArray(t[d])||E(t[d]));return{command:"graph",row_kind:c.length>0?"collection":"none",row_keys:c,fields:"unsupported",...c.length>0?{jq_selector:dt}:{},toon_encoding:"tabular_when_uniform"}}let r=Fn[o],i=Yn[o];return r===void 0||i===void 0||!i.some(s=>Object.hasOwn(t,s))?void 0:(()=>{let s=r.row_keys.filter(a=>{let c=a.split(".").reduce((d,f)=>E(d)?d[f]:void 0,t);return Array.isArray(c)||E(c)});return{command:o,row_kind:s.length>0?"collection":"none",row_keys:s,fields:r.fields,...s.length>0?{jq_selector:dt}:{},toon_encoding:"tabular_when_uniform"}})()}function Jn(e){if(!E(e.projection)||typeof e.projection.mode!="string"||e.projection.mode.trim().length===0)return;let t=e.projection.declared_field_groups,n=e.projection.included_field_groups;if(!Array.isArray(t)||!Array.isArray(n))return;let o=t.filter(s=>E(s)&&typeof s.name=="string"&&s.name.trim().length>0&&typeof s.restore_with=="string"&&s.restore_with.trim().length>0),r=n.filter(s=>typeof s=="string");if(o.length!==t.length||r.length!==n.length)return;let i=new Set(o.map(s=>s.name));if(!(i.size!==o.length||new Set(r).size!==r.length||r.some(s=>!i.has(s))))return x(o,new Set(r))}function Vn(e){if(!Array.isArray(e.sections_included))return;let t=x(Wn,new Set(e.sections_included.filter(n=>typeof n=="string")));return E(e.summary)&&e.summary.scope==="matching_items"&&(t.summary_scope="matching_items"),t}function Zn(e){if(!E(e.item))return;let t=e.item,n=["comments","notes","learnings","files","tests","docs","reminders","events"],o=["body","children","claim_state","linked","schedule"],r=ft.get(e),i=a=>n.includes(a)||a==="body"?t:e,s=["body",...n,...o.slice(1)].filter(a=>r===void 0||r.has(a)||Object.hasOwn(i(a),a)).map(a=>({name:a,restore_with:`--fields ${a}`}));return x(s,new Set(s.flatMap(({name:a})=>Object.hasOwn(i(a),a)?[a]:[])))}function lt(e){if(E(e.projection))return x([{name:"full_item_fields",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_item_fields"]:[]))}function Qn(e){if(!E(e.projection))return x([]);if(typeof e.projection.mode=="string")return x([{name:"full_check_details",restore_with:"--full"}],new Set(e.projection.mode==="full"?["full_check_details"]:[]))}function eo(e){if(!(!E(e.selected)||typeof e.selected.summary!="boolean"))return x([{name:"full_contract_catalog",restore_with:"--full"}],new Set(e.selected.summary?[]:["full_contract_catalog"]))}function to(e,t){let n=Jn(t);if(n!==void 0)return n;let[o]=e.split(/\s+/u,1);if(o==="context")return Vn(t);if(o==="get")return Zn(t);if(o==="list"||o.startsWith("list-"))return lt(t);if(o==="search")return lt(t)??x([{name:"projection_metadata",restore_with:"--full"}]);if(o==="health")return Qn(t);if(o==="contracts")return eo(t)}function mt(e,t){if(e===void 0||!E(t))return t;let n=to(e,t),o=t.row_contract,r=jn(o)?o:Kn(e,t),i=r!==void 0?{...t,row_contract:r}:Object.hasOwn(t,"row_contract")?Object.fromEntries(Object.entries(t).filter(([s])=>s!=="row_contract")):t;return E(i.omission_receipt)||n===void 0?i:{...i,omission_receipt: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]="6436107d-eedc-5c97-9d8f-6f119c9bbe29")}catch{}})();var pt=Object.freeze([{command:"context",intent:"orient",description:"Bounded active hierarchy, ownership, blockers, and recent progress.",included_field_groups:["summary","focus","hierarchy","blockers","activity"],token_budget:3e3,source:"core"},{command:"context",intent:"handoff",description:"Active ownership, evidence, decisions, and immediate continuation context.",included_field_groups:["summary","focus","in_progress","decisions","activity"],token_budget:2200,source:"core"},{command:"get",intent:"inspect",description:"Standard-depth item metadata, relationships, evidence, and lifecycle state.",included_field_groups:["item","children","claim_state","linked"],token_budget:3200,source:"core"},{command:"list",intent:"triage",description:"A budget-derived page of compact governance, ownership, priority, and blocker rows for triage.",included_field_groups:["identity","governance","ownership","dependencies"],token_budget:3200,source:"core"},{command:"next",intent:"execute",description:"The highest-ranked actionable work with concise ranking evidence.",included_field_groups:["recommended"],token_budget:1200,source:"core"},{command:"search",intent:"discover",description:"A budget-derived page of ranked canonical lineage candidates with compact match evidence.",included_field_groups:["identity","status","lineage","match"],token_budget:1800,source:"core"}]),gt=new no;function oo(){return gt.getStore()??pt}function fi(e,t){return gt.run(io(e.workspaceContracts,e.packageContracts),t)}function ro(e,t){let n=e.command.trim().toLowerCase(),o=e.intent.trim().toLowerCase(),r=`${n}:${o}`;if(!/^[a-z0-9][a-z0-9-]*$/.test(n)||!/^[a-z0-9][a-z0-9-]*$/.test(o))throw new TypeError(`Invalid context intent command or name: ${r}`);if(e.description.trim().length===0)throw new TypeError(`Context intent ${r} requires a non-empty description`);if(!Number.isSafeInteger(e.token_budget)||e.token_budget<=0)throw new TypeError(`Context intent ${r} requires a positive integer token_budget`);let i=[...new Set(e.included_field_groups.map(s=>s.trim()).filter(Boolean))];if(i.length===0)throw new TypeError(`Context intent ${r} requires included_field_groups`);return{command:n,intent:o,description:e.description.trim(),included_field_groups:i,token_budget:e.token_budget,source:t}}function io(e=[],t=[]){let n=[{source:"core",contracts:pt,allowOverride:!1},{source:"package",contracts:t,allowOverride:!1},{source:"workspace",contracts:e,allowOverride:!0}],o=new Map,r=new Set;for(let i of n){r.clear();for(let s of i.contracts){let a=ro(s,i.source),c=`${a.command}:${a.intent}`;if(r.has(c))throw new TypeError(`Duplicate context intent declaration: ${c}`);if(r.add(c),!i.allowOverride&&o.has(c))throw new TypeError(`Duplicate context intent declaration: ${c}`);o.set(c,a)}}return[...o.values()].sort((i,s)=>i.command.localeCompare(s.command)||i.intent.localeCompare(s.intent))}function yt(e,t,n=oo(),o=[]){let r=e.trim().toLowerCase(),i=t.trim().toLowerCase(),s=n.find(u=>u.command===r&&u.intent===i);if(s)return{...s,source:s.source??"core"};let a=n.filter(u=>u.command===r).map(u=>u.intent);if(a.length===0)return;let c=a.map(u=>{let l=Array.from({length:i.length+1},(_,p)=>p);for(let _=1;_<=u.length;_+=1){let p=l[0];l[0]=_;for(let g=1;g<=i.length;g+=1){let b=l[g];l[g]=Math.min(l[g]+1,l[g-1]+1,p+(u[_-1]===i[g-1]?0:1)),p=b}}return{candidate:u,distance:l[i.length]}}).sort((u,l)=>u.distance-l.distance||u.candidate.localeCompare(l.candidate))[0].candidate,d=[r,...o,"--for",i],f=[r,...o,"--for",c],m=ae(f);throw new k(`Unknown context intent "${i}" for ${r}. Did you mean "${c}"?`,v.USAGE,{code:"unknown_context_intent",reason:"unknown_intent",field:"for",flag:"--for",value:i,required:`Use a declared ${r} intent.`,why:"Intent names are command-local contracts and cannot be inferred from output section names.",nextSteps:[m],recovery:{recovery_mode:"compact",attempted_command:ae(d),allowed_values:[...a].sort(),suggested_retry:m,suggested_retry_args:f}})}var ht={context:(e,t,n)=>{e.depth===void 0&&(e.depth=t.intent==="handoff"?"deep":"standard"),e.section===void 0&&(e.section=t.intent==="handoff"?["activity","progress","blockers"]:["hierarchy","blockers","activity"]);let o=V(e.tokenBudget,t.token_budget),r=Z("context",t.intent,o,n),i=D(e.limit),s=String(i===void 0?r:Math.min(i,r));(e.limit===void 0||i!==void 0)&&(e.limit=s),e.activityLimit===void 0&&(e.activityLimit=s)},get:e=>{e.depth===void 0&&e.fields===void 0&&(e.depth="standard")},list:(e,t,n)=>{e.brief===void 0&&e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.fields="id,title,status,type,priority,parent,assignee,risk,blocked_by");let o=V(e.tokenBudget,t.token_budget),r=Z("list",t.intent,o,n),i=D(e.limit);(e.limit===void 0||i!==void 0)&&(e.limit=String(i===void 0?r:Math.min(i,r)))},next:e=>{e.readyOnly===void 0&&(e.readyOnly=!0)},search:(e,t,n)=>{e.compact===void 0&&e.full===void 0&&e.fields===void 0&&(e.compact=!0);let o=V(e.tokenBudget,t.token_budget),r=Z("search",t.intent,o,n),i=D(e.limit);(e.limit===void 0||i!==void 0)&&(e.limit=String(i===void 0?r:Math.min(i,r)))}};function mi(e,t,n=[]){let o=t.tokenBudget??t.token_budget;if(typeof t.for!="string"){if(o!==void 0&&(e==="get"||e==="list"||e==="search"))throw new k("--token-budget requires a declared context intent selected with --for",v.USAGE,{code:"missing_required_option",field:"for",required:"Select a context intent with --for when setting --token-budget.",why:"A token-budget override has no projection contract to constrain without a selected intent.",nextSteps:["Retry with --for <intent> --token-budget <n>, or omit --token-budget."]});if(t.tokenBudget!==void 0||t.token_budget===void 0)return t;let a={...t,tokenBudget:o};return delete a.token_budget,a}let r=yt(e,t.for,void 0,n),i=D(o)!==void 0,s={...t};return s.tokenBudget===void 0&&o!==void 0&&(s.tokenBudget=o),delete s.token_budget,s.tokenBudget===void 0&&(s.tokenBudget=String(r.token_budget)),ht[e](s,r,i),s}var so={context:"bounded_sections",get:"standard_item",list:"bounded_fields_and_rows",next:"bounded_ranked_rows",search:"bounded_ranked_rows"},J=256;function ce(e){return Array.isArray(e)?e.map(ce):e!==null&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,ce(n)])):typeof e=="string"&&e.length>240?`${e.slice(0,240)}\u2026`:e}function D(e){let t=typeof e=="number"?e:typeof e=="string"&&/^\d+$/u.test(e.trim())?Number(e):Number.NaN;return Number.isSafeInteger(t)&&t>0?t:void 0}function V(e,t){let n=D(e);if(n===void 0)return t;if(n<J)throw new k(`Context intent token budget must be at least ${J}`,v.USAGE,{code:"invalid_argument_value",reason:"below_minimum",field:"tokenBudget",required:`Use an integer token budget of at least ${J}.`,why:"Smaller ceilings cannot contain the minimum machine-readable intent receipt.",nextSteps:[`Retry with --token-budget ${J} or omit the override.`]});return n}function Z(e,t,n,o){if(e==="get"||e==="next")return;let r=e==="context"&&t==="orient",i=e==="context"?r?1200:800:e==="list"?520:480,s=e==="context"?r?600:500:16,a=Math.max(e==="context"?1:2,Math.floor((n-i)/s));return o?a:Math.min(e==="context"?20:100,a)}function O(e,t){let n=t.estimated_tokens;for(;;){t.estimated_tokens=n;let o=Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4);if(o===n)return;n=o}}var _t={context:["high_level","low_level","blocked_fallback","recently_created","unparented","hierarchy","activity","blockers"],get:["children"],list:["items"],next:["ready","decision_needed","gate_needed","containers","blocked","held_by_others"],search:["items"]};function wt(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString("utf8"));return typeof t.fingerprint!="string"||!Number.isSafeInteger(t.after_index)?void 0:{fingerprint:t.fingerprint,after_index:t.after_index,...typeof t.snapshot=="string"?{snapshot:t.snapshot}:{}}}catch{return}}function ao(e){if(e===null||typeof e!="object")return;if(typeof e.id=="string")return e.id;let t=e.item?.id;return typeof t=="string"?t:void 0}function co(e,t,n){let o=!1;for(;;){if(O(e,t),t.estimated_tokens<=t.token_budget||n.length<=1)return o;let r=Buffer.byteLength(JSON.stringify(n),"utf8"),i=(t.estimated_tokens-t.token_budget)*4;n.splice(-Math.min(n.length-1,Math.max(1,Math.ceil(i/Math.max(1,Math.ceil(r/n.length)))))),o=!0}}function uo(e,t,n){let o=e.items,r=typeof e.next_cursor=="string",i=r?e.next_cursor:n.after;if(!Array.isArray(o)||typeof i!="string")return!1;let s=wt(i);if(s===void 0)return!1;let a=o.length,c=[...o],d=!1;for(;;){if(d=co(e,t,o)||d,!d)return!1;let f=ao(o.at(-1));if(f===void 0)return o.splice(0,o.length,...c),O(e,t),!1;if(e.next_cursor=ve(s.fingerprint,f,r?s.after_index-(a-o.length):s.after_index+o.length,s.snapshot),O(e,t),t.estimated_tokens<=t.token_budget||o.length<=1)break}return typeof e.count=="number"&&(e.count=o.length),typeof e.applied_limit=="number"&&(e.applied_limit=o.length),!0}function lo(e,t,n,o){if(e==="list"||e==="search")return uo(t,n,o);if(e!=="next"||typeof t.next_cursor=="string")return!1;let r=!1;for(;;){if(O(t,n),n.estimated_tokens<=n.token_budget)return r;let i=_t[e].map(u=>({key:u,rows:Array.isArray(t[u])?t[u]:[]})).filter(({rows:u})=>u.length>0).sort((u,l)=>l.rows.length-u.rows.length||u.key.localeCompare(l.key))[0];if(i===void 0)return r;let s=_t[e].reduce((u,l)=>u+(Array.isArray(t[l])?t[l].length:0),0);if(s<=1)return r;let a=Math.min(i.rows.length,s-1),c=Buffer.byteLength(JSON.stringify(i.rows),"utf8"),d=Math.max(1,Math.ceil(c/i.rows.length)),f=(n.estimated_tokens-n.token_budget)*4,m=Math.min(a,Math.max(1,Math.ceil(f/d)));i.rows.splice(-m,m),r=!0}}function fo(e,t,n){if(typeof t.for!="string")return n;let o=e.startsWith("list-")?"list":e;if(!(o in ht))return n;let r=o,i=yt(r,t.for),s=V(t.tokenBudget??t.token_budget,i.token_budget),a={command:r,intent:i.intent,source:i.source,included_field_groups:[...i.included_field_groups],token_budget:s,declared_token_budget:i.token_budget,token_budget_override:s-i.token_budget,estimated_tokens:0,within_budget:!0,degradation:so[r],declaration_feasible:!0,result_omitted:!1},c={...n},d=Z(r,i.intent,a.token_budget,D(t.tokenBudget??t.token_budget)!==void 0);if(d!==void 0){let m=D(t.limit),u=m!==void 0&&m<d;a.budget_derived_limit=d,a.binding_constraint=u?"explicit_limit":"token_budget",a.limit_reason=u?"The caller supplied a smaller row limit than the budget-derived ceiling.":"The selected intent token budget constrains the effective row ceiling.",c.budget_derived_limit=d}let f={...c,context_intent:a};return O(f,a),a.estimated_tokens>a.token_budget&&(a.degradation="recursive_budget_compaction",f={...ce(c),context_intent:a},O(f,a)),a.estimated_tokens>a.token_budget&&lo(r,f,a,t)&&(a.degradation="budget_row_compaction",O(f,a)),a.declaration_feasible=a.estimated_tokens<=a.declared_token_budget,a.estimated_tokens>a.token_budget&&(a.degradation="budget_receipt_only",a.result_omitted=!0,a.within_budget=!1,f={budget_exceeded:{omitted_result:!0,reason:a.token_budget_override===0?"declared_budget_infeasible":"effective_budget_infeasible",restore_with:_o(e,r,i.intent,a,c)},context_intent:a}),f}function mo(e,t){if(typeof e.after!="string"||e.after.length===0)return t;let n=wt(e.after)?.fingerprint??"opaque_cursor",o={...t};for(let r of["applied_limit","completeness","context_intent","count","filters","has_more","now","omission_receipt","projection","row_contract","sorting","total","truncated"])delete o[r];return o.continuation_contract={fingerprint:n,metadata:"reference",restore_with:"omit --after"},o}function de(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function _o(e,t,n,o,r){let i=t==="get"&&de(r.item)&&typeof r.item.id=="string"?r.item.id:t==="search"&&typeof r.query=="string"?r.query:void 0,s=i===void 0?"":` '${i.replaceAll("'",`'"'"'`)}'`,a=t==="get"?"":` --limit ${o.budget_derived_limit??1}`;return`pm ${e}${s} --for ${n} --token-budget ${Math.ceil(o.estimated_tokens/100)*100}${a}`}function B(e,t){if(de(e))return typeof e[t]=="number"?e[t]:void 0}function po(e,t){let n=e;for(let o=0;o<8;o+=1){let r=B(n.context_intent,"estimated_tokens"),i=B(n.read_output,"estimated_tokens"),s=B(n.read_session,"spent_this_call_tokens");if(de(n.context_intent)&&O(n,n.context_intent),n=ke(n,t),B(n.context_intent,"estimated_tokens")===r&&B(n.read_output,"estimated_tokens")===i&&B(n.read_session,"spent_this_call_tokens")===s)break}return n}function _i(e,t,n){let o=mt(e,n),r=typeof o=="object"&&o!==null&&!Array.isArray(o)?Ee(e??"",t,mo(t,fo(e??"",t,o))):o;if(se(n,r),t.outputRowContract===!0||t.output_row_contract===!0||typeof r!="object"||r===null||Array.isArray(r)||!Object.hasOwn(r,"row_contract"))return r;let i=po(Object.fromEntries(Object.entries(r).filter(([s])=>s!=="row_contract")),t);return se(r,i),i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83c82348-64f8-5f10-9396-b03add0b7932")}catch{}})();var P=["result_rows","envelope","diagnostics","hints"],go=/^(?:items|results|rows|ready|blocked|recommended|decision_needed|children|dependencies|events|matches|commands|tools)$/u,yo=/^(?:diagnostics|errors?|warnings?|findings|violations|failures?)$/u,ho=/^(?:hints?|suggestions?|next_steps?|recovery|remediation|examples?)$/u,wo=8;function ue(e){return Buffer.byteLength(e,"utf8")}function bt(e){return ue(JSON.stringify(e)??"null")}function bo(e,t){return yo.test(e)?"diagnostics":ho.test(e)?"hints":go.test(e)||Array.isArray(t)?"result_rows":"envelope"}function vo(e){let t={result_rows:0,envelope:0,diagnostics:0,hints:0};if(typeof e!="object"||e===null||Array.isArray(e))return t[Array.isArray(e)?"result_rows":"envelope"]=bt(e),t;for(let[n,o]of Object.entries(e))t[bo(n,o)]+=bt({[n]:o});return Object.values(t).every(n=>n===0)&&(t.envelope=1),t}function ko(e,t){let n=P.reduce((s,a)=>s+t[a],0),o=P.map(s=>({section:s,value:e*t[s]/n})),r={result_rows:0,envelope:0,diagnostics:0,hints:0};for(let s of o)r[s.section]=Math.floor(s.value);let i=e-P.reduce((s,a)=>s+r[a],0);for(let s of[...o].sort((a,c)=>c.value-Math.floor(c.value)-(a.value-Math.floor(a.value))||P.indexOf(a.section)-P.indexOf(c.section))){if(i===0)break;r[s.section]+=1,i-=1}return r}function vt(e,t){return typeof e=="object"&&e!==null&&!Array.isArray(e)?{...e,token_accounting:t}:{result:e,token_accounting:t}}function yi(e,t){let n=ue(t(e)),o=ko(n,vo(e)),r=Object.fromEntries(P.map(a=>[a,{bytes:o[a],estimated_tokens:W(o[a])}])),i={version:1,measurement_scope:"output_before_token_accounting",estimator:"ceil(utf8_bytes / 4)",total_bytes:n,total_estimated_tokens:W(n),sections:r,accounting_receipt_bytes:0,accounting_receipt_estimated_tokens:0,excluded_fields:["token_accounting"],section_allocation:"proportional_canonical_json"},s=vt(e,i);for(let a=0;a<wo;a+=1){let c=ue(t(s))-n;if(c===i.accounting_receipt_bytes)return s;i={...i,accounting_receipt_bytes:c,accounting_receipt_estimated_tokens:W(c)},s=vt(e,i)}return s}export{at as a,ct as b,Yr as c,Un as d,ae as e,ei as f,ti as g,ni as h,mt as i,Uo as j,qt as k,Zo as l,Zt as m,Qo as n,er as o,tr as p,nr as q,or as r,rr as s,ir as t,sr as u,ar as v,cr as w,Ne as x,dr as y,Me as z,ur as A,lr as B,fr as C,z as D,mr as E,xo as F,Se as G,Ro as H,Rt as I,Do as J,M as K,No as L,Mo as M,yn as N,hn as O,Ze as P,S as Q,h as R,Gr as S,se as T,Rn as U,Wr as V,qr as W,Dn as X,zr as Y,Hr as Z,jr as _,pt as $,oo as aa,fi as ba,io as ca,yt as da,mi as ea,wt as fa,ao as ga,fo as ha,_i as ia,yi as ja};
10
- //# sourceMappingURL=chunk-OQUGRHKV.js.map